專利名稱:用于管理加密密鑰的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及用于保護(hù)數(shù)據(jù)以免于未授權(quán)訪問(wèn)或使用的系統(tǒng)。更具體地,本 發(fā)明涉及用于支持加密密鑰的公共接口。
背景技術(shù):
在當(dāng)今社會(huì),個(gè)人和企業(yè)在計(jì)算機(jī)系統(tǒng)上和通過(guò)計(jì)算機(jī)系統(tǒng)執(zhí)行不斷增加的活動(dòng) 量。這些計(jì)算機(jī)系統(tǒng),包括專屬的和非專屬的計(jì)算機(jī)網(wǎng)絡(luò),通常存儲(chǔ)、存檔和傳輸各種類型 的敏感信息。因此,存在不斷增加的用于確保通過(guò)這些系統(tǒng)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)不被讀取或 泄露(compromise)的需求。用于保護(hù)計(jì)算機(jī)系統(tǒng)的一種通常解決方案是提供登錄和口令功能。然而,口令管 理已經(jīng)被證明是花費(fèi)非常大的,大量的求助臺(tái)呼叫都與口令問(wèn)題有關(guān)。此外,口令提供了很 少的安全性,這是因?yàn)樗鼈兺ǔ1淮鎯?chǔ)在易受到通過(guò)例如暴力攻擊而進(jìn)行的不適當(dāng)訪問(wèn)的 文件中。用于保護(hù)計(jì)算機(jī)系統(tǒng)的另一方案是提供加密基礎(chǔ)結(jié)構(gòu)。密碼術(shù)通常指的是通過(guò)將 數(shù)據(jù)變換或加密成為不可讀格式來(lái)保護(hù)數(shù)據(jù)。只有那些擁有加密密鑰的人才能夠?qū)?shù)據(jù)解 密成可用格式。密碼術(shù)被用來(lái)識(shí)別用戶(例如認(rèn)證),以允許訪問(wèn)特權(quán)(例如授權(quán))從而創(chuàng) 建數(shù)字證書(shū)和簽名等。一種普遍的密碼術(shù)系統(tǒng)是使用兩個(gè)密鑰的公鑰系統(tǒng),公鑰被每個(gè)人 知道,而私鑰僅被其個(gè)人或企業(yè)所有者知道。通常,使用一個(gè)密鑰加密的數(shù)據(jù)用另一密鑰解 密,并且任一密鑰都不可由另一密鑰重建。遺憾的是,即使上述典型的公鑰加密系統(tǒng)在安全上仍然高度依賴用戶。例如,加密 系統(tǒng)例如通過(guò)用戶瀏覽器向用戶發(fā)布私鑰。沒(méi)有經(jīng)驗(yàn)的用戶然后通常將該私鑰存儲(chǔ)在可被 其他人通過(guò)開(kāi)放的計(jì)算機(jī)系統(tǒng)(例如,因特網(wǎng))訪問(wèn)的硬盤(pán)驅(qū)動(dòng)器上。另一方面,用戶可能 為包含其私鑰的文件選擇較差的名字,例如,“密鑰”。上述和其他動(dòng)作的結(jié)果是使得密鑰或 多個(gè)密鑰易被泄露。除了上述泄露,用戶還可能將他或她的私鑰保存在配置有存檔或備份系統(tǒng)的計(jì)算 機(jī)系統(tǒng)上,潛在地導(dǎo)致私鑰的副本經(jīng)過(guò)多個(gè)計(jì)算機(jī)存儲(chǔ)裝置或其他系統(tǒng)。這種安全漏洞通 常被稱作“密鑰遷移(keymigration) ”。類似于密鑰遷移,許多應(yīng)用最多通過(guò)簡(jiǎn)單的登錄和 口令訪問(wèn)提供對(duì)用戶的私鑰的訪問(wèn)。如上所述,登錄和口令訪問(wèn)往往無(wú)法提供充分的安全 性。用于增加上述加密系統(tǒng)的安全性的一個(gè)解決方案是將生物識(shí)別(biometrics)包 括作為認(rèn)證或授權(quán)的一部分。生物識(shí)別通常包括可測(cè)量的身體特征,諸如能夠由自動(dòng)化系 統(tǒng)通過(guò)例如圖案匹配或者指紋圖案或語(yǔ)音圖案識(shí)別而檢查的指紋或語(yǔ)音。在這樣的系統(tǒng)中,用戶的生物識(shí)別信息和/或密鑰可以被存儲(chǔ)在移動(dòng)計(jì)算裝置(例如,智能卡、膝上型電 腦、個(gè)人數(shù)字助理、或移動(dòng)電話)上,從而使得生物識(shí)別信息或密鑰能夠在移動(dòng)環(huán)境下使用。上述的移動(dòng)生物識(shí)別加密系統(tǒng)仍然遭受各種缺點(diǎn)。例如,移動(dòng)用戶可能丟失或損 壞智能卡或便攜式計(jì)算裝置,從而使他或她對(duì)可能重要的數(shù)據(jù)的訪問(wèn)被完全切斷?;蛘?,惡 意的人可能偷取移動(dòng)用戶的智能卡或便攜式計(jì)算裝置并使用它來(lái)有效地偷取移動(dòng)用戶的 數(shù)字證書(shū)。另一方面,便攜式計(jì)算裝置可以連接到諸如因特網(wǎng)之類的開(kāi)放系統(tǒng),并且,類似 于口令,存儲(chǔ)生物識(shí)別信息的文件可能由于用戶對(duì)于安全性的疏忽或惡意入侵者而易被泄 Mo此外,有許多方式來(lái)安全地創(chuàng)建、存儲(chǔ)和管理個(gè)人加密密鑰。例如,一些應(yīng)用可以 將用戶的加密密鑰存儲(chǔ)在密鑰存儲(chǔ)器或其他數(shù)據(jù)結(jié)構(gòu)中。在用戶的密鑰存儲(chǔ)器中的加密密 鑰可以被多種應(yīng)用訪問(wèn)。然而一些應(yīng)用可能與其他應(yīng)用不兼容,或可能損害用戶的加密密 鑰的安全性,例如,將一個(gè)或多個(gè)密鑰暴露至訛誤或未授權(quán)或不安全的訪問(wèn)。
發(fā)明內(nèi)容
因此,提供一種密碼系統(tǒng),其安全性是用戶無(wú)關(guān)的,同時(shí)仍支持移動(dòng)用戶。此外,還提供了一種公共接口,例如應(yīng)用程序接口(API),其能夠支持對(duì)多個(gè)加密 密鑰提供者的多個(gè)接口,并將從這些密鑰提供者獲取的加密密鑰提交給安全解析器引擎 (secure parser engine),該安全解析器引擎用于例如保護(hù)用于存儲(chǔ)或傳輸?shù)臄?shù)據(jù)。這樣 的安全解析器引擎在Orsini等人的美國(guó)專利No. 7,391,865,2005年10月25日提交的美 國(guó)專利申請(qǐng)No. 11/258,839以及2006年11月20日提交的美國(guó)專利申請(qǐng)No. 11/602,667 中有更詳細(xì)的描述,所有這些都通過(guò)引用全文結(jié)合于此。因此,本發(fā)明的一個(gè)方面是提供一種用于保護(hù)實(shí)際上任何類型的數(shù)據(jù)免于未授權(quán) 訪問(wèn)或使用的方法。該方法包括將要保護(hù)的數(shù)據(jù)解析、拆分和/或分離成為兩個(gè)或更多個(gè) 部或部分的一個(gè)或多個(gè)步驟。該方法還包括加密要保護(hù)的數(shù)據(jù)。數(shù)據(jù)的加密可以在數(shù)據(jù)的 第一次解析、拆分和/或分離之前或之后執(zhí)行。此外,對(duì)于數(shù)據(jù)的一個(gè)或多個(gè)部分可以重復(fù) 加密步驟。類似地,對(duì)于數(shù)據(jù)的一個(gè)或多個(gè)部分可以重復(fù)解析、拆分和/或分離步驟。該 方法還可選地包括存儲(chǔ)已經(jīng)在一個(gè)位置或在多個(gè)位置處加密的解析、拆分和/或分離的數(shù) 據(jù)。該方法還可選地包括將被保護(hù)的數(shù)據(jù)重建或重新組裝成其原始形式以供授權(quán)的訪問(wèn)或 使用。該方法可以結(jié)合到任何能夠執(zhí)行該方法的期望步驟的計(jì)算機(jī)、服務(wù)器、引擎等的操作 中。本發(fā)明的另一方面提供了一種用于實(shí)際保護(hù)任何類型的數(shù)據(jù)免于未授權(quán)訪問(wèn)或 使用的系統(tǒng)。該系統(tǒng)包括數(shù)據(jù)拆分模塊、加密處理模塊以及可選的數(shù)據(jù)組裝模塊。在一個(gè) 實(shí)施例中,該系統(tǒng)還包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,其中可以存儲(chǔ)安全數(shù)據(jù)。因此,本發(fā)明的一個(gè)方面是提供安全服務(wù)器或信任引擎,其具有服務(wù)器中心 (server-centric)密鑰,或換句話說(shuō),在服務(wù)器上存儲(chǔ)加密密鑰和用戶認(rèn)證數(shù)據(jù)。根據(jù)該實(shí) 施例,用戶訪問(wèn)信任引擎以執(zhí)行認(rèn)證和加密功能,所述功能諸如但不限于,認(rèn)證,授權(quán),數(shù)字 簽名,生成、存儲(chǔ)和檢索證書(shū),加密,類似公證和類似委托書(shū)的動(dòng)作,等等。本發(fā)明的另一方面是提供一種可靠的或可信任的認(rèn)證處理。而且,在可信任的肯定認(rèn)證之后,可以采取大量的不同動(dòng)作,從提供加密技術(shù),到系統(tǒng)或裝置授權(quán)和訪問(wèn),到允 許使用或控制一個(gè)或大量電子裝置。本發(fā)明的另一方面是在加密密鑰和認(rèn)證數(shù)據(jù)不被丟失、偷取或泄露的環(huán)境中提供 加密密鑰和認(rèn)證數(shù)據(jù),從而有利地避免對(duì)連續(xù)重新發(fā)布和管理新密鑰和認(rèn)證數(shù)據(jù)的需求。 根據(jù)本發(fā)明的另一方面,信任引擎允許用戶為多個(gè)活動(dòng)、供應(yīng)商和/或認(rèn)證請(qǐng)求使用一個(gè) 密鑰對(duì)。根據(jù)本發(fā)明的另一方面,信任引擎在服務(wù)器端執(zhí)行加密處理的至少一個(gè)步驟,例如 但不限于,加密、認(rèn)證、或簽名,從而允許客戶或用戶僅擁有很少的計(jì)算資源。根據(jù)本發(fā)明的另一方面,信任引擎包括一個(gè)或多個(gè)倉(cāng)庫(kù),用于存儲(chǔ)每個(gè)加密密鑰 和認(rèn)證數(shù)據(jù)的各個(gè)部分。這些部分是通過(guò)數(shù)據(jù)拆分處理來(lái)創(chuàng)建的,禁止在沒(méi)有來(lái)自一個(gè)倉(cāng) 庫(kù)中多于一個(gè)位置或來(lái)自多個(gè)倉(cāng)庫(kù)的預(yù)定部分的情況下重建。根據(jù)另一實(shí)施例,多個(gè)倉(cāng)庫(kù) 在地理上可以是遠(yuǎn)離的,從而在一個(gè)倉(cāng)庫(kù)處的不良員工或被泄密的系統(tǒng)不會(huì)提供對(duì)用戶密 鑰或認(rèn)證數(shù)據(jù)的訪問(wèn)。根據(jù)另一實(shí)施例,認(rèn)證處理有利地允許信任引擎并行處理多個(gè)認(rèn)證活動(dòng)。根據(jù)另 一實(shí)施例,信任引擎可以有利地跟蹤失敗的訪問(wèn)嘗試,并由此限制惡意入侵者可能嘗試破 壞系統(tǒng)的次數(shù)。根據(jù)本發(fā)明的另一實(shí)施例,信任引擎可以包括多個(gè)實(shí)例,其中每個(gè)信任引擎可 以預(yù)測(cè)并與其他信任引擎共享處理負(fù)荷。根據(jù)另一實(shí)施例,信任引擎可以包括用于輪詢 (poll)多個(gè)認(rèn)證結(jié)果以確保多于一個(gè)系統(tǒng)認(rèn)證了用戶的冗余模塊。因此,本發(fā)明的一個(gè)方面包括安全加密系統(tǒng),其可以被遠(yuǎn)程訪問(wèn),用于存儲(chǔ)任何類 型的數(shù)據(jù),包括但不限于與多個(gè)用戶相關(guān)聯(lián)的多個(gè)私有加密密鑰。該加密系統(tǒng)將多個(gè)用戶 中的每個(gè)用戶與多個(gè)私有加密密鑰中的一個(gè)或多個(gè)不同密鑰相關(guān)聯(lián),并使用相關(guān)聯(lián)的一個(gè) 或多個(gè)不同密鑰為每個(gè)用戶執(zhí)行加密功能而不釋放(release)所述多個(gè)私有加密密鑰給 用戶。該加密系統(tǒng)包括倉(cāng)庫(kù)系統(tǒng),其具有存儲(chǔ)要保護(hù)的數(shù)據(jù)(諸如多個(gè)私有加密密鑰和多 個(gè)注冊(cè)認(rèn)證數(shù)據(jù))的至少一個(gè)服務(wù)器。每個(gè)注冊(cè)認(rèn)證數(shù)據(jù)識(shí)別多個(gè)用戶之一,并且多個(gè)用 戶中的每個(gè)用戶與多個(gè)私有加密密鑰中的一個(gè)或多個(gè)不同密鑰相關(guān)聯(lián)。該加密系統(tǒng)還可以 包括認(rèn)證引擎,其將由多個(gè)用戶中的一個(gè)用戶接收的認(rèn)證數(shù)據(jù)與對(duì)應(yīng)于該用戶并從倉(cāng)庫(kù)系 統(tǒng)接收的注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行比較,從而產(chǎn)生認(rèn)證結(jié)果。該加密系統(tǒng)還可以包括加密引擎,其 在認(rèn)證結(jié)果表明正確識(shí)別了該多個(gè)用戶中的該用戶時(shí),以該多個(gè)用戶中的該用戶的名義使 用從倉(cāng)庫(kù)系統(tǒng)接收的相關(guān)聯(lián)的一個(gè)或多個(gè)不同密鑰執(zhí)行加密功能。該加密系統(tǒng)還可以包括 交易引擎,連接以將數(shù)據(jù)從多個(gè)用戶路由至倉(cāng)庫(kù)服務(wù)器系統(tǒng)、認(rèn)證引擎、以及加密引擎。本發(fā)明的另一方面包括安全加密系統(tǒng),其可選地可遠(yuǎn)程訪問(wèn)。該加密系統(tǒng)包括倉(cāng) 庫(kù)系統(tǒng),其具有存儲(chǔ)至少一個(gè)私鑰和任何其他數(shù)據(jù)的至少一個(gè)服務(wù)器,其中其他數(shù)據(jù)例如 但不限于多個(gè)注冊(cè)認(rèn)證數(shù)據(jù),每個(gè)注冊(cè)認(rèn)證數(shù)據(jù)識(shí)別可能的多個(gè)用戶之一。該加密系統(tǒng)還 可以可選地包括認(rèn)證引擎,其將用戶接收到的認(rèn)證數(shù)據(jù)與對(duì)應(yīng)于該用戶并從倉(cāng)庫(kù)系統(tǒng)接收 的注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行比較,從而產(chǎn)生認(rèn)證結(jié)果。該加密系統(tǒng)還包括加密引擎,其在認(rèn)證結(jié)果 表明正確識(shí)別了用戶時(shí),以該用戶的名義至少使用所述私鑰來(lái)執(zhí)行加密功能,所述私鑰可 以從倉(cāng)庫(kù)系統(tǒng)接收。該加密系統(tǒng)還可以可選地包括交易引擎,其連接以將數(shù)據(jù)從用戶路由 至其他引擎或系統(tǒng),例如但不限于,倉(cāng)庫(kù)服務(wù)器系統(tǒng)、認(rèn)證引擎、以及加密引擎。本發(fā)明的另一方面包括一種有助于加密功能的方法。該方法包括將多個(gè)用戶中的一個(gè)用戶與存儲(chǔ)在安全位置(諸如安全服務(wù)器)的多個(gè)私有加密密鑰中的一個(gè)或多個(gè)密鑰 相關(guān)聯(lián)。該方法還包括接收來(lái)自用戶的認(rèn)證數(shù)據(jù),以及將該認(rèn)證數(shù)據(jù)與對(duì)應(yīng)于該用戶的認(rèn) 證數(shù)據(jù)進(jìn)行比較,從而校驗(yàn)該用戶的身份。該方法還包括使用一個(gè)或多個(gè)密鑰來(lái)執(zhí)行加密 功能而不向該用戶釋放該一個(gè)或多個(gè)密鑰。本發(fā)明的另一方面包括認(rèn)證系統(tǒng),用于通過(guò)安全存儲(chǔ)用戶的注冊(cè)認(rèn)證數(shù)據(jù)來(lái)唯一 識(shí)別用戶。該認(rèn)證系統(tǒng)包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,其中每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備包括計(jì)算機(jī) 可存取存儲(chǔ)介質(zhì),其存儲(chǔ)注冊(cè)認(rèn)證數(shù)據(jù)的至少一個(gè)部分。該認(rèn)證系統(tǒng)還包括與一個(gè)或多個(gè) 數(shù)據(jù)存儲(chǔ)設(shè)備通信的認(rèn)證引擎。該認(rèn)證引擎包括數(shù)據(jù)拆分模塊,其對(duì)注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行操 作以創(chuàng)建多個(gè)部分;數(shù)據(jù)組裝模塊,其處理來(lái)自至少一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備的部分以組裝注冊(cè) 認(rèn)證數(shù)據(jù);以及數(shù)據(jù)比較器模塊,其從用戶接收當(dāng)前認(rèn)證數(shù)據(jù),并將該當(dāng)前認(rèn)證數(shù)據(jù)與所組 裝的注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行比較以確定該用戶是否已經(jīng)被唯一識(shí)別。本發(fā)明的另一方面包括加密系統(tǒng)。該加密系統(tǒng)包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,其 中每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備包括計(jì)算機(jī)可存取存儲(chǔ)介質(zhì),其存儲(chǔ)一個(gè)或多個(gè)加密密鑰的至少一部 分。該加密系統(tǒng)還包括加密引擎,其與數(shù)據(jù)存儲(chǔ)設(shè)備通信。加密引擎還包括數(shù)據(jù)拆分模 塊,其對(duì)加密密鑰進(jìn)行操作以創(chuàng)建多個(gè)部分;數(shù)據(jù)組裝模塊,其處理來(lái)自至少一個(gè)數(shù)據(jù)存儲(chǔ) 設(shè)備的部分以組裝加密密鑰;以及加密處理模塊,其接收所組裝的加密密鑰并利用其執(zhí)行 加密功能。本發(fā)明的另一方面包括一種在地理上遠(yuǎn)程的安全數(shù)據(jù)存儲(chǔ)設(shè)備中存儲(chǔ)任何類型 的數(shù)據(jù)(包括但不限于認(rèn)證數(shù)據(jù))的方法,從而保護(hù)數(shù)據(jù)不會(huì)由任何單獨(dú)的數(shù)據(jù)存儲(chǔ)設(shè)備 合成。該方法包括在信任引擎接收數(shù)據(jù),在信任引擎將數(shù)據(jù)與第一基本上隨機(jī)的值結(jié)合以 形成第一結(jié)合值,以及將數(shù)據(jù)與第二基本上隨機(jī)的值結(jié)合以形成第二結(jié)合值。該方法包括 創(chuàng)建第一基本上隨機(jī)的值與第二結(jié)合值的第一配對(duì),創(chuàng)建第一基本上隨機(jī)的值與第二基本 上隨機(jī)的值的第二配對(duì),以及將第一配對(duì)存儲(chǔ)在第一安全數(shù)據(jù)存儲(chǔ)設(shè)備中。該方法包括將 第二配對(duì)存儲(chǔ)在遠(yuǎn)離第一安全數(shù)據(jù)存儲(chǔ)設(shè)備的第二安全數(shù)據(jù)存儲(chǔ)設(shè)備中。本發(fā)明的另一方面包括一種存儲(chǔ)任何類型的數(shù)據(jù)(包括但不限于認(rèn)證數(shù)據(jù))的方 法,包括接收數(shù)據(jù),將該數(shù)據(jù)與第一位組(setof bits)結(jié)合以形成第二位組,以及將該數(shù) 據(jù)與第三位組結(jié)合以形成第四位組。該方法還包括創(chuàng)建第一位組與第三位組的第一配對(duì)。 該方法還包括創(chuàng)建第一位組與第四位組的第二配對(duì),以及將第一配對(duì)和第二配對(duì)中的一個(gè) 存儲(chǔ)在第一計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)中。該方法還包括將第一配對(duì)和第二配對(duì)中的另一個(gè)存 儲(chǔ)在第二計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)中。本發(fā)明的另一方面包括一種將加密數(shù)據(jù)存儲(chǔ)在地理上遠(yuǎn)離的安全數(shù)據(jù)存儲(chǔ)設(shè)備 中的方法,從而保護(hù)加密數(shù)據(jù)不會(huì)由任何單獨(dú)的數(shù)據(jù)存儲(chǔ)設(shè)備組成。該方法包括在信任引 擎接收加密數(shù)據(jù),在信任引擎將加密數(shù)據(jù)與第一基本上隨機(jī)的值結(jié)合以形成第一結(jié)合值, 以及將加密數(shù)據(jù)與第二基本上隨機(jī)的值結(jié)合以形成第二結(jié)合值。該方法還包括創(chuàng)建第一基 本上隨機(jī)的值與第二結(jié)合值的第一配對(duì),創(chuàng)建第一基本上隨機(jī)的值與第二基本上隨機(jī)的值 的第二配對(duì),以及將第一配對(duì)存儲(chǔ)在第一安全數(shù)據(jù)存儲(chǔ)設(shè)備中。該方法還包括將第二配對(duì) 存儲(chǔ)在遠(yuǎn)離第一安全數(shù)據(jù)存儲(chǔ)設(shè)備的第二安全數(shù)據(jù)存儲(chǔ)設(shè)備中。本發(fā)明的另一方面包括一種存儲(chǔ)加密數(shù)據(jù)的方法,包括接收認(rèn)證數(shù)據(jù)以及將加密 數(shù)據(jù)與第一位組結(jié)合以形成第二位組。該方法還包括將加密數(shù)據(jù)與第三位組結(jié)合以形成第四位組,創(chuàng)建第一位組和第三位組的第一配對(duì),以及創(chuàng)建第一位組和第四位組的第二配對(duì)。 該方法還包括在第一計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)中存儲(chǔ)第一配對(duì)和第二配對(duì)中的一個(gè),以及在 第二計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)中存儲(chǔ)第一配對(duì)和第二配對(duì)中的另一個(gè)。本發(fā)明的另一方面包括一種在加密系統(tǒng)中處理任何類型或形式的敏感數(shù)據(jù)的方 法,其中敏感數(shù)據(jù)僅在授權(quán)用戶使用該敏感數(shù)據(jù)的動(dòng)作期間以可用形式存在。該方法還包 括在軟件模塊中從第一計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)接收基本上隨機(jī)化的或加密的敏感數(shù)據(jù),以 及在該軟件模塊中從一個(gè)或多個(gè)其他計(jì)算機(jī)可存取存儲(chǔ)介質(zhì)接收可能是或不是敏感數(shù)據(jù) 的基本上隨機(jī)化的或加密的數(shù)據(jù)。該方法還包括在軟件模塊中處理基本上隨機(jī)化的預(yù)加密 敏感數(shù)據(jù)和可能是或不是敏感數(shù)據(jù)的基本上隨機(jī)化的或加密的數(shù)據(jù)以組裝敏感數(shù)據(jù),以及 在軟件引擎中使用敏感數(shù)據(jù)執(zhí)行動(dòng)作。所述動(dòng)作包括但不限于認(rèn)證用戶和執(zhí)行加密功能之
o本發(fā)明的另一方面包括安全認(rèn)證系統(tǒng)。該安全認(rèn)證系統(tǒng)包括多個(gè)認(rèn)證引擎。每個(gè) 認(rèn)證引擎接收被設(shè)計(jì)為以某個(gè)確信度唯一識(shí)別用戶的注冊(cè)認(rèn)證數(shù)據(jù)。每個(gè)認(rèn)證引擎接收當(dāng) 前認(rèn)證數(shù)據(jù)以與注冊(cè)認(rèn)證數(shù)據(jù)相比較,并且每個(gè)認(rèn)證引擎確定認(rèn)證結(jié)果。該安全認(rèn)證系統(tǒng) 還包括冗余系統(tǒng),其接收至少兩個(gè)認(rèn)證引擎的認(rèn)證結(jié)果并確定用戶是否已被唯一識(shí)別。本發(fā)明的另一方面包括在移動(dòng)系統(tǒng)中的安全數(shù)據(jù),借由該移動(dòng)系統(tǒng),數(shù)據(jù)能夠在 根據(jù)本發(fā)明被保護(hù)的不同部分中傳輸,從而被泄露的任何一個(gè)部分都不會(huì)提供足夠數(shù)據(jù)來(lái) 恢復(fù)原始數(shù)據(jù)。這可以應(yīng)用于任何數(shù)據(jù)傳輸,無(wú)論其是有線、無(wú)線或物理的。本發(fā)明的另一方面包括將本發(fā)明的安全數(shù)據(jù)解析器集成到存儲(chǔ)或傳輸數(shù)據(jù)的任 何適當(dāng)系統(tǒng)中。例如,電子郵件系統(tǒng)、RAID系統(tǒng)、視頻廣播系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、或任何其他適 當(dāng)系統(tǒng)可以具有以任何適當(dāng)?shù)燃?jí)集成的安全數(shù)據(jù)解析器。本發(fā)明的另一方面包括使用任何適當(dāng)?shù)慕馕龊筒鸱炙惴▉?lái)生成數(shù)據(jù)份(share)。 隨機(jī)、偽隨機(jī)、確定的或其任意組合都可以被采用來(lái)解析和拆分?jǐn)?shù)據(jù)。
下面結(jié)合附圖具體描述本發(fā)明,附圖用于示出本發(fā)明,但不用于限制本發(fā)明,其 中圖1示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的加密系統(tǒng)的框圖;圖2示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖1的信任引擎的框圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的交易引擎的框圖;圖4示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的倉(cāng)庫(kù)的框圖;圖5示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的認(rèn)證引擎的框圖;圖6示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的加密引擎的框圖;圖7示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的倉(cāng)庫(kù)系統(tǒng)的框圖;圖8示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的數(shù)據(jù)拆分處理的流程圖;圖9,面A示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的注冊(cè)處理的數(shù)據(jù)流;圖9,面B示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的互用性(interoperability) 處理的流程圖;圖10示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的認(rèn)證處理的數(shù)據(jù)流;
圖11示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的簽名處理的數(shù)據(jù)流;圖12示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的數(shù)據(jù)流和加密/解密處理;圖13示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的信任引擎系統(tǒng)的簡(jiǎn)化框圖;圖14示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的信任引擎系統(tǒng)的簡(jiǎn)化框圖;圖15示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖14的冗余模塊的框圖;圖16示出了根據(jù)本發(fā)明的一個(gè)方面,評(píng)估認(rèn)證的處理;圖17示出了根據(jù)在本發(fā)明的圖16中所示的一個(gè)方面,為認(rèn)證賦值的處理;圖18示出了在圖17中所示的本發(fā)明的一個(gè)方面中執(zhí)行信任裁決的處理;圖19示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,在用戶和賣方之間的范例交易,其 中,初始基于網(wǎng)頁(yè)的聯(lián)系引向由雙方簽署的銷售合同;圖20示出了具有為用戶系統(tǒng)提供安全性功能的加密服務(wù)提供者模塊的范例用戶 系統(tǒng);圖21示出了解析、拆分和 儲(chǔ)的處理;圖22示出了解析、拆分和 儲(chǔ)的處理;圖23示出了解析、拆分和 儲(chǔ)的中間密鑰處理;圖24示出了解析、拆分和 儲(chǔ)的中間密鑰處理;圖25示出了對(duì)于小工作組,本發(fā)明的加密方法和系統(tǒng)的使用;圖26是采用根據(jù)本發(fā)明一個(gè)實(shí)施例的安全數(shù)據(jù)解析器的示例性物理令牌安全系 統(tǒng)的框圖;圖27是根據(jù)本發(fā)明的一個(gè)實(shí)施例,將安全數(shù)據(jù)解析器集成在系統(tǒng)中的示例性布 置的框圖;圖28是根據(jù)本發(fā)明一個(gè)實(shí)施例的在移動(dòng)系統(tǒng)中的示例性數(shù)據(jù)的框圖;圖29是根據(jù)本發(fā)明一個(gè)實(shí)施例的在移動(dòng)系統(tǒng)中的另一示例性數(shù)據(jù)的框圖;圖30-32是根據(jù)本發(fā)明一個(gè)實(shí)施例的具有集成的安全數(shù)據(jù)解析器的示例性系統(tǒng) 的框圖;圖33是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于解析和拆分?jǐn)?shù)據(jù)的示例性處理的處理流 程圖;圖34是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于將多個(gè)部分的數(shù)據(jù)恢復(fù)成原始數(shù)據(jù)的示 例性處理的處理流程圖;圖35是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于以位級(jí)拆分?jǐn)?shù)據(jù)的示例性處理的處理流 程圖;圖36是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性步驟和特征的處理流程圖,其可以具 有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用;圖37是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性步驟和特征的處理流程圖,其可以具 有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用;
/或分離被加密的數(shù)據(jù)以及將加密主密鑰與數(shù)據(jù)一起存 /或分離被加密的數(shù)據(jù)以及將加密主密鑰與數(shù)據(jù)分開(kāi)存 /或分離被加密的數(shù)據(jù)以及將加密主密鑰與數(shù)據(jù)一起存 /或分離被加密的數(shù)據(jù)以及將加密主密鑰與數(shù)據(jù)分開(kāi)存
圖38是根據(jù)本發(fā)明的一個(gè)實(shí)施例,份中的密鑰和數(shù)據(jù)成分的存儲(chǔ)的簡(jiǎn)化框圖,其 可以具有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用;圖39是根據(jù)本發(fā)明的一個(gè)實(shí)施例,使用工作組密鑰的份中的密鑰和數(shù)據(jù)成分的 存儲(chǔ)的簡(jiǎn)化框圖,其可以具有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使 用;圖40A和40B是用于移動(dòng)數(shù)據(jù)的頭生成和數(shù)據(jù)拆分的簡(jiǎn)化和示意性處理流程圖, 其可以具有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用;圖41是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性份格式的簡(jiǎn)化框圖,其可以具有任何 適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用;圖42是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于管理加密密鑰的示例性步驟和特征的處 理流程圖,其可以具有任何適當(dāng)添加、刪除或修改,或以任何適當(dāng)組合的形式被使用。
具體實(shí)施例方式本發(fā)明的一個(gè)方面提供一種加密系統(tǒng),其中一個(gè)或多個(gè)安全服務(wù)器或信任引擎存 儲(chǔ)加密密鑰和用戶認(rèn)證數(shù)據(jù)。用戶通過(guò)對(duì)信任引擎的網(wǎng)絡(luò)訪問(wèn)來(lái)訪問(wèn)傳統(tǒng)加密系統(tǒng)的功 能,然而,信任引擎不釋放實(shí)際密鑰和其他認(rèn)證數(shù)據(jù),因此,密鑰和數(shù)據(jù)保持安全。密鑰和認(rèn) 證數(shù)據(jù)的這種服務(wù)器中心存儲(chǔ)提供用戶無(wú)關(guān)的安全性、便攜性、可用性以及簡(jiǎn)單性。因?yàn)橛脩裟軌虼_信或信任該加密系統(tǒng)來(lái)執(zhí)行用戶和文檔認(rèn)證以及其他加密功能, 所以廣泛的各種功能可以被結(jié)合到該系統(tǒng)中。例如,信任引擎提供者可以通過(guò)例如認(rèn)證協(xié) 定參與者、以參與者的名義或者為參與者數(shù)字簽署協(xié)定、以及存儲(chǔ)由每個(gè)參與者數(shù)字簽署 的協(xié)定的記錄,來(lái)確保防備協(xié)定抵賴(r印udiation)。此外,該加密系統(tǒng)可以監(jiān)視協(xié)定并基 于例如價(jià)格、用戶、賣方、地理位置、使用地點(diǎn)等來(lái)確定應(yīng)用不同程度的認(rèn)證。為了便于完全理解本發(fā)明,具體實(shí)施方式
的余下部分參考附圖描述本發(fā)明,其中 通篇,類似的部件使用類似的標(biāo)號(hào)來(lái)表示。圖1示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的加密系統(tǒng)100的框圖。如圖1所示, 加密系統(tǒng)100包括通過(guò)通信鏈路125進(jìn)行通信的用戶系統(tǒng)105、信任引擎110、證書(shū)頒發(fā)機(jī) 構(gòu)(certificateauthority) 115、以及賣方系統(tǒng) 120。根據(jù)本發(fā)明的一個(gè)實(shí)施例,用戶系統(tǒng)105包括傳統(tǒng)通用目的計(jì)算機(jī),其具有一 個(gè)或多個(gè)微處理器,例如基于Intel的處理器。此外,用戶系統(tǒng)105包括適當(dāng)?shù)牟僮飨?統(tǒng),例如,能夠包括圖形或窗口的操作系統(tǒng),諸如Windows、Unix、Linux等等。如圖1所 示,用戶系統(tǒng)105可以包括生物識(shí)別裝置107。生物識(shí)別裝置107可以有利地獲取用戶 的生物識(shí)別信息并將獲取的生物識(shí)別信息傳遞至信任引擎110。根據(jù)本發(fā)明的一個(gè)實(shí)施 例,生物識(shí)別裝置可以有利地包括具有類似于在1997年9月5日提交的標(biāo)題為“RELIEF OBJECT IMAGE GENERA0R”的美國(guó)專利申請(qǐng)No. 08/926, 277,2000年4月26日提交的標(biāo)題 為“IMAGING DEVICE FOR A RELIEF 0BJECTAND SYSTEM AND METHOD OF USING THE IMAGE DEVICE”的美國(guó)專利申請(qǐng)No. 09/558,634、1999年11月5日提交的標(biāo)題為“RELIEF OBJECT SENSOR ADAPTOR”的美國(guó)專利申請(qǐng)No. 09/435,011、以及2000年1月5日提交的標(biāo)題為 "PLANAROPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATINGAN ELECTRONIC IMAGE OF A RELIEF OBJECT FORFINGERPRINT READING” 的美國(guó)專利申請(qǐng) No. 09/477,943 中公開(kāi)的那些屬性和特征的裝置,所有這些專利由當(dāng)前受讓人所有,以及全部通過(guò)引用結(jié)合于此。此外,用戶系統(tǒng)105可以通過(guò)傳統(tǒng)業(yè)務(wù)提供商,例如,撥號(hào)、數(shù)字訂戶線路(DSL)、 有線調(diào)制解調(diào)器、光纖連接等等,連接到通信鏈路125。根據(jù)另一實(shí)施例,用戶系統(tǒng)105通過(guò) 諸如局域網(wǎng)或廣域網(wǎng)之類的網(wǎng)絡(luò)連接而連接通信鏈路125。根據(jù)一個(gè)實(shí)施例,操作系統(tǒng)包括 TCP/IP棧,其處理在通信鏈路125上傳遞的所有輸入和輸出消息業(yè)務(wù)。盡管參考上述實(shí)施例描述了用戶系統(tǒng)105,但是本發(fā)明不因此而被限制。相反,本 領(lǐng)域技術(shù)人員由此處的披露應(yīng)該意識(shí)到用戶系統(tǒng)105的大量可替換實(shí)施例,包括能夠發(fā)送 信息至另一計(jì)算機(jī)系統(tǒng)或從另一計(jì)算機(jī)系統(tǒng)接收信息的幾乎任何計(jì)算裝置。例如,用戶系 統(tǒng)105可以包括但不限于,能夠與通信鏈路125交互的計(jì)算機(jī)工作站、交互式電視、交互式 信息站、個(gè)人移動(dòng)計(jì)算裝置(諸如數(shù)字助理、移動(dòng)電話、膝上型電腦等等)、無(wú)線通信裝置、 智能卡、嵌入式計(jì)算裝置等等。在這樣的可替換系統(tǒng)中,操作系統(tǒng)很可能不同,并且適于特 定裝置。然而,根據(jù)一個(gè)實(shí)施例,操作系統(tǒng)有利地繼續(xù)提供與通信鏈路建立通信所需的適當(dāng) 的通信協(xié)議。圖1示出了信任引擎110。根據(jù)一個(gè)實(shí)施例,該信任引擎110包括用于訪問(wèn)和存儲(chǔ) 敏感信息的一個(gè)或多個(gè)安全服務(wù)器,敏感信息可以是任何類型或形式的數(shù)據(jù),諸如但不限 于文本、音頻、視頻、用戶認(rèn)證數(shù)據(jù)以及公共和私有加密密鑰。根據(jù)一個(gè)實(shí)施例,認(rèn)證數(shù)據(jù)包 括被設(shè)計(jì)為唯一識(shí)別加密系統(tǒng)100的用戶的數(shù)據(jù)。例如,認(rèn)證數(shù)據(jù)可以包括用戶標(biāo)識(shí)號(hào)、一 個(gè)或多個(gè)生物識(shí)別信息、以及由信任引擎100或用戶生成但由用戶在注冊(cè)時(shí)初始回答的一 系列問(wèn)題和答案。上述問(wèn)題可以包括諸如出生地、地址、周年紀(jì)念之類的人口統(tǒng)計(jì)數(shù)據(jù),諸 如母親的娘家姓、最喜歡的冰激凌之類的個(gè)人數(shù)據(jù),或被設(shè)計(jì)為唯一識(shí)別用戶的其他數(shù)據(jù)。 信任引擎110將與當(dāng)前交易相關(guān)聯(lián)的用戶的認(rèn)證數(shù)據(jù)與較早時(shí)候(例如注冊(cè)期間)提供的 認(rèn)證數(shù)據(jù)進(jìn)行比較。信任引擎110可以有利地要求用戶在每次交易時(shí)產(chǎn)生認(rèn)證數(shù)據(jù),或者, 信任引擎110可以有利地允許用戶周期性地產(chǎn)生認(rèn)證數(shù)據(jù),例如在一串交易的開(kāi)始或在登 錄到特定賣方網(wǎng)站時(shí)。根據(jù)用戶產(chǎn)生生物識(shí)別數(shù)據(jù)的實(shí)施例,用戶向生物識(shí)別裝置107提供身體特征, 諸如但不限于臉部掃描、手掃描、耳朵掃描、虹膜掃描、視網(wǎng)膜掃描、血管模式、DNA、指紋、筆 跡、或語(yǔ)音。生物識(shí)別裝置有利地產(chǎn)生身體特征的電子圖案或生物識(shí)別信息。電子圖案通 過(guò)用戶系統(tǒng)105被傳遞至信任引擎110用于注冊(cè)或認(rèn)證目的。一旦用戶產(chǎn)生適當(dāng)?shù)恼J(rèn)證數(shù)據(jù)并且信任引擎110確定認(rèn)證數(shù)據(jù)(當(dāng)前認(rèn)證數(shù)據(jù)) 與在注冊(cè)時(shí)提供的認(rèn)證數(shù)據(jù)(注冊(cè)認(rèn)證數(shù)據(jù))之間的肯定匹配,則信任引擎110向用戶提 供完全的加密功能。例如,被正確認(rèn)證的用戶可以有利地使用信任引擎110來(lái)執(zhí)行散列、數(shù) 字簽名、加密和解密(通常一起僅稱為加密)、創(chuàng)建或分發(fā)數(shù)字證書(shū)、等等。然而,用在加密 功能中的私有加密密鑰在信任引擎110之外不可用,因此保證加密密鑰的完整性。根據(jù)一個(gè)實(shí)施例,信任引擎110生成并存儲(chǔ)加密密鑰。根據(jù)另一實(shí)施例,至少一個(gè) 加密密鑰與每個(gè)用戶相關(guān)聯(lián)。此外,當(dāng)加密密鑰包括公鑰技術(shù)時(shí),與用戶相關(guān)的每個(gè)私鑰在 信任引擎110中生成,而不從其釋放。因此,只要用戶已經(jīng)訪問(wèn)了信任引擎110,用戶就可以 使用他或她的私鑰或公鑰執(zhí)行加密功能。這樣的遠(yuǎn)程訪問(wèn)有利地允許用戶保留完全的移動(dòng) 性,以及通過(guò)實(shí)際中的任何因特網(wǎng)連接(例如蜂窩和衛(wèi)星電話、信息站、膝上型電腦、賓館 房間等)訪問(wèn)加密功能。
根據(jù)另一實(shí)施例,信任引擎110使用為信任引擎110生成的密鑰對(duì)來(lái)執(zhí)行加密功 能。根據(jù)該實(shí)施例,信任引擎110首先認(rèn)證該用戶,然后在用戶已經(jīng)正確產(chǎn)生與注冊(cè)認(rèn)證數(shù) 據(jù)匹配的認(rèn)證數(shù)據(jù)之后,信任引擎110使用其本身的加密密鑰對(duì),以被認(rèn)證的用戶的名義 執(zhí)行加密功能。本領(lǐng)域的技術(shù)人員從此處的公開(kāi)應(yīng)意識(shí)到,加密密鑰可以有利地包括一些或所有 對(duì)稱密鑰、公鑰和私鑰。此外,本領(lǐng)域的技術(shù)人員從此處的公開(kāi)應(yīng)意識(shí)到,上述密鑰可以使 用諸如RSA、ELGAMAL等商業(yè)技術(shù)提供的多種算法來(lái)實(shí)現(xiàn)。圖1還示出了證書(shū)頒發(fā)機(jī)構(gòu)115。根據(jù)一個(gè)實(shí)施例,證書(shū)頒發(fā)機(jī)構(gòu)115可以有利 地包括發(fā)布數(shù)字證書(shū)的可信的第三方組織或公司,例如,VeriSign, Baltimore, Entrust等 等。信任引擎110可以有利地通過(guò)一個(gè)或多個(gè)傳統(tǒng)數(shù)字證書(shū)協(xié)議(例如PKCS10)向證書(shū)頒 發(fā)機(jī)構(gòu)115發(fā)送數(shù)字證書(shū)請(qǐng)求。作為響應(yīng),證書(shū)頒發(fā)機(jī)構(gòu)115將以多種不同協(xié)議中的一種 或多種發(fā)布數(shù)字證書(shū),例如PKCS7。根據(jù)本發(fā)明的一個(gè)實(shí)施例,信任引擎110從多個(gè)或所有 著名的證書(shū)頒發(fā)機(jī)構(gòu)115請(qǐng)求數(shù)字證書(shū),從而信任引擎110能夠使用與任何請(qǐng)求方的證書(shū) 標(biāo)準(zhǔn)相對(duì)應(yīng)的數(shù)字證書(shū)。根據(jù)另一實(shí)施例,信任引擎110在內(nèi)部執(zhí)行證書(shū)發(fā)布。在該實(shí)施例中,信任引擎 110可以訪問(wèn)證書(shū)系統(tǒng)以生成證書(shū)和/或可以在證書(shū)被請(qǐng)求時(shí),例如在密鑰生成時(shí),或者以 請(qǐng)求時(shí)所請(qǐng)求的證書(shū)標(biāo)準(zhǔn),在內(nèi)部生成證書(shū)。下面將更加詳細(xì)地披露信任引擎110。圖1還示出了賣方系統(tǒng)120。根據(jù)一個(gè)實(shí)施例,賣方系統(tǒng)120有利地包括Web服務(wù) 器。典型的Web服務(wù)器通常使用多種互聯(lián)網(wǎng)標(biāo)記語(yǔ)言或文檔格式標(biāo)準(zhǔn)(例如超文本標(biāo)記語(yǔ) 言(HTML)或可擴(kuò)展標(biāo)記語(yǔ)言(XML))中的一種在因特網(wǎng)上提供內(nèi)容。Web服務(wù)器接受來(lái)自 諸如Netscape和Internet Explorer之類的瀏覽器的請(qǐng)求,然后返回適當(dāng)?shù)碾娮游臋n。多 種服務(wù)器或客戶端技術(shù)可以用來(lái)在傳遞標(biāo)準(zhǔn)電子文檔的能力之外增加Web服務(wù)器的能力。 例如,這些技術(shù)包括公共網(wǎng)關(guān)接口(CGI)腳本、安全套接字層(SSL)安全、以及動(dòng)態(tài)服務(wù)器 網(wǎng)頁(yè)(ASP)。賣方系統(tǒng)120可以有利地提供關(guān)于商業(yè)、個(gè)人、教育或其他交易的電子內(nèi)容。盡管參考上面實(shí)施例披露了賣方系統(tǒng)120,但是本發(fā)明不因此被限制。相反,本領(lǐng) 域技術(shù)人員應(yīng)該從此處的公開(kāi)意識(shí)到,賣方系統(tǒng)120可以有利地包括參考用戶系統(tǒng)105描 述的任何裝置或其組合。圖1還示出了連接用戶系統(tǒng)105、信任引擎110、證書(shū)頒發(fā)機(jī)構(gòu)115和賣方系統(tǒng)120 的通信鏈路125。根據(jù)一個(gè)實(shí)施例,通信鏈路125優(yōu)選地包括因特網(wǎng)。如在整個(gè)公開(kāi)中所使 用的,因特網(wǎng)是計(jì)算機(jī)的全球網(wǎng)絡(luò)。本領(lǐng)域普通技術(shù)人員公知的因特網(wǎng)的結(jié)構(gòu)包括網(wǎng)絡(luò)骨 干(network backbone),以及從骨干分支的網(wǎng)絡(luò)。這些分支又具有從它們分支的網(wǎng)絡(luò),如此 等等。路由器在網(wǎng)絡(luò)級(jí)之間移動(dòng)信息包,然后從網(wǎng)絡(luò)至網(wǎng)絡(luò),直到包到達(dá)其目的地附近。從 該目的地,目的地網(wǎng)絡(luò)的主機(jī)將該信息包引向適當(dāng)?shù)慕K端或節(jié)點(diǎn)。在一個(gè)有利的實(shí)施例中, 因特網(wǎng)路由集線器包括本領(lǐng)域公知的使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的域名系統(tǒng) (DNS)服務(wù)器。路由集線器通過(guò)高速通信鏈路連接到一個(gè)或多個(gè)其他路由集線器。因特網(wǎng)的一個(gè)普及部分是萬(wàn)維網(wǎng)。萬(wàn)維網(wǎng)包括不同的計(jì)算機(jī),其存儲(chǔ)能夠顯示圖 形或文本信息的文件。在萬(wàn)維網(wǎng)上提供信息的計(jì)算機(jī)通常被稱作“網(wǎng)站”。網(wǎng)站由具有相關(guān) 電子頁(yè)面的因特網(wǎng)地址定義。電子頁(yè)面可以由統(tǒng)一資源定位符(URL)標(biāo)識(shí)。通常,電子頁(yè) 面是組織文本、圖形圖像、音頻、視頻等的呈現(xiàn)的文檔。
盡管通信鏈路125以其優(yōu)選實(shí)施例被公開(kāi),但是本領(lǐng)域的技術(shù)人員應(yīng)該從在此的 公開(kāi)意識(shí)到,通信鏈路125可以包括廣泛的交互通信鏈路。例如,通信鏈路125可以包括交 互式電視網(wǎng)絡(luò)、電話網(wǎng)絡(luò)、無(wú)線數(shù)據(jù)傳輸系統(tǒng)、雙向電纜系統(tǒng)、定制的私有或公共計(jì)算機(jī)網(wǎng) 絡(luò)、交互式信息站網(wǎng)絡(luò)、自動(dòng)柜員機(jī)網(wǎng)絡(luò)、直接鏈路、衛(wèi)星或蜂窩網(wǎng)絡(luò)、等等。圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的多個(gè)方面的圖1的信任引擎110的框圖。 如圖2所示,信任引擎110包括交易引擎205、倉(cāng)庫(kù)210、認(rèn)證引擎215、以及加密引擎220。 根據(jù)本發(fā)明的一個(gè)實(shí)施例,信任引擎110還包括大容量存儲(chǔ)器225。如圖2進(jìn)一步所示,交 易引擎205與倉(cāng)庫(kù)210、認(rèn)證引擎215、以及加密引擎220、連同大容量存儲(chǔ)器225通信。此 外,倉(cāng)庫(kù)210與認(rèn)證引擎215、加密引擎220以及大容量存儲(chǔ)器225通信。此外,認(rèn)證引擎 215與加密引擎220通信。根據(jù)本發(fā)明的一個(gè)實(shí)施例,上述通信中的一些或所有都可以有利 地包括傳輸XML文檔至對(duì)應(yīng)于接收裝置的IP地址。如上所述,XML文檔有利地允許設(shè)計(jì)者 創(chuàng)建其自身的定制文檔標(biāo)簽,使得能夠在應(yīng)用程序之間和組織之間定義、傳輸、驗(yàn)證和解釋 數(shù)據(jù)。此外,上述通信中的一些或所有可以包括傳統(tǒng)SSL技術(shù)。根據(jù)一個(gè)實(shí)施例,交易引擎205包括數(shù)據(jù)路由裝置,諸如由NetscaphMicrosoft、 Apache等提供的傳統(tǒng)Web服務(wù)器。例如,Web服務(wù)器可以有利地接收來(lái)自通信鏈路125的 輸入數(shù)據(jù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,輸入數(shù)據(jù)被定址到用于信任引擎110的前端安全系 統(tǒng)。例如,前端安全系統(tǒng)可以有利地包括防火墻、搜索已知攻擊特征的入侵檢測(cè)系統(tǒng)、和/ 或病毒掃描器。在通過(guò)前端安全系統(tǒng)之后,數(shù)據(jù)由交易引擎205接收并路由至倉(cāng)庫(kù)210、認(rèn) 證引擎215、加密引擎220以及大容量存儲(chǔ)器225之一。此外,交易引擎205監(jiān)視來(lái)自認(rèn)證 引擎215和加密引擎220的輸入數(shù)據(jù),并通過(guò)通信鏈路125將數(shù)據(jù)路由至特定系統(tǒng)。例如, 交易引擎205可以有利地將數(shù)據(jù)路由至用戶系統(tǒng)105、證書(shū)頒發(fā)機(jī)構(gòu)115或賣方系統(tǒng)120。根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)使用傳統(tǒng)HTTP路由技術(shù)被路由,例如采用URL或統(tǒng)一資源 指示符(URI)。URI類似于URL,然而,URI通常指示文件或動(dòng)作的源,例如,可執(zhí)行文件、腳 本等。因此,根據(jù)一個(gè)實(shí)施例,用戶系統(tǒng)105、證書(shū)頒發(fā)機(jī)構(gòu)115、賣方系統(tǒng)120、以及信任引 擎210的部件有利地包括通信URL或URI中的足夠數(shù)據(jù)以便交易引擎205在加密系統(tǒng)中正 確地路由數(shù)據(jù)。盡管參考其優(yōu)選實(shí)施例公開(kāi)了數(shù)據(jù)路由,但是本領(lǐng)域的技術(shù)人員應(yīng)該意識(shí)到大量 的可行的數(shù)據(jù)路由解決方案或策略。例如,XML或其他數(shù)據(jù)包可以有利地通過(guò)其格式、內(nèi)容 等被拆包和識(shí)別,從而交易引擎205可以在信任引擎110中正確地路由數(shù)據(jù)。此外,本領(lǐng) 域技術(shù)人員應(yīng)該意識(shí)到,數(shù)據(jù)路由可以有利地適應(yīng)符合特定網(wǎng)絡(luò)系統(tǒng)——例如當(dāng)通信鏈路 125包括局域網(wǎng)時(shí)——的數(shù)據(jù)傳輸協(xié)議。根據(jù)本發(fā)明的另一實(shí)施例,交易引擎205包括傳統(tǒng)SSL加密技術(shù),從而上述系統(tǒng)可 以在特定通信期間使用交易引擎205認(rèn)證自身,反之亦然。如在整個(gè)公開(kāi)中所使用的,術(shù)語(yǔ) “1/2SSL”表示服務(wù)器被SSL認(rèn)證而客戶端不一定被SSL認(rèn)證的通信,術(shù)語(yǔ)“全SSL”表示客 戶端和服務(wù)器都被SSL認(rèn)證的通信。在當(dāng)前公開(kāi)使用術(shù)語(yǔ)“SSL”時(shí),通信可以包括1/2或 全 SSL。當(dāng)交易引擎205將數(shù)據(jù)路由至加密系統(tǒng)100的各部件時(shí),交易引擎205可以有利 地創(chuàng)建審計(jì)跟蹤(audit trail)。根據(jù)一個(gè)實(shí)施例,審計(jì)跟蹤包括至少關(guān)于由交易引擎205 在加密系統(tǒng)100中路由的數(shù)據(jù)的類型和格式的記錄。這樣的審計(jì)數(shù)據(jù)可以有利地存儲(chǔ)在大容量存儲(chǔ)器225中。圖2還示出了倉(cāng)庫(kù)210。根據(jù)一個(gè)實(shí)施例,倉(cāng)庫(kù)210包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè) 備,諸如目錄服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器等。如圖2中所示,倉(cāng)庫(kù)210存儲(chǔ)加密密鑰和注冊(cè)認(rèn)證 數(shù)據(jù)。加密密鑰可以有利地對(duì)應(yīng)于信任引擎110或者對(duì)應(yīng)于加密系統(tǒng)100的用戶,諸如用 戶或賣方。注冊(cè)認(rèn)證數(shù)據(jù)可以有利地包括被設(shè)計(jì)為唯一識(shí)別用戶的數(shù)據(jù),諸如用戶ID、口 令、問(wèn)題答案、生物識(shí)別數(shù)據(jù)等。該注冊(cè)認(rèn)證數(shù)據(jù)可以有利地在用戶注冊(cè)時(shí)或其他可替換的 稍后時(shí)間被獲取。例如,信任引擎110可以包括注冊(cè)認(rèn)證數(shù)據(jù)的周期性的或別的更新或重 新發(fā)布。根據(jù)一個(gè)實(shí)施例,往返于交易引擎205與認(rèn)證引擎215和加密引擎220之間的通 信包括安全通信,例如,傳統(tǒng)SSL技術(shù)。此外,如上所述,往返于倉(cāng)庫(kù)210的通信的數(shù)據(jù)可以 使用URL、URI、HTTP或XML文檔傳遞,它們有利地將數(shù)據(jù)請(qǐng)求和格式嵌入其中。如上所述,倉(cāng)庫(kù)210可以有利地包括多個(gè)安全數(shù)據(jù)存儲(chǔ)設(shè)備。在這樣的實(shí)施例中, 安全數(shù)據(jù)存儲(chǔ)設(shè)備可以被配置為使得單個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的安全性損害不會(huì)泄露存儲(chǔ)在 其中的加密密鑰或認(rèn)證數(shù)據(jù)。例如,根據(jù)該實(shí)施例,對(duì)加密密鑰和認(rèn)證數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算以 便統(tǒng)計(jì)地并基本上隨機(jī)化存儲(chǔ)在每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,單個(gè)數(shù)據(jù) 存儲(chǔ)設(shè)備的數(shù)據(jù)的隨機(jī)化使得數(shù)據(jù)不可破譯。因此,單個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備的泄密僅僅產(chǎn)生隨 機(jī)的不可破譯的數(shù)字并且不損害作為整體的加密密鑰或認(rèn)證數(shù)據(jù)的安全性。圖2還示出了信任引擎110包括認(rèn)證引擎215。根據(jù)一個(gè)實(shí)施例,認(rèn)證引擎215包 括數(shù)據(jù)比較器,其被配置為將來(lái)自交易引擎205的數(shù)據(jù)與來(lái)自倉(cāng)庫(kù)210的數(shù)據(jù)進(jìn)行比較。例 如,在認(rèn)證過(guò)程中,用戶將當(dāng)前認(rèn)證數(shù)據(jù)提供至信任引擎110,從而交易引擎205接收到該 當(dāng)前認(rèn)證數(shù)據(jù)。如上所述,交易引擎205識(shí)別優(yōu)選為URL或URI的數(shù)據(jù)請(qǐng)求,并將認(rèn)證數(shù)據(jù) 路由至認(rèn)證引擎215。此外,基于請(qǐng)求,倉(cāng)庫(kù)210將對(duì)應(yīng)于該用戶的注冊(cè)認(rèn)證數(shù)據(jù)轉(zhuǎn)發(fā)至認(rèn) 證引擎215。從而,認(rèn)證引擎215具有當(dāng)前認(rèn)證數(shù)據(jù)和注冊(cè)認(rèn)證數(shù)據(jù)這兩者以供比較。根據(jù)一個(gè)實(shí)施例,至認(rèn)證引擎的通信包括安全通信,諸如SSL技術(shù)。此外,可以在 信任引擎110部件中提供安全性,例如使用公鑰技術(shù)的超級(jí)加密。例如,根據(jù)一個(gè)實(shí)施例, 用戶使用認(rèn)證引擎215的公鑰來(lái)加密當(dāng)前認(rèn)證數(shù)據(jù)。此外,倉(cāng)庫(kù)210還使用認(rèn)證引擎215 的公鑰來(lái)加密注冊(cè)認(rèn)證數(shù)據(jù)。以該方式,只有認(rèn)證引擎的私鑰可以被用來(lái)解密該傳輸。如圖2中所示,信任引擎110還包括加密引擎220。根據(jù)一個(gè)實(shí)施例,加密引擎包 括加密處理模塊,其被配置為有利地提供傳統(tǒng)加密功能,諸如公鑰基礎(chǔ)結(jié)構(gòu)(PKI)功能。例 如,加密引擎220可以有利地發(fā)布用于加密系統(tǒng)100的用戶的公鑰和私鑰。以該方式,加密 密鑰在加密引擎220處生成,并被轉(zhuǎn)發(fā)至倉(cāng)庫(kù)210,從而至少私有加密密鑰在信任引擎110 外部不可用。根據(jù)另一實(shí)施例,加密引擎220至少隨機(jī)化并拆分私有加密密鑰數(shù)據(jù),從而僅 存儲(chǔ)隨機(jī)化的拆分的數(shù)據(jù)。類似于注冊(cè)認(rèn)證數(shù)據(jù)的拆分,拆分處理保證所存儲(chǔ)的密鑰在加 密引擎220的外部不可用。根據(jù)另一實(shí)施例,加密引擎的功能可以與認(rèn)證引擎215結(jié)合并 由其執(zhí)行。根據(jù)一個(gè)實(shí)施例,往返于加密引擎的通信包括安全通信,諸如SSL技術(shù)。此外,XML 文檔可以有利地被用于傳遞數(shù)據(jù)和/或進(jìn)行加密功能請(qǐng)求。圖2還示出了信任引擎110具有大容量存儲(chǔ)器225。如上所述,交易引擎205保持 對(duì)應(yīng)于審計(jì)跟蹤的數(shù)據(jù),并將這樣的數(shù)據(jù)存儲(chǔ)在大容量存儲(chǔ)器225中。類似地,根據(jù)本發(fā)明的一個(gè)實(shí)施例,倉(cāng)庫(kù)210保持對(duì)應(yīng)于審計(jì)跟蹤的數(shù)據(jù)并將這樣的數(shù)據(jù)存儲(chǔ)在大容量存儲(chǔ)裝 置225中。倉(cāng)庫(kù)審計(jì)跟蹤數(shù)據(jù)類似于交易引擎205的審計(jì)跟蹤數(shù)據(jù),因?yàn)閷徲?jì)跟蹤數(shù)據(jù)包 括由倉(cāng)庫(kù)210接收的請(qǐng)求的記錄及其響應(yīng)。此外,大容器存儲(chǔ)器225可以被用來(lái)存儲(chǔ)其中 包含有用戶公鑰的數(shù)字證書(shū)。盡管參考其優(yōu)選和可替換實(shí)施例公開(kāi)了信任引擎110,但本發(fā)明不因此被限制。相 反,本領(lǐng)域技術(shù)人員在此處的公開(kāi)中應(yīng)該意識(shí)到信任引擎110的大量替換例。例如,信任引 擎110可以有利地僅執(zhí)行認(rèn)證,或可替換地,僅執(zhí)行部分或全部加密功能,諸如數(shù)據(jù)加密和 解密。根據(jù)這樣的實(shí)施例,認(rèn)證引擎215和加密引擎220之一可以有利地被去除,從而創(chuàng)建 更加簡(jiǎn)單的信任引擎110設(shè)計(jì)。此外,加密引擎220還可以與證書(shū)頒發(fā)機(jī)構(gòu)通信,從而證書(shū) 頒發(fā)機(jī)構(gòu)被包括在信任引擎110中。根據(jù)另一實(shí)施例,信任引擎110可以有利地執(zhí)行認(rèn)證 和一個(gè)或多個(gè)加密功能,例如數(shù)字簽名。圖3示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的交易引擎205的框圖。根據(jù) 該實(shí)施例,交易引擎205包括具有處理線程和監(jiān)聽(tīng)線程的操作系統(tǒng)305。操作系統(tǒng)305可以 有利地類似于在傳統(tǒng)大容量服務(wù)器中的那些操作系統(tǒng),例如由Apache提供的Web服務(wù)器。 監(jiān)聽(tīng)線程監(jiān)視來(lái)自通信鏈路125、認(rèn)證引擎215、以及加密引擎220之一的輸入通信中的輸 入數(shù)據(jù)流。處理線程識(shí)別輸入數(shù)據(jù)流的特定數(shù)據(jù)結(jié)構(gòu),例如前述的數(shù)據(jù)結(jié)構(gòu),從而將輸入數(shù) 據(jù)路由至通信鏈路125、倉(cāng)庫(kù)210、認(rèn)證引擎215、加密引擎220、或大容量存儲(chǔ)器225之一。 如圖3所示,輸入和輸出數(shù)據(jù)可以有利地通過(guò)例如SSL技術(shù)而被保護(hù)。圖4示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的圖2的倉(cāng)庫(kù)210的框圖。根據(jù)該實(shí) 施例,倉(cāng)庫(kù)210包括一個(gè)或多個(gè)輕量級(jí)目錄訪問(wèn)協(xié)議(LDAP)服務(wù)器。LDAP目錄服務(wù)器可以 由多個(gè)制造商提供,諸如Netscape、ISO和其他制造商。圖4還示出,目錄服務(wù)器優(yōu)選存儲(chǔ) 對(duì)應(yīng)于加密密鑰的數(shù)據(jù)405和對(duì)應(yīng)于注冊(cè)認(rèn)證數(shù)據(jù)的數(shù)據(jù)410。根據(jù)一個(gè)實(shí)施例,倉(cāng)庫(kù)210 包括單個(gè)邏輯存儲(chǔ)結(jié)構(gòu),其將認(rèn)證數(shù)據(jù)和加密密鑰數(shù)據(jù)索引至唯一用戶ID。該單個(gè)邏輯存 儲(chǔ)結(jié)構(gòu)優(yōu)選地包括保證存儲(chǔ)在其中的數(shù)據(jù)具有高信任度或安全性的機(jī)制。例如,倉(cāng)庫(kù)210 的物理位置可以有利地包括多種傳統(tǒng)安全措施,諸如有限的雇員訪問(wèn)、現(xiàn)代監(jiān)視系統(tǒng)等。在 物理安全措施之外或取而代之,計(jì)算機(jī)系統(tǒng)或服務(wù)器可以有利地包括軟件解決方案來(lái)保護(hù) 存儲(chǔ)的數(shù)據(jù)。例如,倉(cāng)庫(kù)210可以有利地創(chuàng)建并存儲(chǔ)與所執(zhí)行的動(dòng)作的審計(jì)跟蹤相對(duì)應(yīng)的 數(shù)據(jù)415。此外,輸入和輸出通信可以有利地使用與傳統(tǒng)SSL技術(shù)相結(jié)合的公鑰加密來(lái)加
滋
r t [ o根據(jù)另一實(shí)施例,倉(cāng)庫(kù)210可以包括不同的且物理上分開(kāi)的數(shù)據(jù)存儲(chǔ)設(shè)備,如進(jìn) 一步參考圖7所述。圖5示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,圖2的認(rèn)證引擎215的框圖。類似 于圖3的交易引擎205,認(rèn)證引擎215包括操作系統(tǒng)505,其至少具有傳統(tǒng)Web服務(wù)器(例 如Apache提供的Web服務(wù)器)的修改版本的監(jiān)聽(tīng)和處理線程。如圖5所示,認(rèn)證引擎215 包括對(duì)至少一個(gè)私鑰510的訪問(wèn)。私鑰510可以有利地被用來(lái)例如解密來(lái)自交易引擎205 或倉(cāng)庫(kù)210的使用認(rèn)證引擎215的相應(yīng)公鑰加密過(guò)的數(shù)據(jù)。圖5還示出了認(rèn)證引擎215包括比較器515、數(shù)據(jù)拆分模塊529、以及數(shù)據(jù)組裝模 塊525。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,比較器515包括能夠比較與上述生物識(shí)別認(rèn)證數(shù)據(jù)有 關(guān)的可能復(fù)雜的圖案的技術(shù)。該技術(shù)可以包括用于圖案比較的硬件、軟件或其組合方案,所述圖案諸如是表示指紋圖案或語(yǔ)音圖案的那些圖案。此外,根據(jù)一個(gè)實(shí)施例,認(rèn)證引擎215 的比較器515可以有利地比較文檔的傳統(tǒng)散列值以給出比較結(jié)果。根據(jù)本發(fā)明的一個(gè)實(shí)施 例,比較器515包括將試探法(heuristics) 530應(yīng)用于比較。試探法530可以有利地處理 圍繞認(rèn)證嘗試的詳情,例如一天中的時(shí)間、IP地址或子網(wǎng)掩碼、購(gòu)買簡(jiǎn)檔、電子郵件地址、處 理器序列號(hào)或ID、等等。此外,生物識(shí)別數(shù)據(jù)比較的特性可能使得由當(dāng)前生物識(shí)別認(rèn)證數(shù)據(jù)與注冊(cè)數(shù)據(jù)的 匹配產(chǎn)生變化的可信度。例如,與可能僅返回肯定或否定匹配的傳統(tǒng)口令不同,指紋可能被 確定為是部分匹配,例如,90 %匹配、75 %匹配或10 %匹配,而不是簡(jiǎn)單地正確或不正確。諸 如聲紋分析或面貌識(shí)別之類的其他生物識(shí)別標(biāo)識(shí)也可以具有該概率認(rèn)證性質(zhì),而不是絕對(duì) 認(rèn)證。當(dāng)使用這樣的概率認(rèn)證或者在認(rèn)證被認(rèn)為并非絕對(duì)可靠的情況下,希望應(yīng)用試探 法530來(lái)確定所提供的認(rèn)證中的可信度是否足夠高到能夠認(rèn)證正在進(jìn)行的交易。有時(shí)候的情況是,待解決的交易是相對(duì)低價(jià)值的交易,其中被認(rèn)證為較低可信度 是可以接受的。這可能包括與其相關(guān)的美金值較低的交易(例如,$10購(gòu)買)或具有較低 風(fēng)險(xiǎn)的交易(例如,僅會(huì)員可進(jìn)的網(wǎng)站)。相反,為了認(rèn)證其他交易,希望在允許交易進(jìn)行之前要求認(rèn)證的高可信度。這樣的 交易可能包括大額美金值的交易(例如,簽訂幾百萬(wàn)美金供應(yīng)合同)或如果發(fā)生不正確的 認(rèn)證會(huì)具有高風(fēng)險(xiǎn)的交易(例如遠(yuǎn)程登錄至政府計(jì)算機(jī))。下面將描述使用試探法530與可信度和交易值結(jié)合,以允許比較器提供動(dòng)態(tài)的上 下文相關(guān)的認(rèn)證系統(tǒng)。根據(jù)本發(fā)明的另一實(shí)施例,比較器515可以有利地跟蹤對(duì)于特定交易的認(rèn)證嘗 試。例如,當(dāng)交易失敗時(shí),信任引擎110可以請(qǐng)求用戶重新輸入他或她的當(dāng)前認(rèn)證數(shù)據(jù)。認(rèn) 證引擎215的比較器515可以有利地使用嘗試限制器535來(lái)限制認(rèn)證嘗試的次數(shù),從而禁 止試圖模仿用戶的認(rèn)證數(shù)據(jù)的暴力嘗試。根據(jù)一個(gè)實(shí)施例,嘗試限制器535包括監(jiān)視交易 中的重復(fù)認(rèn)證嘗試并例如將對(duì)于給定交易的認(rèn)證嘗試限制為三次的軟件模塊。因此,嘗試 限制器535將限制模仿個(gè)體的認(rèn)證數(shù)據(jù)的自動(dòng)化嘗試,例如簡(jiǎn)單的三次“guesses”。一旦三 次失敗,嘗試限制器535可以有利地拒絕追加的認(rèn)證嘗試。這樣的拒絕可以有利地通過(guò)例 如不管被傳輸?shù)漠?dāng)前認(rèn)證數(shù)據(jù)是什么,比較器515都返回否定結(jié)果來(lái)實(shí)現(xiàn)。另一方面,交易 引擎205可以有利地阻止與之前已有三次失敗嘗試的交易有關(guān)的任何其它的認(rèn)證嘗試。認(rèn)證引擎215還包括數(shù)據(jù)拆分模塊520和數(shù)據(jù)組裝模塊525。數(shù)據(jù)拆分模塊520 有利地包括軟件、硬件或組合模塊,具有對(duì)各種數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算從而基本上隨機(jī)化數(shù)據(jù) 并將其拆分成多個(gè)部分的能力。根據(jù)一個(gè)實(shí)施例,原始數(shù)據(jù)不能從單個(gè)部分中重建。數(shù)據(jù) 組裝模塊525有利地包括軟件、硬件或組合模塊,其被配置為對(duì)上述基本上隨機(jī)化的部分 進(jìn)行數(shù)學(xué)運(yùn)算,從而其組合提供原始的被破譯數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,認(rèn)證引擎215使用 數(shù)據(jù)拆分模塊520來(lái)隨機(jī)化注冊(cè)認(rèn)證數(shù)據(jù)并將其拆分成多個(gè)部分,以及使用數(shù)據(jù)組裝模塊 525來(lái)將這些部分重新組裝成可用的注冊(cè)認(rèn)證數(shù)據(jù)。圖6示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的多個(gè)方面,圖2的信任引擎200的加密引 擎220的框圖。類似于圖3的交易引擎205,加密引擎220包括操作系統(tǒng)605,其至少具有 傳統(tǒng)Web服務(wù)器(例如,Apache提供的Web服務(wù)器)的修改版本的監(jiān)聽(tīng)線程和處理線程。如圖6中所示,加密引擎220包括數(shù)據(jù)拆分模塊610和數(shù)據(jù)組裝模塊620,其功能類似于圖 5中的那些模塊。然而,根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)拆分模塊610和數(shù)據(jù)組裝模塊620處理加密 密鑰數(shù)據(jù),不同于上述注冊(cè)認(rèn)證數(shù)據(jù)。盡管如此,本領(lǐng)域技術(shù)人員從此處的公開(kāi)應(yīng)意識(shí)到數(shù) 據(jù)拆分模塊610和數(shù)據(jù)組裝模塊620可以與認(rèn)證引擎215的數(shù)據(jù)拆分模塊和數(shù)據(jù)組裝模塊
纟口口。加密引擎220還包括加密處理模塊625,其被配置為執(zhí)行大量加密功能中的一個(gè)、 部分或所有。根據(jù)一個(gè)實(shí)施例,加密處理模塊625可以包括軟件模塊或程序、硬件、或兩者。 根據(jù)另一實(shí)施例,加密處理模塊625可以執(zhí)行數(shù)據(jù)比較、數(shù)據(jù)解析、數(shù)據(jù)拆分、數(shù)據(jù)分離、數(shù) 據(jù)散列、數(shù)據(jù)加密或解密、數(shù)字簽名校驗(yàn)或創(chuàng)建、數(shù)字證書(shū)的生成、存儲(chǔ)或請(qǐng)求、加密密鑰生 成、等等。此外,本領(lǐng)域技術(shù)人員應(yīng)該從在此處的公開(kāi)意識(shí)到,加密處理模塊625可以有利 地包括公鑰基礎(chǔ)結(jié)構(gòu),諸如優(yōu)秀保密(Pretty Good PrivaCy,PGP)、基于RSA的公鑰系統(tǒng)、或 大量可替換的密鑰管理系統(tǒng)。此外,加密處理模塊625可以執(zhí)行公鑰加密、對(duì)稱密鑰加密、 或兩者。除了上面所述,加密處理模塊625可以包括一個(gè)或多個(gè)計(jì)算機(jī)程序或模塊、硬件、 或兩者,用于實(shí)現(xiàn)無(wú)縫、透明、互用性功能。本領(lǐng)域的技術(shù)人員從在此的公開(kāi)還應(yīng)該意識(shí)到,加密功能可以包括通常與加密密 鑰管理系統(tǒng)有關(guān)的大量或多種功能。圖7示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的倉(cāng)庫(kù)系統(tǒng)700的簡(jiǎn)化框圖。如圖7 所示,倉(cāng)庫(kù)系統(tǒng)700有利地包括多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,例如,數(shù)據(jù)存儲(chǔ)設(shè)備D1、D2、D3和D4。然 而,本領(lǐng)域的普通技術(shù)人員容易理解倉(cāng)庫(kù)系統(tǒng)可能僅具有一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備。根據(jù)本發(fā)明 的一個(gè)實(shí)施例,每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4可以有利地包括參考圖4的倉(cāng)庫(kù)210公開(kāi)的部 分或所有元件。類似于倉(cāng)庫(kù)210,數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4與交易引擎205、認(rèn)證引擎215、以 及加密引擎220通信,優(yōu)選通過(guò)傳統(tǒng)SSL通信。通信鏈路傳輸例如XML文檔。來(lái)自交易引 擎205的通信可以有利地包括對(duì)數(shù)據(jù)的請(qǐng)求,其中該請(qǐng)求被有利地廣播至每個(gè)數(shù)據(jù)存儲(chǔ)設(shè) 備D1至D4的IP地址。另一方面,交易引擎205可以基于諸如響應(yīng)時(shí)間、服務(wù)器負(fù)荷、維護(hù) 計(jì)劃等大量標(biāo)準(zhǔn)而將請(qǐng)求廣播至特定數(shù)據(jù)存儲(chǔ)設(shè)備。響應(yīng)于來(lái)自交易引擎205的對(duì)于數(shù)據(jù)的請(qǐng)求,倉(cāng)庫(kù)系統(tǒng)700有利地轉(zhuǎn)發(fā)所存儲(chǔ)的 數(shù)據(jù)至認(rèn)證引擎215和加密引擎220。各個(gè)數(shù)據(jù)組裝模塊接收轉(zhuǎn)發(fā)的數(shù)據(jù)并將數(shù)據(jù)組裝成 可用格式。另一方面,從認(rèn)證引擎215和加密引擎220到數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4的通信可 以包括傳輸要存儲(chǔ)的敏感數(shù)據(jù)。例如,根據(jù)一個(gè)實(shí)施例,認(rèn)證引擎215和加密引擎220可以 有利地使用其各自的數(shù)據(jù)拆分模塊以將敏感數(shù)據(jù)分解成不可破譯的部分,然后將敏感數(shù)據(jù) 的一個(gè)或多個(gè)不可破譯的部分傳輸至特定數(shù)據(jù)存儲(chǔ)設(shè)備。根據(jù)一個(gè)實(shí)施例,每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4包括分開(kāi)且獨(dú)立的存儲(chǔ)系統(tǒng),例如目 錄服務(wù)器。根據(jù)本發(fā)明的另一實(shí)施例,倉(cāng)庫(kù)系統(tǒng)700包括多個(gè)地理上分開(kāi)的獨(dú)立的數(shù)據(jù)存 儲(chǔ)系統(tǒng)。通過(guò)將敏感數(shù)據(jù)分發(fā)至不同且獨(dú)立的存儲(chǔ)設(shè)備D1至D4——其中部分或所有存儲(chǔ) 設(shè)備可以有利地在地理上分開(kāi),倉(cāng)庫(kù)系統(tǒng)700與其他安全措施一起提供冗余。例如,根據(jù)一 個(gè)實(shí)施例,僅來(lái)自多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4中的兩個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)需要解密并重 新組裝該敏感數(shù)據(jù)。因此,四個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4中的兩個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備可以由于維 護(hù)、系統(tǒng)故障、電源故障等而不工作,但不影響信任引擎110的功能。此外,因?yàn)楦鶕?jù)一個(gè)實(shí) 施例,存儲(chǔ)在每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)被隨機(jī)化并不可破譯,所以任何單個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備的泄密不必然地泄露敏感數(shù)據(jù)。此外,在數(shù)據(jù)存儲(chǔ)設(shè)備地理上分開(kāi)的實(shí)施例中,多個(gè)地理 上遠(yuǎn)離的設(shè)備的泄密變得越發(fā)困難。事實(shí)上,不良員工要暗中破壞所需的多個(gè)獨(dú)立的地理 上遠(yuǎn)離的數(shù)據(jù)存儲(chǔ)設(shè)備將面臨更大的挑戰(zhàn)。盡管參考其優(yōu)選和可替換實(shí)施例描述了倉(cāng)庫(kù)系統(tǒng)700,但是本發(fā)明不因此被限制。 相反,本領(lǐng)域技術(shù)人員將由在此的公開(kāi)意識(shí)到倉(cāng)庫(kù)系統(tǒng)700的多個(gè)替換例。例如,倉(cāng)庫(kù)系統(tǒng) 700可以包括一個(gè)、兩個(gè)或更多數(shù)據(jù)存儲(chǔ)設(shè)備。此外,敏感數(shù)據(jù)可以被數(shù)學(xué)運(yùn)算,使得需要來(lái) 自兩個(gè)或更多數(shù)據(jù)存儲(chǔ)設(shè)備的部分以便重新組裝并解密該敏感數(shù)據(jù)。如上所述,認(rèn)證引擎215和加密引擎220每個(gè)都分別包括數(shù)據(jù)拆分模塊520和 610,用于拆分任何類型或形式的敏感數(shù)據(jù),諸如文本、音頻、視頻、認(rèn)證數(shù)據(jù)和加密密鑰數(shù) 據(jù)。圖8示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面,由數(shù)據(jù)拆分模塊執(zhí)行的數(shù)據(jù)拆分處理800 的流程圖。如圖8所示,數(shù)據(jù)拆分處理800在步驟805處開(kāi)始,此時(shí)敏感數(shù)據(jù)“S”由認(rèn)證引 擎215或加密引擎220的數(shù)據(jù)拆分模塊接收。優(yōu)選地,在步驟810,數(shù)據(jù)拆分模塊然后生成 基本上隨機(jī)的數(shù)、值、或串、或位組“A”。例如,隨機(jī)數(shù)A可以用本領(lǐng)域技術(shù)人員已知的用于 產(chǎn)生適于在加密應(yīng)用中使用的高質(zhì)量隨機(jī)數(shù)的多種不同傳統(tǒng)技術(shù)生成。此外,根據(jù)一個(gè)實(shí) 施例,隨機(jī)數(shù)A包括可以是任何適當(dāng)長(zhǎng)度的位長(zhǎng)度,諸如短于、長(zhǎng)于、或等于敏感數(shù)據(jù)S的位 長(zhǎng)度。此外,在步驟820中,數(shù)據(jù)拆分處理800生成另一統(tǒng)計(jì)上隨機(jī)的數(shù)“C”。根據(jù)優(yōu)選 實(shí)施例,統(tǒng)計(jì)上隨機(jī)的數(shù)A和C可以有利地并行生成。數(shù)據(jù)拆分模塊然后將數(shù)A和C與敏 感數(shù)據(jù)S結(jié)合,從而生成新的數(shù)“B”和“D”。例如,數(shù)B可以包括A XOR S的二進(jìn)制結(jié)合, 數(shù)D可以包括C XOR S的二進(jìn)制結(jié)合。X0R函數(shù)或“異或”函數(shù)對(duì)于本領(lǐng)域的技術(shù)人員是已 知的。上述結(jié)合優(yōu)選地分別發(fā)生在步驟825和830,以及根據(jù)一個(gè)實(shí)施例,上述結(jié)合還并行 發(fā)生。數(shù)據(jù)拆分處理800然后進(jìn)行到步驟835,其中隨機(jī)數(shù)A和C以及數(shù)B和D被配對(duì),使 得沒(méi)有哪個(gè)配對(duì)本身包含重新組織和解密原始敏感數(shù)據(jù)S的足夠數(shù)據(jù)。例如,這些數(shù)可以 被如下配對(duì)AC,AD,BC和BD。根據(jù)一個(gè)實(shí)施例,每一個(gè)上述配對(duì)被分配至圖7中的倉(cāng)庫(kù)D1 至D4之一。根據(jù)另一實(shí)施例,每個(gè)上述配對(duì)被隨機(jī)分配給倉(cāng)庫(kù)D1至D4之一。例如,在第 一數(shù)據(jù)拆分處理800的過(guò)程中,配對(duì)AC可以通過(guò)例如隨機(jī)選擇的D2的IP地址被發(fā)送至倉(cāng) 庫(kù)D2。然后,在第二數(shù)據(jù)拆分處理800的過(guò)程中,配對(duì)AC可以通過(guò)例如隨機(jī)選擇的D4的 IP地址被發(fā)送至倉(cāng)庫(kù)D4。此外,這些配對(duì)所有都可以被存儲(chǔ)在一個(gè)倉(cāng)庫(kù),以及可以被存儲(chǔ) 在所述倉(cāng)庫(kù)中分開(kāi)的位置。基于上面所述,數(shù)據(jù)拆分處理800有利地將敏感數(shù)據(jù)的多個(gè)部分放置在四個(gè)數(shù)據(jù) 存儲(chǔ)設(shè)備D1至D4中的每一個(gè)中,從而沒(méi)有單個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4包括重建原始敏感 數(shù)據(jù)S的足夠的被加密的數(shù)據(jù)。如上所述,這樣的將數(shù)據(jù)隨機(jī)化為單獨(dú)不可用的加密部分 提升了安全性并提供了對(duì)數(shù)據(jù)的信任的維持,即使數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4之一被泄密。盡管參考其優(yōu)選實(shí)施例公開(kāi)了數(shù)據(jù)拆分處理800,本發(fā)明不因此被限制。相反, 本領(lǐng)域的技術(shù)人員應(yīng)從此處的公開(kāi)意識(shí)到數(shù)據(jù)拆分處理800的多種替換。例如,數(shù)據(jù)拆分 處理可以有利地將數(shù)據(jù)拆分成兩個(gè)數(shù),例如,隨機(jī)數(shù)A和數(shù)B,并且通過(guò)兩個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備 隨機(jī)分配A和B。此外,數(shù)據(jù)拆分處理800可以有利地通過(guò)生成另外的隨機(jī)數(shù)而在大量數(shù) 據(jù)存儲(chǔ)設(shè)備中拆分?jǐn)?shù)據(jù)。數(shù)據(jù)可以被拆分成任何期望的、選擇的、預(yù)定的或隨機(jī)分配的尺 寸單元,包括但不限于一位、多位、字節(jié)、千字節(jié)、兆字節(jié)或更大、或尺寸的任何組合或序列。此外,由拆分處理導(dǎo)致的改變數(shù)據(jù)單元的尺寸可以使得數(shù)據(jù)更難以恢復(fù)成可用形式,從而 增加敏感數(shù)據(jù)的安全性。本領(lǐng)域的普通技術(shù)人員容易理解,拆分?jǐn)?shù)據(jù)單元的尺寸可以是多 種不同的數(shù)據(jù)單元尺寸或尺寸的圖樣(pattern)或尺寸的組合。例如,數(shù)據(jù)單元尺寸可以 被選擇或預(yù)定為都具有相同的尺寸、具有不同尺寸的固定的組、尺寸的組合、或隨機(jī)生成尺 寸。類似地,數(shù)據(jù)單元可以根據(jù)固定或預(yù)定的數(shù)據(jù)單元尺寸、數(shù)據(jù)單元尺寸的圖樣或組合、 或隨機(jī)生成的數(shù)據(jù)單元尺寸或每份的尺寸而被分配成一份或多份。如上所述,為了重建敏感數(shù)據(jù)S,數(shù)據(jù)部分需要被解隨機(jī)和重新組織。該處理可以 有利地分別發(fā)生在認(rèn)證引擎215和加密引擎220的數(shù)據(jù)組裝模塊525和620中。數(shù)據(jù)組裝 模塊,例如數(shù)據(jù)組裝模塊525,接收來(lái)自數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4的數(shù)據(jù)部分,以及將數(shù)據(jù)組裝 成可用形式。例如,根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)拆分模塊520使用圖8的數(shù)據(jù)拆分處理800,而數(shù) 據(jù)組裝模塊525使用來(lái)自數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4中至少兩個(gè)的數(shù)據(jù)部分以重建敏感數(shù)據(jù)S。 例如,配對(duì)AC、AD、BC和BD被分配以使得任何兩個(gè)提供A和B或C和D之一。注意S = A XOR B或S = C XOR D表示當(dāng)數(shù)據(jù)組裝模塊接收A和B或C和D之一時(shí),數(shù)據(jù)組裝模塊525 可以有利地重新組裝敏感數(shù)據(jù)S。因此,數(shù)據(jù)組裝模塊525可以在例如接收到來(lái)自數(shù)據(jù)存儲(chǔ) 設(shè)備D1至D4中至少前兩個(gè)的數(shù)據(jù)部分時(shí),組裝敏感數(shù)據(jù)S,以響應(yīng)于信任引擎110的組裝 請(qǐng)求?;谏鲜龅臄?shù)據(jù)拆分和組裝處理,敏感數(shù)據(jù)S僅在信任引擎110的有限區(qū)域中以 可用格式存在。例如,當(dāng)敏感數(shù)據(jù)S包括注冊(cè)認(rèn)證數(shù)據(jù)時(shí),可用的未隨機(jī)化的注冊(cè)認(rèn)證數(shù)據(jù) 僅在認(rèn)證引擎215中可用。類似地,當(dāng)敏感數(shù)據(jù)S包括私有加密密鑰數(shù)據(jù)時(shí),可用的未隨機(jī) 化的私有加密密鑰數(shù)據(jù)僅在加密引擎220中可用。盡管參考其優(yōu)選實(shí)施例公開(kāi)了數(shù)據(jù)拆分和組裝處理,本發(fā)明不因此被限制。相反, 本領(lǐng)域的技術(shù)人員從此處的公開(kāi)應(yīng)該意識(shí)到用于拆分和重新組裝敏感數(shù)據(jù)S的多種替換。 例如,公鑰加密可以被用于在數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4處進(jìn)一步保護(hù)數(shù)據(jù)。此外,本領(lǐng)域的技 術(shù)人員容易理解在此描述的數(shù)據(jù)拆分模塊也是本發(fā)明的單獨(dú)且獨(dú)立的實(shí)施例,可以合并到 包括任何已有計(jì)算機(jī)系統(tǒng)、軟件套件、數(shù)據(jù)庫(kù)、或其組合、或本發(fā)明的其他實(shí)施例(諸如在 此公開(kāi)和描述的信任引擎、認(rèn)證引擎以及交易引擎)中,或與之結(jié)合,或作為其中一部分。圖9A示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的注冊(cè)處理900的數(shù)據(jù)流。如圖9A 所示,注冊(cè)處理900在步驟905處開(kāi)始,用戶期望使用加密系統(tǒng)100的信任引擎110注冊(cè)。 根據(jù)該實(shí)施例,用戶系統(tǒng)105有利地包括例如基于Java的客戶端小程序(applet),其詢問(wèn) 用戶以輸入注冊(cè)數(shù)據(jù),例如人口統(tǒng)計(jì)數(shù)據(jù)和注冊(cè)認(rèn)證數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,注冊(cè)認(rèn)證數(shù)據(jù) 包括用戶ID、口令、生物識(shí)別信息等。根據(jù)一個(gè)實(shí)施例,在詢問(wèn)處理過(guò)程中,客戶端小程序 優(yōu)選地與信任引擎110通信以保證所選擇的用戶ID是唯一的。當(dāng)用戶ID非唯一時(shí),信任 引擎110可以有利地建議唯一用戶ID??蛻舳诵〕绦蚴占?cè)數(shù)據(jù)并將注冊(cè)數(shù)據(jù)例如通 過(guò)XML文檔傳輸至信任引擎110,更具體地,至交易引擎205。根據(jù)一個(gè)實(shí)施例,用認(rèn)證引擎 215的公鑰編碼該傳輸。根據(jù)一個(gè)實(shí)施例,用戶在注冊(cè)處理900的步驟905期間執(zhí)行單個(gè)注冊(cè)。例如,用戶 將他或她本身注冊(cè)為特定人,例如Joe User。當(dāng)Joe User期望注冊(cè)為Joe User,Mega公司 的CEO時(shí),根據(jù)該實(shí)施例,Joe User第二次注冊(cè),接收到第二個(gè)唯一用戶ID,并且信任引擎 110不將兩個(gè)身份相關(guān)聯(lián)。根據(jù)本發(fā)明的另一實(shí)施例,注冊(cè)處理900為單個(gè)用戶ID提供多個(gè)用戶身份。從而,在上述示例中,信任引擎110有利地將Joe User的兩個(gè)身份相關(guān)聯(lián)。如 本領(lǐng)域技術(shù)人員從此處的公開(kāi)可以理解的,用戶可以具有許多身份,例如,一家之主的Joe User,慈善基金會(huì)成員Joe User,等等。即使用戶可以具有多個(gè)身份,根據(jù)該實(shí)施例,信任引 擎110優(yōu)選地僅存儲(chǔ)一組注冊(cè)數(shù)據(jù)。此外,用戶可以根據(jù)他們的需要有利地增加、編輯/更 新、或刪除身份。盡管參考其優(yōu)選實(shí)施例公開(kāi)了注冊(cè)處理900,但是本發(fā)明不因此被限制。相反,本 領(lǐng)域技術(shù)人員從此處的公開(kāi)應(yīng)理解用于收集注冊(cè)數(shù)據(jù)尤其是注冊(cè)認(rèn)證數(shù)據(jù)的多種替換例。 例如,小程序可以是基于通用對(duì)象模型(COM)的小程序,等等。另一方面,注冊(cè)處理可以包括分級(jí)注冊(cè)。例如,在最低級(jí)的注冊(cè)中,用戶可以通過(guò) 通信鏈路125注冊(cè)而不產(chǎn)生關(guān)于他或她身份的文件。根據(jù)注冊(cè)等級(jí)的提高,用戶使用諸如 數(shù)字公證之類的可信第三方進(jìn)行注冊(cè)。例如,用戶可以親自出現(xiàn)在可信第三方面前,制作諸 如出生證明、駕照、軍人ID等,以及可信第三方可以有利地在注冊(cè)提交時(shí)包括例如他們的 數(shù)字簽名??尚诺谌娇梢园▽?shí)際公證處、政府機(jī)構(gòu)(例如郵局或機(jī)動(dòng)車部)、大公司中 注冊(cè)員工的人力資源人員等。本領(lǐng)域的技術(shù)人員從此處的公開(kāi)應(yīng)該理解在注冊(cè)處理900中 可能發(fā)生多種不同等級(jí)的注冊(cè)。在步驟915處接收注冊(cè)認(rèn)證數(shù)據(jù)之后,交易引擎205使用傳統(tǒng)全SSL技術(shù)將注冊(cè) 認(rèn)證數(shù)據(jù)轉(zhuǎn)發(fā)至認(rèn)證引擎215。在步驟920,認(rèn)證引擎215使用認(rèn)證引擎215的私鑰解密注 冊(cè)認(rèn)證數(shù)據(jù)。此外,認(rèn)證引擎215使用數(shù)據(jù)拆分模塊對(duì)注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算,從而將 數(shù)據(jù)拆分成至少兩個(gè)獨(dú)立的不可破譯的隨機(jī)化的數(shù)。如上所述,至少兩個(gè)數(shù)可以包括統(tǒng)計(jì) 隨機(jī)的數(shù)和二進(jìn)制異或的數(shù)。在步驟925,認(rèn)證引擎215將隨機(jī)化的數(shù)的每個(gè)部分轉(zhuǎn)發(fā)給數(shù) 據(jù)存儲(chǔ)設(shè)備D1至D4之一。如上所述,認(rèn)證引擎215還可以有利地隨機(jī)化哪些部分被傳遞 到哪些倉(cāng)庫(kù)。通常在注冊(cè)處理900的過(guò)程中,用戶還期望發(fā)布數(shù)字證書(shū),從而他或她可以接收 來(lái)自加密系統(tǒng)100外部的其他系統(tǒng)的加密文檔。如上所述,證書(shū)頒發(fā)機(jī)構(gòu)115通常根據(jù)多 種傳統(tǒng)標(biāo)準(zhǔn)中的一個(gè)或多個(gè)標(biāo)準(zhǔn)發(fā)布數(shù)字證書(shū)。通常,數(shù)字證書(shū)包括每個(gè)人都知道的用戶 或系統(tǒng)的公鑰。無(wú)論用戶是在注冊(cè)時(shí)還是在其他時(shí)間請(qǐng)求數(shù)字證書(shū),該請(qǐng)求通過(guò)信任引擎110傳 遞至認(rèn)證引擎215。根據(jù)一個(gè)實(shí)施例,該請(qǐng)求包括具有例如用戶正確姓名的XML文檔。根據(jù) 步驟935,認(rèn)證引擎215將該請(qǐng)求傳遞至加密引擎220,指示加密引擎220生成加密密鑰或 密鑰對(duì)。一經(jīng)請(qǐng)求,在步驟935,加密引擎220生成至少一個(gè)加密密鑰。根據(jù)一個(gè)實(shí)施例, 加密處理模塊625生成密鑰對(duì),其中一個(gè)密鑰被用作私鑰,以及一個(gè)被用作公鑰。加密引擎 220存儲(chǔ)私鑰,以及根據(jù)一個(gè)實(shí)施例存儲(chǔ)公鑰的拷貝。在步驟945中,加密引擎220向交易 引擎205傳輸數(shù)字證書(shū)請(qǐng)求。根據(jù)一個(gè)實(shí)施例,該請(qǐng)求有利地包括標(biāo)準(zhǔn)化請(qǐng)求,例如,嵌入 在例如XML文檔中的PKCS10。數(shù)字證書(shū)請(qǐng)求可以有利地對(duì)應(yīng)于一個(gè)或多個(gè)證書(shū)頒發(fā)機(jī)構(gòu), 以及證書(shū)頒發(fā)機(jī)構(gòu)要求的一個(gè)或多個(gè)標(biāo)準(zhǔn)格式。在步驟950,交易引擎205轉(zhuǎn)發(fā)該請(qǐng)求至證書(shū)頒發(fā)機(jī)構(gòu)115,后者在步驟955返回 數(shù)字證書(shū)。返回的數(shù)字證書(shū)可以有利地為標(biāo)準(zhǔn)化格式,例如PKCS7,或者為一個(gè)或多個(gè)證書(shū) 頒發(fā)機(jī)構(gòu)115的專有格式。在步驟960中,數(shù)字證書(shū)被交易引擎205接收,副本被轉(zhuǎn)發(fā)至用戶,以及用信任引擎110存儲(chǔ)副本。信任引擎110存儲(chǔ)證書(shū)的副本,從而信任引擎110不 需要依賴于證書(shū)頒發(fā)機(jī)構(gòu)115的可用性。例如,當(dāng)用戶期望發(fā)送數(shù)字證書(shū)或第三方請(qǐng)求用 戶的數(shù)字證書(shū)時(shí),數(shù)字證書(shū)請(qǐng)求通常被發(fā)送到證書(shū)頒發(fā)機(jī)構(gòu)115。然而,如果證書(shū)頒發(fā)機(jī)構(gòu) 115正在進(jìn)行維護(hù)或已經(jīng)成為故障或安全損害的犧牲品,則數(shù)字證書(shū)可能不可用。在發(fā)布加密密鑰之后的任何時(shí)間,加密引擎220可以有利地采用上述的數(shù)據(jù)拆分 處理800以使得加密密鑰被拆分成獨(dú)立不可破譯的隨機(jī)化的數(shù)。類似于認(rèn)證數(shù)據(jù),在步驟 965,加密引擎220將隨機(jī)化的數(shù)傳送到數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4。本領(lǐng)域技術(shù)人員從此處公開(kāi)應(yīng)理解,用戶可以在注冊(cè)之后的任何時(shí)間請(qǐng)求數(shù)字證 書(shū)。此外,系統(tǒng)之間的通信可以有利地包括全SSL或公鑰加密技術(shù)。此外,注冊(cè)處理可以發(fā) 布來(lái)自多個(gè)證書(shū)頒發(fā)機(jī)構(gòu)的多個(gè)數(shù)字證書(shū),所述證書(shū)頒發(fā)機(jī)構(gòu)包括信任引擎110內(nèi)部或外 部的一個(gè)或多個(gè)專有證書(shū)頒發(fā)機(jī)構(gòu)。如在步驟935至960中所公開(kāi)的,本發(fā)明的一個(gè)實(shí)施例包括最終存儲(chǔ)在信任引擎 110上的證書(shū)請(qǐng)求。根據(jù)一個(gè)實(shí)施例,因?yàn)榧用芴幚砟K625發(fā)布由信任引擎110使用的密 鑰,因此每個(gè)證書(shū)對(duì)應(yīng)于一個(gè)私鑰。因此,信任引擎110可以有利地通過(guò)監(jiān)視由用戶擁有或 與用戶相關(guān)聯(lián)的證書(shū)來(lái)提供互用性。例如,當(dāng)加密引擎220接收加密功能請(qǐng)求時(shí),加密處理 模塊625可以調(diào)查由進(jìn)行請(qǐng)求的用戶所擁有的證書(shū)以確定該用戶是否擁有與該請(qǐng)求的屬 性相匹配的私鑰。當(dāng)存在這樣的證書(shū)時(shí),加密處理模塊625可以使用證書(shū)或與其相關(guān)的公 鑰或私鑰,來(lái)執(zhí)行所請(qǐng)求的功能。當(dāng)這樣的證書(shū)不存在時(shí),加密處理模塊625可以有利且透 明地執(zhí)行若干動(dòng)作以試圖對(duì)缺少適當(dāng)?shù)拿荑€進(jìn)行補(bǔ)救。例如,圖9B示出了根據(jù)本發(fā)明的實(shí) 施例的多個(gè)方面的互用性處理970的流程圖,公開(kāi)上述步驟以保證加密處理模塊625使用 適當(dāng)密鑰來(lái)執(zhí)行加密功能。如圖9B中所示,互用性處理970從步驟972開(kāi)始,在該處,加密處理模塊925確定 期望的證書(shū)類型。根據(jù)本發(fā)明的一個(gè)實(shí)施例,證書(shū)的類型可以有利地在加密功能請(qǐng)求或請(qǐng) 求者提供的其他數(shù)據(jù)中指定。根據(jù)另一實(shí)施例,證書(shū)類型可以由請(qǐng)求的數(shù)據(jù)格式確定。例 如,加密處理模塊925可以有利地識(shí)別該請(qǐng)求對(duì)應(yīng)于特定的類型。根據(jù)一個(gè)實(shí)施例,證書(shū)類型可包括一個(gè)或多個(gè)算法標(biāo)準(zhǔn),例如,RSA、ELGAMAL等。此 外,證書(shū)類型可以包括一個(gè)或多個(gè)密鑰類型,例如對(duì)稱密鑰、公鑰、諸如256位密鑰的強(qiáng)加 密密鑰、低安全密鑰等。此外,證書(shū)類型可以包括一個(gè)或多個(gè)上述算法標(biāo)準(zhǔn)或密鑰、一個(gè)或 多個(gè)消息或數(shù)據(jù)格式、一個(gè)或多個(gè)數(shù)據(jù)封裝或編碼機(jī)制(例如Base 32或Base 64)的升級(jí) 或替換。證書(shū)類型還可以包括與一個(gè)或多個(gè)第三方加密應(yīng)用或接口、一個(gè)或多個(gè)通信協(xié)議、 或一個(gè)或多個(gè)證書(shū)標(biāo)準(zhǔn)或協(xié)議的兼容性。本領(lǐng)域的技術(shù)人員從在此的公開(kāi)應(yīng)該理解其他差 異可能存在于證書(shū)類型中,以及如在此所公開(kāi)的,可以執(zhí)行這些差異之間的來(lái)回轉(zhuǎn)換。一旦加密處理模塊625確定證書(shū)類型,互用性處理970進(jìn)行到步驟974,并確定用 戶是否擁有與在步驟974中確定的類型相匹配的證書(shū)。當(dāng)用戶擁有匹配證書(shū)時(shí),例如,信任 引擎110可以通過(guò)例如其先前的存儲(chǔ)獲得匹配證書(shū),加密處理模塊825知道匹配私鑰也存 儲(chǔ)在信任引擎110中。例如,匹配私鑰可以被存儲(chǔ)在倉(cāng)庫(kù)210或倉(cāng)庫(kù)系統(tǒng)700中。加密處 理模塊625可以有利地請(qǐng)求從例如倉(cāng)庫(kù)210組裝匹配私鑰,然后在步驟976,使用匹配私鑰 執(zhí)行加密動(dòng)作或功能。例如,如上所述,加密處理模塊625可以有利地執(zhí)行散列、散列比較、 數(shù)據(jù)加密或解密、數(shù)字簽名校驗(yàn)或創(chuàng)建、等等。
當(dāng)用戶不擁有匹配證書(shū)時(shí),互用性處理970進(jìn)行到步驟978,在這里,加密處理模 塊625確定用戶是否擁有交叉證明證書(shū)。根據(jù)一個(gè)實(shí)施例,證書(shū)頒發(fā)機(jī)構(gòu)之間的交叉證明 在第一證書(shū)頒發(fā)機(jī)構(gòu)確定信任來(lái)自第二證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū)時(shí)發(fā)生。換句話說(shuō),第一證書(shū) 頒發(fā)機(jī)構(gòu)確定來(lái)自第二證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū)符合一定質(zhì)量標(biāo)準(zhǔn),并因此可以被“證明”為等 同于第一證書(shū)頒發(fā)機(jī)構(gòu)本身的證書(shū)。交叉證明在證書(shū)頒發(fā)機(jī)構(gòu)發(fā)布例如具有信任等級(jí)的證 書(shū)時(shí)變得更復(fù)雜。例如,第一證書(shū)頒發(fā)機(jī)構(gòu)通?;谧?cè)處理中的可靠程度,可以為特定證 書(shū)提供三個(gè)信任等級(jí),而第二證書(shū)頒發(fā)機(jī)構(gòu)可以提供七個(gè)信任等級(jí)。交叉證明可以有利地 跟蹤來(lái)自第二證書(shū)頒發(fā)機(jī)構(gòu)的哪些等級(jí)以及哪些證書(shū)可以代替來(lái)自第一證書(shū)頒發(fā)機(jī)構(gòu)的 哪些等級(jí)和哪些證書(shū)。當(dāng)在兩個(gè)證書(shū)頒發(fā)機(jī)構(gòu)之間官方和公開(kāi)地完成上述交叉證明時(shí),彼 此的證書(shū)和等級(jí)的映射通常被稱作“鏈接(chaining) ”。根據(jù)本發(fā)明的另一實(shí)施例,加密處理模塊625可以有利地開(kāi)發(fā)由證書(shū)頒發(fā)機(jī)構(gòu)認(rèn) 為一致的那些之外的交叉證明。例如,加密處理模塊625可以訪問(wèn)第一證書(shū)頒發(fā)機(jī)構(gòu)的證 書(shū)實(shí)踐聲明(certificat印ractice statement, CPS)或其他公開(kāi)的政策聲明,并且使用例 如特定信任等級(jí)所需的認(rèn)證令牌使第一證書(shū)頒發(fā)機(jī)構(gòu)的證書(shū)匹配至另一證書(shū)頒發(fā)機(jī)構(gòu)的 那些證書(shū)。當(dāng)在步驟978中加密處理模塊625確定用戶擁有交叉證明的證書(shū)時(shí),互用性處理 970進(jìn)行到步驟976,并使用交叉證明的公鑰、私鑰或兩者來(lái)執(zhí)行加密動(dòng)作或功能??商鎿Q 地,當(dāng)加密處理模塊625確定用戶不擁有交叉證明證書(shū)時(shí),互用性處理970進(jìn)行到步驟980, 在這里,加密處理模塊625選擇發(fā)布所請(qǐng)求的證書(shū)類型或被交叉證明的證書(shū)的證書(shū)頒發(fā)機(jī) 構(gòu)。在步驟982,加密處理模塊625確定前面所討論的用戶注冊(cè)認(rèn)證數(shù)據(jù)是否符合所選證書(shū) 頒發(fā)機(jī)構(gòu)的認(rèn)證要求。例如,如果用戶是通過(guò)例如回答人口統(tǒng)計(jì)學(xué)和其他問(wèn)題在網(wǎng)絡(luò)上注 冊(cè)的,所提供的認(rèn)證數(shù)據(jù)與提供生物識(shí)別數(shù)據(jù)和呈現(xiàn)在例如公證人的第三方面前的用戶相 比可以建立較低的信任等級(jí)。根據(jù)一個(gè)實(shí)施例,上述認(rèn)證要求可以有利地設(shè)置在所選證書(shū) 頒發(fā)機(jī)構(gòu)的CPS中。當(dāng)用戶已經(jīng)向信任引擎110提供符合所選證書(shū)頒發(fā)機(jī)構(gòu)的要求的注冊(cè)認(rèn)證數(shù)據(jù) 時(shí),互用性處理970進(jìn)行到步驟984,在這里,加密處理模塊825從所選證書(shū)頒發(fā)機(jī)構(gòu)獲取證 書(shū)。根據(jù)一個(gè)實(shí)施例,加密處理模塊625通過(guò)遵照注冊(cè)處理900的步驟945至960來(lái)獲取 證書(shū)。例如,加密處理模塊625可以有利地使用來(lái)自加密引擎220已經(jīng)可用的一個(gè)或多個(gè) 密鑰對(duì)的一個(gè)或多個(gè)公鑰來(lái)從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求證書(shū)。根據(jù)另一實(shí)施例,加密處理模塊625 可以有利地生成一個(gè)或多個(gè)新的密鑰對(duì),以及使用與其對(duì)應(yīng)的公鑰來(lái)從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求 證書(shū)。根據(jù)另一實(shí)施例,信任引擎110可以有利地包括能夠發(fā)布一個(gè)或多個(gè)證書(shū)類型的 一個(gè)或多個(gè)證書(shū)發(fā)布模塊。根據(jù)該實(shí)施例,證書(shū)發(fā)布模塊可以提供上述證書(shū)。當(dāng)加密處理 模塊625獲取到證書(shū),互用性處理970進(jìn)行到步驟976,使用對(duì)應(yīng)于所獲取的證書(shū)的公鑰、私 鑰或兩者來(lái)執(zhí)行加密動(dòng)作或功能。當(dāng)在步驟982中用戶沒(méi)有向信任引擎110提供滿足所選證書(shū)頒發(fā)機(jī)構(gòu)的要求的注 冊(cè)認(rèn)證數(shù)據(jù)時(shí),加密處理模塊625在步驟986中確定是否存在具有不同認(rèn)證要求的其他證 書(shū)頒發(fā)機(jī)構(gòu)。例如,加密處理模塊625可以尋找具有較低認(rèn)證要求的證書(shū)頒發(fā)機(jī)構(gòu),但仍然 發(fā)布所選證書(shū)或其交叉證明。
當(dāng)存在上述具有較低要求的證書(shū)頒發(fā)機(jī)構(gòu)時(shí),互用性處理970進(jìn)行到步驟980并 選擇該證書(shū)頒發(fā)機(jī)構(gòu)。可替換地,當(dāng)沒(méi)有這樣的證書(shū)頒發(fā)機(jī)構(gòu)存在時(shí),在步驟988,信任引擎 110可以要求來(lái)自用戶的其他認(rèn)證令牌。例如,信任引擎110可以要求包括例如生物識(shí)別數(shù) 據(jù)的新注冊(cè)認(rèn)證數(shù)據(jù)。同樣,信任引擎110可以要求用戶在可信第三方前出現(xiàn),并提供適當(dāng) 的認(rèn)證憑證,例如帶著駕照、社會(huì)保障卡、銀行卡、出生證明、軍人ID等出現(xiàn)在公證人面前。 當(dāng)信任引擎110接收到更新的認(rèn)證數(shù)據(jù)時(shí),互用性處理970進(jìn)行到步驟984并獲取上述所 選的證書(shū)。通過(guò)上述互用性處理970,加密處理模塊625有利地提供不同加密系統(tǒng)之間的無(wú) 縫、透明的翻譯和轉(zhuǎn)換。本領(lǐng)域技術(shù)人員從在此的公開(kāi)應(yīng)該理解上述互用系統(tǒng)的優(yōu)點(diǎn)和實(shí) 施方式。例如,互用性處理970的上述步驟986可以有利地包括下面將更詳細(xì)描述的信任 仲裁的各個(gè)方面,其中證書(shū)頒發(fā)機(jī)構(gòu)在可以特定情況下接受較低等級(jí)的交叉證明。此外,互 用性處理970可以包括保證標(biāo)準(zhǔn)證書(shū)撤銷之間的互用性,以及采用標(biāo)準(zhǔn)證書(shū)撤銷,例如采 用證書(shū)撤銷列表(CRL)、在線證書(shū)狀態(tài)協(xié)議(0CSP)等。圖10示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的認(rèn)證處理1000的數(shù)據(jù)流。根據(jù) 一個(gè)實(shí)施例,認(rèn)證處理1000包括從用戶收集當(dāng)前認(rèn)證數(shù)據(jù)并將其與用戶的注冊(cè)認(rèn)證數(shù)據(jù) 進(jìn)行比較。例如,認(rèn)證處理1000在步驟1005處開(kāi)始,在這里,用戶期望與例如賣方執(zhí)行交 易。這樣的交易可以包括例如選擇購(gòu)買選項(xiàng)、請(qǐng)求對(duì)賣方系統(tǒng)120的受限制區(qū)域或裝置的 訪問(wèn)。在步驟1010,賣方向用戶提供交易ID和認(rèn)證請(qǐng)求。交易ID可以有利地包括192位 的量,其具有與128位隨機(jī)量級(jí)聯(lián)的32位時(shí)間戳,或與32位特定于賣方的常量級(jí)聯(lián)的“臨 時(shí)隨機(jī)數(shù)(nonce) ”。這樣的交易ID唯一地標(biāo)識(shí)該交易,從而模仿交易能夠被信任引擎110 拒絕。認(rèn)證請(qǐng)求可以有利地包括特定交易所需的認(rèn)證等級(jí)。例如賣方可以在發(fā)布時(shí)指定 該交易所需的特定可信度。如果不能如下所述地對(duì)該可信度進(jìn)行認(rèn)證,則除非有用戶提升 可信度的進(jìn)一步認(rèn)證或賣方和服務(wù)器之間的認(rèn)證改變,否則不能發(fā)生該交易。這些發(fā)布將 在下面詳細(xì)討論。根據(jù)一個(gè)實(shí)施例,交易ID和認(rèn)證請(qǐng)求可以有利地由賣方端小程序或其他軟件程 序生成。此外,交易ID和認(rèn)證數(shù)據(jù)的傳輸可以包括使用傳統(tǒng)SSL技術(shù)(例如1/2SSL、或換 句話說(shuō),賣方端認(rèn)證的SSL)加密的一個(gè)或多個(gè)XML文檔。在用戶系統(tǒng)105接收到交易ID和認(rèn)證請(qǐng)求之后,用戶系統(tǒng)105收集來(lái)自用戶的當(dāng) 前認(rèn)證數(shù)據(jù),可能包括當(dāng)前生物識(shí)別信息。用戶系統(tǒng)105在步驟1015使用認(rèn)證引擎215的 公鑰來(lái)至少加密當(dāng)前認(rèn)證數(shù)據(jù)“B”和交易ID,以及將該數(shù)據(jù)傳輸至信任引擎110。該傳輸 優(yōu)選地包括至少使用傳統(tǒng)1/2SSL技術(shù)加密的XML文檔。在步驟1020,交易引擎205接收該 傳輸,優(yōu)選地識(shí)別URL或URI中的數(shù)據(jù)格式或請(qǐng)求,并將該傳輸轉(zhuǎn)發(fā)至認(rèn)證引擎215。在步驟1015和1020中,賣方系統(tǒng)120在步驟1025使用優(yōu)選的全SSL技術(shù)轉(zhuǎn)發(fā)交 易ID和認(rèn)證請(qǐng)求至信任引擎110。該通信還可以包括賣方ID,盡管賣方標(biāo)識(shí)還可以通過(guò)交 易ID的非隨機(jī)部分被傳送。在步驟1030和1035,交易引擎205接收該通信,在審計(jì)跟蹤中 創(chuàng)建記錄,以及生成對(duì)將從數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4組裝的用戶的注冊(cè)認(rèn)證數(shù)據(jù)的請(qǐng)求。在 步驟1040,倉(cāng)庫(kù)系統(tǒng)700將對(duì)應(yīng)于用戶的注冊(cè)認(rèn)證數(shù)據(jù)的各部分傳輸至認(rèn)證引擎215。在 步驟1045,認(rèn)證引擎215使用其私鑰解密該傳輸,并將注冊(cè)認(rèn)證數(shù)據(jù)與用戶提供的當(dāng)前認(rèn)證數(shù)據(jù)進(jìn)行比較。步驟1045的比較可以優(yōu)選地應(yīng)用試探式上下文相關(guān)認(rèn)證,如上面提及并將在下 面詳細(xì)討論的。例如,如果所接收的生物識(shí)別信息沒(méi)有完美地匹配,則導(dǎo)致較低的信任匹 配。在特定實(shí)施例中,認(rèn)證的可信度與交易的性質(zhì)和用戶與賣方的期望被權(quán)衡考慮。這也 將在下面更詳細(xì)討論。在步驟1050,認(rèn)證引擎215使用步驟1045的比較結(jié)果填充認(rèn)證請(qǐng)求。根據(jù)本發(fā)明 的一個(gè)實(shí)施例,認(rèn)證請(qǐng)求被填充有認(rèn)證處理1000的是/否或真服結(jié)果。在步驟1055,被填 充的認(rèn)證請(qǐng)求返回到賣方供賣方采取行動(dòng),例如允許用戶完成發(fā)起過(guò)認(rèn)證請(qǐng)求的交易。根 據(jù)一個(gè)實(shí)施例,確認(rèn)消息被傳遞至用戶?;谏厦娴拿枋觯J(rèn)證處理1000優(yōu)選地保持敏感數(shù)據(jù)的安全性,并產(chǎn)生用于維護(hù) 敏感數(shù)據(jù)完整性的結(jié)果。例如,敏感數(shù)據(jù)僅在認(rèn)證引擎215中被組裝。例如,注冊(cè)認(rèn)證數(shù)據(jù) 不可破譯,直到其在認(rèn)證引擎215中被數(shù)據(jù)組裝模塊組裝,并且當(dāng)前認(rèn)證數(shù)據(jù)不可破譯,直 到其被傳統(tǒng)SSL技術(shù)和認(rèn)證引擎215的私鑰解包裝。此外,傳輸至賣方的認(rèn)證結(jié)果不包括 敏感數(shù)據(jù),用戶可能甚至不知道他或她是否產(chǎn)生了有效的認(rèn)證數(shù)據(jù)。盡管參考優(yōu)選和可替換實(shí)施例公開(kāi)了認(rèn)證處理1000,本發(fā)明不因此被限制。相反, 本領(lǐng)域技術(shù)人員應(yīng)該從在此的公開(kāi)理解認(rèn)證處理1000的多種替換例。例如,賣方可以有利 地由幾乎任何請(qǐng)求應(yīng)用來(lái)代替,甚至是那些與用戶系統(tǒng)105—起駐留的應(yīng)用。例如,客戶端 應(yīng)用,諸如Microsoft Word,可以使用應(yīng)用程序接口(API)或加密API(CAPI)來(lái)在解鎖文件 之前請(qǐng)求認(rèn)證。可替換地,郵件服務(wù)器、網(wǎng)絡(luò)、蜂窩電話、個(gè)人或移動(dòng)計(jì)算裝置、網(wǎng)絡(luò)工作站 等都可以發(fā)出能夠被認(rèn)證處理1000填充的認(rèn)證請(qǐng)求。事實(shí)上,在提供上述可信任的認(rèn)證處 理1000之后,請(qǐng)求應(yīng)用或裝置可以提供對(duì)多個(gè)電子或計(jì)算機(jī)裝置或系統(tǒng)的訪問(wèn)和使用。此外,認(rèn)證處理1000可以在認(rèn)證失敗時(shí)使用多種替換過(guò)程。例如,認(rèn)證失敗可以 保持相同的交易ID并請(qǐng)求用戶重新輸入他或她的當(dāng)前認(rèn)證數(shù)據(jù)。如上所述,使用相同的交 易ID使得認(rèn)證引擎215的比較器能夠監(jiān)視和限制對(duì)特定交易的認(rèn)證嘗試的次數(shù),從而創(chuàng)建 更安全的加密系統(tǒng)100。此外,認(rèn)證處理1000可以有利地被使用來(lái)開(kāi)發(fā)簡(jiǎn)潔的單一登錄解決方案(single sign-on solution),例如解鎖敏感數(shù)據(jù)資料庫(kù)。例如,成功或肯定認(rèn)證可以為被認(rèn)證的用 戶提供自動(dòng)訪問(wèn)幾乎無(wú)限多個(gè)系統(tǒng)和應(yīng)用的任何數(shù)量的口令的能力。例如,用戶的認(rèn)證可 以為用戶提供對(duì)與多個(gè)在線賣方、局域網(wǎng)、各種個(gè)人計(jì)算裝置、因特網(wǎng)業(yè)務(wù)提供商、拍賣商、 投資經(jīng)紀(jì)等相關(guān)聯(lián)的口令、登錄、金融憑證等的訪問(wèn)。通過(guò)使用敏感數(shù)據(jù)資料庫(kù),用戶可以 選擇非常大且隨機(jī)的口令,因?yàn)椴辉傩枰ㄟ^(guò)聯(lián)想來(lái)記住它們。相反,認(rèn)證處理1000提供 對(duì)其的訪問(wèn)。例如,用戶可以選擇長(zhǎng)度為20多位的隨機(jī)混合符號(hào)串,而不是與可記住的數(shù) 據(jù)、姓名等有關(guān)的東西。根據(jù)一個(gè)實(shí)施例,與給定用戶相關(guān)的敏感數(shù)據(jù)資料庫(kù)可以有利地存儲(chǔ)在倉(cāng)庫(kù)210 的數(shù)據(jù)存儲(chǔ)設(shè)備中,或在倉(cāng)庫(kù)系統(tǒng)700中被拆分和存儲(chǔ)。根據(jù)該實(shí)施例,在肯定的用戶認(rèn)證 之后,信任引擎110向進(jìn)行請(qǐng)求的應(yīng)用提供所請(qǐng)求的敏感數(shù)據(jù),例如適當(dāng)?shù)目诹?。根?jù)另一 實(shí)施例,信任引擎110可以包括用于存儲(chǔ)敏感數(shù)據(jù)資料庫(kù)的單獨(dú)系統(tǒng)。例如,信任引擎110 可以包括執(zhí)行數(shù)據(jù)資料庫(kù)功能并表現(xiàn)為駐留在上述信任引擎110的前端安全系統(tǒng)“之后” 的獨(dú)立軟件引擎。根據(jù)該實(shí)施例,軟件引擎在該軟件引擎接收到來(lái)自信任引擎110的表示肯定用戶認(rèn)證的信號(hào)之后提供所請(qǐng)求的敏感數(shù)據(jù)。在另一實(shí)施例中,數(shù)據(jù)資料庫(kù)可以由第三方系統(tǒng)實(shí)現(xiàn)。類似于軟件引擎實(shí)施例,第 三方系統(tǒng)可以有利地在第三方系統(tǒng)從信任引擎110接收表示肯定用戶認(rèn)證的信號(hào)之后提 供所請(qǐng)求的敏感數(shù)據(jù)。根據(jù)另一實(shí)施例,數(shù)據(jù)資料庫(kù)可以在用戶系統(tǒng)105上實(shí)現(xiàn)。用戶端 軟件引擎可以有利地在接收到來(lái)自信任引擎110的表示肯定用戶認(rèn)證的信號(hào)之后提供前 述數(shù)據(jù)。盡管參考可替換實(shí)施例公開(kāi)了前述數(shù)據(jù)資料庫(kù),但是本領(lǐng)域技術(shù)人員應(yīng)該從在此 的公開(kāi)理解多種其他實(shí)施方式。例如,特定數(shù)據(jù)資料庫(kù)可以包括前述實(shí)施例中的部分或所 有實(shí)施例的多個(gè)方面。此外,任何前述數(shù)據(jù)資料庫(kù)可在不同時(shí)間使用一個(gè)或多個(gè)認(rèn)證請(qǐng)求。 例如,任何數(shù)據(jù)資料庫(kù)可以要求每一個(gè)或多個(gè)交易、周期性地、每一個(gè)或多個(gè)會(huì)話、每訪問(wèn) 一個(gè)或多個(gè)網(wǎng)頁(yè)或網(wǎng)站、以一個(gè)或多個(gè)其他指定間隔、等等,進(jìn)行認(rèn)證。圖11示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)方面的簽名處理1100的數(shù)據(jù)流。如圖11 所示,簽名處理1100包括類似于前面參考圖10所述的認(rèn)證處理1000的步驟。根據(jù)本發(fā)明 的一個(gè)實(shí)施例,如下面將進(jìn)一步具體討論的,簽名處理1100首先認(rèn)證用戶,然后執(zhí)行若干 數(shù)字簽名功能中的一個(gè)或多個(gè)。根據(jù)另一實(shí)施例,簽名處理1100可以有利地存儲(chǔ)與其相關(guān) 的數(shù)據(jù),諸如消息或文件等的散列。該數(shù)據(jù)可以有利地被用在審計(jì)或任何其他事件中,例如 在參與方企圖抵賴交易時(shí)。如圖11中所示,在認(rèn)證步驟期間,用戶和賣方可以有利地對(duì)諸如合同之類的消息 達(dá)成一致。在簽名過(guò)程中,簽名處理1100有利地保證由用戶簽署的合同與賣方提供的合同 相同。因此,根據(jù)一個(gè)實(shí)施例,在認(rèn)證期間,賣方和用戶在傳輸至認(rèn)證引擎215的數(shù)據(jù)中包 括他們各自的消息或合同副本的散列。通過(guò)僅使用消息或合同的散列,信任引擎110可以 有利地存儲(chǔ)顯著減少的數(shù)據(jù)量,從而提供更高效以及節(jié)省成本的加密系統(tǒng)。此外,所存儲(chǔ)的 散列可以有利地與尚存疑的文件的散列進(jìn)行比較,以確定該尚存疑的文件是否與由任何一 方簽名的文件匹配。這種確定文件是否與和交易相關(guān)的一個(gè)文件相同的能力提供了附加的 證據(jù),其能夠用于反對(duì)一方抵賴交易的主張。在步驟1103,認(rèn)證引擎215組裝注冊(cè)認(rèn)證數(shù)據(jù)并將其與由用戶提供的當(dāng)前認(rèn)證數(shù) 據(jù)進(jìn)行比較。當(dāng)認(rèn)證引擎215的比較器指示注冊(cè)認(rèn)證數(shù)據(jù)匹配當(dāng)前認(rèn)證數(shù)據(jù)時(shí),認(rèn)證引擎 215的比較器還將由賣方提供的消息的散列與由用戶提供的消息的散列進(jìn)行比較。因此,認(rèn) 證引擎215有利地保證用戶同意的消息與賣方同意的消息相同。在步驟1105,認(rèn)證引擎215傳輸數(shù)字簽名至加密引擎220。根據(jù)本發(fā)明的一個(gè)實(shí) 施例,該請(qǐng)求包括消息或合同的散列。然而,本領(lǐng)域技術(shù)人員從此處的公開(kāi)應(yīng)了解加密引擎 220實(shí)際上可以加密任何類型的數(shù)據(jù),包括但不限于視頻、音頻、生物識(shí)別信息、圖像、或文 本,以形成期望的數(shù)字簽名。返回到步驟1105,數(shù)字簽名請(qǐng)求優(yōu)選地包括通過(guò)傳統(tǒng)SSL技術(shù) 傳送的XML文檔。在步驟1110中,認(rèn)證引擎215傳輸請(qǐng)求至每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4,從而每個(gè)數(shù) 據(jù)存儲(chǔ)設(shè)備D1至D4傳輸與簽名方相對(duì)應(yīng)的加密密鑰(一個(gè)或多個(gè))中它們各自的部分。 根據(jù)另一實(shí)施例,加密引擎220使用上面所述的互用性處理970的部分或所有步驟,從而加 密引擎220首先確定要從倉(cāng)庫(kù)210或倉(cāng)庫(kù)系統(tǒng)700請(qǐng)求的用于簽名方的一個(gè)或多個(gè)適當(dāng)密 鑰,以及采取行動(dòng)來(lái)提供適當(dāng)?shù)钠ヅ涿荑€。根據(jù)另一實(shí)施例,認(rèn)證引擎215或加密引擎220可以有利地請(qǐng)求與簽名方相關(guān)聯(lián)并存儲(chǔ)在倉(cāng)庫(kù)210或倉(cāng)庫(kù)系統(tǒng)700中的一個(gè)或多個(gè)密鑰。根據(jù)一個(gè)實(shí)施例,簽名方包括用戶和賣方中的一個(gè)或兩者。在這樣的情況下,認(rèn)證 引擎215有利地請(qǐng)求對(duì)應(yīng)于用戶和/或賣方的加密密鑰。根據(jù)另一實(shí)施例,簽名方包括信 任引擎110。在該實(shí)施例中,信任引擎110證明認(rèn)證處理1000正確地認(rèn)證了用戶、賣方、或 兩者。因此,認(rèn)證引擎215請(qǐng)求信任引擎110的加密密鑰,例如屬于加密引擎220的密鑰, 以執(zhí)行數(shù)字簽名。根據(jù)另一實(shí)施例,信任引擎110執(zhí)行類似數(shù)字公證的功能。在該實(shí)施例 中,簽名方包括用戶、賣方、或兩者,連同信任引擎110。因此,信任引擎110提供用戶和/或 賣方的數(shù)字簽名,然后使用其本身的數(shù)字簽名表示用戶和/或賣方已經(jīng)被正確認(rèn)證。在該 實(shí)施例中,認(rèn)證引擎215可以有利地請(qǐng)求組裝對(duì)應(yīng)于用戶、賣方或兩者的加密密鑰。根據(jù)另 一實(shí)施例,認(rèn)證引擎215可以有利地請(qǐng)求組裝對(duì)應(yīng)于信任引擎110的加密密鑰。根據(jù)另一實(shí)施例,信任引擎110執(zhí)行類似委托書(shū)的功能。例如,信任引擎110可以 以第三方的名義數(shù)字簽名該消息。在這種情況下,認(rèn)證引擎215請(qǐng)求與第三方相關(guān)聯(lián)的加 密密鑰。根據(jù)該實(shí)施例,在允許類似委托書(shū)的功能之前,簽名處理1100可以有利地包括第 三方的認(rèn)證。此外,認(rèn)證處理1000可以包括檢查第三方約束,例如指示何時(shí)以及在什么情 況下可以使用特定第三方簽名的商業(yè)邏輯等?;谏厦嫠觯诓襟E1110,認(rèn)證引擎從數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4請(qǐng)求對(duì)應(yīng)于簽名方 的加密密鑰。在步驟1115中,數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4傳輸與簽名方相對(duì)應(yīng)的加密密鑰中它 們各自的部分至加密引擎220。根據(jù)一個(gè)實(shí)施例,上述傳輸包括SSL技術(shù)。根據(jù)另一實(shí)施 例,上述傳輸可以有利地使用加密引擎220的公鑰被超級(jí)加密(super-encrypt)。在步驟1120,加密引擎220組裝簽名方的上述加密密鑰并以其加密該消息,從而 形成數(shù)字簽名(一個(gè)或多個(gè))。在簽名處理1100的步驟1125,加密引擎220傳輸數(shù)字簽名 至認(rèn)證引擎215。在步驟1130,認(rèn)證引擎215傳輸填充的認(rèn)證請(qǐng)求連同散列的消息的副本 以及數(shù)字簽名至交易引擎205。在步驟1135,交易引擎205傳輸包括交易ID、關(guān)于認(rèn)證是否 成功的指示和數(shù)字簽名的收據(jù)(receipt)至賣方。根據(jù)一個(gè)實(shí)施例,上述傳輸可以有利地 包括信任引擎110的數(shù)字簽名。例如,信任引擎110可以使用其私鑰加密收據(jù)的散列,從而 形成將被附加到至賣方的傳輸?shù)臄?shù)字簽名。根據(jù)一個(gè)實(shí)施例,交易引擎205還傳輸確認(rèn)消息至用戶。盡管參考其優(yōu)選和可替 換實(shí)施例公開(kāi)了簽名處理1100,但是本發(fā)明不因此被限制。相反,本領(lǐng)域技術(shù)人員應(yīng)該從此 處的公開(kāi)了解簽名處理1100的多種替換例。例如,賣方可以由用戶應(yīng)用(例如電子郵件應(yīng) 用)來(lái)代替。例如,用戶可能希望用他或她的數(shù)字簽名來(lái)數(shù)字簽名特定電子郵件。在這樣 的實(shí)施例中,通過(guò)簽名處理1100的傳輸可以有利地僅包括消息的散列的一份副本。此外, 本領(lǐng)域技術(shù)人員應(yīng)該從此處的公開(kāi)理解多種客戶端應(yīng)用可以請(qǐng)求數(shù)字簽名。例如,客戶端 應(yīng)用可以包括文字處理器、電子表格、電子郵件、語(yǔ)音郵件、對(duì)受限系統(tǒng)區(qū)域的訪問(wèn),等等。此外,本領(lǐng)域技術(shù)人員應(yīng)該從此處的公開(kāi)理解簽名處理1100的步驟1105至1120 可以有利地使用圖9B的互用性處理970的部分或全部步驟,從而提供不同加密系統(tǒng)之間的 互用性,其中不同加密系統(tǒng)可能例如需要處理不同簽名類型的數(shù)字簽名。圖12示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的多個(gè)方面的加密/解密處理1200的數(shù)據(jù) 流。如圖12中所示,解密處理1200從使用認(rèn)證處理1000認(rèn)證用戶開(kāi)始。根據(jù)一個(gè)實(shí)施例, 認(rèn)證處理1000包括認(rèn)證請(qǐng)求中的同步會(huì)話密鑰。例如,在傳統(tǒng)PKI技術(shù)中,本領(lǐng)域技術(shù)人員應(yīng)該理解使用公鑰和私鑰加密或解密數(shù)據(jù)是數(shù)學(xué)密集的,并且可能需要相當(dāng)多的系統(tǒng)資 源。然而,在對(duì)稱密鑰加密系統(tǒng)中或在消息的發(fā)送者或接收者共享用于加密和解密消息的 單個(gè)共同密鑰的系統(tǒng)中,數(shù)學(xué)運(yùn)算要簡(jiǎn)單和快速得多。因此,在傳統(tǒng)PKI技術(shù)中,消息的發(fā) 送者將生成同步會(huì)話密鑰,并使用較為簡(jiǎn)單且較快速的同步密鑰系統(tǒng)加密該消息。然后,發(fā) 送者將使用接收者的公鑰加密會(huì)話密鑰。加密的會(huì)話密鑰將附加到同步加密的消息,并且 兩個(gè)數(shù)據(jù)都被發(fā)送至接收者。接收者使用他或她的私鑰來(lái)解密該會(huì)話密鑰,然后使用該會(huì) 話密鑰來(lái)解密該消息?;谏厦嫠?,較簡(jiǎn)單且較快速的對(duì)稱密鑰系統(tǒng)被用于大部分的加 密/解密處理。因此,在解密處理1200中,解密有利地假設(shè)同步密鑰已經(jīng)用用戶的公鑰被 加密。因此,如上所述,加密的會(huì)話密鑰被包括在認(rèn)證請(qǐng)求中。返回到解密處理1200,在用戶已經(jīng)在步驟1205中被認(rèn)證之后,認(rèn)證引擎215將加 密的會(huì)話密鑰轉(zhuǎn)發(fā)至加密引擎220。在步驟1210,認(rèn)證引擎215將請(qǐng)求轉(zhuǎn)發(fā)至每個(gè)數(shù)據(jù)存 儲(chǔ)設(shè)備D1至D4,請(qǐng)求用戶的加密密鑰數(shù)據(jù)。在步驟1215,每個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備D1至D4傳輸 其各自的加密密鑰部分至加密引擎220。根據(jù)一個(gè)實(shí)施例,上述傳輸使用加密引擎220的公 鑰被加密。在解密處理1200的步驟1220,加密引擎220組裝加密密鑰并以其解密會(huì)話密鑰。 在步驟1225,加密引擎轉(zhuǎn)發(fā)會(huì)話密鑰至認(rèn)證引擎215。在步驟1227,認(rèn)證引擎215填充認(rèn)證 請(qǐng)求以包括解密的會(huì)話密鑰,并將填充的認(rèn)證請(qǐng)求傳輸至交易引擎205。在步驟1230,交易 引擎205將認(rèn)證請(qǐng)求連同會(huì)話密鑰轉(zhuǎn)發(fā)至進(jìn)行請(qǐng)求的應(yīng)用或賣方。然后,根據(jù)一個(gè)實(shí)施例, 進(jìn)行請(qǐng)求的應(yīng)用或賣方使用該會(huì)話密鑰來(lái)解密被加密的消息。盡管參考其優(yōu)選和可替換實(shí)施例公開(kāi)了解密處理1200,本領(lǐng)域技術(shù)人員從此處的 公開(kāi)應(yīng)該了解解密處理1200的多種替換例。例如,解密處理1200可以位于同步密鑰加密 之前并且依賴于全公鑰技術(shù)。在這樣的實(shí)施例中,進(jìn)行請(qǐng)求的應(yīng)用可以傳輸整個(gè)消息至加 密引擎220,或可以使用一些類型的壓縮或可逆散列以傳輸消息至加密引擎220。本領(lǐng)域技 術(shù)人員從此處的公開(kāi)也應(yīng)該理解上述通信可以有利地包括以SSL技術(shù)包裝的XML文檔。加密/解密處理1200還提供文檔或其他數(shù)據(jù)的加密。因此,在步驟1235,進(jìn)行請(qǐng) 求的應(yīng)用或賣方可以有利地傳輸對(duì)用戶公鑰的請(qǐng)求至信任引擎110的交易引擎205。該進(jìn) 行請(qǐng)求的應(yīng)用或賣方進(jìn)行該請(qǐng)求,是因?yàn)檫M(jìn)行請(qǐng)求的應(yīng)用或賣方使用用戶的公鑰來(lái)例如加 密將被用來(lái)加密文檔或消息的會(huì)話密鑰。如在注冊(cè)處理900中所述,交易引擎205將用戶 的數(shù)字證書(shū)的副本存儲(chǔ)在例如大容量存儲(chǔ)器225中。因此,在加密處理1200的步驟1240, 交易引擎205從大容量存儲(chǔ)器225請(qǐng)求用戶的數(shù)字證書(shū)。在步驟1245,大容量存儲(chǔ)器225 將對(duì)應(yīng)于該用戶的數(shù)字證書(shū)傳輸至交易引擎205。在步驟1250,交易引擎205將數(shù)字證書(shū) 傳輸至進(jìn)行請(qǐng)求的應(yīng)用或賣方。根據(jù)一個(gè)實(shí)施例,加密處理1200的加密部分不包括用戶的 認(rèn)證。這是因?yàn)檫M(jìn)行請(qǐng)求的賣方僅需要用戶的公鑰,并且不請(qǐng)求任何敏感數(shù)據(jù)。本領(lǐng)域技術(shù)人員從此處的公開(kāi)應(yīng)理解,如果特定用戶不具有數(shù)字證書(shū),則信任引 擎110可以使用注冊(cè)處理900的部分或全部來(lái)生成用于該特定用戶的數(shù)字證書(shū)。然后,信 任引擎110可以啟動(dòng)加密/解密處理1200,從而提供適當(dāng)?shù)臄?shù)字證書(shū)。此外,本領(lǐng)域的技術(shù) 人員從此處的公開(kāi)應(yīng)該理解,加密/解密處理1200的步驟1220和1235至1250可以有利 地使用圖9B的互用性處理的部分或全部步驟,從而提供在可能例如需要處理加密的不同 加密系統(tǒng)之間的互用性。
圖13示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的信任引擎系統(tǒng)1300的簡(jiǎn)化框 圖。如圖13中所示,信任引擎系統(tǒng)1300包括多個(gè)不同的信任引擎1305、1310、1315和1320。 為了有利于更全面理解本發(fā)明,圖13示出了每個(gè)信任引擎1305、1310、1315和1320具有交 易引擎、倉(cāng)庫(kù)和認(rèn)證引擎。然而,本領(lǐng)域技術(shù)人員應(yīng)該理解,每個(gè)交易引擎可以有利地包括 參考圖1-8公開(kāi)的元件和通信信道的部分、組合或所有。例如,一個(gè)實(shí)施例可以有利地包括 具有一個(gè)或多個(gè)交易引擎、多個(gè)倉(cāng)庫(kù)和多個(gè)加密服務(wù)器、或其任意組合的信任引擎。根據(jù)本發(fā)明的一個(gè)實(shí)施例,每個(gè)信任引擎1305、1310、1315和1320在地理上分開(kāi), 從而例如信任引擎1305可以位于第一位置,信任引擎1310可以位于第二位置,信任引擎 1315可以位于第三位置,而信任引擎1320可以位于第四位置。上述地理分開(kāi)有利地減小了 系統(tǒng)響應(yīng)時(shí)間而增加了整個(gè)信任引擎系統(tǒng)1300的安全性。例如,當(dāng)用戶登錄至加密系統(tǒng)100時(shí),用戶可能最靠近第一位置,并且可能期望被 認(rèn)證。如參考圖10所述,為了被認(rèn)證,用戶提供當(dāng)前認(rèn)證數(shù)據(jù),諸如生物識(shí)別信息等等,并 且當(dāng)前認(rèn)證數(shù)據(jù)與該用戶的注冊(cè)認(rèn)證數(shù)據(jù)進(jìn)行比較。因此,根據(jù)一個(gè)示例,用戶有利地提供 當(dāng)前認(rèn)證數(shù)據(jù)至地理上最靠近的信任引擎1305。信任引擎1305的交易引擎1321然后轉(zhuǎn)發(fā) 當(dāng)前認(rèn)證數(shù)據(jù)至同樣位于第一位置的認(rèn)證引擎1322。根據(jù)另一實(shí)施例,交易引擎1321轉(zhuǎn)發(fā) 當(dāng)前認(rèn)證數(shù)據(jù)至信任引擎1310、1315或1320的一個(gè)或多個(gè)認(rèn)證引擎。交易引擎1321還請(qǐng)求組裝來(lái)自例如每個(gè)信任引擎1305至1320的倉(cāng)庫(kù)的注冊(cè)認(rèn) 證數(shù)據(jù)。根據(jù)該實(shí)施例,每個(gè)倉(cāng)庫(kù)提供注冊(cè)認(rèn)證數(shù)據(jù)中它的部分至信任引擎1305的認(rèn)證引 擎1322。認(rèn)證引擎1322然后使用來(lái)自例如前兩個(gè)響應(yīng)的倉(cāng)庫(kù)的加密數(shù)據(jù)部分,并將注冊(cè)認(rèn) 證數(shù)據(jù)組裝成被破譯的形式。認(rèn)證引擎1322將注冊(cè)認(rèn)證數(shù)據(jù)與當(dāng)前認(rèn)證數(shù)據(jù)進(jìn)行比較并 返回認(rèn)證結(jié)果至信任引擎1305的交易引擎1321?;谏厦嫠?,信任引擎系統(tǒng)1300使用多個(gè)地理上分開(kāi)的信任引擎1305至1320 中最近的一個(gè)來(lái)執(zhí)行認(rèn)證處理。根據(jù)本發(fā)明的一個(gè)實(shí)施例,將信息路由至最近的交易引擎 可以有利地在運(yùn)行在用戶系統(tǒng)105、賣方系統(tǒng)120或證書(shū)頒發(fā)機(jī)構(gòu)115中的一個(gè)或多個(gè)上 的客戶端小程序處執(zhí)行。根據(jù)一個(gè)可替換實(shí)施例,可以使用更復(fù)雜的判定處理來(lái)從信任引 擎1305至1320中進(jìn)行選擇。例如,判定可以基于給定信任引擎的可用性、可操作性、連接 的速度、負(fù)荷、性能、地理接近度、或其組合。以該方式,信任引擎系統(tǒng)1300降低其響應(yīng)時(shí)間同時(shí)維持與地理上遠(yuǎn)離的數(shù)據(jù)存 儲(chǔ)設(shè)備相關(guān)聯(lián)的安全性優(yōu)點(diǎn),例如參考圖7所討論的那些優(yōu)點(diǎn),其中在圖7中每個(gè)數(shù)據(jù)存儲(chǔ) 設(shè)備存儲(chǔ)敏感數(shù)據(jù)的隨機(jī)化部分。例如,在例如信任引擎1315的倉(cāng)庫(kù)1325處的安全性損 害不必然泄露信任引擎系統(tǒng)1300的敏感數(shù)據(jù)。這是因?yàn)閭}(cāng)庫(kù)1325僅包括不可破譯的隨機(jī) 化的數(shù)據(jù),該數(shù)據(jù)在沒(méi)有更多數(shù)據(jù)的情況下是完全無(wú)用的。根據(jù)另一實(shí)施例,信任引擎系統(tǒng)1300可以有利地包括多個(gè)類似于認(rèn)證引擎而布 置的加密引擎。加密引擎可以有利地執(zhí)行諸如參考圖1-8所公開(kāi)的加密功能。根據(jù)另一實(shí) 施例,信任引擎系統(tǒng)1300可以有利地用多個(gè)加密引擎代替多個(gè)認(rèn)證引擎,從而執(zhí)行諸如參 考圖1-8所公開(kāi)的加密功能。根據(jù)本發(fā)明的又一實(shí)施例,如上所述,信任引擎系統(tǒng)1300可 以使用具有認(rèn)證引擎、加密引擎或兩者的部分或所有功能的引擎來(lái)代替每個(gè)多認(rèn)證引擎。盡管參考其優(yōu)選和可替換實(shí)施例公開(kāi)了信任引擎系統(tǒng)1300,本領(lǐng)域的技術(shù)人員應(yīng) 該理解,信任引擎系統(tǒng)1300可以包括部分的信任引擎1305至1320。例如,信任引擎系統(tǒng)
271300可以包括一個(gè)或多個(gè)交易引擎,一個(gè)或多個(gè)倉(cāng)庫(kù)、一個(gè)或多個(gè)認(rèn)證引擎、或一個(gè)或多個(gè) 加密引擎、或其組合。圖14示出了根據(jù)本發(fā)明的另一實(shí)施例的多個(gè)方面的信任引擎系統(tǒng)1400的簡(jiǎn)化框 圖。如圖14所示,信任引擎系統(tǒng)1400包括多個(gè)信任引擎1405、1410、1415和1420。根據(jù)一 個(gè)實(shí)施例,每個(gè)信任引擎1405、1410、1415、和1420包括參考圖1-8公開(kāi)的信任引擎110的 部分或全部元件。根據(jù)該實(shí)施例,當(dāng)用戶系統(tǒng)105、賣方系統(tǒng)120或證書(shū)頒發(fā)機(jī)構(gòu)115的客戶 端小程序與信任引擎系統(tǒng)1400通信時(shí),這些通信被發(fā)送至每個(gè)信任引擎1405至1420的IP 地址。此外,每個(gè)信任引擎1405、1410、1415和1420的每個(gè)交易引擎類似于參考圖13公開(kāi) 的信任引擎1305的交易引擎1321而工作。例如,在認(rèn)證處理過(guò)程中,每個(gè)信任引擎1405、 1410、1415和1420的每個(gè)交易引擎?zhèn)鬏敭?dāng)前認(rèn)證數(shù)據(jù)至其各自的認(rèn)證引擎,并傳輸請(qǐng)求以 組裝存儲(chǔ)在每個(gè)信任引擎1405至1420的每個(gè)倉(cāng)庫(kù)中的隨機(jī)化的數(shù)據(jù)。圖14沒(méi)有示出所 有這些通信,因?yàn)檫@樣示出的話就變得過(guò)于復(fù)雜了。繼續(xù)認(rèn)證處理,每個(gè)倉(cāng)庫(kù)然后將其隨機(jī) 化數(shù)據(jù)部分傳送至每個(gè)信任引擎1405至1420的每個(gè)認(rèn)證引擎。每個(gè)信任引擎的每個(gè)認(rèn)證 引擎使用其比較器來(lái)確定當(dāng)前認(rèn)證數(shù)據(jù)是否與每個(gè)信任引擎1405至1420的倉(cāng)庫(kù)提供的注 冊(cè)認(rèn)證數(shù)據(jù)匹配。根據(jù)該實(shí)施例,每個(gè)認(rèn)證引擎的比較結(jié)果然后被傳輸至其他三個(gè)信任引 擎的冗余模塊。例如,來(lái)自信任引擎1405的認(rèn)證引擎的結(jié)果被傳輸至信任引擎1410、1415 和1420的冗余模塊。從而類似地,信任引擎1405的冗余模塊接收來(lái)自信任引擎1410、1415 和1420的認(rèn)證引擎的結(jié)果。圖15示出了圖14的冗余模塊的框圖。該冗余模塊包括比較器,用于接收來(lái)自三 個(gè)認(rèn)證引擎的認(rèn)證結(jié)果以及將該結(jié)果傳輸至第四個(gè)信任引擎的交易引擎。比較器將來(lái)自這 三個(gè)認(rèn)證引擎的認(rèn)證結(jié)果進(jìn)行比較,如果有兩個(gè)結(jié)果是一致的,則比較器斷定認(rèn)證結(jié)果與 兩個(gè)達(dá)成一致的認(rèn)證引擎的認(rèn)證結(jié)果匹配。該結(jié)果然后被傳輸回對(duì)應(yīng)于與這三個(gè)認(rèn)證引擎 不相關(guān)聯(lián)的信任引擎的交易引擎?;谏厦嫠?,冗余模塊基于從優(yōu)選地地理上與該冗余模塊的信任引擎相遠(yuǎn)離的 認(rèn)證引擎接收到的數(shù)據(jù)確定認(rèn)證結(jié)果。通過(guò)提供這樣的冗余功能,信任引擎系統(tǒng)1400保證 信任引擎1405至1420之一的認(rèn)證引擎的損害不足以損害該特定信任引擎的冗余模塊的認(rèn) 證結(jié)果。本領(lǐng)域技術(shù)人員應(yīng)該理解,信任引擎系統(tǒng)1400的冗余模塊功能也可以被應(yīng)用于每 個(gè)信任引擎1405至1420的加密引擎。然而,這樣的加密引擎通信沒(méi)有在圖14中示出以避 免復(fù)雜。此外,本領(lǐng)域技術(shù)人員應(yīng)該理解,用于圖15的比較器的多種可替換的認(rèn)證結(jié)果沖 突解決算法適于用在本發(fā)明中。根據(jù)本發(fā)明的另一實(shí)施例,信任引擎系統(tǒng)1400可以有利地在加密比較步驟過(guò)程 中采用冗余模塊。例如,上述參考圖14和15公開(kāi)的冗余模塊的部分或全部可以有利地在 對(duì)一方或多方在特定交易期間提供的文檔進(jìn)行散列比較期間實(shí)施。盡管已經(jīng)根據(jù)某些優(yōu)選和可替換實(shí)施例描述了上述發(fā)明,但是本領(lǐng)域技術(shù)人員可 以由此處公開(kāi)顯而易見(jiàn)其他實(shí)施例。例如,信任引擎110可以發(fā)布短期證書(shū),而私有加密密 鑰被釋放給用戶某個(gè)預(yù)定時(shí)間段。例如,當(dāng)前證書(shū)標(biāo)準(zhǔn)包括能夠被設(shè)置為在預(yù)定時(shí)間量后 過(guò)期的有效性字段。因此,信任引擎110可以向用戶釋放私鑰,其中該私鑰在例如24小時(shí) 內(nèi)有效。根據(jù)這樣的實(shí)施例,信任引擎110可以有利地發(fā)布與特定用戶相關(guān)聯(lián)的新的加密 密鑰對(duì),然后釋放該新的加密密鑰對(duì)的私鑰。然后,一旦私有加密密鑰被釋放,信任引擎110就立即終止這樣的私鑰的任何內(nèi)部有效使用,因?yàn)槠湫湃我?10不再保證其安全。此外,本領(lǐng)域技術(shù)人員應(yīng)該意識(shí)到,加密系統(tǒng)100或信任引擎110可以包括識(shí)別任 何類型的裝置的能力,所述裝置諸如但不限于膝上型電腦、蜂窩電話、網(wǎng)絡(luò)、生物識(shí)別裝置、 等等。根據(jù)一個(gè)實(shí)施例,這樣的識(shí)別可以來(lái)自于在對(duì)特定服務(wù)的請(qǐng)求中提供的數(shù)據(jù),所述請(qǐng) 求諸如對(duì)引起訪問(wèn)或使用的認(rèn)證的請(qǐng)求、對(duì)加密功能的請(qǐng)求等。根據(jù)一個(gè)實(shí)施例,上述請(qǐng)求 可以包括唯一裝置標(biāo)識(shí)符,例如處理器ID。可替換地,該請(qǐng)求可以包括具有特定可識(shí)別數(shù)據(jù) 格式的數(shù)據(jù)。例如,移動(dòng)和衛(wèi)星電話通常不包括對(duì)于完全X509.V3重加密證書(shū)(full X509. V3 heavy encryption certificates)的處理能力,從而不請(qǐng)求它們。根據(jù)該實(shí)施例,信任 引擎110可以識(shí)別所呈現(xiàn)的數(shù)據(jù)格式的類型,并僅以同樣方式響應(yīng)。在上述系統(tǒng)的其他方面,上下文相關(guān)認(rèn)證可以使用下面將描述的各種技術(shù)來(lái)提 供。上下文相關(guān)認(rèn)證,例如圖16中所示的,提供了不僅評(píng)估在用戶試圖認(rèn)證其本身時(shí)發(fā)送 的實(shí)際數(shù)據(jù),而且還評(píng)估在生成和傳遞該數(shù)據(jù)的周圍的環(huán)境的能力。如下面將描述的,這樣 的技術(shù)也可以支持用戶與信任引擎110之間或賣方與信任引擎110之間的特定于交易的信 任仲裁。如上所討論的,認(rèn)證是證明用戶是其所聲稱的那個(gè)人的過(guò)程。通常,認(rèn)證要求向認(rèn) 證權(quán)力機(jī)構(gòu)證實(shí)一些事實(shí)。本發(fā)明的信任引擎110代表用戶必須向其認(rèn)證自身的權(quán)力機(jī) 構(gòu)。用戶必須通過(guò)知道一些僅該用戶應(yīng)知道的東西(基于知識(shí)的認(rèn)證)、具有一些僅該用 戶應(yīng)具有的東西(基于令牌的認(rèn)證)、或是僅該用戶應(yīng)該是的東西(基于生物識(shí)別的認(rèn)證) 來(lái)向信任引擎110證實(shí)他是他所聲稱的那個(gè)人?;谥R(shí)的認(rèn)證的示例包括但不限于口令、PIN號(hào)、或鎖組合?;诹钆频恼J(rèn)證的 示例包括但不限于房間鑰匙、物理信用卡、駕照、或特定電話號(hào)碼?;谏镒R(shí)別的認(rèn)證的 示例包括但不限于指紋、筆跡分析、面部掃描、手掃描、耳朵掃描、虹膜掃描、血管模式、DNA、 語(yǔ)音分析、或視網(wǎng)膜掃描。每種類型的認(rèn)證都具有特定優(yōu)點(diǎn)和缺點(diǎn),并且每種類型提供不同的安全等級(jí)。例 如,與偶然聽(tīng)到某個(gè)人的口令并重復(fù)該口令相比,通常較難創(chuàng)建與其他人的指紋匹配的假 指紋。每種類型的認(rèn)證還要求不同類型的數(shù)據(jù)是認(rèn)證權(quán)力機(jī)構(gòu)所知道的,以便校驗(yàn)使用這 種認(rèn)證形式的人。如在此所使用的,“認(rèn)證”廣義地表示證實(shí)某人的身份是他聲稱他是的那個(gè)人的 整個(gè)過(guò)程。“認(rèn)證技術(shù)”表示基于特定的知識(shí)、物理令牌、或生物識(shí)別讀取的特定類型的認(rèn) 證?!罢J(rèn)證數(shù)據(jù)”表示發(fā)送至認(rèn)證權(quán)力機(jī)構(gòu)或向其證實(shí)以建立身份的信息?!白?cè)數(shù)據(jù)”表 示初始提交給認(rèn)證權(quán)力機(jī)構(gòu)以建立用于與認(rèn)證數(shù)據(jù)進(jìn)行比較的基準(zhǔn)的數(shù)據(jù)?!罢J(rèn)證實(shí)例 (authentication instance) ”表示與用認(rèn)證技術(shù)進(jìn)行認(rèn)證的嘗試相關(guān)聯(lián)的數(shù)據(jù)。參考上面圖10來(lái)描述在認(rèn)證用戶的處理中所涉及的內(nèi)部協(xié)議和通信。該處理中 發(fā)生上下文相關(guān)認(rèn)證的部分出現(xiàn)在圖10的步驟1045所示的比較步驟中。該步驟在認(rèn)證引 擎215中發(fā)生,并涉及組裝從倉(cāng)庫(kù)210取回的注冊(cè)數(shù)據(jù)410以及將其與用戶提供的認(rèn)證數(shù) 據(jù)進(jìn)行比較。該處理的一個(gè)特定實(shí)施例在圖16中示出并在下面描述。由用戶提供的當(dāng)前認(rèn)證數(shù)據(jù)和從倉(cāng)庫(kù)取回的注冊(cè)數(shù)據(jù)在圖16的步驟1600中被 認(rèn)證引擎215接收。這兩個(gè)數(shù)據(jù)集合都可能包含與認(rèn)證的分離技術(shù)有關(guān)的數(shù)據(jù)。在步驟 1605,認(rèn)證引擎215分離與每個(gè)單獨(dú)認(rèn)證實(shí)例相關(guān)聯(lián)的認(rèn)證數(shù)據(jù)。這是必要的,從而認(rèn)證數(shù)
29據(jù)與用戶的注冊(cè)數(shù)據(jù)的適當(dāng)子集進(jìn)行比較(例如,指紋認(rèn)證數(shù)據(jù)應(yīng)該與指紋注冊(cè)數(shù)據(jù)進(jìn)行 比較,而不是與口令注冊(cè)數(shù)據(jù)進(jìn)行比較)。通常,認(rèn)證用戶涉及一個(gè)或多個(gè)單獨(dú)認(rèn)證實(shí)例,取決于用戶可用的認(rèn)證技術(shù)。這些 方法被注冊(cè)過(guò)程中由用戶提供的注冊(cè)數(shù)據(jù)所限制(如果用戶在注冊(cè)時(shí)沒(méi)有提供視網(wǎng)膜掃 描,他就不能使用視網(wǎng)膜掃描來(lái)認(rèn)證自己),以及被用戶當(dāng)前可用的手段所限制(例如,如 果用戶在他當(dāng)前位置不具有指紋讀取器,指紋認(rèn)證將不可行)。在一些情況下,單個(gè)認(rèn)證實(shí) 例可能足以認(rèn)證用戶;然而在某些情況下,多個(gè)認(rèn)證實(shí)例的組合可以被使用以更加確信地 認(rèn)證特定交易的用戶。每個(gè)認(rèn)證實(shí)例包括與一種特定認(rèn)證技術(shù)(例如指紋、口令、智能卡等)以及在獲 取和傳遞用于該特定技術(shù)的數(shù)據(jù)周圍的環(huán)境有關(guān)的數(shù)據(jù)。例如,嘗試通過(guò)口令進(jìn)行認(rèn)證的 特定實(shí)例不僅生成與口令本身有關(guān)的數(shù)據(jù),還生成與該口令嘗試有關(guān)的環(huán)境數(shù)據(jù),被稱為 “元數(shù)據(jù)”。該環(huán)境數(shù)據(jù)包括諸如以下的信息特定認(rèn)證實(shí)例發(fā)生的時(shí)間、認(rèn)證信息從其遞送 的網(wǎng)絡(luò)地址、以及本領(lǐng)域技術(shù)人員所知的可以確定的關(guān)于認(rèn)證數(shù)據(jù)的來(lái)源的任何其他信息 (連接的類型、處理器序列號(hào)等)。在許多情況下,僅有少量的環(huán)境元數(shù)據(jù)可用。例如,如果用戶位于使用代理或網(wǎng)絡(luò) 地址轉(zhuǎn)換或其它掩蓋發(fā)源計(jì)算機(jī)地址的技術(shù)的網(wǎng)絡(luò)上,則僅僅可以確定代理服務(wù)器或路由 器的地址。類似地,在許多情況下,諸如處理器序列號(hào)之類的信息將不可用,這是由于所使 用的硬件或操作系統(tǒng)的限制、系統(tǒng)的操作者禁用這樣的特征、或用戶的系統(tǒng)與信任引擎110 之間的連接的其他限制。如圖16中所示,一旦在認(rèn)證數(shù)據(jù)中表示的單獨(dú)認(rèn)證實(shí)例在步驟1605中被提取和 分離,認(rèn)證引擎215就評(píng)估每個(gè)實(shí)例在表示該用戶是其所聲稱的那個(gè)人這方面的可靠性。 單個(gè)認(rèn)證實(shí)例的可靠性通?;谌舾梢蛩貋?lái)確定。這些可以被成組為跟與認(rèn)證技術(shù)相關(guān)聯(lián) 的可靠性有關(guān)的因素(其在步驟1610中被評(píng)估)和跟所提供的特定認(rèn)證數(shù)據(jù)的可靠性有 關(guān)的因素(其在步驟1815中被評(píng)估)。第一組包括但不限于所使用的認(rèn)證技術(shù)的固有可靠 性,以及與該方法一起使用的注冊(cè)數(shù)據(jù)的可靠性。第二組包括但不限于注冊(cè)數(shù)據(jù)與認(rèn)證實(shí) 例所提供的數(shù)據(jù)之間的匹配度以及與該認(rèn)證實(shí)例相關(guān)聯(lián)的元數(shù)據(jù)。這些因素中的每一個(gè)可 以獨(dú)立于其他因素而改變。認(rèn)證技術(shù)的固有可靠性基于冒名頂替者提供其他人的正確數(shù)據(jù)有多困難,以及認(rèn) 證技術(shù)的整體錯(cuò)誤率。對(duì)于基于口令和知識(shí)的認(rèn)證方法,該可靠性通常相當(dāng)?shù)?,因?yàn)椴淮嬖?任何東西來(lái)阻止某人將其口令泄露給另一個(gè)人以及阻止該另一個(gè)人使用該口令。更復(fù)雜的 基于知識(shí)的系統(tǒng)可能僅具有中等可靠性,這是因?yàn)橹R(shí)可以相當(dāng)容易地從一個(gè)人傳到另一 個(gè)人。基于令牌的認(rèn)證,諸如具有正確的智能卡或使用特定終端來(lái)執(zhí)行認(rèn)證,類似地具有由 其本身使用的低可靠性,這是因?yàn)椴荒鼙WC正確的人持有該正確的令牌。然而,生物識(shí)別技術(shù)更固有地可靠,因?yàn)槠渫ǔky以方便地甚至故意地為其他人 提供使用你的指紋的能力。因?yàn)槠茐纳镒R(shí)別認(rèn)證技術(shù)更加困難,所以生物識(shí)別方法的固 有可靠性通常高于純粹基于知識(shí)或令牌的認(rèn)證技術(shù)的可靠性。然而,即使生物識(shí)別技術(shù)也 可能具有一些產(chǎn)生錯(cuò)誤接受或錯(cuò)誤拒絕的情況。這些情況的發(fā)生可以由相同的生物識(shí)別技 術(shù)的不同實(shí)施方式的不同可靠性反映出來(lái)。例如,由一個(gè)公司提供的指紋匹配系統(tǒng)可以提 供比由另一公司提供的指紋匹配系統(tǒng)更高的可靠性,因?yàn)樵摴臼褂酶哔|(zhì)量的光學(xué)器件或更好的掃描分辨率或一些其他的減少錯(cuò)誤接受或錯(cuò)誤拒絕的發(fā)生的改進(jìn)。注意該可靠性可以以不同方式表示。可靠性被期望以某種能夠被試探法530和認(rèn) 證引擎215的算法使用以計(jì)算每種認(rèn)證的可信度的衡量標(biāo)準(zhǔn)來(lái)表示。表示這些可靠性的一 種優(yōu)選模式是百分比或分?jǐn)?shù)。例如,指紋可以被賦予97%的固有可靠性,而口令可能僅被賦 予50%的固有可靠性。本領(lǐng)域的技術(shù)人員應(yīng)該理解這些特定值僅是示例性的,并且可以在具體實(shí)施方式
之間改變。評(píng)估可靠性必須針對(duì)的第二個(gè)因素是注冊(cè)的可靠性。這是上面提及的“分級(jí)注冊(cè)” 處理的一部分。該可靠性因素反映在初始注冊(cè)處理期間提供的標(biāo)識(shí)的可靠性。例如,如果 個(gè)人以物理地將他們身份的證據(jù)出示給公證人或其他政府官員的方式初始注冊(cè),并且注冊(cè) 數(shù)據(jù)在此時(shí)被記錄和公證,則該數(shù)據(jù)將比在注冊(cè)過(guò)程中通過(guò)網(wǎng)絡(luò)提供并且僅由數(shù)字簽名或 其他沒(méi)有真實(shí)綁定至個(gè)人的信息擔(dān)保的數(shù)據(jù)更可靠。具有不同可靠性等級(jí)的其他注冊(cè)技術(shù)包括但不限于在信任引擎110操作者的物 理辦公室注冊(cè);在用戶的就業(yè)地點(diǎn)注冊(cè);在郵局或護(hù)照辦公室注冊(cè);通過(guò)附屬方或可信方 向信任引擎110操作者注冊(cè);匿名或筆名注冊(cè),其中注冊(cè)的身份尚不等同于特定的真實(shí)個(gè) 人;以及本領(lǐng)域已知的這樣的其他手段。這些因素反映信任引擎110和注冊(cè)處理期間提供的標(biāo)識(shí)的源之間的信任。例如, 如果在提供身份證據(jù)的初始處理期間與雇主相關(guān)聯(lián)地執(zhí)行注冊(cè),則該信息可以被認(rèn)為在公 司內(nèi)部極為可靠,但是可能被政府機(jī)構(gòu)或競(jìng)爭(zhēng)者認(rèn)為是較低等級(jí)可信。因此,這些其他組織 中每一個(gè)所操作的信任引擎可以給該注冊(cè)分配不同的可靠性等級(jí)。類似地,通過(guò)網(wǎng)絡(luò)提交但是用相同的信任引擎110由在先前注冊(cè)過(guò)程中提供的其 他信任數(shù)據(jù)認(rèn)證的另外的數(shù)據(jù)可以被認(rèn)為與原始注冊(cè)數(shù)據(jù)一樣可靠,即使后者數(shù)據(jù)是通過(guò) 開(kāi)放網(wǎng)絡(luò)提交的。在這樣的情況下,后續(xù)公證將有效地增加與原始注冊(cè)數(shù)據(jù)相關(guān)聯(lián)的可靠 性等級(jí)。以該方式,例如,通過(guò)向一些注冊(cè)官員證明個(gè)人身份與注冊(cè)數(shù)據(jù)相匹配,匿名或筆 名注冊(cè)就可以上升為完全注冊(cè)。上述可靠性因素通常是可以在任何特定認(rèn)證實(shí)例之前確定的值。這是因?yàn)樗麄兓?于注冊(cè)和技術(shù)而不是實(shí)際的認(rèn)證。在一個(gè)實(shí)施例中,基于這些因素生成可靠性的步驟包括 查找以前確定的用于該特定認(rèn)證技術(shù)和用戶注冊(cè)數(shù)據(jù)的值。在本發(fā)明的一個(gè)有利實(shí)施例的 另一方面,這樣的可靠性可以包括在注冊(cè)數(shù)據(jù)本身中。以該方式,這些因素連同從倉(cāng)庫(kù)210 發(fā)送的注冊(cè)數(shù)據(jù)一起被自動(dòng)傳遞至認(rèn)證引擎215。盡管這些因素通??梢栽谌魏螁蝹€(gè)認(rèn)證實(shí)例之前確定,但是他們?nèi)匀粚?duì)為用戶使 用特定認(rèn)證技術(shù)的每個(gè)認(rèn)證實(shí)例有影響。此外,盡管這些值可能隨著時(shí)間改變(例如,如果 用戶以更可靠的方式重新注冊(cè)),但是他們不取決于認(rèn)證數(shù)據(jù)本身。相反,與單個(gè)特定實(shí)例 的數(shù)據(jù)相關(guān)聯(lián)的可靠性因素可能隨每個(gè)情況而改變。如下所討論,對(duì)于每個(gè)新認(rèn)證,都必須 評(píng)估這些因素,從而在步驟1815生成可靠性分?jǐn)?shù)。認(rèn)證數(shù)據(jù)的可靠性反映了由用戶在特定認(rèn)證實(shí)例中提供的數(shù)據(jù)與在認(rèn)證注冊(cè)期 間提供的數(shù)據(jù)之間的匹配。這是認(rèn)證數(shù)據(jù)是否匹配于用戶聲稱是其的個(gè)人的注冊(cè)數(shù)據(jù)的基 本問(wèn)題。通常,當(dāng)數(shù)據(jù)不匹配時(shí),用戶被認(rèn)為是沒(méi)有被成功認(rèn)證,并且認(rèn)證失敗。被評(píng)估的 方式可以根據(jù)所使用的認(rèn)證技術(shù)而改變。這種數(shù)據(jù)的比較是由圖5中所示的認(rèn)證引擎215 的比較器515功能來(lái)實(shí)現(xiàn)的。
例如,口令的匹配通常以二元(binary)形式評(píng)估。換句話說(shuō),口令或者是完美匹 配,或者是失敗匹配。通常不期望接受即使是部分匹配,即口令接近正確口令但不是完全正 確。因此,當(dāng)評(píng)估口令認(rèn)證時(shí),由比較器515返回的認(rèn)證的可靠性通常是100% (正確)或 0% (錯(cuò)誤),而沒(méi)有中間值的可能。與用于口令的規(guī)則相類似的規(guī)則通常被應(yīng)用于基于令牌的認(rèn)證方法,例如智能 卡。這是因?yàn)閾碛芯哂蓄愃茦?biāo)識(shí)符的智能卡或類似于正確智能卡的智能卡,仍然如同擁有 任何其他不正確令牌一樣是錯(cuò)誤的。因此,令牌也趨向于是二元認(rèn)證用戶或者具有正確令 牌,或者不具有。然而,某些類型的認(rèn)證數(shù)據(jù),諸如問(wèn)卷和生物識(shí)別,通常不是二元認(rèn)證。例如,指紋 可以與參考指紋具有不同程度的匹配。某種程度上,這可能是由于在初始注冊(cè)或在后續(xù)認(rèn) 證過(guò)程中獲取的數(shù)據(jù)質(zhì)量的變化。(指紋可能被弄臟或人可能在特定手指上具有靜態(tài)愈合 的傷疤或燒傷)。在其他情況下,數(shù)據(jù)可能匹配得不夠完美,這是因?yàn)樾畔⒈旧碓谀撤N程度 上是可變的并且是基于圖案匹配。(由于背景噪聲、或者錄制語(yǔ)音的環(huán)境的音響效果、或者 由于該人感冒了,而導(dǎo)致語(yǔ)音分析可能像是接近但不完全正確)。最后,在大量數(shù)據(jù)被比較 的情形中,情況可能是大部分?jǐn)?shù)據(jù)匹配很好而一些匹配不好。(十個(gè)問(wèn)題的問(wèn)卷可能導(dǎo)致 個(gè)人問(wèn)題中八個(gè)正確答案,但是兩個(gè)不正確答案)。由于這些原因中的任一個(gè),注冊(cè)數(shù)據(jù)和 用于特定認(rèn)證實(shí)例的數(shù)據(jù)之間的匹配可能期望由比較器515賦予一個(gè)部分匹配值。以該方 式,例如,可以假定指紋85%匹配,聲紋65%匹配,以及問(wèn)卷80%匹配。由比較器515產(chǎn)生的測(cè)量結(jié)果(匹配度)是表示認(rèn)證是否正確這一基本問(wèn)題的因 素。然而,如上所述,這僅是可用于確定給定認(rèn)證實(shí)例的可靠性的多個(gè)因素之一。還注意, 即使能夠確定某種部分程度的匹配,最終還是期望基于部分匹配來(lái)提供二元結(jié)果。在一種 可替換的操作模式中,也可以基于匹配度是否通過(guò)特定的閾值匹配水平將部分匹配當(dāng)做二 元的,即,完美匹配(100%)或失敗匹配(0% )。這樣的處理可以被用來(lái)為否則將產(chǎn)生部分 匹配的系統(tǒng)提供簡(jiǎn)單的通過(guò)/失敗匹配等級(jí)。在評(píng)估給定認(rèn)證實(shí)例的可靠性時(shí)考慮的另一因素是關(guān)于提供用于該特定實(shí)例的 認(rèn)證數(shù)據(jù)的環(huán)境。如上所述,環(huán)境指的是與特定認(rèn)證實(shí)例相關(guān)聯(lián)的元數(shù)據(jù)。這可包括但不 限于這樣的信息認(rèn)證者的網(wǎng)絡(luò)地址,到其能夠被確定的程度;認(rèn)證的時(shí)間;認(rèn)證數(shù)據(jù)的傳 輸模式(電話線、蜂窩網(wǎng)絡(luò)等);以及認(rèn)證者的系統(tǒng)的序列號(hào)。這些因素可以被用來(lái)產(chǎn)生通常由用戶請(qǐng)求的認(rèn)證的類型的簡(jiǎn)檔(profile)。然后, 該信息可以被用來(lái)以至少兩種方式評(píng)估可靠性。一種方式是考慮用戶是否正以與該用戶的 認(rèn)證的正常簡(jiǎn)檔相一致的方式請(qǐng)求認(rèn)證。如果用戶正常情況下在工作日(當(dāng)其工作時(shí))從 一個(gè)網(wǎng)絡(luò)地址進(jìn)行認(rèn)證請(qǐng)求而在晚間或周末(當(dāng)其在家時(shí))從一不同的網(wǎng)絡(luò)地址進(jìn)行認(rèn)證 請(qǐng)求,那么在工作日期間從家庭地址發(fā)生的認(rèn)證就不那么可靠,因?yàn)檫@是在正常認(rèn)證簡(jiǎn)檔 之外的。類似地,如果用戶正常情況下使用指紋生物識(shí)別并且在晚間進(jìn)行認(rèn)證,則在白天僅 使用口令發(fā)起的認(rèn)證就不那么可靠。環(huán)境元數(shù)據(jù)可以被用來(lái)評(píng)估認(rèn)證實(shí)例的可靠性的另一方法是確定環(huán)境提供多少 證據(jù)來(lái)證明認(rèn)證者就是其所聲稱的個(gè)人。例如,如果認(rèn)證來(lái)自于具有已知是與用戶相關(guān)聯(lián) 的序列號(hào)的系統(tǒng),則其是良好的環(huán)境指示器,指示用戶是其聲明的用戶。相反,如果認(rèn)證來(lái) 源于已知在洛杉磯的網(wǎng)絡(luò)地址而已知用戶居住在倫敦時(shí),這就指示,基于其環(huán)境,該認(rèn)證是
32不可靠的。Cookie或其他電子數(shù)據(jù)也可能被放置在當(dāng)用戶與賣方系統(tǒng)或信任引擎110交互 時(shí)由用戶使用的系統(tǒng)上。該數(shù)據(jù)被寫(xiě)入用戶的系統(tǒng)的存儲(chǔ)器,并且可以包括可以由用戶系 統(tǒng)上的網(wǎng)絡(luò)瀏覽器或其他軟件讀取的標(biāo)識(shí)。如果允許該數(shù)據(jù)在會(huì)話之間駐留在用戶系統(tǒng)上 (“持續(xù)的cookie”),其可以在認(rèn)證特定用戶期間作為過(guò)去使用過(guò)該系統(tǒng)的進(jìn)一步證據(jù)與 認(rèn)證數(shù)據(jù)一起被發(fā)送。事實(shí)上,給定實(shí)例的元數(shù)據(jù),特別是持續(xù)的cookie,其本身可以形成 一種基于令牌的認(rèn)證者。一旦基于認(rèn)證實(shí)例的技術(shù)和數(shù)據(jù)的適當(dāng)可靠性因素如在上面步驟1610和1615中 分別描述的那樣被生成,它們就被用來(lái)產(chǎn)生在步驟1620中提供的認(rèn)證實(shí)例的總可靠性。實(shí) 現(xiàn)這個(gè)的一種方式是簡(jiǎn)單地將每個(gè)可靠性表示為百分?jǐn)?shù),然后將它們相乘。例如,假設(shè)認(rèn)證數(shù)據(jù)是從已知是完全符合用戶過(guò)去的認(rèn)證簡(jiǎn)檔的用戶家庭計(jì)算機(jī) 的網(wǎng)絡(luò)地址發(fā)送的(100%),并且所使用的技術(shù)是指紋識(shí)別(97%),并且初始指紋數(shù)據(jù)是 通過(guò)用戶的雇主使用信任引擎110登記的(90%),并且認(rèn)證數(shù)據(jù)和注冊(cè)數(shù)據(jù)中的原始指紋 模板之間的匹配非常好(99%)。則該認(rèn)證實(shí)例的總可靠性可以被計(jì)算為這些可靠性的乘 積100% * 97% * 90% * 99%-86. 4%可靠性。這樣計(jì)算的可靠性表示一個(gè)單個(gè)認(rèn)證實(shí)例的可靠性。單個(gè)認(rèn)證實(shí)例的總可靠性還 可以使用不同地對(duì)待不同可靠性因素的技術(shù)來(lái)計(jì)算,例如,通過(guò)使用將不同權(quán)重分配給每 個(gè)可靠性因素的公式。此外,本領(lǐng)域的技術(shù)人員將意識(shí)到所使用的實(shí)際值可以表示百分比 之外的值,并且可以使用非算術(shù)系統(tǒng)。一個(gè)實(shí)施例可以包括由認(rèn)證請(qǐng)求者使用以便為每個(gè) 因素設(shè)置權(quán)重的模塊,以及用于建立認(rèn)證實(shí)例的總可靠性的算法。認(rèn)證引擎215可以使用上述技術(shù)及其變型來(lái)確定單個(gè)認(rèn)證實(shí)例的可靠性,如步驟 1620所示。然而,在許多認(rèn)證情況下,同時(shí)提供多個(gè)認(rèn)證實(shí)例可能是有用的。例如,當(dāng)嘗試 使用本發(fā)明的系統(tǒng)認(rèn)證自身時(shí),用戶可以提供用戶標(biāo)識(shí)、指紋認(rèn)證數(shù)據(jù)、智能卡以及口令。 在這樣情況下,三個(gè)獨(dú)立的認(rèn)證實(shí)例被提供至信任引擎110供評(píng)估。進(jìn)行到步驟1625,如 果認(rèn)證引擎215確定由用戶提供的數(shù)據(jù)包括多于一個(gè)認(rèn)證實(shí)例,則每個(gè)實(shí)例依次如在步驟 1630中所示的被選擇以及如上面步驟1610、1615和1620中所述的被評(píng)估。注意,所討論的許多可靠性因素因?qū)嵗悺@?,這些技術(shù)的固有可靠性很可能 不同,在認(rèn)證數(shù)據(jù)和注冊(cè)數(shù)據(jù)之間提供的匹配度也可能不同。此外,用戶可能在不同時(shí)間和 在不同環(huán)境下為這些技術(shù)中的每一種技術(shù)提供了注冊(cè)數(shù)據(jù),這為這些實(shí)例中的每個(gè)實(shí)例提 供不同的注冊(cè)可靠性。最后,即使這些實(shí)例中的每個(gè)實(shí)例被提交的環(huán)境是相同的,這些技術(shù) 的使用可能每個(gè)都不同地適合用戶的簡(jiǎn)檔,因此可以被賦予不同的環(huán)境可靠性。(例如,用 戶可能在正常情況下使用其口令和指紋,而不是其智能卡)。因此,這些認(rèn)證實(shí)例中的每個(gè)實(shí)例的最終可靠性可能彼此不同。然而,通過(guò)一起使 用多個(gè)實(shí)例,認(rèn)證的總可信度趨向于增加。一旦認(rèn)證引擎已經(jīng)對(duì)認(rèn)證數(shù)據(jù)中提供的所有認(rèn)證實(shí)例執(zhí)行了步驟1610至1620, 每個(gè)實(shí)例的可靠性被用在步驟1635中以評(píng)估總的認(rèn)證可信度。將單個(gè)認(rèn)證實(shí)例的可靠性 合并成認(rèn)證可信度的處理可以用各種將所產(chǎn)生的單獨(dú)可靠性聯(lián)系起來(lái)的方法來(lái)建模,也可 以處理這些認(rèn)證技術(shù)中的一些認(rèn)證技術(shù)之間的特定相互作用。(例如,諸如多個(gè)口令之類的 多個(gè)基于知識(shí)的系統(tǒng)產(chǎn)生的可信度可以小于單個(gè)口令和甚至相當(dāng)弱的生物識(shí)別(諸如基
33本語(yǔ)音分析)的可信度。)認(rèn)證引擎215可以合并多個(gè)同時(shí)存在的認(rèn)證實(shí)例的可靠性以生成最終可信度的 一種方式是,將每個(gè)實(shí)例的不可靠性相乘以得到總的不可靠性。不可靠性通常是可靠性的 互補(bǔ)百分比。例如,可靠性為84%的技術(shù)的不可靠性是16 %。產(chǎn)生86 %、75 %和72 %的可靠 性的上面所述三個(gè)認(rèn)證實(shí)例(指紋、智能卡、口令)分別具有對(duì)應(yīng)的不可靠性(100-86)%、 (100-75) %和(100-72) %,或14%、25%和28%。通過(guò)將這些不可靠性相乘,我們得到累積 不可靠性14% * 25% * 28%——0. 98%的不可靠性,對(duì)應(yīng)于99. 02%的可靠性。在另一操作模式中,另外的因素和試探法530可以被應(yīng)用在認(rèn)證引擎215中以解 釋各種認(rèn)證技術(shù)的相互依賴。例如,如果有人已經(jīng)未經(jīng)授權(quán)地訪問(wèn)了特定家庭計(jì)算機(jī),則他 們可能也能夠訪問(wèn)該地址的電話線。因此,既基于發(fā)起電話號(hào)碼也基于認(rèn)證系統(tǒng)序列號(hào)的 認(rèn)證不會(huì)對(duì)認(rèn)證的總可信度增加很多。然而,基于知識(shí)的認(rèn)證大大地獨(dú)立于基于令牌的認(rèn) 證(即,如果有人竊取了你的蜂窩電話號(hào)碼或密鑰,如果他們不曾知道你的PIN或口令,他 們就不再可能知道)。此外,不同的賣方或其他認(rèn)證請(qǐng)求者可能希望為認(rèn)證的不同方面不同地加權(quán)。這 可以包括使用不同的加權(quán)因子或用于計(jì)算單個(gè)實(shí)例的可靠性的算法,以及使用不同方式來(lái) 評(píng)估具有多個(gè)實(shí)例的認(rèn)證事件。例如,某些類型的交易(例如公司電子郵件系統(tǒng))的賣方可能期望主要基于試探 法和其他默認(rèn)的環(huán)境數(shù)據(jù)來(lái)進(jìn)行認(rèn)證。因此,他們可以對(duì)跟元數(shù)據(jù)和其他與認(rèn)證事件周圍 的環(huán)境相關(guān)聯(lián)的關(guān)于簡(jiǎn)檔的信息有關(guān)的因素應(yīng)用高權(quán)重。由于除了在工作時(shí)間期間登錄到 正確機(jī)器之外不向用戶要求別的,因此這種安排可以用來(lái)減輕用戶在正常操作時(shí)間期間的 負(fù)擔(dān)。然而,另一賣方可能由于策略決定而給予來(lái)自特定技術(shù)的認(rèn)證(例如指紋匹配)以 最重的權(quán)重,其中該策略決定是,這種技術(shù)對(duì)于該特定賣方的目的而言最適于認(rèn)證。在一種操作模式中,這些不同的權(quán)重可以由認(rèn)證請(qǐng)求者在生成認(rèn)證請(qǐng)求時(shí)定義, 并與認(rèn)證請(qǐng)求一起發(fā)送至信任引擎110。在另一操作模式中,這樣的選項(xiàng)也可以在認(rèn)證請(qǐng)求 者的初始注冊(cè)過(guò)程中被設(shè)置為優(yōu)選項(xiàng)并存儲(chǔ)在認(rèn)證引擎中。一旦認(rèn)證引擎215產(chǎn)生所提供的認(rèn)證數(shù)據(jù)的認(rèn)證可信度,該可信度就被用來(lái)在步 驟1640中完成認(rèn)證請(qǐng)求,并且該信息從認(rèn)證引擎215轉(zhuǎn)發(fā)至交易引擎205,以便包括在至認(rèn) 證請(qǐng)求者的消息中。上述處理僅是示例性的,本領(lǐng)域的技術(shù)人員應(yīng)該理解所述步驟不需要以所示的順 序執(zhí)行,或者僅希望執(zhí)行某些步驟,或者可以期望步驟的多種組合。此外,如果環(huán)境允許,某 些步驟,例如對(duì)所提供的每個(gè)認(rèn)證實(shí)例的可靠性的評(píng)估,可以彼此并行執(zhí)行。在本發(fā)明的另一方面,提供了一種方法以適應(yīng)當(dāng)由上述處理產(chǎn)生的認(rèn)證可信度不 能滿足賣方或要求認(rèn)證的其他方所需的信任等級(jí)時(shí)的情況。在諸如在所提供的可信度和所 期望的信任等級(jí)之間存在差距的情況下,信任引擎110的操作員能夠?yàn)橐环交螂p方提供用 于提供替換數(shù)據(jù)或要求的機(jī)會(huì)以彌補(bǔ)該信任差距。該處理在這里將被稱作“信任仲裁”。信任仲裁可以在如上面參考圖10和11所述的加密認(rèn)證的框架中發(fā)生。如在此所 示,賣方或其他方將請(qǐng)求與特定交易相關(guān)聯(lián)的特定用戶的認(rèn)證。在一種情況下,賣方簡(jiǎn)單地 請(qǐng)求認(rèn)證,或者肯定或者否定,并且在接收到來(lái)自用戶的適當(dāng)數(shù)據(jù)之后,信任引擎110將提 供這樣的二元認(rèn)證。在諸如這些的情況下,為了保證肯定認(rèn)證所需要的可信度是基于信任引擎110中設(shè)置的優(yōu)選項(xiàng)而確定的。然而,賣方可能要求特定的信任等級(jí)以完成特定交易也是有可能的。所要求的等 級(jí)可以包括在認(rèn)證請(qǐng)求中(例如,認(rèn)證該用戶為98%的可信度),或可以由信任引擎110基 于與交易相關(guān)聯(lián)的其他因素確定(即認(rèn)證該用戶為適于該交易)。一個(gè)這樣的因素可能是 交易的經(jīng)濟(jì)價(jià)值。對(duì)于具有較大經(jīng)濟(jì)價(jià)值的交易,可能需要較高的信任度。類似地,對(duì)于具 有高風(fēng)險(xiǎn)度的交易,可能需要高信任度。相反,對(duì)于或者低風(fēng)險(xiǎn)或者低價(jià)值的交易,賣方或 其他認(rèn)證請(qǐng)求者可能要求低的信任等級(jí)。信任仲裁的處理發(fā)生在圖10的步驟1050中信任引擎110接收認(rèn)證數(shù)據(jù)的步驟與 圖10的步驟1055中將認(rèn)證結(jié)果返回到賣方的步驟之間。在這些步驟之間,如圖17所示, 發(fā)生導(dǎo)致信任等級(jí)評(píng)估和可能的信任仲裁的處理。在執(zhí)行簡(jiǎn)單的二元認(rèn)證的情況下,如圖 17所示的處理減少為使交易引擎205直接比較所提供的認(rèn)證數(shù)據(jù)和被識(shí)別的用戶的注冊(cè) 數(shù)據(jù),如上參考圖10所述,將任何不同標(biāo)記為否定認(rèn)證。如圖17所示,在步驟1050中接收數(shù)據(jù)之后的第一步驟是在步驟1710中交易引擎 205確定該特定交易的肯定認(rèn)證所需的信任等級(jí)。該步驟可以由若干不同方法中的一種來(lái) 執(zhí)行。所需的信任等級(jí)可以由認(rèn)證請(qǐng)求者在進(jìn)行認(rèn)證請(qǐng)求時(shí)指定給信任引擎110。認(rèn)證請(qǐng) 求者還可以事先設(shè)置優(yōu)選項(xiàng),其被存儲(chǔ)在倉(cāng)庫(kù)210或可由交易引擎205訪問(wèn)的其他存儲(chǔ)器 中。該優(yōu)選項(xiàng)然后可以在每次由該認(rèn)證請(qǐng)求者進(jìn)行認(rèn)證請(qǐng)求時(shí)讀取和使用。該優(yōu)選項(xiàng)還可 以與特定用戶相關(guān)聯(lián)作為安全性度量,使得總是需要特定的信任等級(jí)來(lái)認(rèn)證該用戶,用戶 優(yōu)選項(xiàng)存儲(chǔ)在倉(cāng)庫(kù)210或其他可由交易引擎205訪問(wèn)的存儲(chǔ)介質(zhì)中。所需的等級(jí)也可以由 交易引擎205或認(rèn)證引擎215基于在認(rèn)證請(qǐng)求中提供的信息而獲得,所述信息諸如要認(rèn)證 的交易的價(jià)值和風(fēng)險(xiǎn)等級(jí)。在一種操作模式中,在生成認(rèn)證請(qǐng)求時(shí)所使用的策略管理模塊或其他軟件被用來(lái) 規(guī)定認(rèn)證該交易所需的信任度。這可以被用來(lái)提供在基于在策略管理模塊中規(guī)定的策略而 賦予所需信任等級(jí)時(shí)要遵循的一系列規(guī)則。對(duì)于這樣的模塊,一種有利的操作模式是與賣 方的web服務(wù)器合并以適當(dāng)?shù)卮_定使用賣方的web服務(wù)器啟動(dòng)的交易所需的信任等級(jí)。以 該方式,來(lái)自用戶的交易請(qǐng)求可以被賦予與賣方的策略一致的所需信任等級(jí),并且這樣的 信息可以連同認(rèn)證請(qǐng)求一起被轉(zhuǎn)發(fā)至信任引擎110。所需的信任等級(jí)與賣方想要的該認(rèn)證個(gè)體事實(shí)上就是他將自己標(biāo)識(shí)為的那個(gè)人 的確定度有關(guān)。例如,如果交易是賣方想要普通確定度的交易——因?yàn)樨浳锸且资?,則賣方 可能要求85 %的信任等級(jí)。對(duì)于賣方僅是認(rèn)證用戶以允許他觀看會(huì)員專用內(nèi)容或在聊天室 享有特權(quán),則負(fù)面風(fēng)險(xiǎn)很小以至賣方僅要求60 %的信任等級(jí)。然而,為了訂立價(jià)值幾萬(wàn)美金 的生產(chǎn)合同,賣方可能要求99 %或更高的信任等級(jí)。該要求的信任等級(jí)代表用戶必須認(rèn)證自己以便完成該交易的衡量標(biāo)準(zhǔn)。如果所要 求的信任等級(jí)例如是85%,則用戶必須向信任引擎110提供足以使信任引擎110具有85% 信心認(rèn)為該用戶是他們所聲稱的那個(gè)用戶的認(rèn)證。這是在該要求的信任等級(jí)和認(rèn)證可信度 之間的平衡,其或者產(chǎn)生肯定認(rèn)證(令賣方滿意),或者產(chǎn)生信任仲裁的可能。如圖17所示,在交易引擎205接收所要求的信任等級(jí)后,在步驟1720中將所要求 的信任等級(jí)與認(rèn)證引擎215為當(dāng)前認(rèn)證所計(jì)算的認(rèn)證可信度(如圖16所討論的)進(jìn)行比 較。如果在步驟1730中認(rèn)證可信度高于交易所要求的信任等級(jí),則處理進(jìn)行到步驟1740,由交易引擎205產(chǎn)生對(duì)于該交易的肯定認(rèn)證。帶有這個(gè)意思的消息然后被插入認(rèn)證結(jié)果中 并通過(guò)交易引擎205返回至賣方,如步驟1055中所示(見(jiàn)圖10)。然而,如果在步驟1730中認(rèn)證可信度不能滿足所要求的信任等級(jí),則當(dāng)前認(rèn)證存 在信任差距,并且在步驟1750中進(jìn)行信任仲裁。下面將參考圖18更全面地描述信任仲裁。 如下所述的該處理在信任引擎110的交易引擎205中發(fā)生。因?yàn)閳?zhí)行信任仲裁不需要認(rèn)證 或其他加密操作(除了交易引擎205和其他部件之間的SSL通信所需的),該處理可以在認(rèn) 證引擎215的外部執(zhí)行。然而,如下所討論的,認(rèn)證數(shù)據(jù)或其他加密或認(rèn)證事件的任何重新 評(píng)估都將要求交易引擎205重新提交適當(dāng)數(shù)據(jù)至認(rèn)證引擎215。本領(lǐng)域的技術(shù)人員應(yīng)該意 識(shí)到,信任仲裁處理可以可替換地被構(gòu)造成部分或全部在認(rèn)證引擎215本身中發(fā)生。如上所述,信任仲裁是信任引擎110調(diào)解賣方和用戶之間的協(xié)商以嘗試酌情保證 肯定認(rèn)證的處理。如在步驟1805中所示,交易引擎205首先確定當(dāng)前狀態(tài)是否適于信任仲 裁。這可以基于認(rèn)證的環(huán)境來(lái)確定,例如,如下面將進(jìn)一步討論的,基于該認(rèn)證是否已經(jīng)經(jīng) 過(guò)多次仲裁循環(huán),以及基于賣方或用戶的優(yōu)選項(xiàng)。在仲裁不可能的環(huán)境下,處理進(jìn)行到步驟1810,在此交易引擎205生成否定認(rèn)證, 然后將其插入在步驟1055 (見(jiàn)圖10)中發(fā)送至賣方的認(rèn)證結(jié)果中。一個(gè)可以被有利地使用 以防止認(rèn)證無(wú)限期待定的限制是設(shè)置從初始認(rèn)證請(qǐng)求開(kāi)始的超時(shí)周期。以該方式,任何在 該期限內(nèi)未被肯定認(rèn)證的交易被拒絕進(jìn)一步仲裁并被否定認(rèn)證。本領(lǐng)域的技術(shù)人員應(yīng)該意 識(shí)到,這樣的期限可以根據(jù)交易的環(huán)境以及用戶和賣方的期望而改變。也可以基于在提供 成功認(rèn)證時(shí)可進(jìn)行的嘗試次數(shù)來(lái)設(shè)置多種限制。這樣的限制可以由如圖5所示的嘗試限制 器535來(lái)處理。如果在步驟1805中沒(méi)有禁止仲裁,則交易引擎205將參與與交易一方或雙方的協(xié) 商。如在步驟1820中所示的,交易引擎205可以發(fā)送消息至用戶以請(qǐng)求某種形式的附加認(rèn) 證,以便提升所產(chǎn)生的認(rèn)證可信度。最簡(jiǎn)單的形式,這可以簡(jiǎn)單地表明認(rèn)證不足。也可以發(fā) 送產(chǎn)生一個(gè)或多個(gè)另外的認(rèn)證實(shí)例以改進(jìn)認(rèn)證的總可信度的請(qǐng)求。如果用戶在步驟1825提供一些另外的認(rèn)證實(shí)例,則交易引擎205將這些認(rèn)證實(shí)例 增加到用于交易的認(rèn)證數(shù)據(jù)并將其轉(zhuǎn)發(fā)至認(rèn)證引擎215,如步驟1015中所示(見(jiàn)圖10),并 基于之前已有的該交易的認(rèn)證實(shí)例和新提供的認(rèn)證實(shí)例重新評(píng)估該認(rèn)證。一種附加的認(rèn)證類型可以是來(lái)自信任引擎110的請(qǐng)求在信任引擎110操作者(或 可信的同事)與用戶之間進(jìn)行某種形式的人與人的聯(lián)系(例如通過(guò)電話)的請(qǐng)求。該電話 或其他非計(jì)算機(jī)認(rèn)證可以被用來(lái)提供與該個(gè)人的個(gè)人聯(lián)系以及進(jìn)行基于認(rèn)證的某種形式 的問(wèn)卷。這還給出校驗(yàn)發(fā)起的電話號(hào)碼和潛在的在用戶打進(jìn)電話時(shí)對(duì)其進(jìn)行語(yǔ)音分析的機(jī) 會(huì)。即使不能提供另外的認(rèn)證數(shù)據(jù),與用戶的電話號(hào)碼相關(guān)聯(lián)的附加情境可以提高認(rèn)證情 境的可靠性?;谠撾娫挼娜魏涡抻喌臄?shù)據(jù)或環(huán)境都被提供至信任引擎110,供考慮認(rèn)證請(qǐng) 求時(shí)使用。此外,在步驟1820,信任引擎110可以為用戶提供購(gòu)買保險(xiǎn)的機(jī)會(huì),以有效地購(gòu)買 更確信的認(rèn)證。信任引擎110的操作者有時(shí)僅希望在認(rèn)證的可信度高于開(kāi)始的一定閾值的 情況下使這樣的選項(xiàng)可用。事實(shí)上,這種用戶側(cè)保險(xiǎn)是信任引擎110在認(rèn)證滿足信任引擎 110對(duì)于認(rèn)證的正常所需信任等級(jí)但是不滿足賣方對(duì)于該交易所要求的信任等級(jí)時(shí)擔(dān)保用 戶的方式。以該方式,用戶仍可以成功地認(rèn)證至賣方所要求的非常高的等級(jí),即使他僅僅具有產(chǎn)生足以用于信任引擎110的可信度的認(rèn)證實(shí)例。信任引擎110的該功能允許信任引擎110為被認(rèn)證為滿足信任引擎110而不滿足 賣方的人擔(dān)保。這類似于由公證員執(zhí)行的功能,即,將其簽名添加至文檔以向后面讀取該文 檔的人表明其簽名出現(xiàn)在文檔上的人就是事實(shí)上簽名的人。公證員的簽名證明用戶簽名的 動(dòng)作。以相同的方式,信任引擎提供交易人就是他們所聲稱的人的指示。然而,因?yàn)樾湃我?10人為地提升由用戶提供的可信度,因此,對(duì)于信任引擎 110操作者來(lái)說(shuō)存在較大風(fēng)險(xiǎn),這是因?yàn)橛脩魧?shí)際上沒(méi)有達(dá)到賣方所要求的信任等級(jí)。保險(xiǎn) 的費(fèi)用被設(shè)計(jì)為抵消信任引擎110(其可以有效地公證用戶的認(rèn)證)的錯(cuò)誤肯定認(rèn)證的風(fēng) 險(xiǎn)。用戶付款給信任引擎110操作者以承擔(dān)認(rèn)證至高于實(shí)際已提供的可信度的風(fēng)險(xiǎn)。因?yàn)檫@樣的保險(xiǎn)系統(tǒng)允許某個(gè)人從信任引擎110有效購(gòu)買較高信任評(píng)級(jí),所以賣 方和用戶可能都希望防止在某些交易中使用用戶側(cè)保險(xiǎn)。賣方可能希望將肯定認(rèn)證限制到 他們知道實(shí)際認(rèn)證數(shù)據(jù)支持他們所需的可信度的情況,因而可能指示信任引擎110不允許 用戶側(cè)保險(xiǎn)。類似地,為了保護(hù)他的在線身份,用戶可能希望防止在其帳戶上使用用戶側(cè)保 險(xiǎn),或可能希望對(duì)于沒(méi)有保險(xiǎn)時(shí)的認(rèn)證可信度高于一定限度的情況限制該保險(xiǎn)的使用。這 可以被用作安全措施以防止有人偷聽(tīng)口令或盜取智能卡并使用它們來(lái)錯(cuò)誤地認(rèn)證為低的 可信度,然后購(gòu)買保險(xiǎn)來(lái)產(chǎn)生非常高的(錯(cuò)誤的)可信度。在確定是否允許用戶側(cè)保險(xiǎn)時(shí) 可以評(píng)估這些因素。如果在步驟1840中用戶購(gòu)買保險(xiǎn),則在步驟1845中,認(rèn)證可信度基于所購(gòu)買的保 險(xiǎn)被調(diào)整,以及在步驟1730中,認(rèn)證可信度和所要求的信任等級(jí)再次被比較(見(jiàn)圖17)。處 理從這里繼續(xù),并且可能進(jìn)行到步驟1740中的肯定認(rèn)證(見(jiàn)圖17)或回到步驟1750中的信 任仲裁處理,以便進(jìn)一步仲裁(如果允許)或在進(jìn)一步仲裁被禁止的情況下進(jìn)行步驟1810 中的否定認(rèn)證。除了在步驟1820中發(fā)送信息至用戶之外,交易引擎205還在步驟1830中發(fā)送消 息至賣方,表示待定認(rèn)證目前低于所要求的信任等級(jí)。該消息還向賣方提供關(guān)于如何繼續(xù) 進(jìn)行的各種選項(xiàng)。這些選項(xiàng)之一是簡(jiǎn)單地通知賣方當(dāng)前認(rèn)證可信度是什么以及詢問(wèn)賣方是 否希望維持其當(dāng)前未滿足的所要求信任等級(jí)。這樣是有好處的,因?yàn)樵谝恍┣闆r下,賣方可 能具有用于認(rèn)證該交易的獨(dú)立方式,或者可能已經(jīng)使用默認(rèn)的一組要求,其通常導(dǎo)致初始 規(guī)定的所需等級(jí)高于其手邊的特定交易實(shí)際需要的等級(jí)。例如,標(biāo)準(zhǔn)作法可能期望該賣方的所有進(jìn)入的購(gòu)買訂單交易都滿足98%的信任等 級(jí)。然而,如果訂單是近來(lái)通過(guò)電話在賣方和長(zhǎng)期顧客之間討論的,并且然后馬上認(rèn)證該交 易,但是僅達(dá)到93%可信度,則賣方可能希望簡(jiǎn)單地降低對(duì)于該交易的接受閾值,因?yàn)殡娫?有效地向賣方提供了附加認(rèn)證。在某些情況下,賣方可能愿意降低其所要求的信任等級(jí),但 是不是一直降低到當(dāng)前認(rèn)證的可信度。例如,上述示例中的賣方可能認(rèn)為在該訂單之前的 電話可以值得所需信任度減少4%,然而,這還是大于由用戶產(chǎn)生的93%的可信度。如果在步驟1835中賣方不調(diào)節(jié)其所要求的信任等級(jí),則通過(guò)認(rèn)證產(chǎn)生的認(rèn)證可 信度和所要求的信任等級(jí)在步驟1730中被比較(見(jiàn)圖17)。如果可信度現(xiàn)在超過(guò)了所要求 的信任等級(jí),則在步驟1740中在交易引擎205中可以生成肯定認(rèn)證(見(jiàn)圖17)。如果沒(méi)有 超過(guò),則如果允許的話,可以如上所述地嘗試進(jìn)一步仲裁。除了請(qǐng)求調(diào)節(jié)所要求的信任等級(jí),交易引擎205還可以向請(qǐng)求認(rèn)證的賣方提供賣方側(cè)保險(xiǎn)。該保險(xiǎn)起到類似于上述用戶側(cè)保險(xiǎn)的目的。然而,在這里,當(dāng)接受認(rèn)證中的較低 信任等級(jí)時(shí),保險(xiǎn)的費(fèi)用對(duì)應(yīng)于由賣方承擔(dān)的風(fēng)險(xiǎn),而不同于在認(rèn)證高于所產(chǎn)生的實(shí)際認(rèn) 證可信度時(shí),費(fèi)用對(duì)應(yīng)于由信任引擎110所承擔(dān)的風(fēng)險(xiǎn)的情況。代替僅減低他們實(shí)際所要求的信任等級(jí),賣方可以選擇購(gòu)買保險(xiǎn)以使其避免與在 認(rèn)證用戶時(shí)的較低信任等級(jí)相關(guān)聯(lián)的其它風(fēng)險(xiǎn)。如上所述,對(duì)于賣方來(lái)說(shuō),僅僅在現(xiàn)有認(rèn)證 已經(jīng)高于某個(gè)閾值的情況下考慮購(gòu)買這樣的保險(xiǎn)來(lái)彌補(bǔ)信任差距是有利的。提供這樣賣方側(cè)保險(xiǎn)使得賣方能夠選擇直接降低他的信任要求而無(wú)需他的附加 花費(fèi),自己承擔(dān)錯(cuò)誤認(rèn)證的風(fēng)險(xiǎn)(基于所要求的較低信任等級(jí));或者為認(rèn)證可信度和其要 求之間的信任差距購(gòu)買保險(xiǎn),使信任引擎110操作者承擔(dān)已提供的較低可信度的風(fēng)險(xiǎn)。通 過(guò)購(gòu)買保險(xiǎn),賣方有效地保持其高的信任等級(jí)要求;因?yàn)殄e(cuò)誤認(rèn)證的風(fēng)險(xiǎn)被轉(zhuǎn)移到信任引 擎110操作者。如果在步驟1840中賣方購(gòu)買保險(xiǎn),則在步驟1730中比較認(rèn)證可信度和所要求的 信任等級(jí)(見(jiàn)圖17),并且處理如上所述地繼續(xù)。注意,用戶和賣方也可以都響應(yīng)來(lái)自信任引擎110的消息。本領(lǐng)域技術(shù)人員應(yīng)該 意識(shí)到存在多種能夠處理這樣的情況的方法。處理多個(gè)響應(yīng)的可能性的一種有利模式是簡(jiǎn) 單地以先到先服務(wù)的方式對(duì)待響應(yīng)。例如,如果賣方以降低所要求的信任等級(jí)作為響應(yīng),并 且緊跟其后用戶也購(gòu)買了保險(xiǎn)來(lái)提高他的認(rèn)證等級(jí),則認(rèn)證首先基于來(lái)自賣方的降低的信 任要求而被重新評(píng)估。如果認(rèn)證現(xiàn)在是肯定的,則用戶的保險(xiǎn)購(gòu)買被忽略。在另一種有利的 操作模式中,用戶可能僅被收取滿足新的降低的賣方信任要求所需的保險(xiǎn)等級(jí)的費(fèi)用(如 果即使使用降低的賣方信任要求,仍然存在信任差距)。在為認(rèn)證設(shè)置的時(shí)限之內(nèi),如果沒(méi)有來(lái)自任一方的響應(yīng)在步驟1850的信任仲裁 處理期間被接收到,則在步驟1805中重新評(píng)估仲裁。這就有效地再次開(kāi)始仲裁處理。如果 時(shí)限結(jié)束或其他情況阻止在步驟1805中的進(jìn)一步仲裁,則由交易引擎205在步驟1810中 生成否定認(rèn)證,并在步驟1055 (見(jiàn)圖10)中返回至賣方。如果不是,則新消息可以發(fā)送至用 戶和賣方,并且處理可以根據(jù)需要被重復(fù)。注意,對(duì)于某些類型的交易,例如,對(duì)文檔進(jìn)行數(shù)字簽名,其不是交易的一部分,可 能不一定存在賣方或其他第三方;因此,該交易主要是在用戶和信任引擎110之間。在這樣 的情況下,信任引擎110將具有其本身要求的信任等級(jí),其必須被滿足以生成肯定認(rèn)證。然 而,在這樣的情況下,信任引擎110通常不希望向用戶提供保險(xiǎn)以使他增加他自己的簽名 的可信度。上面所述的以及在圖16-18中示出的處理可以使用如上參考信任引擎110所述的 各種通信模式來(lái)執(zhí)行。例如,消息可以是基于網(wǎng)絡(luò)的,并使用信任引擎110與實(shí)時(shí)下載到在 用戶或賣方系統(tǒng)上運(yùn)行的瀏覽器的小程序之間的SSL連接來(lái)發(fā)送。在替換的操作模式中, 用戶和賣方可以使用某些專用應(yīng)用程序,其有助于這樣的仲裁和保險(xiǎn)交易。在另一替換的 操作模式中,可以使用安全電子郵件操作來(lái)調(diào)解上述仲裁,從而允許延遲的評(píng)估和認(rèn)證批 處理。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可以使用適合于環(huán)境和賣方的認(rèn)證要求的不同的通信 模式。下面參考圖19的說(shuō)明描述結(jié)合了上述本發(fā)明各個(gè)方面的范例交易。該示例示出 了由信任引擎110調(diào)解的在用戶和賣方之間的整個(gè)處理。盡管上面具體描述的各個(gè)步驟和
38部件可以被用來(lái)執(zhí)行下面的交易,但是所描述的處理集中在信任引擎110、用戶和賣方之間 的相互作用。在步驟1900,當(dāng)用戶在線觀看網(wǎng)頁(yè)時(shí)填寫(xiě)賣方的網(wǎng)站上的訂單時(shí),交易開(kāi)始。用戶 希望將該使用他的數(shù)字簽名來(lái)簽名的訂單提交至賣方。為了實(shí)現(xiàn)該目的,在步驟1905,用戶 將訂單和其簽名請(qǐng)求一起提交至信任引擎110。用戶還提供將如上所述用于認(rèn)證其身份的 認(rèn)證數(shù)據(jù)。在步驟1910,信任引擎110如上所述地將認(rèn)證數(shù)據(jù)與注冊(cè)數(shù)據(jù)進(jìn)行比較,如果產(chǎn) 生肯定認(rèn)證,則將用該用戶的私鑰簽名的訂單的散列連同訂單本身一起轉(zhuǎn)發(fā)至賣方。 在步驟1915,賣方接收該簽名的訂單,然后在步驟1920,賣方將生成發(fā)貨單 (invoice)或其他與將進(jìn)行的購(gòu)買有關(guān)的合同。在步驟1925,該合同連同簽名請(qǐng)求被發(fā)送 回用戶。在步驟1930,賣方還向信任引擎110發(fā)送對(duì)該合同交易的認(rèn)證請(qǐng)求,包括將由雙方 簽名的合同的散列。為了使合同能夠被雙方數(shù)字簽名,賣方還包括其本身的認(rèn)證數(shù)據(jù),從而 如有必要,賣方在該合同上的簽名還可以在以后被校驗(yàn)。如上所討論的,信任引擎110然后校驗(yàn)賣方提供的認(rèn)證數(shù)據(jù)以確認(rèn)賣方的身份, 以及如果在步驟1935中該數(shù)據(jù)產(chǎn)生肯定認(rèn)證,則在從用戶接收到數(shù)據(jù)時(shí)繼續(xù)步驟1955。如 果賣方的認(rèn)證數(shù)據(jù)不與賣方的注冊(cè)數(shù)據(jù)匹配至期望程度,則返回消息至賣方以請(qǐng)求進(jìn)一步 認(rèn)證。如上所述的,如有必要,在此可以執(zhí)行信任仲裁,以便賣方向信任引擎110成功認(rèn)證 其本身。在步驟1940,當(dāng)用戶接收到該合同時(shí),他檢查該合同,在步驟1945生成認(rèn)證數(shù)據(jù) 以便在合同可接受的情況下簽署該合同,然后在步驟1950發(fā)送合同的散列和他的認(rèn)證數(shù) 據(jù)至信任引擎110。在步驟1955,信任引擎110校驗(yàn)該認(rèn)證數(shù)據(jù),并且如果認(rèn)證良好,則如 下所述地繼續(xù)處理該合同。如上參考圖17和18所述,信任仲裁可以酌情執(zhí)行以彌補(bǔ)在認(rèn) 證可信度和交易所要求的認(rèn)證等級(jí)之間的任何信任差距。在步驟1960,信任引擎110使用用戶的私鑰簽署合同的散列,并將該已簽名的散 列發(fā)送至賣方,其中以其自己的名義簽署完整消息,即,包括用信任引擎110的私鑰510加 密的完整消息(包括用戶的簽名)的散列。在步驟1965中,該消息被賣方接收。該消息代 表已簽名的合同(用用戶的私鑰加密的合同的散列)以來(lái)自信任引擎110的收據(jù)(用信任 引擎110的私鑰加密的、包括已簽名的合同的消息的散列)。在步驟1970中,信任引擎110類似地準(zhǔn)備具有賣方的私鑰的合同的散列,并將由 信任引擎110簽名的該合同的散列轉(zhuǎn)發(fā)至用戶。這樣,在步驟1975,用戶也接收到一份由賣 方簽名的合同的副本,以及由信任引擎110簽名的關(guān)于該已簽名的合同的交付的收據(jù)。除了上面所述,本發(fā)明的另一方面提供了加密服務(wù)提供者模塊(SPM),其可以用于 客戶端應(yīng)用以作為用于訪問(wèn)由上述信任引擎110提供的功能的手段。提供這樣的服務(wù)的一 種有利方式是加密SPM作為中介實(shí)現(xiàn)第三方應(yīng)用編程接口(API)與可通過(guò)網(wǎng)絡(luò)或其他遠(yuǎn)程 連接來(lái)訪問(wèn)的信任引擎110之間的通信。下面參考圖20描述范例性的加密SPM。例如,在典型的系統(tǒng)上,多個(gè)API對(duì)于程序員可用。每個(gè)API提供一組函數(shù)調(diào) 用,其可以被運(yùn)行在系統(tǒng)上的應(yīng)用程序2000調(diào)用。提供適于加密功能、認(rèn)證功能和其他 安全功能的編程接口的API的示例包括由微軟提供的使用其Windows操作系統(tǒng)的加密 API (CAPI) 2010、以及由IBM、Intel和The Open Group的其他成員提議的通用數(shù)據(jù)安全結(jié)
39構(gòu)(CDSA)。在下面的討論中將使用CAPI作為示例性安全API。但是,所述的加密SPM可以 使用CDSA或本領(lǐng)域已知的其他安全API。在調(diào)用加密功能時(shí),該API由用戶系統(tǒng)105或賣方系統(tǒng)120使用。包括在這些功 能中的可能是與執(zhí)行各種加密操作相關(guān)聯(lián)的請(qǐng)求,諸如用特定私鑰加密文檔、簽名文檔、請(qǐng) 求數(shù)字證書(shū)、校驗(yàn)已簽名的文檔上的簽名、以及如在此所述或本領(lǐng)域技術(shù)人員已知的這類 其他的加密功能。這樣的加密功能通常在CAPI 2010所位于的系統(tǒng)處本地地執(zhí)行。這是因?yàn)橥ǔK?調(diào)用的功能需要使用本地用戶系統(tǒng)105的資源(例如,指紋讀取器)或用在本地機(jī)器上執(zhí) 行的庫(kù)來(lái)編程的軟件功能。對(duì)這些本地資源的訪問(wèn)通常由如上所述的一個(gè)或多個(gè)服務(wù)提供 者模塊(SPM)2015、2020提供,這些模塊提供執(zhí)行加密功能所使用的資源。這樣的SPM可以 包括軟件庫(kù)2015以執(zhí)行加密或解密操作,或包括能夠訪問(wèn)專用硬件的驅(qū)動(dòng)器和應(yīng)用程序 2020,例如生物識(shí)別掃描裝置。以與CAPI 2010提供可由系統(tǒng)105的應(yīng)用程序2000使用的 功能差不多的方式,SPM 2015,2020向CAPI提供對(duì)與系統(tǒng)上可用的服務(wù)相關(guān)聯(lián)的較低等級(jí) 的功能和資源的訪問(wèn)。根據(jù)本發(fā)明,可以提供一種加密SPM 2030,其能夠訪問(wèn)由信任引擎110提供的加 密功能,并且能夠通過(guò)CAPI 2010使這些功能對(duì)于應(yīng)用程序2000可用。不同于CAPI 2010 僅能夠通過(guò)SPM 2015、2020訪問(wèn)本地可用的資源的實(shí)施例,在此所述的加密SPM 2030能夠 向位于遠(yuǎn)程的、網(wǎng)絡(luò)可訪問(wèn)的信任引擎110提交加密操作請(qǐng)求以執(zhí)行期望的操作。例如,如果應(yīng)用程序2000需要加密操作,例如簽署文檔,則應(yīng)用程序2000對(duì)適當(dāng) 的CAPI 2010函數(shù)進(jìn)行函數(shù)調(diào)用。CAPI 2010隨后執(zhí)行該函數(shù),以使用由SPM 2015、2020和 加密SPM 2030為其提供的資源。在數(shù)字簽名功能的情況下,加密SPM 2030將生成將通過(guò) 通信鏈路125發(fā)送至信任引擎110的適當(dāng)請(qǐng)求。發(fā)生在加密SPM 2030和信任引擎110之間的操作是與任何其他系統(tǒng)和信任引擎 110之間可能的操作相同的操作。然而,這些功能通過(guò)CAPI 2010被有效地提供至用戶系 統(tǒng)105,從而在用戶系統(tǒng)105本身看來(lái)它們是本地可用的。然而,不同于一般的SPM 2015、 2020,這些功能是在遠(yuǎn)程信任引擎110上執(zhí)行的,并且結(jié)果響應(yīng)于適當(dāng)?shù)恼?qǐng)求通過(guò)通信鏈 路125中繼到加密SPM 2030。加密SPM 2030使得原本可能不可用于用戶系統(tǒng)105或賣方系統(tǒng)12的大量操作對(duì) 于用戶系統(tǒng)105或賣方系統(tǒng)120可用。這些功能包括但不限于加密和解密文檔;發(fā)布數(shù)字 證書(shū);文檔的數(shù)字簽名;校驗(yàn)數(shù)字簽名;以及對(duì)于本領(lǐng)域技術(shù)人員顯而易見(jiàn)的其他操作。在另一實(shí)施例中,本發(fā)明包括用于在任何數(shù)據(jù)集上執(zhí)行本發(fā)明的數(shù)據(jù)安全方法的 完整系統(tǒng)。本發(fā)明的該計(jì)算機(jī)系統(tǒng)包括數(shù)據(jù)拆分模塊,其包括圖8中所示并在此描述的功 能。在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)拆分模塊(有時(shí)在此被稱為安全數(shù)據(jù)解析器)包括解 析程序或軟件套件,其包括數(shù)據(jù)拆分、加密和解密、重建或重新組裝功能。該實(shí)施例還可以 進(jìn)一步包括一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備。數(shù)據(jù)拆分模塊或安全數(shù)據(jù)解析器包括 跨平臺(tái)軟件模塊套件,其集成在電子基礎(chǔ)結(jié)構(gòu)中,或作為需要其數(shù)據(jù)元素極為安全的任何 應(yīng)用程序的插件。該解析處理對(duì)任何類型的數(shù)據(jù)集、以及對(duì)任何和所有文件類型進(jìn)行操作, 或在數(shù)據(jù)庫(kù)中對(duì)該數(shù)據(jù)庫(kù)中的任何數(shù)據(jù)行、列或單元進(jìn)行操作。在一個(gè)實(shí)施例中,本發(fā)明的解析處理可以以模塊化的分層形式來(lái)設(shè)計(jì),并且任何加密處理都適于用在本發(fā)明的處理中。本發(fā)明的解析和拆分處理的模塊化層級(jí)可以包括但 不限于1)加密拆分,分散并安全存儲(chǔ)在多個(gè)位置;2)加密,加密拆分,分散并安全存儲(chǔ)在 多個(gè)位置;3)加密,加密拆分,加密每份,然后分散并安全存儲(chǔ)在多個(gè)位置;以及4)加密,加 密拆分,用不同于在第一步驟中使用的加密類型加密每份,然后分散并安全存儲(chǔ)在多個(gè)位置。在一個(gè)實(shí)施例中,所述處理包括根據(jù)生成的隨機(jī)數(shù)的內(nèi)容或密鑰來(lái)拆分?jǐn)?shù)據(jù),以 及對(duì)在要保護(hù)的數(shù)據(jù)的拆分的加密中使用的密鑰執(zhí)行相同的加密拆分,以形成兩個(gè)或更多 部分或份的解析和拆分?jǐn)?shù)據(jù),并且在一個(gè)實(shí)施例中優(yōu)選地形成四個(gè)或更多部分的解析和拆 分?jǐn)?shù)據(jù),加密所有部分,然后將這些部分分散并存回至數(shù)據(jù)庫(kù),或?qū)⑺鼈冎匦路胖玫饺魏沃?定的裝置,這些裝置是固定或可移動(dòng)的,取決于請(qǐng)求者對(duì)保密性和安全性的要求??商鎿Q 地,在另一實(shí)施例中,加密可以在由拆分模塊或安全數(shù)據(jù)解析器拆分?jǐn)?shù)據(jù)集之前發(fā)生。如在 此實(shí)施例中描述的那樣被處理的原始數(shù)據(jù)被加密和混亂(obfuscate)并且被保護(hù)。如果希 望,加密元素的分散事實(shí)上可以在任何地方,包括但不限于單個(gè)服務(wù)器或數(shù)據(jù)存儲(chǔ)裝置,或 在分開(kāi)的數(shù)據(jù)存儲(chǔ)設(shè)備或裝置之間。在一個(gè)實(shí)施例中,加密密鑰管理可以被包括在軟件套 件中,或者在另一實(shí)施例中,可以集成在已有基礎(chǔ)結(jié)構(gòu)或任何其他期望位置中。加密的拆分(加密拆分,cryptosplit)將數(shù)據(jù)劃分成N份。該劃分可以基于任何 大小的數(shù)據(jù)單元,包括單個(gè)位、多個(gè)位、字節(jié)、千字節(jié)、兆字節(jié)或更大的單元,以及預(yù)定或隨 機(jī)生成的數(shù)據(jù)單元大小的任何模式或組合?;陔S機(jī)或預(yù)定一組值,這些單元也可以具有 不同的大小。這意味著數(shù)據(jù)可以被看做是這些單元的序列。以該方式,數(shù)據(jù)單元的大小本身 可以使得數(shù)據(jù)更安全,例如,通過(guò)使用數(shù)據(jù)單元大小的一個(gè)或多個(gè)預(yù)定或隨機(jī)生成的模式、 序列或組合。單元然后(隨機(jī)地或以預(yù)定的一組值)被分配成N份。該分配也可以包括打 亂備份中的單元的順序。本領(lǐng)域的普通技術(shù)人員應(yīng)該容易理解將數(shù)據(jù)單元分成多個(gè)份可以 根據(jù)多種可能的選擇來(lái)執(zhí)行,包括但不限于固定大小、預(yù)定大小、或預(yù)定或隨機(jī)生成的數(shù)據(jù) 單元大小的一種或多種組合、模式或序列。這種加密的拆分處理或加密拆分的一個(gè)示例將考慮數(shù)據(jù)的大小為23字節(jié),數(shù)據(jù) 單元大小被選擇為1字節(jié),以及被選擇的份數(shù)是4。每個(gè)字節(jié)將被分配至這4份之一。假設(shè) 隨機(jī)分配,密鑰可能被得到以創(chuàng)建具有23個(gè)隨機(jī)數(shù)(rl,r2,r3至r23)的序列,每個(gè)隨機(jī)數(shù) 具有對(duì)應(yīng)于4份的在1和4之間的值。每個(gè)數(shù)據(jù)單元(在該示例中有23個(gè)單獨(dú)字節(jié)的數(shù) 據(jù))與對(duì)應(yīng)于4份之一的23個(gè)隨機(jī)數(shù)之一相關(guān)聯(lián)。通過(guò)將數(shù)據(jù)的第一字節(jié)置于份號(hào)rl、字 節(jié)2置于份r2、字節(jié)3置于份r3、直到數(shù)據(jù)的第23個(gè)字節(jié)置于份r23來(lái)將數(shù)據(jù)的各字節(jié)分 配成4份。本領(lǐng)域的普通技術(shù)人員容易理解多種其他可能步驟和步驟的組合和序列,包括 數(shù)據(jù)單元的大小,可以被應(yīng)用在本發(fā)明的加密拆分處理中,并且上述示例是加密拆分?jǐn)?shù)據(jù) 的一種處理的非限制性描述。為了重新創(chuàng)建原始數(shù)據(jù),將執(zhí)行相反操作。在本發(fā)明的加密拆分處理的另一實(shí)施例中,加密拆分處理的一個(gè)選項(xiàng)是提供份的 足夠冗余,從而僅需要份的子集來(lái)重新組裝或恢復(fù)數(shù)據(jù)至其原始或可用形式。作為非限制 示例,加密拆分可以作為“4中3個(gè)”加密拆分來(lái)執(zhí)行,從而4份中僅3份是必要的以重新組 裝或恢復(fù)數(shù)據(jù)至其原始或可用形式。這也被稱為“N中M個(gè)加密拆分”,其中N是份的總數(shù), 以及M至少比N小1。本領(lǐng)域的技術(shù)人員應(yīng)該理解在本發(fā)明的加密拆分處理中存在創(chuàng)建該 冗余的多種可能性。
在本發(fā)明的加密拆分處理的一個(gè)實(shí)施例中,每個(gè)數(shù)據(jù)單元被存儲(chǔ)在兩份中,主份 和備用份。使用上述的“4中3個(gè)”加密拆分處理,任何一份可以缺少,由于僅需要總計(jì)4份 中的3份,所以這足以重新組裝或恢復(fù)沒(méi)有缺少數(shù)據(jù)單元的原始數(shù)據(jù)。如在此所述的,生成 對(duì)應(yīng)于多個(gè)份之一的隨機(jī)數(shù)。隨機(jī)數(shù)與數(shù)據(jù)單元相關(guān)聯(lián),并基于密鑰存儲(chǔ)在對(duì)應(yīng)的份中。在 該實(shí)施例中,使用一個(gè)密鑰來(lái)生成主份和備用份隨機(jī)數(shù)。如在此所述的,對(duì)于本發(fā)明的加密 拆分處理,生成等于數(shù)據(jù)單元的數(shù)量的從0至3的一組隨機(jī)數(shù)(也稱作主份號(hào))。然后生 成等于數(shù)據(jù)單元的數(shù)量的從1至3的另一組隨機(jī)數(shù)(也稱作備用份號(hào))。每個(gè)數(shù)據(jù)單元然 后與一個(gè)主份號(hào)和一個(gè)備用份號(hào)相關(guān)聯(lián)??商鎿Q地,可以生成小于數(shù)據(jù)單元數(shù)量的一組隨 機(jī)數(shù),但是這可能降低敏感數(shù)據(jù)的安全性。主份號(hào)被用于確定數(shù)據(jù)單元被存儲(chǔ)在哪個(gè)份中。 備用份號(hào)與主份號(hào)結(jié)合以創(chuàng)建0和3之間的第三份號(hào),并且該號(hào)被用于確定數(shù)據(jù)單元被存 儲(chǔ)在哪個(gè)份中。在該示例中,確定第三份號(hào)的等式是(主份號(hào)+備用份號(hào))M0D4 =第三份號(hào)。在上述實(shí)施例中,主份號(hào)在0和3之間以及備用份號(hào)在1和3之間確保第三份號(hào) 不同于主份號(hào)。這就導(dǎo)致數(shù)據(jù)單元存儲(chǔ)在兩個(gè)不同份中。本領(lǐng)域的技術(shù)人員容易理解除了 在此公開(kāi)的實(shí)施例,存在多種執(zhí)行冗余加密拆分和非冗余加密拆分的方法。例如,在每份中 的數(shù)據(jù)單元可以使用不同算法被打亂。這種數(shù)據(jù)單元打亂例如可以在原始數(shù)據(jù)被拆分成數(shù) 據(jù)單元時(shí)、或在數(shù)據(jù)單元被置于份中之后、或在份滿了之后執(zhí)行。在此描述的各種加密拆分處理和數(shù)據(jù)打亂處理,以及本發(fā)明的加密拆分和數(shù)據(jù)打 亂方法的所有其他實(shí)施例可以在任何大小的數(shù)據(jù)單元上執(zhí)行,包括但不限于,與單個(gè)位一 樣小、多位、字節(jié)、千字節(jié)、兆字節(jié)或更大。執(zhí)行在此所述的加密拆分處理的源代碼的一個(gè)實(shí)施例的一個(gè)示例是DATA [ 1 24]-具有將被拆分的數(shù)據(jù)的字節(jié)數(shù)組SHARES
-2維數(shù)組,每行代表份之一RAND0M[1:24]_在0. . 3范圍內(nèi)的數(shù)組隨機(jī)數(shù)SI = 1 ;S2 = 1 ;S3 = 1 ;S4 = 1 ;For J = 1 to 24 doBeginIF RANDOM [J [ == OthenBeginSHARES [1, SI] = DATA [J];SI = Sl+1 ;EndELSE IF RANDOM [J [ == lthenBeginSHARES [2, S2] = DATA [J];S2 = S2+1 ;
END
ELSEIF RANDOM[J[==2then
Begin
Shares[3, S3]=data[J];
S3 = S3+1 ;
End
Elsebegin
Shares[4, S4]=data[J];
S4 = S4+1 ;
End ;
END ;
執(zhí)行在此描述的加密拆分RAID處理的源代碼的一個(gè)實(shí)施例的示例是
生成兩組數(shù),Primary Share是0至3,BackupShare是1至3。然后使用與上述加
密拆分中的處理相同的處理將每個(gè)數(shù)據(jù)單元置于share[primarysharetl]]以及share[(p rimaryshare [1] +backupshare [1]) ]mod 4中。該方法可以被縮放至任何大小N,其中僅N-1 份是恢復(fù)數(shù)據(jù)所必要的。取回、重新結(jié)合、重新組裝或重建加密數(shù)據(jù)元素可以使用任何數(shù)量的認(rèn)證技術(shù),包 括但不限于生物識(shí)別,例如指紋識(shí)別、面部掃描、手掃描、虹膜掃描、視網(wǎng)膜掃描、耳朵掃 描、血管模式識(shí)別或DNA分析。本發(fā)明的數(shù)據(jù)拆分和/或解析模塊可以根據(jù)需要被集成在 多種基本結(jié)構(gòu)產(chǎn)品或應(yīng)用中。本領(lǐng)域已知的傳統(tǒng)加密技術(shù)依賴于用于加密數(shù)據(jù)的一個(gè)或多個(gè)密鑰,使其在沒(méi)有 密鑰時(shí)不可用。然而,該數(shù)據(jù)保持完整和完好并易于受攻擊。在一個(gè)實(shí)施例中,本發(fā)明的安 全數(shù)據(jù)解析器通過(guò)執(zhí)行加密解析和拆分加密文件成兩個(gè)或更多個(gè)部分或份(在另一個(gè)實(shí) 施例中,優(yōu)選為四個(gè)或更多個(gè)份),添加另一層加密至每個(gè)數(shù)據(jù)份,然后將各份存儲(chǔ)在不同 物理和/或邏輯位置,來(lái)解決這個(gè)問(wèn)題。當(dāng)通過(guò)使用諸如數(shù)據(jù)存儲(chǔ)裝置之類的可移除裝置 或?qū)⒃摲葜糜诹硪环降目刂葡露鴮⒁粋€(gè)或多個(gè)數(shù)據(jù)份物理地從系統(tǒng)中去除時(shí),有效地去除 了任何泄露被保護(hù)數(shù)據(jù)的可能性。本發(fā)明的安全數(shù)據(jù)解析器的一個(gè)實(shí)施例的示例和其如何被使用的示例在圖21中 示出并在下面描述。然而,本領(lǐng)域的技術(shù)人員應(yīng)該容易理解本發(fā)明的安全數(shù)據(jù)解析器可以 以除下面非限制示例之外的多種方式被應(yīng)用。作為一個(gè)部署選項(xiàng),以及在一個(gè)實(shí)施例中,安 全數(shù)據(jù)解析器可以使用會(huì)話密鑰的外部會(huì)話密鑰管理或安全內(nèi)部存儲(chǔ)來(lái)實(shí)現(xiàn)。在實(shí)現(xiàn)時(shí), 解析器主密鑰將被生成,其將被用于保護(hù)應(yīng)用和用于加密目的。還應(yīng)該注意,在得到的被保 護(hù)數(shù)據(jù)中結(jié)合解析器主密鑰考慮到了由工作組、企業(yè)或擴(kuò)充受眾中的個(gè)體共享被保護(hù)數(shù)據(jù) 的靈活性。如圖21中所示,本發(fā)明的該實(shí)施例示出了由安全數(shù)據(jù)解析器對(duì)數(shù)據(jù)執(zhí)行的用于 與解析數(shù)據(jù)一起存儲(chǔ)會(huì)話主密鑰的處理的步驟1.生成會(huì)話主密鑰以及使用RS1流密碼(stream cipher)來(lái)加密數(shù)據(jù)。2.根據(jù)會(huì)話主密鑰的模式將得到的加密數(shù)據(jù)分成四個(gè)份或部分的解析數(shù)據(jù)。3.在該方法的實(shí)施例中,會(huì)話主密鑰將與被保護(hù)數(shù)據(jù)份一起存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中。
43根據(jù)解析器主密鑰的模式將會(huì)話主密鑰分開(kāi)并將密鑰數(shù)據(jù)附加至加密的解析數(shù)據(jù)。4.得到的四份數(shù)據(jù)將包括原始數(shù)據(jù)的加密部分和會(huì)話主密鑰的各部分。生成用于 四份數(shù)據(jù)中的每份數(shù)據(jù)的流密鑰。5.加密每份,然后將加密密鑰存儲(chǔ)在與加密數(shù)據(jù)部分或份不同的位置份1得到 密鑰4,份2得到密鑰1,份3得到密鑰2,份4得到密鑰3。為了恢復(fù)原始數(shù)據(jù)格式,步驟被顛倒。本領(lǐng)域的技術(shù)人員應(yīng)該容易理解在此描述的方法的某些步驟可以根據(jù)需要以不 同的順序被執(zhí)行,或被重復(fù)多次。本領(lǐng)域的技術(shù)人員還容易理解數(shù)據(jù)的各部分可以彼此不 同地被處理。例如,可以僅對(duì)解析數(shù)據(jù)的一個(gè)部分執(zhí)行多個(gè)解析步驟。只要數(shù)據(jù)可以被重 新組裝、重建、重組、解密或恢復(fù)至其原始或其他可用形式,解析數(shù)據(jù)的每個(gè)部分可以以任 何期望方式被唯一地保護(hù)。如圖22所示和在此所述,本發(fā)明的另一實(shí)施例包括由安全數(shù)據(jù)解析器對(duì)數(shù)據(jù)執(zhí) 行的用于在一個(gè)或多個(gè)分開(kāi)的密鑰管理表中存儲(chǔ)會(huì)話主密鑰數(shù)據(jù)的處理的步驟1.生成會(huì)話主密鑰以及使用RS1流密碼來(lái)加密數(shù)據(jù)。2.根據(jù)會(huì)話主密鑰的模式,將得到的加密數(shù)據(jù)分成4個(gè)份或部分的解析數(shù)據(jù)。3.在本發(fā)明的方法的實(shí)施例中,會(huì)話主密鑰將被存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中的單獨(dú)的密鑰 管理表中。為該交易生成唯一的交易ID。將交易ID和會(huì)話主密鑰存儲(chǔ)在單獨(dú)的密鑰管理表 中根據(jù)解析器主密鑰的模式分割交易ID并將數(shù)據(jù)附加至加密的被解析或被分割的數(shù)據(jù)。4.得到的四份數(shù)據(jù)將包括加密的原始數(shù)據(jù)各部分和交易ID各部分。5.為四份數(shù)據(jù)中的每一份生成流密鑰。6.加密每份,然后將加密密鑰存儲(chǔ)在與加密數(shù)據(jù)部分或份不同的位置份1得到 密鑰4,份2得到密鑰1,份3得到密鑰2,份4得到密鑰3。為了恢復(fù)原始數(shù)據(jù)格式,步驟被顛倒。本領(lǐng)域的技術(shù)人員應(yīng)該容易理解在此描述的方法的某些步驟可以根據(jù)需要以不 同的順序被執(zhí)行,或被重復(fù)多次。本領(lǐng)域的技術(shù)人員還容易理解數(shù)據(jù)的各部分可以彼此不 同地被處理。例如,可以僅對(duì)解析數(shù)據(jù)的一個(gè)部分執(zhí)行多個(gè)分割或解析步驟。只要數(shù)據(jù)可 以被重新組裝、重建、重組、解密或恢復(fù)至其原始或其他可用形式,解析數(shù)據(jù)的每個(gè)部分可 以以任何期望方式被唯一地保護(hù)。如圖23中所示,本發(fā)明的這個(gè)實(shí)施例示出了由安全數(shù)據(jù)解析器對(duì)數(shù)據(jù)執(zhí)行的用 于與解析數(shù)據(jù)一起存儲(chǔ)會(huì)話主密鑰的處理的步驟1.訪問(wèn)與認(rèn)證的用戶相關(guān)聯(lián)的解析器主密鑰。2.生成唯一的會(huì)話主密鑰。3.從解析器主密鑰和會(huì)話主密鑰的異或函數(shù)得到中間密鑰。4.可選地,使用以中間密鑰作為密鑰的已有或新的加密算法來(lái)加密數(shù)據(jù)。5.根據(jù)中間密鑰的模式,將得到的可選加密的數(shù)據(jù)分成四個(gè)份或部分的解析數(shù) 據(jù)。6.在該方法的實(shí)施例中,會(huì)話主密鑰將與被保護(hù)數(shù)據(jù)份一起存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中。 根據(jù)解析器主密鑰的模式分割會(huì)話主密鑰并將密鑰數(shù)據(jù)附加至可選加密的解析數(shù)據(jù)份。7.得到的多份數(shù)據(jù)將包括原始數(shù)據(jù)的各可選加密部分和會(huì)話主密鑰的各部分。
44
8.可選地,為四個(gè)數(shù)據(jù)份中的每份生成加密密鑰。9.可選地,使用已有或新的加密算法加密每份,然后將加密密鑰存儲(chǔ)在不同于加 密數(shù)據(jù)部分或份的位置例如,份1得到密鑰4,份2得到密鑰1,份3得到密鑰2,份4得到密鑰3.為了恢復(fù)原始數(shù)據(jù)格式,步驟被顛倒。本領(lǐng)域的技術(shù)人員應(yīng)該容易理解在此描述的方法的某些步驟可以根據(jù)需要以不 同的順序被執(zhí)行,或被重復(fù)多次。本領(lǐng)域的技術(shù)人員還容易理解數(shù)據(jù)的各部分可以彼此不 同地被處理。例如,可以僅對(duì)解析數(shù)據(jù)的一個(gè)部分執(zhí)行多個(gè)解析步驟。只要數(shù)據(jù)可以被重 新組裝、重建、重組、解密或恢復(fù)至其原始或其他可用形式,解析數(shù)據(jù)的每個(gè)部分可以以任 何期望方式被唯一地保護(hù)。如圖24所示和在此所述,本發(fā)明的另一實(shí)施例包括由安全數(shù)據(jù)解析器對(duì)數(shù)據(jù)執(zhí) 行的用于在一個(gè)或多個(gè)分開(kāi)的密鑰管理表中存儲(chǔ)會(huì)話主密鑰數(shù)據(jù)的處理的步驟1.訪問(wèn)與認(rèn)證的用戶相關(guān)聯(lián)的解析器主密鑰。2.生成唯一的會(huì)話主密鑰。3.從解析器主密鑰和會(huì)話主密鑰的異或函數(shù)得到中間密鑰。4.可選地,使用以中間密鑰作為密鑰的已有或新的加密算法來(lái)加密數(shù)據(jù)。5.根據(jù)中間密鑰的模式,將得到的可選加密的數(shù)據(jù)分成四個(gè)份或部分的解析數(shù) 據(jù)。6.在本發(fā)明的方法的實(shí)施例中,會(huì)話主密鑰將存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中的單獨(dú)的密鑰管 理表中。為該交易生成唯一的交易ID。將交易ID和會(huì)話主密鑰存儲(chǔ)在單獨(dú)的密鑰管理表 中或?qū)?huì)話主密鑰和交易ID傳回調(diào)用程序以便外部管理。根據(jù)解析器主密鑰的模式分割 交易ID并將數(shù)據(jù)附加至可選加密的被解析或分割的數(shù)據(jù)。7.得到的四份數(shù)據(jù)將包括原始數(shù)據(jù)的各可選加密部分和交易ID的各部分。8.可選地,為四個(gè)數(shù)據(jù)份中的每份生成加密密鑰。9.可選地,加密每份,然后將加密密鑰存儲(chǔ)在不同于加密數(shù)據(jù)部分或份的位置。例 如份1得到密鑰4,份2得到密鑰1,份3得到密鑰2,份4得到密鑰3。 為了恢復(fù)原始數(shù)據(jù)格式,步驟被顛倒。本領(lǐng)域的技術(shù)人員應(yīng)該容易理解在此描述的方法的某些步驟可以根據(jù)需要以不 同的順序被執(zhí)行,或被重復(fù)多次。本領(lǐng)域的技術(shù)人員還容易理解數(shù)據(jù)的各部分可以彼此不 同地被處理。例如,可以僅對(duì)解析數(shù)據(jù)的一個(gè)部分執(zhí)行多個(gè)分割或解析步驟。只要數(shù)據(jù)可 以被重新組裝、重建、重組、解密或恢復(fù)至其原始或其他可用形式,解析數(shù)據(jù)的每個(gè)部分可 以以任何期望方式被唯一地保護(hù)。本領(lǐng)域的技術(shù)人員易于理解多種加密方法適于在本發(fā)明的方法中使用。一次性密 鑰(One Time Pad)算法通常被稱作最安全的加密方法之一,并且適于在本發(fā)明的發(fā)明中使 用。使用一次性密鑰算法要求只要要保護(hù)數(shù)據(jù)就產(chǎn)生一個(gè)密鑰。使用該方法在某些情況下 可能是不太期望的,例如因?yàn)橐Wo(hù)的數(shù)據(jù)集的大小而導(dǎo)致要生成和管理非常長(zhǎng)的密鑰的 那些情況。在一次性密鑰(OTP)算法中,使用簡(jiǎn)單的異或函數(shù)X0R。對(duì)于相同長(zhǎng)度的兩個(gè)二 進(jìn)制流x和y,x XOR y意味著x和y的逐位異或。在位級(jí)生成
0 X0R 0 = 00 X0R 1 = 11 X0R 0 = 11 X0R 1 = 0在此描述針對(duì)要拆分的n字節(jié)秘密s (或數(shù)據(jù)集)的該處理的示例。該處理將生 成n字節(jié)隨機(jī)值a,然后設(shè)置b = a XOR s。 注意可以通過(guò)以下等式得到“ s ” s = a XOR b。值a和b被稱作份或部分并被放置在分開(kāi)的倉(cāng)庫(kù)中。一旦秘密s被拆分成兩個(gè)或 更多份,就以安全方式將其丟棄。本發(fā)明的安全數(shù)據(jù)解析器可以使用該功能,執(zhí)行結(jié)合多個(gè)不同秘密密鑰值K1,K2, K3,Kn, K5的多個(gè)XOR功能。在操作的開(kāi)始,要保護(hù)的數(shù)據(jù)通過(guò)第一加密操作,安全數(shù)據(jù)= 數(shù)據(jù)X0R秘密密鑰5 S = D XOR K5為了安全地將得到的加密數(shù)據(jù)存儲(chǔ)在例如四個(gè)份Sl,S2,S3,Sn中,根據(jù)K5的值, 數(shù)據(jù)被解析并被拆分成“n”個(gè)段或份。該操作產(chǎn)生原始加密數(shù)據(jù)的“n”個(gè)偽隨機(jī)份。然后 可以對(duì)具有剩余秘密密鑰值的每個(gè)份執(zhí)行隨后的X0R函數(shù),例如安全數(shù)據(jù)段1 =加密數(shù)據(jù) 份1X0R秘密密鑰1 SD1 = SI XOR K1SD2 = S2 XOR K2SD3 = S3 XOR K3SDn = Sn XOR Kn.在一個(gè)實(shí)施例中,可能不期望使任何一個(gè)倉(cāng)庫(kù)包括足夠信息來(lái)解密保存在那里的 信息,因此解密該份所需的密鑰被存儲(chǔ)在不同的數(shù)據(jù)倉(cāng)庫(kù)中倉(cāng)庫(kù)l:SDl,Kn倉(cāng)庫(kù)2 :SD2,K1倉(cāng)庫(kù)3 :SD3,K2倉(cāng)庫(kù) n:SDn,K3此外,附加至每份的可以是找回原始會(huì)話加密密鑰K5所需的信息。因此,在這里 所述的密鑰管理示例中,被拆分成“n”份的交易ID根據(jù)依賴于安裝的解析器主密鑰(TID1, TID2,TID3,TIDn)的內(nèi)容參考原始會(huì)話主密鑰倉(cāng)庫(kù)1 :SD1,Kn,TID1倉(cāng)庫(kù)2 :SD2,Kl,TID2倉(cāng)庫(kù)3 :SD3, K2, TID3倉(cāng)庫(kù)n :SDn,K3,TIDn在這里描述的結(jié)合會(huì)話密鑰示例中,會(huì)話主密鑰根據(jù)依賴于安裝的解析器主密鑰 (SK1,SK2,SK3,SKn)被拆分成 “n” 份倉(cāng)庫(kù)1 :SD1,Kn,SK1
46
倉(cāng)庫(kù)2 :SD2,Kl,SK2倉(cāng)庫(kù)3 :SD3,K2,SK3倉(cāng)庫(kù)n :SDn,K3,SKn根據(jù)該示例,除非所有四份都被找回,否則數(shù)據(jù)不能被重新組裝。即使所有四份都 被獲取,在無(wú)法訪問(wèn)會(huì)話主密鑰和解析器主密鑰的情況下,也不存在重新組裝或恢復(fù)原始 信息的可能性。該示例已經(jīng)描述了本發(fā)明的方法的實(shí)施例,在另一實(shí)施例中還描述了將份置于倉(cāng) 庫(kù)中所用的算法,從而來(lái)自所有倉(cāng)庫(kù)的份能夠被結(jié)合以形成秘密認(rèn)證材料。所需的計(jì)算非 常簡(jiǎn)單和迅速。然而,對(duì)于一次性密鑰(OTP)算法,可能存在導(dǎo)致其不太被希望使用的情 況,例如,因?yàn)槊荑€大小與將被存儲(chǔ)的數(shù)據(jù)大小相同而導(dǎo)致將被保護(hù)的數(shù)據(jù)集很大。因此, 需要存儲(chǔ)和傳輸大約兩倍于原始數(shù)據(jù)的量,這在某些情況下是不太期望的。流密碼RS1流密碼RS1拆分技術(shù)非常類似于在此描述的OTP拆分技術(shù)。代替n字節(jié)隨機(jī)值, 生成n’ = min(n,16)字節(jié)隨機(jī)值并用作RSI流密碼算法的密鑰。RS1流密碼算法的優(yōu)點(diǎn)是 從小得多的種子數(shù)來(lái)生成偽隨機(jī)密鑰。RS1流密碼加密執(zhí)行的速度也大約是本領(lǐng)域已知的 三重DES加密的速度的10倍而不損害安全性。RS1流密碼算法在本領(lǐng)域是公知的,并且可 以用于生成在X0R函數(shù)中使用的密鑰。RS1流密碼算法與其他商用的流密碼算法(例如, RSA Security, Inc的RC4 流密碼算法)共同使用,并且適于在本發(fā)明的方法中使用。使用上述密鑰符號(hào),K1至K5現(xiàn)在是n’字節(jié)隨機(jī)值,并且我們?cè)O(shè)置SD1 = SI XOR E(K1)SD2 = S2 XOR E (K2)SD3 = S3 XOR E (K3)SDn = Sn XOR E (Kn)其中E(K1)至E(Kn)是從以Kl至Kn作為密鑰的RSI流密碼算法的輸出的前n’ 字節(jié)。如在此所述,份現(xiàn)在被放置到數(shù)據(jù)倉(cāng)庫(kù)中。在該流密碼RS1算法中,所需的要求的計(jì)算幾乎與OTP算法一樣簡(jiǎn)單和迅速。該 示例中使用RS1流密碼的好處在于系統(tǒng)平均需要存儲(chǔ)和發(fā)送僅僅比每份要保護(hù)的原始數(shù) 據(jù)的大小多大約16字節(jié)。當(dāng)原始數(shù)據(jù)的大小大于16字節(jié)時(shí),該RS1算法比OTP算法更有 效,因?yàn)槠漭^短。本領(lǐng)域的技術(shù)人員容易理解多種加密方法或算法適合在本發(fā)明中使用,包 括但不限于RSI、OTP、RC4 、三重DES和AES。與傳統(tǒng)加密方法相比,本發(fā)明的數(shù)據(jù)安全方法和計(jì)算機(jī)系統(tǒng)提供重要優(yōu)點(diǎn)。一個(gè) 優(yōu)點(diǎn)是從將數(shù)據(jù)的份移動(dòng)至在一個(gè)或多個(gè)數(shù)據(jù)倉(cāng)庫(kù)或存儲(chǔ)裝置上的不同位置(可能在不 同邏輯、物理或地理位置)所得到的安全性。例如,當(dāng)數(shù)據(jù)的份被物理拆分并在不同人員的 控制下時(shí),泄露數(shù)據(jù)的可能性被大大降低。本發(fā)明的方法和系統(tǒng)的另一優(yōu)點(diǎn)是用于保護(hù)數(shù)據(jù)的本發(fā)明的方法的步驟組合提 供了一種維護(hù)敏感數(shù)據(jù)的安全性的綜合處理。數(shù)據(jù)被用安全密鑰加密并根據(jù)該安全密鑰被 拆分成一個(gè)或多個(gè)份(在一個(gè)實(shí)施例中是四份)。安全密鑰被安全地存儲(chǔ),帶有根據(jù)安全密 鑰被保護(hù)成四個(gè)份的引用指針。各數(shù)據(jù)份然后被分別加密,并且各密鑰隨著不同加密份被 安全存儲(chǔ)。當(dāng)組合時(shí),根據(jù)在此公開(kāi)的方法保護(hù)數(shù)據(jù)的整個(gè)處理成為數(shù)據(jù)安全的綜合包。
47
根據(jù)本發(fā)明的方法保護(hù)的數(shù)據(jù)容易被取回以及被恢復(fù)、重建、重新組裝、解密或返 回成其原始的或其他適于使用的形式。為恢復(fù)原始數(shù)據(jù),可以使用下面的項(xiàng)目1.數(shù)據(jù)集的所有份或部分。2.再現(xiàn)用于保護(hù)數(shù)據(jù)的方法的處理流程的知識(shí)和能力。3.對(duì)會(huì)話主密鑰的訪問(wèn)。4.對(duì)解析器主密鑰的訪問(wèn)。因此,可以期望計(jì)劃一種安全的安裝,其中上述元素中的至少一個(gè)可能與系統(tǒng)的 剩余部分物理分開(kāi)(例如處于不同系統(tǒng)管理員的控制之下)。通過(guò)使用解析器主密鑰可以加強(qiáng)對(duì)調(diào)用數(shù)據(jù)保護(hù)方法應(yīng)用的不良應(yīng)用程序的防 范。在采取任何動(dòng)作之前,在本發(fā)明的該實(shí)施例中可以要求安全數(shù)據(jù)解析器和應(yīng)用程序之 間的相互認(rèn)證握手。系統(tǒng)的安全性表示不存在重新創(chuàng)建原始數(shù)據(jù)的“后門(mén)”方法。對(duì)于可能發(fā)生數(shù)據(jù) 恢復(fù)問(wèn)題的安裝,安全數(shù)據(jù)解析器可以被加強(qiáng)以提供四個(gè)份和會(huì)話主密鑰倉(cāng)庫(kù)的鏡像。諸 如RAID(廉價(jià)磁盤(pán)冗余陣列,用于在多個(gè)磁盤(pán)上分布信息)之類的硬件選擇和諸如復(fù)制之 類的軟件選擇也可以有助于數(shù)據(jù)恢復(fù)計(jì)劃。密鉬管理在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)保護(hù)方法使用三組密鑰用于加密操作?;诎惭b, 每組密鑰可以具有單獨(dú)的密鑰存儲(chǔ)、取回、安全和恢復(fù)選項(xiàng)??梢员皇褂玫拿荑€包括但不限 于解析器主密鑰該密鑰是與安全數(shù)據(jù)解析器的安裝相關(guān)聯(lián)的單獨(dú)密鑰。其被安裝在已經(jīng)被配置了 安全數(shù)據(jù)解析器的服務(wù)器上。存在多種適于保護(hù)該密鑰的選項(xiàng),包括但不限于,例如,智能 卡、分開(kāi)的硬件密鑰存儲(chǔ)器、標(biāo)準(zhǔn)密鑰存儲(chǔ)器、定制密鑰存儲(chǔ)器、或在安全的數(shù)據(jù)庫(kù)表中。會(huì)話主密鑰會(huì)話主密鑰可以在每次保護(hù)數(shù)據(jù)時(shí)生成。會(huì)話主密鑰被用于在解析和拆分操作之 前加密該數(shù)據(jù)。其也可以被結(jié)合為解析被加密的數(shù)據(jù)的方式(如果會(huì)話主密鑰沒(méi)有集成在 解析數(shù)據(jù)中)。會(huì)話主密鑰可以以多種方式被保護(hù),包括但不限于,例如,標(biāo)準(zhǔn)密鑰存儲(chǔ)器、 定制密鑰存儲(chǔ)器、分開(kāi)的數(shù)據(jù)庫(kù)表、或在加密份中被保護(hù)。份加密密鑰對(duì)于創(chuàng)建的數(shù)據(jù)集的每個(gè)份或部分,可以生成單獨(dú)的份加密密鑰以進(jìn)一步加密這 些份。份加密密鑰可以被存儲(chǔ)在與被加密的份不同的份中。本領(lǐng)域的技術(shù)人員容易理解,本發(fā)明的數(shù)據(jù)保護(hù)方法和計(jì)算機(jī)系統(tǒng)被廣泛應(yīng)用于 任何設(shè)置或環(huán)境中的任何類型的數(shù)據(jù)。除了通過(guò)因特網(wǎng)或在顧客與賣方之間執(zhí)行的商業(yè)應(yīng) 用,本發(fā)明的數(shù)據(jù)保護(hù)方法和計(jì)算機(jī)系統(tǒng)非常適合應(yīng)用于非商業(yè)或私有設(shè)置或環(huán)境中。可 以使用在此描述的方法和系統(tǒng)來(lái)保護(hù)期望對(duì)任何未授權(quán)用戶保密的任何數(shù)據(jù)集。例如,通 過(guò)采用本發(fā)明的用于保護(hù)數(shù)據(jù)的方法和系統(tǒng),對(duì)公司或組織內(nèi)部的特定數(shù)據(jù)庫(kù)的訪問(wèn)可以 有利地被限制到僅僅所選的用戶。另一示例是生成、修改或訪問(wèn)文檔,其中期望限制訪問(wèn)或 者防止在所選擇的個(gè)人、計(jì)算機(jī)或工作站群組之外的未授權(quán)或意外訪問(wèn)或公開(kāi)。本發(fā)明的 數(shù)據(jù)保護(hù)的方法和系統(tǒng)的這些和其他示例方式能夠應(yīng)用于需要任何設(shè)置的任何非商業(yè)或
48商業(yè)環(huán)境或設(shè)置,包括但不限于任何組織、政府機(jī)構(gòu)或公司。在本發(fā)明的另一實(shí)施例中,數(shù)據(jù)保護(hù)方法使用三組密鑰用于加密操作。基于安裝, 每組密鑰可以具有單獨(dú)的密鑰存儲(chǔ)、取回、安全和恢復(fù)選項(xiàng)??梢员皇褂玫拿荑€包括但不限 于1.解析器主密鉬該密鑰是與安全數(shù)據(jù)解析器的安裝相關(guān)聯(lián)的單獨(dú)的密鑰。其安裝在已配置了安全 數(shù)據(jù)解析器的服務(wù)器上。有多種適合于保護(hù)該密鑰的選項(xiàng),包括但不限于,例如,智能卡、分 開(kāi)的硬件密鑰存儲(chǔ)器、標(biāo)準(zhǔn)密鑰存儲(chǔ)器、定制密鑰存儲(chǔ)器、或在安全的數(shù)據(jù)庫(kù)表中。2.會(huì)話主密鉬會(huì)話主密鑰可以在每次數(shù)據(jù)被保護(hù)時(shí)生成。會(huì)話主密鑰用于與解析器主密鑰聯(lián)合 以得到中間密鑰。會(huì)話主密鑰可以以多種方式被保護(hù),包括但不限于,例如,標(biāo)準(zhǔn)密鑰存儲(chǔ) 器、定制密鑰存儲(chǔ)器、分開(kāi)的數(shù)據(jù)庫(kù)表、或在加密的份中被保護(hù)。3.中間密鉬中間密鑰可以在每次數(shù)據(jù)被保護(hù)時(shí)生成。中間密鑰用于在解析和拆分操作之前加 密數(shù)據(jù)。其也可以被結(jié)合為解析加密數(shù)據(jù)的一種方式。4.份加密密鉬對(duì)于創(chuàng)建的數(shù)據(jù)集的每個(gè)份或部分,可以生成單獨(dú)的份加密密鑰以進(jìn)一步加密這 些份。份加密密鑰可以存儲(chǔ)在與被加密的份不同的份中。本領(lǐng)域的普通技術(shù)人員容易理解,本發(fā)明的數(shù)據(jù)保護(hù)方法和計(jì)算機(jī)系統(tǒng)可以廣泛 用于任何設(shè)置或環(huán)境中的任何類型的數(shù)據(jù)。除了通過(guò)因特網(wǎng)或在顧客和賣方之間進(jìn)行的商 業(yè)應(yīng)用,本發(fā)明的數(shù)據(jù)保護(hù)方法和計(jì)算機(jī)系統(tǒng)還非常適合于非商業(yè)或私有設(shè)置或環(huán)境???以使用此處描述的方法和系統(tǒng)來(lái)保護(hù)期望對(duì)任何未授權(quán)用戶保密的任何數(shù)據(jù)集。例如,通 過(guò)使用本發(fā)明的用于保護(hù)數(shù)據(jù)的方法和系統(tǒng),對(duì)公司或組織內(nèi)的特定數(shù)據(jù)庫(kù)的訪問(wèn)可以有 利地被限制到為僅僅所選擇的用戶。另一個(gè)示例是生成、修改或訪問(wèn)文檔,其中,期望限制 訪問(wèn)或者防止在所選擇的個(gè)人、計(jì)算機(jī)或工作站群組之外的未授權(quán)或意外訪問(wèn)或公開(kāi)。本 發(fā)明的數(shù)據(jù)保護(hù)的方法和系統(tǒng)的這些和其他示例方式適合于需要任何設(shè)置的任何非商業(yè) 或商業(yè)環(huán)境或設(shè)置,包括但不限于,任何組織、政府機(jī)構(gòu)或公司。工作組、項(xiàng)目、個(gè)人PC/膝上型電腦、或跨平臺(tái)數(shù)據(jù)安全本發(fā)明的數(shù)據(jù)保護(hù)方法或計(jì)算機(jī)系統(tǒng)還可用于保護(hù)用在例如創(chuàng)建、處理或存儲(chǔ)敏 感數(shù)據(jù)的商業(yè)、辦公室、政府機(jī)構(gòu)或任何設(shè)置中的工作組、項(xiàng)目、個(gè)人PC/膝上型電腦和任 何其他平臺(tái)的數(shù)據(jù)。本發(fā)明提供保護(hù)數(shù)據(jù)的方法和計(jì)算機(jī)系統(tǒng),已知它們是諸如美國(guó)政府 之類的組織所尋求的,以便跨整個(gè)政府組織或在州一級(jí)或聯(lián)邦一級(jí)的政府之間實(shí)施。本發(fā)明的數(shù)據(jù)保護(hù)方法和計(jì)算機(jī)系統(tǒng)不僅提供解析和拆分平面文件(flat file) 的能力,還提供解析和拆分任何類型的數(shù)據(jù)字段、集和或表的能力。此外,所有形式的數(shù)據(jù) 都能夠在該處理下被保護(hù),包括但不限于,文本、視頻、圖像、生物識(shí)別、或語(yǔ)音數(shù)據(jù)。本發(fā) 明的保護(hù)數(shù)據(jù)的方法的可伸縮性、速度和數(shù)據(jù)處理量?jī)H受用戶具有的可自由支配的硬件限 制。在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)保護(hù)方法如下所述在工作組環(huán)境中使用。在一個(gè) 實(shí)施例中,如圖23所示和以下描述的,本發(fā)明的工作組規(guī)模數(shù)據(jù)保護(hù)方法使用信任引擎的
49私鑰管理功能來(lái)存儲(chǔ)用戶/組關(guān)系和用戶組共享安全數(shù)據(jù)所必需的相關(guān)私鑰(解析器組主 密鑰)。本發(fā)明的方法具有根據(jù)解析器主密鑰是如何配置的來(lái)保護(hù)用于企業(yè)、工作組、或個(gè) 人用戶的數(shù)據(jù)的能力。在一個(gè)實(shí)施例中,可以提供附加的密鑰管理和用戶/組管理程序,實(shí)現(xiàn)具有單點(diǎn) 管理和密鑰管理的大規(guī)模工作組。密鑰生成、管理和廢除由單個(gè)維護(hù)程序來(lái)處理,其隨著用 戶數(shù)量的增加都變得特別重要。在另一個(gè)實(shí)施例中,密鑰管理還可以跨一個(gè)或多個(gè)不同系 統(tǒng)管理者來(lái)建立,其可以根據(jù)需要不允許任何一個(gè)人或組控制數(shù)據(jù)。這允許通過(guò)如由組織 定義的角色、責(zé)任、從屬關(guān)系、權(quán)限等來(lái)獲得對(duì)被保護(hù)數(shù)據(jù)的管理,并且對(duì)于那些被準(zhǔn)許或 要求僅僅能夠訪問(wèn)他們工作的部分的人,可以限制他們對(duì)被保護(hù)數(shù)據(jù)的訪問(wèn),而其他人,例 如經(jīng)理或主管,可以訪問(wèn)全部的被保護(hù)數(shù)據(jù)。該實(shí)施例允許公司或組織內(nèi)的不同組之間共 享被保護(hù)的數(shù)據(jù),而同時(shí)僅允許某些被選擇的個(gè)人,例如具有被授權(quán)和預(yù)定的角色和責(zé)任 的人,來(lái)觀察作為整體的數(shù)據(jù)。此外,本發(fā)明的方法和系統(tǒng)的該實(shí)施例還允許在例如分開(kāi)的 公司之間、或公司的分開(kāi)的部或部門(mén)之間、或任何政府或組織或任何類型的任何分開(kāi)的組 織部、組、機(jī)構(gòu)、或辦公室等等之間共享數(shù)據(jù),其中需要某種共享,但是沒(méi)有任何一方可以被 允許有權(quán)訪問(wèn)所有數(shù)據(jù)。需要和使用本發(fā)明的此類方法和系統(tǒng)的特別明顯的示例允許共 享,但在例如政府區(qū)域、機(jī)構(gòu)和辦公室之間和大公司或任何其他組織的不同部門(mén)、部或辦公 室之間保持安全性。本發(fā)明方法的較小規(guī)模應(yīng)用的示例如下。解析器主密鑰被用作對(duì)組織的安全數(shù)據(jù) 解析器的編序或標(biāo)記。因?yàn)榻馕銎髦髅荑€的使用的規(guī)模從整個(gè)企業(yè)減小到較小的工作組, 所以此處描述的數(shù)據(jù)保護(hù)方法用于在用戶組內(nèi)共享文件。在圖25中示出并在以下描述的示例中,定義了六個(gè)用戶以及他們?cè)诮M織內(nèi)的職 務(wù)或角色。側(cè)欄代表五個(gè)可能的組,用戶根據(jù)他們的角色可以屬于其中。箭頭代表一個(gè)或 多個(gè)組中用戶的從屬關(guān)系。當(dāng)配置用于在該示例中使用的安全數(shù)據(jù)解析器時(shí),系統(tǒng)管理者通過(guò)維護(hù)程序來(lái)從 操作系統(tǒng)訪問(wèn)用戶和組信息。該維護(hù)程序基于組中的從屬關(guān)系生成解析器組主密鑰并將其 賦予用戶。在該示例中,高級(jí)員工組中有三個(gè)成員。對(duì)于該組,動(dòng)作為1.訪問(wèn)用于高級(jí)員工組的解析器組主密鑰(如果不可用則生成一個(gè)密鑰);2.生成關(guān)聯(lián)CE0和高級(jí)員工組的數(shù)字證書(shū);3.生成關(guān)聯(lián)CF0和高級(jí)員工組的數(shù)字證書(shū);4.生成關(guān)聯(lián)市場(chǎng)副總裁和高級(jí)員工組的數(shù)字證書(shū)。對(duì)每個(gè)組以及每個(gè)組內(nèi)的每個(gè)成員,都會(huì)執(zhí)行相同的動(dòng)作集。當(dāng)維護(hù)程序完成時(shí), 解析器組主密鑰成為組中每個(gè)成員的共享憑證。在用戶從組中被移除時(shí),所賦予的數(shù)字證 書(shū)的廢除可以通過(guò)維護(hù)程序自動(dòng)完成,而不影響組中的剩余成員。一旦已經(jīng)定義了共享的憑證,解析和拆分處理保持相同。當(dāng)文件、文檔或數(shù)據(jù)元素 要被保護(hù)時(shí),提示用戶在保護(hù)數(shù)據(jù)時(shí)要使用的目標(biāo)組。得到的被保護(hù)數(shù)據(jù)僅對(duì)該目標(biāo)組的 其他成員是可訪問(wèn)的。本發(fā)明的方法和系統(tǒng)的該功能可以與任何其他的計(jì)算機(jī)系統(tǒng)或軟件 平臺(tái)一起使用,并且可以例如集成在已有的應(yīng)用程序中或單獨(dú)用于文件安全。本領(lǐng)域的普通技術(shù)人員容易理解,加密算法的任何一種或組合都適于在本發(fā)明的
50方法和系統(tǒng)中使用。例如,在一個(gè)實(shí)施例中,可以重復(fù)加密步驟以產(chǎn)生多層加密方案。此外, 不同的加密算法或加密算法的組合可以在重復(fù)加密步驟中使用,從而不同的加密算法可以 應(yīng)用于多層加密方案的不同層。同樣地,加密方案本身可以成為用于保護(hù)敏感數(shù)據(jù)免于未 授權(quán)使用或訪問(wèn)的本發(fā)明的方法的組成部分。安全數(shù)據(jù)解析器可以包括作為內(nèi)部部件、作為外部部件、或作為兩者的誤差檢查 部件。例如,在一種適當(dāng)?shù)姆椒ㄖ?,因?yàn)槭褂酶鶕?jù)本發(fā)明的安全數(shù)據(jù)解析器來(lái)創(chuàng)建數(shù)據(jù)的各 部分,為了保證部分內(nèi)數(shù)據(jù)的完整性,在該部分內(nèi)以預(yù)設(shè)間隔采用散列值并將其附加在間 隔的末端。散列值是數(shù)據(jù)的可預(yù)測(cè)并可再生的數(shù)字表示。如果數(shù)據(jù)內(nèi)的任何位發(fā)生改變, 散列值都會(huì)不同。然后掃描模塊(作為安全數(shù)據(jù)解析器外部的獨(dú)立部件或作為內(nèi)部部件) 可以掃描由安全數(shù)據(jù)解析器生成的數(shù)據(jù)的各部分。將數(shù)據(jù)的每個(gè)部分(或可替換地,根據(jù) 某些間隔或通過(guò)隨機(jī)或偽隨機(jī)采樣,少于數(shù)據(jù)的所有部分)與附加的一個(gè)或多個(gè)散列值進(jìn) 行比較并且可以采取動(dòng)作。該動(dòng)作可以包括匹配或不匹配的值的報(bào)告,不匹配的值的警告, 或引發(fā)數(shù)據(jù)恢復(fù)的一些外部或內(nèi)部程序的調(diào)用。例如,根據(jù)本發(fā)明,基于可以需要少于所有 的部分來(lái)生成原始數(shù)據(jù)這一概念,數(shù)據(jù)的恢復(fù)可以通過(guò)調(diào)用恢復(fù)模塊來(lái)執(zhí)行。任何其他適當(dāng)?shù)耐暾詸z查可以使用附加在所有數(shù)據(jù)部分或其子集的任何位置 的任何適當(dāng)?shù)耐暾孕畔?lái)實(shí)現(xiàn)。完整性信息可以包括可用于確定數(shù)據(jù)部分的完整性的任 何適當(dāng)?shù)男畔?。完整性信息的示例可以包括基于任何適當(dāng)參數(shù)計(jì)算的散列值(例如,基于 各自的數(shù)據(jù)部分)、數(shù)字簽名信息、消息認(rèn)證碼(MAC)信息、任何其他適當(dāng)?shù)男畔?、或其任?組合。本發(fā)明的安全數(shù)據(jù)解析器可以用于任何適當(dāng)?shù)膽?yīng)用。即,此處描述的安全數(shù)據(jù)解 析器在計(jì)算和技術(shù)的不同領(lǐng)域內(nèi)具有各種應(yīng)用。幾個(gè)此類領(lǐng)域?qū)⒃谝韵掠懻摗?yīng)當(dāng)理解, 這些實(shí)際上僅僅是示例性的,并且任何其他適當(dāng)?shù)膽?yīng)用都可以使用該安全數(shù)據(jù)解析器。應(yīng) 當(dāng)進(jìn)一步理解,所描述的示例僅僅是示例性實(shí)施例,其可以以各種適當(dāng)?shù)姆绞奖恍薷?,以滿 足任何適當(dāng)?shù)脑竿?。例如,解析和拆分可以基于任何適當(dāng)?shù)膯挝?,例如以位、以字?jié)、以千字 節(jié)、以兆字節(jié)、以其任意組合,或以任何其他適當(dāng)?shù)膯挝?。本發(fā)明的安全數(shù)據(jù)解析器可以用于實(shí)現(xiàn)安全的物理令牌,存儲(chǔ)在物理令牌中的數(shù) 據(jù)可以被要求以訪問(wèn)存儲(chǔ)在另一個(gè)存儲(chǔ)區(qū)域中的其他數(shù)據(jù)。根據(jù)本發(fā)明,在一適當(dāng)方法中, 物理令牌,諸如緊湊型USB閃存、軟盤(pán)、光盤(pán)、智能卡、或任何其他適當(dāng)?shù)奈锢砹钆?,都可?用于存儲(chǔ)解析數(shù)據(jù)的至少兩個(gè)部分之一。為了訪問(wèn)原始數(shù)據(jù),USB閃存需被訪問(wèn)。因此,持 有解析數(shù)據(jù)的一個(gè)部分的個(gè)人計(jì)算機(jī)在能夠訪問(wèn)原始數(shù)據(jù)之前需要將具有解析數(shù)據(jù)的另 一部分的USB閃存連接上。圖26示出了該應(yīng)用。存儲(chǔ)區(qū)域2500包括解析數(shù)據(jù)的一個(gè)部 分2502。具有解析數(shù)據(jù)的一個(gè)部分2506的物理令牌2504需要使用任何適當(dāng)?shù)耐ㄐ沤涌?2508(例如,USB、串行、并行、藍(lán)牙、IR、IEEE 1394、以太網(wǎng)、或任何其他適當(dāng)?shù)耐ㄐ沤涌?連 接至存儲(chǔ)區(qū)域2500以訪問(wèn)原始數(shù)據(jù)。在例如計(jì)算機(jī)上的敏感數(shù)據(jù)不被管理并遭受未授權(quán) 訪問(wèn)嘗試的情況下,這是有用的。通過(guò)移除物理令牌(例如,USB閃存),敏感數(shù)據(jù)就不可被 訪問(wèn)。應(yīng)當(dāng)理解,使用物理令牌的任何其他適當(dāng)方法都可以使用。本發(fā)明的安全數(shù)據(jù)解析器可以用于實(shí)現(xiàn)安全認(rèn)證系統(tǒng),通過(guò)該系統(tǒng),使用安全數(shù) 據(jù)解析器來(lái)解析和拆分用戶注冊(cè)數(shù)據(jù)(例如,口令、私有加密密鑰、指紋模板、生物識(shí)別數(shù) 據(jù)、或任何其他適當(dāng)?shù)挠脩糇?cè)數(shù)據(jù))。用戶注冊(cè)數(shù)據(jù)可以被解析和拆分,藉此一個(gè)或多個(gè)
51部分被存儲(chǔ)在智能卡、政府公共訪問(wèn)卡、任何適當(dāng)?shù)奈锢泶鎯?chǔ)裝置(例如,磁盤(pán)或光盤(pán)、USB 密鑰驅(qū)動(dòng)器等)、或任何其他適當(dāng)?shù)难b置上。解析的用戶注冊(cè)數(shù)據(jù)的一個(gè)或多個(gè)其他部分可 以被存儲(chǔ)在執(zhí)行認(rèn)證的系統(tǒng)中。這為認(rèn)證處理提供了增加的安全等級(jí)(例如,除了從生物 識(shí)別源獲取的生物識(shí)別認(rèn)證信息,還必須通過(guò)適當(dāng)?shù)慕馕龊筒鸱謹(jǐn)?shù)據(jù)部分獲取用戶注冊(cè)數(shù) 據(jù))。本發(fā)明的安全數(shù)據(jù)解析器可以集成到任何適當(dāng)?shù)囊延邢到y(tǒng)中,以在每個(gè)系統(tǒng)分別 的環(huán)境中提供其功能的使用。圖27示出了示例性系統(tǒng)2600的框圖,其可以包括軟件、硬 件、或兩者以實(shí)現(xiàn)任何適當(dāng)?shù)膽?yīng)用。系統(tǒng)2600可以是現(xiàn)有的系統(tǒng),在其中安全數(shù)據(jù)解析器 2602可以作為集成的部件被裝備??商鎿Q地,安全數(shù)據(jù)解析器2602可以例如從其最早設(shè) 計(jì)階段就集成到任何適當(dāng)系統(tǒng)2600在。安全數(shù)據(jù)解析器2600可以被集成在系統(tǒng)2600的 任何適當(dāng)層。例如,安全數(shù)據(jù)解析器2602可以集成到系統(tǒng)2600中足夠后端(back-end)的 層,從而安全數(shù)據(jù)解析器2602的存在可以對(duì)系統(tǒng)2600的終端用戶基本上是透明的。根據(jù) 本發(fā)明,安全數(shù)據(jù)解析器2602可以用于在一個(gè)或多個(gè)存儲(chǔ)裝置2604之中解析和拆分?jǐn)?shù)據(jù)。 具有集成在其中的安全數(shù)據(jù)解析器的系統(tǒng)的一些示例性示例在以下討論。本發(fā)明的安全數(shù)據(jù)解析器可以集成到操作系統(tǒng)內(nèi)核(例如,Linux,Unix,或其他 任何適當(dāng)?shù)纳逃没蛩接胁僮飨到y(tǒng))。該集成可以用于在裝置級(jí)別上保護(hù)數(shù)據(jù),藉此,例如,通 常存儲(chǔ)在一個(gè)或多個(gè)裝置中的數(shù)據(jù)由集成到操作系統(tǒng)中的安全數(shù)據(jù)解析器分成為一定數(shù) 量的部分并存儲(chǔ)在一個(gè)或多個(gè)裝置中。當(dāng)試圖訪問(wèn)原始數(shù)據(jù)時(shí),也集成到操作系統(tǒng)中的適 當(dāng)?shù)能浖梢砸詫?duì)終端用戶透明的方式將解析的數(shù)據(jù)部分重組為原始數(shù)據(jù)。本發(fā)明的安全數(shù)據(jù)解析器可以被集成到存儲(chǔ)器系統(tǒng)的卷管理器或任何其他適當(dāng) 的部件中,以便跨任何或所有支持的平臺(tái)來(lái)保護(hù)本地和網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)器。例如,使用集成的 安全數(shù)據(jù)解析器,存儲(chǔ)器系統(tǒng)可以利用由安全數(shù)據(jù)解析器提供的冗余(即,用于實(shí)現(xiàn)需要 少于所有分開(kāi)的數(shù)據(jù)部分來(lái)重建原始數(shù)據(jù)這一特征的冗余)以保護(hù)數(shù)據(jù)免于丟失。安全數(shù) 據(jù)解析器還允許所有數(shù)據(jù)以根據(jù)本發(fā)明的解析所生成的多個(gè)部分的形式寫(xiě)入存儲(chǔ)裝置,不 論是否使用冗余。當(dāng)試圖訪問(wèn)原始數(shù)據(jù)時(shí),也集成到存儲(chǔ)系統(tǒng)的卷管理器或其他適當(dāng)部件 中的適當(dāng)軟件可以以對(duì)終端用戶透明的方法將解析數(shù)據(jù)部分重組為原始數(shù)據(jù)。以一種適當(dāng)?shù)姆椒ǎ景l(fā)明的安全數(shù)據(jù)解析器可以被集成到RAID控制器中(作為 硬件或軟件)。這允許安全存儲(chǔ)數(shù)據(jù)至多個(gè)驅(qū)動(dòng)器,而在驅(qū)動(dòng)器故障的情況下保持容錯(cuò)。本發(fā)明的安全數(shù)據(jù)解析器可以集成到數(shù)據(jù)庫(kù)中以便例如保護(hù)敏感的表信息。例 如,在一種適當(dāng)?shù)姆椒ㄖ?,與數(shù)據(jù)庫(kù)表的特定單元(例如,單獨(dú)的單元、一個(gè)或多個(gè)特定列、 一個(gè)或多個(gè)特定行、或其任意組合、或整個(gè)數(shù)據(jù)庫(kù)表)相關(guān)聯(lián)的數(shù)據(jù)可以根據(jù)本發(fā)明被解 析或分離(例如,不同部分存儲(chǔ)在一個(gè)或多個(gè)位置處的一個(gè)或多個(gè)存儲(chǔ)裝置上或存儲(chǔ)在單 個(gè)存儲(chǔ)裝置上)??梢酝ㄟ^(guò)傳統(tǒng)認(rèn)證方法(例如,用戶名和密碼詢問(wèn))準(zhǔn)許為了查看原始數(shù) 據(jù)而訪問(wèn)以重組多個(gè)部分。本發(fā)明的安全解析器可以集成到涉及移動(dòng)數(shù)據(jù)(即,數(shù)據(jù)從一個(gè)位置轉(zhuǎn)移到另一 個(gè)位置)的任何適當(dāng)?shù)南到y(tǒng)。這樣的系統(tǒng)包括例如電子郵件、流數(shù)據(jù)廣播、和無(wú)線(例如, WiFi)通信。關(guān)于電子郵件,在一種適當(dāng)?shù)姆椒ㄖ校踩馕銎骺梢杂糜诮馕霭l(fā)出的消息 (即,包含文本、二進(jìn)制數(shù)據(jù)、或兩者(例如,附加到電子郵件消息的文件))以及沿不同通道 發(fā)送解析數(shù)據(jù)的不同部分,從而創(chuàng)建多個(gè)數(shù)據(jù)流。如果這些數(shù)據(jù)流中的任何一個(gè)被泄露,原
52始信息保持安全,因?yàn)楦鶕?jù)本發(fā)明,系統(tǒng)可能需要一個(gè)以上的部分以生成原始數(shù)據(jù)。在另一 適當(dāng)?shù)姆椒ㄖ?,?shù)據(jù)的不同部分可以沿一個(gè)路徑順序發(fā)送,從而如果一個(gè)部分被獲取,可能 不足以生成原始數(shù)據(jù)。根據(jù)本發(fā)明,這些不同部分到達(dá)預(yù)定接收者的位置,且可以被組合以 生成原始數(shù)據(jù)。圖28和29是此類電子郵件系統(tǒng)的示例性框圖。圖28示出了發(fā)送者系統(tǒng) 2700,其可以包括任何適當(dāng)?shù)挠布?,諸如計(jì)算機(jī)終端、個(gè)人計(jì)算機(jī)、手持裝置(例如,PDA、 Blackberry)、蜂窩電話、計(jì)算機(jī)網(wǎng)絡(luò)、任何其他適當(dāng)?shù)挠布?、或其任意組合。發(fā)送者系統(tǒng) 2700用于生成和/或存儲(chǔ)消息2704,其可以是例如電子郵件消息、二進(jìn)制數(shù)據(jù)文件(例如, 圖形、聲音、視頻等)、或兩者。消息2704由根據(jù)本發(fā)明的安全數(shù)據(jù)解析器2702被解析和拆 分。得到的各數(shù)據(jù)部分可以經(jīng)過(guò)網(wǎng)絡(luò)2708 (例如,因特網(wǎng)、內(nèi)部網(wǎng)、LAN、WiFi、藍(lán)牙、任何其 他適當(dāng)?shù)挠芯€或無(wú)線通信方式、或其任意組合)上的一個(gè)或多個(gè)分開(kāi)的通信通道2706傳送 到接收者系統(tǒng)2710。這些數(shù)據(jù)部分可以時(shí)間上并行地或可替換地根據(jù)不同數(shù)據(jù)部分的通信 之間的任何適當(dāng)時(shí)間延遲而被傳送。接收者系統(tǒng)2710可以是上面參照發(fā)送者系統(tǒng)2700描 述的任何適當(dāng)?shù)挠布?。根?jù)本發(fā)明,沿通信通道2706運(yùn)送的分開(kāi)的數(shù)據(jù)部分在接收者系統(tǒng) 2710處被重組以生成原始消息或數(shù)據(jù)。圖29示出了發(fā)送者系統(tǒng)2800,其可以包括任何適當(dāng)?shù)挠布?,例如?jì)算機(jī)終端、個(gè) 人計(jì)算機(jī)、手持裝置(例如,PDA)、蜂窩電話、計(jì)算機(jī)網(wǎng)絡(luò)、任何其他適當(dāng)?shù)挠布?、或其任?組合。發(fā)送者系統(tǒng)2800用于生成和/或存儲(chǔ)消息2804,其可以是例如,電子郵件消息、二 進(jìn)制數(shù)據(jù)文件(例如,圖形,聲音,視頻等)、或兩者。消息2804由根據(jù)本發(fā)明的安全數(shù)據(jù) 解析器2802被解析和拆分。得到的各數(shù)據(jù)部分可以通過(guò)網(wǎng)絡(luò)2808 (例如,因特網(wǎng)、內(nèi)部網(wǎng)、 LAN、WiFi、藍(lán)牙、任何其他適當(dāng)?shù)耐ㄐ欧绞健⒒蚱淙我饨M合)上的單個(gè)通信通道2806傳送到 接收者系統(tǒng)2810。這些數(shù)據(jù)部分可以通過(guò)通信通道2806相對(duì)于彼此串行地通信。接收者 系統(tǒng)2810可以是上面參照發(fā)送者系統(tǒng)2800描述的任何適當(dāng)?shù)挠布?。根?jù)本發(fā)明,沿通信 通道2806運(yùn)送的分開(kāi)的數(shù)據(jù)部分在接收者系統(tǒng)2810處重組,以生成原始消息或數(shù)據(jù)。應(yīng)當(dāng)理解,圖28和29的布置僅是示例性的??梢允褂萌魏纹渌m當(dāng)?shù)牟贾?。?如,在另一種適當(dāng)?shù)姆椒ㄖ校瑘D28和29中的系統(tǒng)的特征可以組合,從而使用圖28中的多通 道方法并且一個(gè)或多個(gè)通信通道2706被用于運(yùn)送一個(gè)以上數(shù)據(jù)部分,如圖29的上下文中 通信通道2806所做的那樣。安全數(shù)據(jù)解析器可以集成到數(shù)據(jù)移動(dòng)系統(tǒng)的任何適當(dāng)層級(jí)。例如,在電子郵
件系統(tǒng)的情形中,安全解析器可以集成到用戶界面層級(jí)中(例如,集成到Microsoft
Outlook),在該情況下,在使用電子郵件時(shí),用戶可以控制安全數(shù)據(jù)解析器特征的使用。可 替換地,安全解析器可以在例如交換服務(wù)器的后端部件中實(shí)現(xiàn),在該種情況下消息可以根 據(jù)本發(fā)明被自動(dòng)地解析、拆分,并沿不同通道傳送而無(wú)需任何用戶干涉。類似地,在流廣播數(shù)據(jù)(例如,音頻、視頻)的情況下,發(fā)出的數(shù)據(jù)可以被解析并分 成多個(gè)流,每個(gè)流包括解析數(shù)據(jù)的一部分。根據(jù)本發(fā)明,多個(gè)流可以沿一個(gè)或多個(gè)通道被傳 輸并在接收者位置處被重組。該方法的益處之一為其避免了與傳統(tǒng)數(shù)據(jù)加密然后在單個(gè)通 信信道上傳輸加密數(shù)據(jù)相關(guān)聯(lián)的相對(duì)大的開(kāi)銷。本發(fā)明的安全解析器允許移動(dòng)的數(shù)據(jù)以多 個(gè)并行流發(fā)送,增加了速度和效率。應(yīng)當(dāng)理解,安全數(shù)據(jù)解析器可以被集成以保護(hù)和容錯(cuò)通過(guò)任何傳輸介質(zhì)(包括
53例如有線、無(wú)線、或物理的)的任何類型的移動(dòng)數(shù)據(jù)。例如,因特網(wǎng)協(xié)議語(yǔ)音(VoIP)應(yīng)用 可以使用本發(fā)明的安全數(shù)據(jù)解析器。往返于任何適當(dāng)?shù)膫€(gè)人數(shù)字助手(PDA)裝置(例如 Blackberry和SmartPhone)的無(wú)線或有線數(shù)據(jù)傳輸可以使用本發(fā)明的安全數(shù)據(jù)解析器來(lái) 保護(hù)。使用用于對(duì)等和基于集線器的無(wú)線網(wǎng)絡(luò)的無(wú)線802. 11協(xié)議的通信、衛(wèi)星通信、點(diǎn)對(duì) 點(diǎn)無(wú)線通信、因特網(wǎng)客戶/服務(wù)器通信、或任何其他適當(dāng)?shù)耐ㄐ?,可以包括根?jù)本發(fā)明的安 全數(shù)據(jù)解析器的移動(dòng)數(shù)據(jù)(data in motion)的能力。計(jì)算機(jī)外圍裝置(例如,打印機(jī),掃 描器,監(jiān)視器,鍵盤(pán),網(wǎng)絡(luò)路由器,生物識(shí)別認(rèn)證裝置(例如,指紋掃描器),或任何其他適當(dāng) 的外圍裝置)之間、計(jì)算機(jī)和計(jì)算機(jī)外圍裝置之間、計(jì)算機(jī)外圍裝置和任何其他適當(dāng)?shù)难b 置之間、或其任意組合之間的數(shù)據(jù)通信,可以使用本發(fā)明的移動(dòng)數(shù)據(jù)特征。本發(fā)明的移動(dòng)數(shù)據(jù)特征還可以應(yīng)用于使用例如分開(kāi)的路徑、傳輸媒介、方法、任何 其他適當(dāng)?shù)奈锢韨鬏?、或其任意組合的安全份的物理傳輸。例如,數(shù)據(jù)的物理傳輸可以發(fā) 生在數(shù)字/磁帶、軟盤(pán)、光盤(pán)、物理令牌、USB驅(qū)動(dòng)器、可移除硬盤(pán)、具有閃存的消費(fèi)電子裝置 (例如,蘋(píng)果IP0D或其他MP3播放器)、閃存、用于傳輸數(shù)據(jù)的任何其他適當(dāng)?shù)慕橘|(zhì),或其任 思組合上o根據(jù)本發(fā)明的安全數(shù)據(jù)解析器可以提供具有災(zāi)難恢復(fù)能力的安全性。根據(jù)本發(fā) 明,為了恢復(fù)原始數(shù)據(jù),可能需要少于安全數(shù)據(jù)解析器生成的分離的數(shù)據(jù)的所有部分。就是 說(shuō),在存儲(chǔ)的m個(gè)部分中,n個(gè)可以是該m個(gè)部分中恢復(fù)原始數(shù)據(jù)所需的最小數(shù)目,其中n <=m。例如,如果四個(gè)部分的每一個(gè)都存儲(chǔ)在相對(duì)于其他三個(gè)部分不同的物理位置,則如 果在該示例中n = 2,則兩個(gè)位置可以被損壞從而數(shù)據(jù)被毀壞或不可訪問(wèn),但原始數(shù)據(jù)還可 以從其他兩個(gè)位置中的部分來(lái)恢復(fù)。任何適當(dāng)?shù)膎或m的值都可以使用。此外,本發(fā)明的m中n個(gè)這一特征可以用于創(chuàng)建“二人法則”,藉此避免了委托單個(gè) 人或任何其他實(shí)體具有對(duì)可能是敏感數(shù)據(jù)的全訪問(wèn)權(quán)限,為了恢復(fù)原始數(shù)據(jù),兩個(gè)或更多 個(gè)不同的實(shí)體(其中每一個(gè)具有通過(guò)本發(fā)明的安全解析器解析的分開(kāi)的數(shù)據(jù)的一部分)可 能需要同意將他們的部分放到一起。本發(fā)明的安全數(shù)據(jù)解析器可以用于向一組實(shí)體提供組范圍密鑰(group-wide key),該組范圍密鑰允許組成員訪問(wèn)被授權(quán)由該特定組訪問(wèn)的特定信息。組密鑰可以是由 根據(jù)本發(fā)明的安全解析器生成的數(shù)據(jù)部分之一,其需要與中心存儲(chǔ)的另一個(gè)部分組合,例 如以恢復(fù)尋求的信息。該特征允許例如在組當(dāng)中的安全合作。其可以應(yīng)用于例如專用網(wǎng)絡(luò)、 虛擬專用網(wǎng)絡(luò)、內(nèi)部網(wǎng)、或任何其他適當(dāng)?shù)木W(wǎng)絡(luò)。這樣使用安全解析器的具體應(yīng)用包括,例如,聯(lián)合信息共享,其中,例如,多國(guó)友好 政府部隊(duì)被給予通過(guò)單個(gè)網(wǎng)絡(luò)或雙網(wǎng)絡(luò)(dualnetwork)(即,與現(xiàn)今使用的包括相對(duì)基本 人工的處理的很多網(wǎng)絡(luò)相比)在向每個(gè)各自國(guó)家授權(quán)的安全等級(jí)上傳送軍事行動(dòng)數(shù)據(jù)或 其他敏感數(shù)據(jù)的能力。該能力還可應(yīng)用于公司或其他組織,其中需要被一個(gè)或多個(gè)特定個(gè) 人(組織內(nèi)或外)知道的信息可以通過(guò)單個(gè)網(wǎng)絡(luò)傳送,而不需要擔(dān)心未授權(quán)的個(gè)人查看該 fn息o另一個(gè)具體應(yīng)用包括用于政府系統(tǒng)的多等級(jí)安全體系。就是說(shuō),本發(fā)明的安全解 析器可以提供使用單個(gè)網(wǎng)絡(luò)以不同保密信息等級(jí)(非保密、保密、機(jī)密、絕對(duì)機(jī)密)操作政 府系統(tǒng)的能力。如果期望,更多網(wǎng)絡(luò)可以被使用(例如,用于絕對(duì)機(jī)密的單獨(dú)的網(wǎng)絡(luò)),但本 發(fā)明允許大大少于當(dāng)前每個(gè)保密等級(jí)使用一個(gè)單獨(dú)的網(wǎng)絡(luò)的布置。
54
應(yīng)當(dāng)理解,本發(fā)明的安全解析器的上述應(yīng)用的任何組合都可以被使用。例如,組密 鑰應(yīng)用可以與移動(dòng)數(shù)據(jù)安全應(yīng)用一起使用(即,根據(jù)本發(fā)明,在網(wǎng)絡(luò)上通信的數(shù)據(jù)僅能被 各自組的成員訪問(wèn),并且當(dāng)數(shù)據(jù)在移動(dòng)時(shí),數(shù)據(jù)被拆分到多個(gè)通道之中(或以順序的部分 被發(fā)送))。本發(fā)明的安全數(shù)據(jù)解析器可以集成到任何中間件應(yīng)用程序以使得應(yīng)用程序能夠 安全地將數(shù)據(jù)存儲(chǔ)到不同的數(shù)據(jù)庫(kù)產(chǎn)品中或存儲(chǔ)到不同的裝置中,而無(wú)需修改應(yīng)用程序或 數(shù)據(jù)庫(kù)。中間件是允許兩個(gè)分開(kāi)的并且已經(jīng)存在的程序進(jìn)行通信的產(chǎn)品的通稱。例如,在 一種適當(dāng)?shù)姆椒ㄖ?,集成有安全?shù)據(jù)解析器的中間件可以用于允許為特定數(shù)據(jù)庫(kù)所寫(xiě)的程 序與其他數(shù)據(jù)庫(kù)通信,而不用自定義編碼。本發(fā)明的安全數(shù)據(jù)解析器可以被實(shí)現(xiàn)為具有任何適當(dāng)能力(例如此處所討論的 那些能力)的任意組合。在本發(fā)明的一些實(shí)施例中,例如,安全數(shù)據(jù)解析器可以被實(shí)現(xiàn)為 僅具有某些能力,而其他能力可以通過(guò)使用直接或間接地與安全數(shù)據(jù)解析器接口的外部軟 件、硬件、或兩者來(lái)獲得。例如,圖30示出了安全數(shù)據(jù)解析器3000作為安全數(shù)據(jù)解析器的示例性實(shí)施方式。 安全數(shù)據(jù)解析器3000可以被實(shí)現(xiàn)為具有非常少的內(nèi)置能力。如圖所示,根據(jù)本發(fā)明,安全 數(shù)據(jù)解析器3000可以包括使用模塊3002將數(shù)據(jù)解析和拆分為多個(gè)部分(此處也稱作份) 的內(nèi)置能力。安全數(shù)據(jù)解析器3000還可以包括使用模塊3004來(lái)執(zhí)行冗余以便能夠?qū)崿F(xiàn)例 如上述n中m個(gè)這一特征(即,使用少于所有份的被解析和拆分的數(shù)據(jù)來(lái)重建原始數(shù)據(jù)) 的內(nèi)置能力。根據(jù)本發(fā)明,安全數(shù)據(jù)解析器3000還可以包括份分配能力,其使用模塊3006 來(lái)將數(shù)據(jù)份放置到緩沖器中,數(shù)據(jù)從緩沖器被發(fā)送以便通信至遠(yuǎn)程位置、以便存儲(chǔ)等。應(yīng)當(dāng) 理解,任何其他適當(dāng)?shù)哪芰Χ伎梢詢?nèi)置到安全數(shù)據(jù)解析器3000中。組裝數(shù)據(jù)緩沖器3008可以是用于存儲(chǔ)原始數(shù)據(jù)(但不必以其原始形式)的任何 適當(dāng)?shù)拇鎯?chǔ)器,該原始數(shù)據(jù)將被安全數(shù)據(jù)解析器3000解析和拆分。在拆分操作中,組裝數(shù) 據(jù)緩沖器3008提供到安全數(shù)據(jù)解析器3008的輸入。在恢復(fù)操作中,組裝數(shù)據(jù)緩沖器3008 可以用于存儲(chǔ)安全數(shù)據(jù)解析器3000的輸出。拆分份緩沖器3010可以是一個(gè)或多個(gè)存儲(chǔ)器模塊,其可以用于存儲(chǔ)從解析和拆 分原始數(shù)據(jù)得到的多個(gè)數(shù)據(jù)份。在拆分操作中,拆分份緩沖器3010持有安全數(shù)據(jù)解析器的 輸出。在恢復(fù)操作中,拆分份緩沖器持有至安全數(shù)據(jù)解析器3000的輸入。應(yīng)當(dāng)理解,任何其他適當(dāng)?shù)哪芰ε渲枚伎梢詫?duì)數(shù)據(jù)解析器3000內(nèi)置。任何附加的 特征都可以內(nèi)置,并且示出的任何特征都可以移除、使得更魯棒、使得更不魯棒,或者可以 以任何適當(dāng)?shù)姆绞竭M(jìn)行修改。緩沖器3008和3010同樣也僅是示例性的,并且可以以任何 適當(dāng)?shù)姆绞奖恍薷摹⒁瞥?、或增加。以軟件、硬件或兩者?shí)現(xiàn)的任何適當(dāng)?shù)哪K都可以被安全數(shù)據(jù)解析器3000調(diào)用 或者對(duì)其調(diào)用。如果期望,甚至是內(nèi)置到安全數(shù)據(jù)解析器3000中的能力也可以由一個(gè)或多 個(gè)外部模塊代替。如圖所示,一些外部模塊包括隨機(jī)數(shù)生成器3012,密碼反饋密鑰生成器 3014,散列算法3016,任何一種或多種類型的加密3018,和密鑰管理3020。應(yīng)當(dāng)理解,這些 僅是示例性的外部模塊。任何其他適當(dāng)?shù)哪K可以用于增加或替換所示出的這些。在安全數(shù)據(jù)解析器3000外部的密碼反饋密鑰生成器3014可以為每個(gè)安全數(shù)據(jù)解 析操作生成一個(gè)唯一密鑰,或隨機(jī)數(shù)(例如,使用隨機(jī)數(shù)生成器3012),以用作操作的種子
55值,其將原始會(huì)話密鑰的大小(例如,128、256、512或1024位的值)擴(kuò)展為等于將被解析和 拆分的數(shù)據(jù)的長(zhǎng)度的值。任何適當(dāng)?shù)乃惴ǘ伎梢杂糜诿艽a反饋密鑰生成,包括例如AES密 碼反饋密鑰生成算法。為有助于將安全數(shù)據(jù)解析器3000和其外部模塊(S卩,安全數(shù)據(jù)解析器層3026)集 成到應(yīng)用層3024 (例如,電子郵件應(yīng)用,數(shù)據(jù)庫(kù)應(yīng)用等),可以使用可利用例如API功能調(diào)用 的包裝層。有助于將安全數(shù)據(jù)解析器層3026集成到應(yīng)用層3024的任何其他適當(dāng)?shù)呐渲枚?可以被使用。圖31示例性地示出了在寫(xiě)入(例如,到存儲(chǔ)裝置)、插入(例如,在數(shù)據(jù)庫(kù)字段 中)、或傳輸(例如,經(jīng)過(guò)網(wǎng)絡(luò))命令在應(yīng)用層3024中被發(fā)布時(shí),圖30的配置可以如何被使 用。在步驟3100,要保護(hù)的數(shù)據(jù)被識(shí)別,并對(duì)安全數(shù)據(jù)解析器進(jìn)行調(diào)用。該調(diào)用通過(guò)包裝 層3022,其中在步驟3102,包裝層3022將在步驟3100被識(shí)別的輸入數(shù)據(jù)流入至組裝數(shù)據(jù) 緩沖器3008。還是在步驟3102,任何適當(dāng)?shù)姆菪畔?、文件名、任何其他適當(dāng)?shù)男畔?、或其?意組合都可以被存儲(chǔ)(例如,作為包裝層3022處的信息3106)。根據(jù)本發(fā)明,安全數(shù)據(jù)處 理器3000然后解析和拆分作為來(lái)自組裝數(shù)據(jù)緩沖器3008的輸入而得到的數(shù)據(jù)。其將數(shù)據(jù) 份輸出到拆分份緩沖器3010。在步驟3104,包裝層3022從存儲(chǔ)的信息3106中得到任何適 當(dāng)?shù)姆菪畔?即,在步驟3102由包裝3022存儲(chǔ)的)和份位置(一個(gè)或多個(gè))(例如,來(lái)自 一個(gè)或多個(gè)配置文件)。包裝層3022然后適當(dāng)?shù)貙⑤敵龅姆?從拆分份緩沖器3010獲取 的)寫(xiě)入(例如,寫(xiě)入一個(gè)或多個(gè)存儲(chǔ)裝置,在網(wǎng)絡(luò)上傳送等)。圖32示例性地示出了當(dāng)讀取(例如,從存儲(chǔ)裝置)、選擇(例如,從數(shù)據(jù)庫(kù)字段)、 或接收(例如,從網(wǎng)絡(luò))發(fā)生時(shí),圖30的配置可以被如何使用。在步驟3200,要被恢復(fù)的 數(shù)據(jù)被識(shí)別并且從應(yīng)用層3024對(duì)安全數(shù)據(jù)解析器3000進(jìn)行調(diào)用。在步驟3202,從包裝層 3022獲取任何適當(dāng)?shù)姆菪畔⒁约按_定份位置。包裝層3022將在步驟3200識(shí)別的數(shù)據(jù)部 分載入拆分份緩沖器3010。根據(jù)本發(fā)明,安全數(shù)據(jù)解析器3000然后處理這些份(例如,如 果四個(gè)份中僅三個(gè)可用,則安全數(shù)據(jù)解析器3000的冗余能力可以用于僅使用該三個(gè)份來(lái) 恢復(fù)原始數(shù)據(jù))?;謴?fù)的數(shù)據(jù)然后被存儲(chǔ)在組裝數(shù)據(jù)緩沖器3008中。在步驟3204,應(yīng)用層 3022將存儲(chǔ)在組裝數(shù)據(jù)緩沖器3008中的數(shù)據(jù)轉(zhuǎn)換為其原始數(shù)據(jù)格式(如果必要)并以其 原始格式提供原始數(shù)據(jù)到應(yīng)用層3024。應(yīng)當(dāng)理解,圖31中示出的原始數(shù)據(jù)的解析和拆分以及圖32中示出的將多個(gè)數(shù)據(jù) 部分恢復(fù)為原始數(shù)據(jù)都僅僅是示例性的。任何其他適當(dāng)?shù)奶幚怼⒉考⒒騼烧叨伎梢杂糜谠?加或替換示出的這些。圖33是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于將原始數(shù)據(jù)解析和拆分為兩個(gè)或更多 個(gè)數(shù)據(jù)部分的示例性處理流程的框圖。如圖所示,期望被解析和拆分的原始數(shù)據(jù)是明文 3306 (即,單詞“SUMMIT”被用作示例)。應(yīng)當(dāng)理解,根據(jù)本發(fā)明,任何其他類型的數(shù)據(jù)都可 以被解析和拆分。生成會(huì)話密鑰3300。如果會(huì)話密鑰3300的長(zhǎng)度和原始數(shù)據(jù)3306的長(zhǎng)度 不一致,則可以生成密碼反饋會(huì)話密鑰3304。在一種適當(dāng)?shù)姆椒ㄖ校紨?shù)據(jù)3306可以在解析、拆分、或兩者之前被加密。例 如,如圖33所示,原始數(shù)據(jù)3306可以與任何適當(dāng)?shù)闹?例如,與密碼反饋會(huì)話密鑰3304,或 與任何其他適當(dāng)?shù)闹?進(jìn)行異或。應(yīng)當(dāng)理解,任何其他適當(dāng)?shù)募用芗夹g(shù)都可以用于替換或 增加示出的X0R技術(shù)。還應(yīng)當(dāng)理解,盡管以逐字節(jié)的操作示出了圖33,但該操作可以以位級(jí)
56或任何其他適合的級(jí)來(lái)進(jìn)行。應(yīng)當(dāng)進(jìn)一步理解,如果期望,原始數(shù)據(jù)3306的無(wú)論什么都不 需要加密。得到的加密數(shù)據(jù)(或原始數(shù)據(jù),如果沒(méi)有加密發(fā)生)然后被散列以確定如何在輸 出存儲(chǔ)桶(output bucket)(例如,在示出的示例中有四個(gè))之間拆分加密(或原始)數(shù)據(jù)。 在示例性示例中,散列按字節(jié)進(jìn)行且為密碼反饋會(huì)話密鑰3304的函數(shù)。應(yīng)當(dāng)理解,這僅僅 是示例性的。如果期望,散列可以以位級(jí)來(lái)執(zhí)行。散列還可以是密碼反饋會(huì)話密鑰3304之 外任何其他適當(dāng)?shù)闹档暮瘮?shù)。在另一種適當(dāng)?shù)姆椒ㄖ校恍枰褂蒙⒘?。相反,用于拆分?jǐn)?shù) 據(jù)的任何其他適當(dāng)?shù)募夹g(shù)可以被采用。圖34是根據(jù)本發(fā)明的一個(gè)實(shí)施例,用于從原始數(shù)據(jù)3306的兩個(gè)或更多個(gè)解析或 拆分部分恢復(fù)原始數(shù)據(jù)3306的示例性處理流程的框圖。該處理包括作為密碼反饋會(huì)話密 鑰3304的函數(shù),反向(即,與圖33中的處理相反)散列各部分以恢復(fù)加密的原始數(shù)據(jù)(或 原始數(shù)據(jù),如果在解析和拆分之前沒(méi)有加密的話)。然后加密密鑰可以用于恢復(fù)原始數(shù)據(jù) (即,在示出的示例中,密碼反饋會(huì)話密鑰3304用于通過(guò)將其與加密數(shù)據(jù)進(jìn)行異或以解密 該異或加密)。這恢復(fù)了原始數(shù)據(jù)3306。圖35示出了在圖33和34的示例中,可以如何實(shí)現(xiàn)位拆分??梢允褂蒙⒘?例 如,作為密碼反饋會(huì)話密鑰的函數(shù),作為任何其他適合值的函數(shù))以確定一個(gè)位值,以該位 值拆分?jǐn)?shù)據(jù)的每個(gè)字節(jié)。應(yīng)當(dāng)理解,這僅是實(shí)現(xiàn)以位級(jí)拆分的一個(gè)示例性的方式??梢允?用任何其他適當(dāng)?shù)募夹g(shù)。應(yīng)當(dāng)理解,在此引用的散列函數(shù)可以參考任何適當(dāng)?shù)纳⒘兴惴ㄟM(jìn)行。這些包括例 如MD5和SHA-1。不同的散列算法可以在不同時(shí)候被本發(fā)明的不同部件使用。在已經(jīng)根據(jù)上述示例性過(guò)程或通過(guò)任何其他過(guò)程或算法確定拆分點(diǎn)之后,可以確 定哪些數(shù)據(jù)部分要附加每個(gè)左段和右段。可以使用任何適當(dāng)?shù)乃惴▉?lái)進(jìn)行確定。例如,在 一種適當(dāng)?shù)姆椒ㄖ?,可以?chuàng)建所有可能的分配的表(例如,以左段和右段的目的地的配對(duì) 的形式),藉此,可以通過(guò)對(duì)會(huì)話密鑰、密碼反饋會(huì)話密鑰、或任何其他適當(dāng)?shù)碾S機(jī)或偽隨機(jī) 值(其可以被生成和擴(kuò)展為原始數(shù)據(jù)的大小)中對(duì)應(yīng)數(shù)據(jù)使用任何適當(dāng)?shù)纳⒘泻瘮?shù)來(lái)確定 對(duì)于每個(gè)左段和右段的目的地份值。例如,可以進(jìn)行隨機(jī)或偽隨機(jī)值中對(duì)應(yīng)字節(jié)的散列函 數(shù)。散列函數(shù)的輸出用于確定從所有目的地組合的表中選擇哪些目的地配對(duì)(即,一個(gè)用 于左段,一個(gè)用于右段)。基于該結(jié)果,拆分?jǐn)?shù)據(jù)單元的每個(gè)段都附加到由作為散列函數(shù)結(jié) 果所選擇的表值所指示的相應(yīng)的兩個(gè)份。根據(jù)本發(fā)明,冗余信息可以附加到數(shù)據(jù)部分以允許使用少于所有的數(shù)據(jù)部分來(lái)恢 復(fù)原始數(shù)據(jù)。例如,如果期望四個(gè)部分中的兩個(gè)足以用于恢復(fù)數(shù)據(jù),則份中的其他數(shù)據(jù)可以 相應(yīng)地以例如循環(huán)(round-robin)方式附加到每個(gè)份(例如,原始數(shù)據(jù)的大小為4MB,則份 1取得其自己的份以及份2和3的份;份2取得其自己的份以及份3和4的份;份3取得其 自己的份以及份4和1的份;份4取得其自己的份以及份1和2的份)。根據(jù)本發(fā)明可以 使用任何這樣適當(dāng)?shù)娜哂唷?yīng)當(dāng)理解,根據(jù)本發(fā)明,任何其他適當(dāng)?shù)慕馕龊筒鸱址椒梢杂糜趶脑紨?shù)據(jù)集 生成各個(gè)數(shù)據(jù)部分。例如,可以逐位地、隨機(jī)或偽隨機(jī)地處理解析和拆分??梢允褂秒S機(jī)或 偽隨機(jī)值(例如,會(huì)話密鑰,密碼反饋會(huì)話密鑰等),藉此對(duì)于原始數(shù)據(jù)中每一位,對(duì)于隨機(jī) 或偽隨機(jī)值中對(duì)應(yīng)數(shù)據(jù)的散列函數(shù)的結(jié)果都可以指示出各個(gè)位要附加到哪個(gè)份。在一種適
57當(dāng)?shù)姆椒ㄖ?,隨機(jī)或偽隨機(jī)值可以被生成為或擴(kuò)展為原始數(shù)據(jù)大小的8倍,從而可以針對(duì) 原始數(shù)據(jù)的每一位,對(duì)隨機(jī)或偽隨機(jī)值的對(duì)應(yīng)字節(jié)執(zhí)行散列函數(shù)。根據(jù)本發(fā)明可以使用以 逐位級(jí)解析和拆分?jǐn)?shù)據(jù)的任何其他適當(dāng)?shù)乃惴?。?yīng)當(dāng)進(jìn)一步意識(shí)到,根據(jù)本發(fā)明,冗余數(shù)據(jù) 可以附加到數(shù)據(jù)份上,例如,以上面描述的方式。在一種適當(dāng)?shù)姆椒ㄖ校馕龊筒鸱植恍枰请S機(jī)或偽隨機(jī)的。相反,可以使用用于 解析和拆分?jǐn)?shù)據(jù)的任何適當(dāng)?shù)拇_定性算法。例如,可以使用將原始數(shù)據(jù)分解為順序的份作 為解析和拆分算法。另一個(gè)示例是逐位地解析和拆分原始數(shù)據(jù),以循環(huán)方式將每個(gè)相應(yīng)位 順序地附加到數(shù)據(jù)份。應(yīng)當(dāng)進(jìn)一步意識(shí)到,根據(jù)本發(fā)明,冗余數(shù)據(jù)可以附加到數(shù)據(jù)份上,例 如,以上面描述的方式。在本發(fā)明的一個(gè)實(shí)施例中,在安全數(shù)據(jù)解析器生成原始數(shù)據(jù)的多個(gè)部分后,為恢 復(fù)原始數(shù)據(jù),所生成的部分中的特定的一個(gè)或多個(gè)可以是強(qiáng)制性的。例如,如果這些部分中 的一個(gè)被用作認(rèn)證份(例如,保存在物理令牌裝置上),并且如果正在使用安全數(shù)據(jù)解析器 的容錯(cuò)特征(即,少于所有的部分是必需的以恢復(fù)原始數(shù)據(jù)),則即使安全數(shù)據(jù)解析器可能 能夠訪問(wèn)原始數(shù)據(jù)的足夠數(shù)量的部分,在恢復(fù)原始數(shù)據(jù)之前可能仍需要該存儲(chǔ)在物理令牌 裝置上的認(rèn)證份。應(yīng)當(dāng)理解,基于例如應(yīng)用、數(shù)據(jù)類型、用戶、任何其他適當(dāng)?shù)囊蛩亍⒒蚱淙?意組合,可以要求任何數(shù)量和類型的特定份。在一種適當(dāng)?shù)姆椒ㄖ校踩珨?shù)據(jù)解析器或安全數(shù)據(jù)解析器的一些外部部件可以加 密原始數(shù)據(jù)的一個(gè)或多個(gè)部分。可能需要提供和解密這些加密部分,以恢復(fù)原始數(shù)據(jù)。不 同的加密部分可以用不同的加密密鑰來(lái)加密。例如,該特征可以被用于實(shí)現(xiàn)更安全的“二人 法則”,藉此第一用戶需要使用第一加密來(lái)加密特定份,而第二用戶需要使用第二加密密鑰 來(lái)加密特定份。為訪問(wèn)原始數(shù)據(jù),兩個(gè)用戶都需要具有他們各自的加密密鑰,并提供原始數(shù) 據(jù)中他們各自的部分。在一種適當(dāng)?shù)姆椒ㄖ?,公鑰可以用于加密可以是恢復(fù)原始數(shù)據(jù)所需 的強(qiáng)制份的一個(gè)或多個(gè)數(shù)據(jù)部分。私鑰則可以用于解密該份以用于恢復(fù)原始數(shù)據(jù)??梢允褂萌魏芜@樣的適當(dāng)?shù)姆独?,其在少于所有的份被需要以恢?fù)原始數(shù)據(jù)的情 況下使用強(qiáng)制份。在本發(fā)明的一個(gè)適當(dāng)?shù)膶?shí)施例中,到有限數(shù)量的數(shù)據(jù)份的數(shù)據(jù)分配可以被隨機(jī)或 偽隨機(jī)地處理,從而從統(tǒng)計(jì)角度,任何特定數(shù)據(jù)份接收到特定數(shù)據(jù)單元的概率等于剩余份 中任何一個(gè)將接收到該數(shù)據(jù)單元的概率。因此,每個(gè)數(shù)據(jù)份將具有近似相等數(shù)量的數(shù)據(jù)位。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,有限數(shù)量的數(shù)據(jù)份中的每一個(gè)不需要具有從原始數(shù) 據(jù)解析和拆分中接收數(shù)據(jù)單元的相等的概率。相反,某一個(gè)或多個(gè)份可以比其余份具有更 高或更低的概率。因此,相對(duì)于其他份,某些份在位大小方面可能更大或者更小。例如,在 兩份的情況中,一個(gè)份可以具有1 %的接收數(shù)據(jù)單元的概率,而第二份具有99%的概率。因 此可知,一旦數(shù)據(jù)單元已經(jīng)被安全數(shù)據(jù)解析器在兩個(gè)份之間分配,第一份應(yīng)該具有近似 的數(shù)據(jù)而第二份有99%。根據(jù)本發(fā)明,可以使用任何適當(dāng)?shù)母怕?。?yīng)當(dāng)理解,安全數(shù)據(jù)解析器也可以被編程為根據(jù)精確(或接近精確)的百分比將 數(shù)據(jù)分配到各個(gè)份。例如,安全數(shù)據(jù)解析器可以被編程為將80 %的數(shù)據(jù)分配到第一份,將剩 余的20%數(shù)據(jù)分配到第二份。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,安全數(shù)據(jù)解析器可以生成數(shù)據(jù)份,其中一個(gè)或多個(gè) 具有預(yù)定大小。例如,安全數(shù)據(jù)解析器可以將原始數(shù)據(jù)拆分為數(shù)據(jù)部分,其中一個(gè)部分為精
58確的256位。在一種適當(dāng)?shù)姆椒ㄖ?,如果不可能生成具有所需大小的?shù)據(jù)部分,則安全數(shù)據(jù) 解析器可以補(bǔ)充該部分使其為正確大小。可以使用任何適當(dāng)?shù)拇笮?。在一種適當(dāng)?shù)姆椒ㄖ?,一個(gè)數(shù)據(jù)部分的大小可以是加密密鑰、拆分密鑰、任何其他 適當(dāng)?shù)拿荑€、或任何其他適當(dāng)?shù)臄?shù)據(jù)元素的大小。如前所討論的,安全數(shù)據(jù)解析器在解析和拆分?jǐn)?shù)據(jù)時(shí)使用密鑰。為了清晰和簡(jiǎn)潔, 這些密鑰在此被稱為“拆分密鑰”。例如,前面介紹的會(huì)話主密鑰為一種類型的拆分密鑰。 同樣,如前所討論的,拆分密鑰可以在由安全數(shù)據(jù)解析器生成的數(shù)據(jù)份內(nèi)被保護(hù)。用于保護(hù) 拆分密鑰的任何適當(dāng)算法都可以用于在數(shù)據(jù)份當(dāng)中保護(hù)它們。例如,Shamir算法可以用于 保護(hù)拆分密鑰,藉此可以生成可用于重建拆分密鑰的信息并附加到數(shù)據(jù)份。根據(jù)本發(fā)明,可 以使用任何其他這樣的適當(dāng)算法。類似地,根據(jù)例如Shamir算法的任何適當(dāng)?shù)乃惴?,任何適當(dāng)?shù)募用苊荑€可以在一 個(gè)或多個(gè)數(shù)據(jù)份內(nèi)被保護(hù)。例如,用于在解析和拆分之前加密數(shù)據(jù)集的加密密鑰、用于在解 析和拆分之后加密數(shù)據(jù)部分的加密密鑰、或這兩者,都可以使用例如Shamir算法或任何其 他適當(dāng)?shù)乃惴▉?lái)保護(hù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,全轉(zhuǎn)換或不轉(zhuǎn)換(All or NothingTransform, AoNT), 例如全包轉(zhuǎn)換,可以用于通過(guò)轉(zhuǎn)換拆分密鑰、加密密鑰、任何其他適當(dāng)?shù)臄?shù)據(jù)元素、或其任 意組合來(lái)進(jìn)一步保護(hù)數(shù)據(jù)。例如,根據(jù)本發(fā)明,用于在解析和拆分之前加密數(shù)據(jù)集的加密密 鑰可以通過(guò)AoNT算法而被轉(zhuǎn)換。轉(zhuǎn)換后的加密密鑰然后可以根據(jù)例如Shamir算法或任何 其他適當(dāng)?shù)乃惴ㄔ跀?shù)據(jù)份之間被分配。如本領(lǐng)域技術(shù)人員已知的,為重建加密密鑰,加密的 數(shù)據(jù)集必須被恢復(fù)(例如,根據(jù)本發(fā)明,如果使用冗余,則不必使用所有數(shù)據(jù)份)以訪問(wèn)關(guān) 于基于AoNT的轉(zhuǎn)換的必要信息。當(dāng)原始加密密鑰被恢復(fù)時(shí),其可以用于解密加密數(shù)據(jù)集以 恢復(fù)原始數(shù)據(jù)集。應(yīng)當(dāng)理解,可以將本發(fā)明的容錯(cuò)特征與AoNT特征結(jié)合使用。S卩,冗余數(shù) 據(jù)可以被包括在數(shù)據(jù)部分中,從而少于所有的數(shù)據(jù)部分為恢復(fù)加密數(shù)據(jù)集所必需。應(yīng)當(dāng)理解,AoNT可以應(yīng)用于加密密鑰,其中該加密密鑰用于在解析和拆分之后加 密數(shù)據(jù)部分,作為在解析和拆分之前加密和AoNT與數(shù)據(jù)集相對(duì)應(yīng)的各個(gè)加密密鑰的替換 或補(bǔ)充。同樣,AoNT可以應(yīng)用于拆分密鑰。在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)本發(fā)明所使用的加密密鑰、拆分密鑰、或兩者都可 以使用例如工作組密鑰來(lái)進(jìn)一步加密,以向保護(hù)的數(shù)據(jù)集提供額外的安全等級(jí)。在本發(fā)明的一個(gè)實(shí)施例中,可以提供審計(jì)模塊以在安全數(shù)據(jù)解析器被調(diào)用以拆分 數(shù)據(jù)時(shí)進(jìn)行跟蹤。圖36示出了根據(jù)本發(fā)明,使用安全數(shù)據(jù)解析器的部件的可能選項(xiàng)3600。選項(xiàng)的 每個(gè)組合在以下概括,并使用來(lái)自圖36的適當(dāng)?shù)牟襟E號(hào)來(lái)標(biāo)記。安全數(shù)據(jù)解析器本質(zhì)上是 模塊化的,允許在圖36中示出的每個(gè)功能塊中使用任何已知的算法。例如,可以使用諸如 Blakely之類的其他密鑰拆分(例如,機(jī)密共享)算法來(lái)代替Shamir,或AES加密可以用諸 如3重DES之類的其他已知加密算法來(lái)代替。圖36的示例中示出的標(biāo)記僅示出了本發(fā)明 的一個(gè)實(shí)施例中使用的一種可能的算法組合。應(yīng)當(dāng)理解,可以使用任何適當(dāng)?shù)乃惴ɑ蛩惴?組合來(lái)代替所標(biāo)記的算法。1)3610,3612,3614,3615,3616,3617,3618,3619在步驟3610使用之前加密過(guò)的數(shù)據(jù),該數(shù)據(jù)最終可以被拆分為預(yù)定數(shù)量的份。如
59果拆分算法需要密鑰,則可以在步驟3612使用加密安全偽隨機(jī)數(shù)生成器生成拆分加密密 鑰。拆分加密密鑰在步驟3615被密鑰拆分為具有容錯(cuò)的預(yù)定數(shù)量的份之前,可以在步驟 3614可選地使用全轉(zhuǎn)換或不轉(zhuǎn)換(AoNT)轉(zhuǎn)換為轉(zhuǎn)換拆分密鑰。然后在步驟3616,數(shù)據(jù)可 以被拆分為預(yù)定數(shù)量的份。在步驟3617可以使用容錯(cuò)方案以允許從少于總數(shù)量的份中再 生數(shù)據(jù)。一旦創(chuàng)建了份,在步驟3618,認(rèn)證/完整性信息可以被嵌入到份中。在步驟3619, 每個(gè)份可以可選地被后加密。2)3111,3612,3614,3615,3616,3617,3618,3619在一些實(shí)施例中,可以使用由用戶或外部系統(tǒng)提供的加密密鑰來(lái)加密輸入數(shù)據(jù)。 在步驟3611提供外部密鑰。例如,可以從外部密鑰存儲(chǔ)器提供密鑰。如果拆分算法要求密 鑰,則在步驟3612可以使用密碼安全偽隨機(jī)數(shù)生成器來(lái)生成拆分加密密鑰。拆分密鑰在步 驟3615被密鑰拆分為具有容錯(cuò)的預(yù)定數(shù)量的份之前,在步驟3614可以可選地使用全轉(zhuǎn)換 或不轉(zhuǎn)換(AoNT)而被轉(zhuǎn)換為轉(zhuǎn)換拆分加密密鑰。然后在步驟3616,數(shù)據(jù)被拆分為預(yù)定數(shù)量 的份。在步驟3617可以使用容錯(cuò)方案來(lái)允許數(shù)據(jù)從少于總數(shù)量的份中再生。一旦創(chuàng)建了 份,在步驟3618,認(rèn)證/完整性信息可以被嵌入到份中。在步驟3619,每個(gè)份可以可選地被 后加密。3)3612,3613,3614,3615,3612,3614,3615,3616,3617,3618,3619在一些實(shí)施例中,在步驟3612可以使用加密安全偽隨機(jī)數(shù)生成器來(lái)生成加密密 鑰以轉(zhuǎn)換數(shù)據(jù)。在步驟3613可以使用所生成的加密密鑰來(lái)加密數(shù)據(jù)。在步驟3614,加密密 鑰可以可選地使用全轉(zhuǎn)換或不轉(zhuǎn)換(AoNT)而被轉(zhuǎn)換為轉(zhuǎn)換加密密鑰。然后在步驟3615,轉(zhuǎn) 換加密密鑰和/或所生成的加密密鑰可以被拆分為具有容錯(cuò)的預(yù)定數(shù)量的份。如果拆分算 法需要密鑰,則在步驟3612可以使用加密安全偽隨機(jī)數(shù)生成器來(lái)生成拆分加密密鑰。拆分 密鑰在步驟3615被密鑰拆分為具有容錯(cuò)的預(yù)定數(shù)量的份之前,在步驟3614可以可選地使 用全轉(zhuǎn)換或不轉(zhuǎn)換(AoNT)而被轉(zhuǎn)換為轉(zhuǎn)換拆分加密密鑰。然后在步驟3616,數(shù)據(jù)可以被拆 分為預(yù)定數(shù)量的份。在步驟3617可以使用容錯(cuò)方案來(lái)允許從少于總數(shù)量的份中再生數(shù)據(jù)。 一旦創(chuàng)建了份,在步驟3618,認(rèn)證/完整性信息將被嵌入到份中。然后在步驟3619,每個(gè)份 可以被可選地后加密。4)3612,3614,3615,3616,3617,3618,3619在一些實(shí)施例中,數(shù)據(jù)可以被拆分為預(yù)定數(shù)量的份。如果拆分算法需要密鑰,則在 步驟3612可以使用加密安全偽隨機(jī)數(shù)生成器來(lái)生成拆分加密密鑰。拆分密鑰在步驟3615 被密鑰拆分為具有容錯(cuò)的預(yù)定數(shù)量的份時(shí),在步驟3614可以可選地使用全轉(zhuǎn)換或不轉(zhuǎn)換 (AoNT)而被轉(zhuǎn)換為轉(zhuǎn)換拆分密鑰。然后在步驟3616,數(shù)據(jù)可以被拆分。在步驟3617可以 使用容錯(cuò)方案以允許從少于總數(shù)量的份中再生數(shù)據(jù)。一旦創(chuàng)建了份,在步驟3618,認(rèn)證/完 整性信息可以被嵌入到份中。在步驟3619,每個(gè)份可以可選地被后加密。 雖然以上四種選項(xiàng)組合被優(yōu)選地用于本發(fā)明的一些實(shí)施例中,但是任何其他適當(dāng) 的特征、步驟或選項(xiàng)的組合都可以與安全數(shù)據(jù)解析器一起用于其它實(shí)施例。
安全數(shù)據(jù)解析器可以通過(guò)有助于物理分離來(lái)提供靈活的數(shù)據(jù)保護(hù)。數(shù)據(jù)可以首先 被加密,然后被拆分為具有“n中m個(gè)”容錯(cuò)的份。這允許在少于總數(shù)量的份可用時(shí)再生原 始信息。例如,一些份可能在傳輸中丟失或損壞。如以下更詳細(xì)的討論,該丟失或損壞的份 可以基于附加到份的容錯(cuò)或完整性信息被重建。
60
為了創(chuàng)建份,多個(gè)密鑰可以可選地被安全數(shù)據(jù)解析器使用。這些密鑰可以包括以 下的一個(gè)或多個(gè)預(yù)加密密鑰當(dāng)選擇預(yù)加密各份時(shí),外部密鑰可以被傳遞到安全數(shù)據(jù)解析器。該密 鑰可以在外部被生成和存儲(chǔ)在密鑰存儲(chǔ)器中(或其他位置),并可以被用于可選地在數(shù)據(jù) 拆分之前加密數(shù)據(jù)。拆分加密密鑰該密鑰可以在內(nèi)部被生成,并被安全數(shù)據(jù)解析器使用以在拆分之 前加密數(shù)據(jù)。然后該密鑰可以使用密鑰拆分算法被安全地存儲(chǔ)在各份中。拆分會(huì)話密鑰該密鑰不與加密算法一起使用;相反,在選擇隨機(jī)拆分時(shí)其可以 被用作數(shù)據(jù)分割算法的密鑰。在使用隨機(jī)拆分時(shí),拆分會(huì)話密鑰可以在內(nèi)部生成,并由安全 數(shù)據(jù)解析器用于將數(shù)據(jù)分割為份。該密鑰可以使用密鑰拆分算法被安全地存儲(chǔ)在各份中。后加密密鑰在選擇后加密份時(shí),外部密鑰可以被傳遞到安全數(shù)據(jù)解析器,并被用 于后加密單獨(dú)的份。該密鑰可以在外部被生成和存儲(chǔ)在密鑰存儲(chǔ)器中或其他適當(dāng)位置。在一些實(shí)施例中,當(dāng)以此方式使用安全數(shù)據(jù)解析器保護(hù)數(shù)據(jù)時(shí),只有當(dāng)所有所需 的份和外部加密密鑰都存在時(shí),該信息才可以被重新組裝。圖37示出了在一些實(shí)施例中使用本發(fā)明的安全數(shù)據(jù)解析器的示例性總處理 3700。如上所述,安全數(shù)據(jù)解析器3706的兩個(gè)適當(dāng)?shù)墓δ芸梢园用?702和備份3704。 這樣,在一些實(shí)施例中,安全數(shù)據(jù)解析器3706可以與RAID或備份系統(tǒng)或硬件或軟件加密引
擎集成在一起。與安全數(shù)據(jù)解析器3706相關(guān)聯(lián)的主密鑰處理可以包括一個(gè)或多個(gè)預(yù)加密處理 3708、加密/轉(zhuǎn)換處理3710、密鑰安全處理3712、解析/分配處理3714、容錯(cuò)處理3716、份認(rèn) 證處理3716、和后加密處理3720。這些處理可以以多種適當(dāng)?shù)捻樞蚧蚪M合來(lái)執(zhí)行,如圖36 所詳細(xì)示出的。所使用的處理的組合和順序可以取決于特定的應(yīng)用或用途,期望的安全等 級(jí),是否期望可選的預(yù)加密、后加密、或兩者,期望的冗余,底層或集成系統(tǒng)的能力或性能, 或任何其他適當(dāng)?shù)囊蛩鼗蛞蛩氐慕M合。示例性處理3700的輸出可以是兩個(gè)或更多個(gè)份3722。如上所述,在一些實(shí)施例中 數(shù)據(jù)可以被隨機(jī)(或偽隨機(jī))地分配至這些份中的每一個(gè)。在其他實(shí)施例中,可以使用確 定性算法(或隨機(jī)、偽隨機(jī)、和確定性算法的某種適當(dāng)組合)。除了對(duì)信息資產(chǎn)的個(gè)體保護(hù),有時(shí)要求在不同的用戶組或利益團(tuán)體之間共享信 息。則這可能有必要控制對(duì)用戶組內(nèi)個(gè)體的份的訪問(wèn),或在那些用戶之間共享僅允許該組 的成員重新組裝各個(gè)份的憑證。為此,在本發(fā)明的一些實(shí)施例中,可以對(duì)組成員配置工作組 密鑰。工作組密鑰應(yīng)當(dāng)被保護(hù)和保持為機(jī)密,因?yàn)楣ぷ鹘M密鑰的泄露可能潛在地允許組外 人員訪問(wèn)信息。用于工作組密鑰的配置和保護(hù)的一些系統(tǒng)和方法在下面討論。工作組密鑰概念允許通過(guò)加密存儲(chǔ)在份中的密鑰信息來(lái)增強(qiáng)信息資產(chǎn)保護(hù)。一旦 執(zhí)行該操作,即使所有需要的份和外部密鑰被發(fā)現(xiàn),攻擊者也沒(méi)有希望不訪問(wèn)工作組密鑰 就重建信息。圖38示出了用于在份內(nèi)存儲(chǔ)密鑰和數(shù)據(jù)分量的示例性框圖3800。在圖3800的示 例中,可選的預(yù)加密和后加密步驟被省略,盡管這些步驟可以被包括在其他實(shí)施例中。拆分?jǐn)?shù)據(jù)的簡(jiǎn)化處理包括在加密階段3802使用加密密鑰3804加密數(shù)據(jù)。根據(jù)本 發(fā)明,加密密鑰3804的部分然后可以被拆分并存儲(chǔ)在份3810中。拆分加密密鑰3806的部
61分也可以存儲(chǔ)在份3810中。使用拆分加密密鑰,然后數(shù)據(jù)3808被拆分并存儲(chǔ)在份3810中。為恢復(fù)數(shù)據(jù),根據(jù)本發(fā)明,拆分加密密鑰3806可以被取回并恢復(fù)。然后拆分操作 可以被反向進(jìn)行以恢復(fù)密文。加密密鑰3804也可以被取回并恢復(fù),并且密文可以使用加密 密鑰被解密。當(dāng)使用工作組密鑰時(shí),以上處理可以被稍微地改變以使用工作組密鑰保護(hù)加密密 鑰。然后在加密密鑰被存儲(chǔ)在份中之前,加密密鑰可以用工作組密鑰來(lái)保護(hù)。修改的步驟 在圖39的示例性框圖3900中被示出。使用工作組密鑰拆分?jǐn)?shù)據(jù)的簡(jiǎn)化處理包括在階段3902首先使用加密密鑰加密數(shù) 據(jù)。然后在階段3904,加密密鑰可以使用工作組密鑰被加密。然后該用工作組密鑰加密的 加密密鑰可以被拆分為部分,并與份3912 —起存儲(chǔ)。拆分密鑰3908也可以被拆分并存儲(chǔ) 在份3912中。最后,數(shù)據(jù)3910的部分使用拆分密鑰3908被拆分并存儲(chǔ)在份3912中。為恢復(fù)數(shù)據(jù),根據(jù)本發(fā)明,拆分密鑰可以被取回并恢復(fù)。然后根據(jù)本發(fā)明,拆分操 作可以反向進(jìn)行以恢復(fù)密文。加密密鑰(使用工作組密鑰加密)可以被取回并恢復(fù)。然后 加密密鑰可以使用工作組密鑰被解密。最后,密文可以使用加密密鑰被解密。有多種配置和保護(hù)工作組密鑰的安全方法。為特定應(yīng)用選擇使用哪種方法取決于 多個(gè)因素。這些因素可以包括所要求的安全等級(jí)、成本、便利、和工作組中的用戶數(shù)量。在 一些實(shí)施例中所使用的一些常用技術(shù)被提供如下基于硬件的密鉬存儲(chǔ)基于硬件的方案通常為加密系統(tǒng)中的加密/解密密鑰的安全性提供最強(qiáng)的保證。 基于硬件的存儲(chǔ)方案的示例包括防篡改密鑰令牌裝置,其在便攜式裝置(例如,智能卡/加 密狗)或非便攜密鑰存儲(chǔ)外圍裝置中存儲(chǔ)密鑰。這些裝置被設(shè)計(jì)為防止由未授權(quán)方簡(jiǎn)單地 復(fù)制密鑰資料。密鑰可以由可信任的權(quán)力機(jī)構(gòu)生成并分配給用戶,或在硬件內(nèi)生成。此外, 很多密鑰存儲(chǔ)系統(tǒng)提供多因素認(rèn)證,其中使用密鑰需要訪問(wèn)物理對(duì)象(令牌)和通行碼或 生物識(shí)別?;谲浖拿荑€存儲(chǔ)雖然專用的基于硬件的存儲(chǔ)可能被期望用于高安全性配置或應(yīng)用,但其他配置可 以選擇直接在本地硬件(例如,盤(pán)、RAM或非易失性RAM存儲(chǔ)器,例如USB驅(qū)動(dòng)器)上存儲(chǔ) 密鑰。這對(duì)于內(nèi)部攻擊提供了較低的保護(hù)等級(jí),或在一些情況下攻擊者能夠直接訪問(wèn)加密 機(jī)器。為保護(hù)盤(pán)上的密鑰,基于軟件的密鑰管理通常通過(guò)在源于其他認(rèn)證度量的組合的 密鑰下以加密形式存儲(chǔ)密鑰來(lái)保護(hù)密鑰,這些認(rèn)證度量包括口令和通行碼、其他密鑰的存 在(例如,來(lái)自基于硬件的方案)、生物識(shí)別、或上述的任意適當(dāng)組合。由這樣的技術(shù)提供的 安全等級(jí)可以從由一些操作系統(tǒng)(例如,MS Windows和Linux)提供的相對(duì)弱的密鑰保護(hù) 機(jī)制,延伸到使用多因素認(rèn)證的更魯棒的方案。本發(fā)明的安全數(shù)據(jù)解析器可以在多種應(yīng)用和技術(shù)中被有利地使用。例如,電子郵 件系統(tǒng)、RAID系統(tǒng)、視頻廣播系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、或任何其他適當(dāng)?shù)南到y(tǒng)可以以任何適當(dāng)?shù)?等級(jí)集成安全數(shù)據(jù)解析器。如前討論的,應(yīng)當(dāng)理解,安全數(shù)據(jù)解析器也可以被集成以保護(hù) 和容錯(cuò)任何類型的通過(guò)任何傳輸介質(zhì)(包括例如有線、無(wú)線、或物理傳輸介質(zhì))而移動(dòng)的 數(shù)據(jù)。如一個(gè)示例,因特網(wǎng)協(xié)議語(yǔ)音(VoIP)應(yīng)用可以使用本發(fā)明的安全數(shù)據(jù)解析器以解決
62與VoIP中經(jīng)常出現(xiàn)的回聲和延遲有關(guān)的問(wèn)題??梢酝ㄟ^(guò)使用容錯(cuò)消除對(duì)丟包的網(wǎng)絡(luò)重試 的需要,其保證了包的遞送,即使有預(yù)定數(shù)量的份丟失。數(shù)據(jù)包(例如,網(wǎng)絡(luò)包)還可以以 最小延遲和緩沖地被有效拆分和“即時(shí)”恢復(fù),得到一種用于各種類型的移動(dòng)數(shù)據(jù)的綜合方 案。安全數(shù)據(jù)解析器可以對(duì)網(wǎng)絡(luò)數(shù)據(jù)包、網(wǎng)絡(luò)語(yǔ)音包、文件系統(tǒng)數(shù)據(jù)塊、或任何其他適當(dāng)?shù)?信息單元起作用。除了與VoIP應(yīng)用集成,安全數(shù)據(jù)解析器還可以與文件共享應(yīng)用(例如, 對(duì)等文件共享應(yīng)用)、視頻廣播應(yīng)用、電子投票或調(diào)查應(yīng)用(其可以實(shí)現(xiàn)電子投票協(xié)議和盲 簽(blind signature),例如Sensus協(xié)議)、電子郵件應(yīng)用、或任何其他需要或期望安全通 信的網(wǎng)絡(luò)應(yīng)用集成。在一些實(shí)施例中,對(duì)移動(dòng)的網(wǎng)絡(luò)數(shù)據(jù)的支持可以通過(guò)本發(fā)明的安全數(shù)據(jù)解析器以 兩個(gè)不同階段來(lái)提供——頭生成階段和數(shù)據(jù)分割階段。簡(jiǎn)化的頭生成處理4000和簡(jiǎn)化的 數(shù)據(jù)分割處理4010分別在圖40A和40B中示出。這些處理中的一個(gè)或兩個(gè)可以對(duì)網(wǎng)絡(luò)包、 文件系統(tǒng)塊、或任何其他適當(dāng)?shù)男畔?zhí)行。在一些實(shí)施例中,在網(wǎng)絡(luò)包流初始化時(shí)頭生成處理4000可以被執(zhí)行一次。在步驟 4002,可以生成隨機(jī)(或偽隨機(jī))拆分加密密鑰K。然后在AES密鑰包裝步驟4004,拆分加 密密鑰K可以可選地被加密。盡管AES密鑰包裝可以用在一些實(shí)施例中,但任何適當(dāng)?shù)拿?鑰加密或密鑰包裝算法可以用在其它實(shí)施例中。AES密鑰包裝步驟4004可以對(duì)整個(gè)拆分 加密密鑰K操作,或者拆分加密密鑰可以被解析為若干塊(例如,64位的塊)。然后如果期 望,AES密鑰包裝步驟4004可以對(duì)拆分加密密鑰的塊操作。在步驟4006,機(jī)密共享算法(例如,Shamir)可以用于將拆分加密密鑰K拆分為密 鑰份。然后每個(gè)密鑰份可以被嵌入到輸出份中之一(例如,在份的頭部)。最后,份完整性 模塊和(可選的)后認(rèn)證標(biāo)簽(例如,MAC)可以被附加到每個(gè)份的頭塊。每個(gè)頭塊可以被 設(shè)計(jì)為適合于在單個(gè)的數(shù)據(jù)包內(nèi)。在頭生成完成(例如,使用簡(jiǎn)化的頭生成處理4000)之后,安全數(shù)據(jù)解析器可以使 用簡(jiǎn)化的數(shù)據(jù)分割處理4010來(lái)進(jìn)入數(shù)據(jù)分割階段。在步驟4012,使用拆分加密密鑰K加 密流中的每個(gè)輸入的數(shù)據(jù)包或數(shù)據(jù)塊。在步驟4014,可以對(duì)從步驟4012得到的密文計(jì)算 份完整性信息(例如,散列H)。例如,可以計(jì)算SHA-256散列。然后在步驟4016,根據(jù)本發(fā) 明,數(shù)據(jù)包或數(shù)據(jù)塊可以使用上述的數(shù)據(jù)分割算法中的一個(gè)被分割成為兩個(gè)或更多個(gè)數(shù)據(jù) 份。在一些實(shí)施例中,可以分割數(shù)據(jù)包或數(shù)據(jù)塊,從而每個(gè)數(shù)據(jù)份包括加密的數(shù)據(jù)包或數(shù)據(jù) 塊的基本隨機(jī)分配。然后完整性信息(例如,散列H)可以被附加到每個(gè)數(shù)據(jù)份。在一些實(shí) 施例中,可選的后認(rèn)證標(biāo)簽(例如,MAC)也可以被計(jì)算并附加到每個(gè)數(shù)據(jù)份。每個(gè)數(shù)據(jù)份可以包括元數(shù)據(jù),其可以是允許正確重建數(shù)據(jù)塊或數(shù)據(jù)包所必需的。 該信息可以被包括在份頭中。元數(shù)據(jù)可以包括諸如加密密鑰份、密鑰標(biāo)識(shí)、份臨時(shí)隨機(jī)數(shù)、 簽名/MAC值、和完整性塊之類的信息。為最大化帶寬效率,元數(shù)據(jù)可以以壓縮二進(jìn)制格式 被存儲(chǔ)。例如,在一些實(shí)施例中,份頭包括明文頭組塊,其不被加密并可以包括諸如Shamir 密鑰份、每個(gè)會(huì)話臨時(shí)隨機(jī)數(shù)、每個(gè)份臨時(shí)隨機(jī)數(shù)、密鑰標(biāo)識(shí)符(例如,工作組密鑰標(biāo)識(shí)符 和后認(rèn)證密鑰標(biāo)識(shí)符)之類的元素。份頭還可以包括加密頭組塊,其使用拆分加密密鑰被 加密。頭中還可以包括完整性頭組塊,其可以包括對(duì)于任意數(shù)量的先前塊(例如,先前的兩 個(gè)塊)的完整性檢查。任何其他適當(dāng)?shù)闹祷蛐畔⒁部梢员话ㄔ诜蓊^中。
63
如圖41的示例性份格式4100中所示,頭塊4102可以與兩個(gè)或更多個(gè)輸出塊4104 相關(guān)聯(lián)。每個(gè)頭塊,例如頭塊4102,可以被設(shè)計(jì)為適合于在單個(gè)網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)。在一些實(shí)施 例中,在頭塊4102從第一位置被傳輸?shù)降诙恢弥?,然后可以傳輸輸出塊??商鎿Q地,頭 塊4102和輸出塊4104可同時(shí)并行傳輸。傳輸可以在一個(gè)或多個(gè)類似或不相類似的通信通 道上發(fā)生。每個(gè)輸出塊可以包括數(shù)據(jù)部分4106和完整性/真實(shí)性部分4108。如上所述,每個(gè) 數(shù)據(jù)份可以使用包括加密的、預(yù)分割數(shù)據(jù)的份完整性信息(例如,SHA-256散列)的份完整 性部分被保護(hù)。為在恢復(fù)時(shí)校驗(yàn)輸出塊的完整性,安全數(shù)據(jù)解析器可以比較每個(gè)份的份完 整性塊,然后反轉(zhuǎn)拆分算法。然后可以通過(guò)份散列來(lái)校驗(yàn)恢復(fù)的數(shù)據(jù)的散列。盡管以上描述了安全數(shù)據(jù)解析器的一些常用的應(yīng)用,但是應(yīng)當(dāng)清楚地理解,本發(fā) 明可以與任何網(wǎng)絡(luò)應(yīng)用集成以增加安全性、容錯(cuò)、匿名、或上述的任何適當(dāng)組合。本發(fā)明的另一個(gè)方面是一種公共接口(例如,通用的應(yīng)用程序接口( “API”)),以 用于跨多個(gè)平臺(tái)、接口、或平臺(tái)和接口兩者而安全地創(chuàng)建、存儲(chǔ)、和管理加密密鑰。公共接口 可以由硬件、軟件、固件、或硬件、軟件、和固件的任意組合提供。例如,在一些實(shí)施例中,密 鑰提供者應(yīng)用、實(shí)用程序、或機(jī)制可以在安全地存儲(chǔ)或管理加密密鑰的那些系統(tǒng)和安全數(shù) 據(jù)解析器之間提供公共接口。密鑰提供者應(yīng)用、實(shí)用程序、或機(jī)制還可以允許各種密鑰提供 者和密鑰存儲(chǔ)器之間的互用性??梢詫?shí)現(xiàn)關(guān)于公共接口的多個(gè)設(shè)計(jì)目標(biāo),包括可證明的安全性和對(duì)標(biāo)準(zhǔn)密碼術(shù)的 依賴。例如,加密密鑰可以使用用于密鑰管理的被證明的行業(yè)標(biāo)準(zhǔn)機(jī)制來(lái)被安全地處理和 傳遞。任何密鑰提供者應(yīng)用或機(jī)制的完整性也可以通過(guò)不允許公共接口與底層密鑰提供者 應(yīng)用、實(shí)用程序、或機(jī)制的特征或功能進(jìn)行接口來(lái)維護(hù)。在一些實(shí)施例中,單個(gè)接口可以被 用于所有密鑰提供者。在一些實(shí)施例中,底層密鑰提供者程序或安全數(shù)據(jù)解析器的改變可 以不影響公共接口。密鑰提供者或安全數(shù)據(jù)解析器引擎的接口改變可以對(duì)公共接口僅具有 很小的影響。例如,公共接口(或提供公共接口的應(yīng)用、實(shí)用程序、或機(jī)制)的設(shè)計(jì)可以高 度模塊化。個(gè)性的提供者二進(jìn)制程序(binary)的合成和公共接口用以接口到這些二進(jìn)制 程序的機(jī)制,在本質(zhì)上都可以被高度模塊化。在一些實(shí)施例中,公共接口包括在應(yīng)用或其他接口或平臺(tái)之間生成、存儲(chǔ)、取回和 傳遞加密密鑰的功能。這些功能可以包括下列示例性功能中的一個(gè)或多個(gè)OPEN(打開(kāi))-0PEN功能可以用于通過(guò)與應(yīng)用或接口相關(guān)聯(lián)的應(yīng)用接口二進(jìn)制程 序來(lái)發(fā)起與目標(biāo)應(yīng)用或接口的通信。CLOSE(關(guān)閉)-CLOSE功能可以用于停止與目標(biāo)應(yīng)用或接口的通信。GENERATE KEY(生成密鑰)-GENERATE KEY功能可以用于創(chuàng)建加密密鑰。RETRIEVE KEY(取回密鑰)-RETRIEVE KEY功能可以用于訪問(wèn)要在安全數(shù)據(jù)解析器 引擎的拆分或恢復(fù)功能中使用的密鑰。STORE KEY(存儲(chǔ)密鑰)-STORE KEY功能可以用于將密鑰放入安全數(shù)據(jù)解析器引 擎的密鑰存儲(chǔ)器內(nèi)(或放在其他目標(biāo)介質(zhì)上,例如諸如USB閃存或智能卡之類的可移除介 質(zhì))。DELETE KEY(刪除密鑰)-DELETE KEY功能可以用于從安全數(shù)據(jù)解析器引擎的密鑰 存儲(chǔ)器中移除密鑰。
64
在一些實(shí)施例中,每個(gè)應(yīng)用或接口可以被配置為由使用個(gè)性的應(yīng)用接口二進(jìn)制程 序的密鑰提供者應(yīng)用、實(shí)用程序、或機(jī)制來(lái)使用。該二進(jìn)制程序(例如,程序)可以將來(lái)自公 共接口的請(qǐng)求轉(zhuǎn)換為進(jìn)行請(qǐng)求的應(yīng)用或接口的個(gè)性請(qǐng)求。這樣,密鑰提供者應(yīng)用、實(shí)用程序 或機(jī)制可以無(wú)縫地(并安全地)支持跨大量不同平臺(tái)和接口的加密密鑰創(chuàng)建、刪除、存儲(chǔ)、
和管理。為使加密密鑰可被安全數(shù)據(jù)解析器引擎訪問(wèn),密鑰可以首先被放置在安全解析器 引擎的密鑰存儲(chǔ)器中,并被識(shí)別供使用。每個(gè)應(yīng)用或接口可以具有在應(yīng)用或接口的應(yīng)用接 口二進(jìn)制程序中指定的個(gè)性化請(qǐng)求。因?yàn)槊總€(gè)應(yīng)用被增加到密鑰提供者應(yīng)用、實(shí)用程序或 機(jī)制中,所以其可以被提供有轉(zhuǎn)換模塊,其詳細(xì)說(shuō)明了公共接口和獨(dú)特應(yīng)用接口請(qǐng)求之間 的轉(zhuǎn)換。圖42示出了用于使用公共接口來(lái)管理加密密鑰的示例性處理4200。在步驟4202, 管理加密密鑰的請(qǐng)求可以從第一機(jī)制或接口被接收。例如,生成、取回、存儲(chǔ)、或刪除加密密 鑰的請(qǐng)求可以以第一接口格式被接收。該請(qǐng)求可以例如通過(guò)安全通信信道或經(jīng)受保護(hù)的通 信會(huì)話而被接收。如果該請(qǐng)求通過(guò)諸如因特網(wǎng)之類的網(wǎng)絡(luò)被接收,則可以實(shí)施網(wǎng)絡(luò)安全協(xié) 議(例如 SSL、TLS、SSH、或 IPsec)。在步驟4204,所接收的請(qǐng)求可以被轉(zhuǎn)換為公共接口請(qǐng)求。例如,該請(qǐng)求可以從第一 接口格式被轉(zhuǎn)換為上述的一個(gè)或多個(gè)公共接口功能。在步驟4206,公共接口請(qǐng)求可以被認(rèn) 證。例如,用戶或發(fā)起的網(wǎng)絡(luò)地址可以使用任何認(rèn)證協(xié)議或加密握手而被加密認(rèn)證。該請(qǐng) 求也可以通過(guò)校驗(yàn)該請(qǐng)求是有效公共接口格式或源于授權(quán)源而被認(rèn)證。例如,在一些實(shí)施 例中,有效請(qǐng)求可以被加密簽名,在該種情況下,步驟4206可以包括校驗(yàn)與該請(qǐng)求相關(guān)聯(lián) 的加密簽名。這可以幫助防止其中無(wú)效形成的公共接口請(qǐng)求可能嘗試?yán)@開(kāi)認(rèn)證的第三方攻 擊。安全數(shù)據(jù)解析器(或執(zhí)行安全數(shù)據(jù)解析器的系統(tǒng)或機(jī)制)也可維護(hù)授權(quán)客戶或進(jìn)行請(qǐng) 求的接口的表??蛻艋蜻M(jìn)行請(qǐng)求的接口可以使用任何適當(dāng)?shù)恼J(rèn)證協(xié)議而被認(rèn)證。在步驟4208,可以確定公共接口請(qǐng)求是否已經(jīng)被認(rèn)證。例如,在一些實(shí)施例中,成 功認(rèn)證之后,可以提供認(rèn)證令牌。對(duì)于來(lái)自相同的接口或進(jìn)行請(qǐng)求的客戶的連續(xù)請(qǐng)求,可以 提交認(rèn)證令牌來(lái)代替發(fā)起新的認(rèn)證會(huì)話。認(rèn)證令牌也可以與某個(gè)截止日期、截止時(shí)間、或兩 者相關(guān)聯(lián)。這樣,認(rèn)證令牌可以在發(fā)布之后的某個(gè)預(yù)定時(shí)間長(zhǎng)度之后到期。密鑰提供者應(yīng) 用、實(shí)用程序、或機(jī)制可以通過(guò)從系統(tǒng)時(shí)鐘或計(jì)時(shí)器訪問(wèn)當(dāng)前時(shí)間來(lái)實(shí)施與認(rèn)證令牌相關(guān) 聯(lián)的所有的截止日期和時(shí)間。在其他實(shí)施例中,每個(gè)請(qǐng)求可以被認(rèn)證,而不理會(huì)有效和未過(guò) 期的認(rèn)證令牌的存在。如果該請(qǐng)求還未被認(rèn)證,則示例性處理4200可返回步驟4202。如果在步驟4208,已確定請(qǐng)求已經(jīng)被認(rèn)證,則在步驟4210可以訪問(wèn)安全數(shù)據(jù)解析 器的加密密鑰。如上所述,加密密鑰可以以各種方式被存儲(chǔ)或保護(hù)。例如,安全數(shù)據(jù)解析器 的所有或一些密鑰可以被保護(hù)在標(biāo)準(zhǔn)密鑰存儲(chǔ)器、單獨(dú)的硬件密鑰存儲(chǔ)器、智能卡、定制密 鑰存儲(chǔ)器、單獨(dú)的數(shù)據(jù)庫(kù)表中,或保護(hù)在一個(gè)或多個(gè)加密份內(nèi)。在訪問(wèn)安全數(shù)據(jù)解析器的加密密鑰后,在步驟4212可以執(zhí)行公共接口請(qǐng)求。例 如,可以執(zhí)行上述的一個(gè)或多個(gè)公共接口功能。這些功能可以生成新的密鑰、取回已有的密 鑰、存儲(chǔ)密鑰、或從安全數(shù)據(jù)解析器的加密密鑰的集合中刪除已有的密鑰,等等。任何其他 適當(dāng)?shù)拿罨騽?dòng)作也可以在步驟4212被執(zhí)行。在步驟4214,確定公共接口請(qǐng)求是否包括任 何返回參數(shù)。例如,一些請(qǐng)求可以返回加密密鑰、至加密密鑰的存儲(chǔ)器地址或指針、或任何
65其他適當(dāng)?shù)男畔?例如,成功或失敗返回代碼)。如果在步驟4214沒(méi)有返回參數(shù),則示例性 處理4200可以返回到步驟4202并等待新的請(qǐng)求。如果一個(gè)或多個(gè)參數(shù)要被返回,則在步驟4216,返回參數(shù)可以被轉(zhuǎn)換為與第一接 口兼容的格式。例如,應(yīng)用接口二進(jìn)制程序可以將返回參數(shù)從公共接口格式轉(zhuǎn)換為進(jìn)行請(qǐng) 求的客戶的接口格式。在步驟4218,返回參數(shù)可以通過(guò)安全通信通道或通信會(huì)話被傳輸至 第一接口。如果是通過(guò)諸如因特網(wǎng)之類的網(wǎng)絡(luò)接收請(qǐng)求,則一個(gè)或多個(gè)返回參數(shù)可以通過(guò) 實(shí)施網(wǎng)絡(luò)安全協(xié)議(例如SSL、TLS、SSH、或IPsec)的網(wǎng)絡(luò)連接被傳輸。此外,考慮到此處的公開(kāi),對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其他的組合、增加、替換和 修改都將是顯而易見(jiàn)的。因此,本發(fā)明并不旨在被優(yōu)選實(shí)施例的反應(yīng)所限制,而是提供參考 附加的權(quán)利要求來(lái)限定。
權(quán)利要求
一種用于管理加密密鑰的方法,所述方法包括從第一接口接收管理遠(yuǎn)離所述第一接口存儲(chǔ)的至少一個(gè)加密密鑰的請(qǐng)求;將所述請(qǐng)求從第一接口格式轉(zhuǎn)換為公共接口格式;通過(guò)至少校驗(yàn)所述請(qǐng)求是從授權(quán)源發(fā)起的來(lái)認(rèn)證所述請(qǐng)求;以及執(zhí)行轉(zhuǎn)換后的具有所述公共接口格式的請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行轉(zhuǎn)換后的請(qǐng)求包括取回所述至少一個(gè)加密密鑰。
3.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行轉(zhuǎn)換后的請(qǐng)求包括生成所述至少一個(gè)加密密鑰。
4.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行轉(zhuǎn)換后的請(qǐng)求包括刪除所述至少一個(gè)加密 密鑰。
5.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行轉(zhuǎn)換后的請(qǐng)求包括在密鑰存儲(chǔ)器中存儲(chǔ)所 述至少一個(gè)加密密鑰。
6.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行轉(zhuǎn)換后的請(qǐng)求包括在可移動(dòng)介質(zhì)上存儲(chǔ)所 述至少一個(gè)加密密鑰。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括使用所述至少一個(gè)加密密鑰來(lái)保護(hù)數(shù)據(jù) 集,其中保護(hù)所述數(shù)據(jù)集包括使用所述至少一個(gè)加密密鑰來(lái)加密所述數(shù)據(jù)集; 生成隨機(jī)或偽隨機(jī)值;至少部分基于所述隨機(jī)或偽隨機(jī)值,將所述數(shù)據(jù)集中的加密數(shù)據(jù)分配成兩份或更多 份;以及將所述兩份或更多份分開(kāi)存儲(chǔ)在至少一個(gè)數(shù)據(jù)倉(cāng)庫(kù)中。
8.根據(jù)權(quán)利要求7所述的方法,其中,將所述兩份或更多份分開(kāi)存儲(chǔ)在至少一個(gè)數(shù)據(jù) 倉(cāng)庫(kù)中包括將所述兩份或更多份存儲(chǔ)在至少兩個(gè)地理上分開(kāi)的數(shù)據(jù)倉(cāng)庫(kù)中。
9.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括將所執(zhí)行的請(qǐng)求的至少一個(gè)返回參數(shù)從公 共接口格式轉(zhuǎn)換為第一接口格式。
10.根據(jù)權(quán)利要求9所述的方法,其中,所執(zhí)行的請(qǐng)求的所述至少一個(gè)返回參數(shù)包括至 少一個(gè)加密密鑰。
11.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括通過(guò)安全通信通道將所述至少一個(gè)返回 參數(shù)傳輸至所述第一接口。
12.根據(jù)權(quán)利要求1所述的方法,其中,認(rèn)證所述請(qǐng)求包括執(zhí)行認(rèn)證協(xié)議或加密握手。
13.根據(jù)權(quán)利要求1所述的方法,其中,認(rèn)證所述請(qǐng)求包括校驗(yàn)與所述請(qǐng)求相關(guān)聯(lián)的加 密簽名。
14.根據(jù)權(quán)利要求1所述的方法,其中,認(rèn)證所述請(qǐng)求包括驗(yàn)證認(rèn)證令牌。
15.根據(jù)權(quán)利要求14所述的方法,其中,驗(yàn)證認(rèn)證令牌包括實(shí)施與所述認(rèn)證令牌相關(guān) 聯(lián)的截止日期或截止時(shí)間。
全文摘要
提供了一種用于管理加密密鑰的公共接口。管理加密密鑰的請(qǐng)求可以以第一接口格式被接收,被轉(zhuǎn)換為公共接口格式,然后遠(yuǎn)離第一接口被執(zhí)行。返回參數(shù)然后可以從公共接口格式轉(zhuǎn)換為與第一接口兼容的格式并被安全地傳送至第一接口。加密密鑰可以與安全數(shù)據(jù)解析器聯(lián)合使用,其中安全數(shù)據(jù)解析器通過(guò)將數(shù)據(jù)集中的數(shù)據(jù)隨機(jī)分配成兩個(gè)或更多個(gè)份來(lái)保護(hù)數(shù)據(jù)。
文檔編號(hào)H04L9/00GK101855860SQ200880115595
公開(kāi)日2010年10月6日 申請(qǐng)日期2008年9月12日 優(yōu)先權(quán)日2007年9月14日
發(fā)明者M·S·奧黑爾, R·L·奧爾西尼, R·達(dá)文波特 申請(qǐng)人:安全第一公司