專利名稱:用于分發(fā)數(shù)據(jù)和保護(hù)數(shù)據(jù)安全的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于防止數(shù)據(jù)被未經(jīng)授權(quán)地訪問(wèn)或使用的系統(tǒng)。本發(fā)明還一般性地涉及用于秘密共享方案的構(gòu)造的密碼技術(shù),更具體來(lái)說(shuō),涉及用于支持能夠容許對(duì)一個(gè)或多個(gè)股份的損壞的秘密共享方案的系統(tǒng)和方法。
背景技術(shù):
在當(dāng)今的社會(huì),個(gè)人和企業(yè)在計(jì)算機(jī)系統(tǒng)上進(jìn)行越來(lái)越多的活動(dòng)。這些計(jì)算機(jī)系統(tǒng),包括專有的和非專有的計(jì)算機(jī)網(wǎng)絡(luò),常常存儲(chǔ)、存檔和傳輸各種敏感信息。如此,有越來(lái)越強(qiáng)烈的確保存儲(chǔ)的數(shù)據(jù)和通過(guò)這些系統(tǒng)傳輸?shù)臄?shù)據(jù)不能被讀取或以別的方式破壞的需求。用于保護(hù)計(jì)算機(jī)系統(tǒng)安全的一種常見(jiàn)的解決方案是提供登錄和密碼功能。然而,密碼管理被證明對(duì)于涉及密碼問(wèn)題的大多數(shù)幫助臺(tái)呼叫十分昂貴。此外,密碼提供的安全性很差,因?yàn)樗鼈円话愦鎯?chǔ)在文件中,這種文件容易被人通過(guò),例如蠻力攻擊進(jìn)行不合適的訪問(wèn)。用于保護(hù)計(jì)算機(jī)系統(tǒng)安全的另一個(gè)解決方案是提供加密基礎(chǔ)架構(gòu)。加密,一般而言,是指通過(guò)將數(shù)據(jù)變換或加密為不能讀的格式來(lái)保護(hù)數(shù)據(jù)。只有那些擁有加密密鑰的人才能將數(shù)據(jù)解密為可使用的格式。密碼術(shù)用于標(biāo)識(shí)用戶,例如鑒別以允許訪問(wèn)權(quán)限,例如授權(quán)以創(chuàng)建數(shù)字證書和簽名等等。一個(gè)流行的密碼系統(tǒng)是使用兩個(gè)密鑰的公鑰系統(tǒng),該公鑰系統(tǒng)使用兩個(gè)密鑰,一個(gè)是對(duì)每個(gè)人都已知的公鑰和一個(gè)是只對(duì)個(gè)人或企業(yè)主已知的私有密鑰。一般而言,利用一個(gè)密鑰加密的數(shù)據(jù),利用另一個(gè)密鑰進(jìn)行解密,這兩個(gè)密鑰都不能從另一個(gè)密鑰重新創(chuàng)建。令人遺憾的是,甚至前面的典型的公鑰密碼系統(tǒng)仍高度依賴于用戶才能保證安全性。例如,密碼系統(tǒng),例如通過(guò)用戶的瀏覽器,向用戶頒發(fā)私有密鑰。單純的用戶一般將私有密鑰存儲(chǔ)在硬盤驅(qū)動(dòng)器中,其他人通過(guò)諸如,例如因特網(wǎng)之類的開(kāi)放式計(jì)算機(jī)系統(tǒng)可以訪問(wèn)硬盤驅(qū)動(dòng)器。另一方面,用戶可能為包含他們的私有密鑰的文件選擇不好的名稱,諸如,例如“key (密鑰)”。前面的及其他操作的結(jié)果是使得密鑰容易遭到破壞。除前面的危險(xiǎn)之外,用戶可能將他的或她的私有密鑰保存在被配置了存檔或備份系統(tǒng)的計(jì)算機(jī)系統(tǒng)上,潛在地導(dǎo)致私有密鑰的副本在多個(gè)計(jì)算機(jī)存儲(chǔ)設(shè)備或其他系統(tǒng)間穿行。這種違反安全性的現(xiàn)象常常被稱為“密鑰遷移”。類似于密鑰遷移,許多應(yīng)用程序至多通過(guò)簡(jiǎn)單登錄和密碼訪問(wèn),提供對(duì)用戶的私有密鑰的訪問(wèn)。如前所述,登錄和密碼訪問(wèn)常常沒(méi)有提供足夠的安全性。用于提高前面的密碼系統(tǒng)的安全性的一個(gè)解決方案是包括生物特征作為鑒別或授權(quán)過(guò)程的一部分。生物特征一般包括可測(cè)量的物理特征,諸如,例如可以通過(guò)諸如例如指紋模式或語(yǔ)音模式的模式匹配或識(shí)別之類的自動(dòng)化系統(tǒng)來(lái)檢查指紋或語(yǔ)音。在這樣的系統(tǒng)中,用戶的生物特征和/或密鑰可以存儲(chǔ)在移動(dòng)計(jì)算設(shè)備上,諸如,例如智能卡、筆記本電腦、個(gè)人數(shù)字助理或移動(dòng)電話,從而使生物特征或密鑰可在移動(dòng)環(huán)境中使用。前面的可移動(dòng)生物特征密碼系統(tǒng)仍存在各種缺點(diǎn)。例如,移動(dòng)用戶可能丟失或損壞智能卡或便攜式計(jì)算設(shè)備,從而完全無(wú)法訪問(wèn)潛在重要的數(shù)據(jù)。或者,懷惡意的人可能竊取移動(dòng)用戶的智能卡或便攜式計(jì)算設(shè)備,并使用它有效地竊取移動(dòng)用戶的數(shù)字憑證。另一方面,便攜式計(jì)算設(shè)備可以連接到諸如因特網(wǎng)之類的開(kāi)放系統(tǒng),存儲(chǔ)了生物特征的文件與密碼一樣,由于用戶對(duì)安全性或懷惡意的入侵者的疏忽,可能容易受到破壞。防止數(shù)據(jù)被未經(jīng)授權(quán)地訪問(wèn)或未經(jīng)授權(quán)地使用的一種方式是使用秘密共享方案。秘密共享方案是將有時(shí)叫做秘密的敏感的數(shù)據(jù)片段(例如,機(jī)密文件、加密密鑰或任何通信類型)拆分為片段(叫做股份)的集合的方法,以便通過(guò)擁有足夠數(shù)量的股份可以恢復(fù)秘密,但是擁有的股份的數(shù)量不足則不會(huì)提供有關(guān)被分份的秘密的信息。這樣的方案對(duì)于加密和信息安全性是重要的工具。形式上,秘密共享方案包括一對(duì)算法,共享算法Share和恢復(fù)算法Recover。共享算法通常是隨機(jī)的(意思是說(shuō),它進(jìn)行隨機(jī)化的選擇),而恢復(fù)算法通常是確定性的。共享算法可以用來(lái)將秘密拆分為股份的集合,而恢復(fù)算法可以用來(lái)重新組合那些股份。在重新組合時(shí),每一個(gè)股份都可能存在,在這種情況下,可以向恢復(fù)算法提供字符串,或者一個(gè)股份可能會(huì)丟失,在這種情況下,可以向恢復(fù)算法提供指定值(這里被稱為" ")。一組被授權(quán)恢復(fù)秘密的播放器叫做被授權(quán)組,該組所有這樣的播放器有時(shí)叫做“存取結(jié)構(gòu)”。秘密共享方案被設(shè)計(jì)為適用于各種存取結(jié)構(gòu),但是,最常見(jiàn)的存取結(jié)構(gòu)是閾值存取結(jié)構(gòu),其中總共η個(gè)播放器中的m個(gè)或更多播放器的任何子集被說(shuō)成是被授權(quán)。閾值存取結(jié)構(gòu)的秘密共享方案有時(shí)叫做閾值方案。任何秘密共享方案都有兩個(gè)安全屬性:隱私屬性和可恢復(fù)性屬性。隱私屬性確保了播放器的未經(jīng)授權(quán)的聯(lián)盟不了解有關(guān)秘密的任何有用的東西??苫謴?fù)性屬性確保了播放器的授權(quán)聯(lián)盟最終可以恢復(fù)基礎(chǔ)的秘密。Shamir的秘密共享方案被說(shuō)成是完美的秘密共享(PSS)方案。術(shù)語(yǔ)“完美的”是指隱私保證是信息理論層面的,沒(méi)有任何錯(cuò)誤;如此,播放器的未經(jīng)授權(quán)的聯(lián)盟不會(huì)了解有關(guān)PSS方案中的基礎(chǔ)秘密的任何有用的東西。PSS方案存在的一個(gè)局限性是,每一個(gè)股份的大小必須至少是被分份的秘密的大小那么長(zhǎng)。然而,當(dāng)秘密包括比較大的文件或長(zhǎng)字符串時(shí),這種局限性會(huì)變得難處理,增大了系統(tǒng)的總體復(fù)雜性。為解決這種局限性,開(kāi)發(fā)了計(jì)算秘密共享(CSS)的方案。Krawczyk的CSS方案,例如允許股份比秘密短。例如,在“三取二”閾值方案中(意思是說(shuō),三個(gè)股份中的任何兩個(gè)都適用于恢復(fù)秘密),秘密S可以被分成大小大約為|S|/2比特的股份,其中Isl表示S的長(zhǎng)度。在PSS設(shè)置中,這么短的股份是不可能的。然而,在CSS方案中,隱私屬性可能不再是絕對(duì)的和信息理論層面的;相反地,播放器的未經(jīng)授權(quán)的聯(lián)盟可能從它們的股份中獲取有關(guān)共享的秘密的少量信息。但是,根據(jù)計(jì)算復(fù)雜性假設(shè),這些信息量將是可忽略的,因此,在實(shí)踐中,不會(huì)是太大的問(wèn)題。
PSS方案的第二個(gè)局限性是缺乏指令的健壯性。健壯性是指讓有嫌疑的或?qū)κ謪⑴c者無(wú)法強(qiáng)制恢復(fù)不正確的秘密。PSS的模式假設(shè),每一個(gè)股份要么“正確”要么“丟失”,但是從來(lái)不會(huì)是錯(cuò)誤的(例如,損壞或者被故意改變)。在實(shí)踐中,這是非常不合理的假設(shè),因?yàn)楣煞菘赡軙?huì)由于任意數(shù)量的因素而成為錯(cuò)誤的,包括,例如存儲(chǔ)器中的錯(cuò)誤,通信信道中的噪聲,或者由于確實(shí)是對(duì)手的活動(dòng)。此外,缺乏健壯性不只是理論上的可能性,而是典型的PSS方案,包括Shamir的秘密共享方案的真正的問(wèn)題。對(duì)于Shamir的方案,對(duì)手事實(shí)上可以通過(guò)相應(yīng)地只改變一個(gè)股份,強(qiáng)制恢復(fù)任何期望的秘密。秘密共享方案的實(shí)際應(yīng)用通常要求健壯性。
發(fā)明內(nèi)容
基于前面的內(nèi)容,需要同時(shí)具有效率和在弱密碼假設(shè)的前提下強(qiáng)大可證明的安全屬性的健壯計(jì)算秘密共享方案。相應(yīng)地,本發(fā)明的一個(gè)方面是提供用于防止幾乎任何數(shù)據(jù)類型被未經(jīng)授權(quán)地訪問(wèn)或使用的方法。該方法包括一個(gè)或多個(gè)步驟,將要保護(hù)的數(shù)據(jù)分析、拆分和/或分離為兩個(gè)或更多部分。該方法還包括對(duì)要保護(hù)的數(shù)據(jù)進(jìn)行加密。對(duì)數(shù)據(jù)的加密可以在初次分析、拆分和/或分離數(shù)據(jù)之前或之后執(zhí)行。此外,對(duì)于數(shù)據(jù)的一個(gè)或多個(gè)部分,可以重復(fù)加密步驟。類似地,對(duì)于數(shù)據(jù)的一個(gè)或多個(gè)部分,可以重復(fù)分析、拆分和/或分離步驟。該方法還可選地包括將已經(jīng)加密的經(jīng)過(guò)分析、拆分和/或分離的數(shù)據(jù)存儲(chǔ)在一個(gè)位置或多個(gè)位置。此方法還可選地包括將被保護(hù)的數(shù)據(jù)重新構(gòu)建或重新組合為其原始形態(tài),以便進(jìn)行授權(quán)的訪問(wèn)或使用。此方法可以應(yīng)用于能夠執(zhí)行該方法的所需的步驟的任何計(jì)算機(jī)、服務(wù)器、引擎等等的操作中。本發(fā)明的另一個(gè)方面提供防止幾乎任何數(shù)據(jù)類型被未經(jīng)授權(quán)地訪問(wèn)或使用的系統(tǒng)。此系統(tǒng)包括數(shù)據(jù)拆分模塊、加密處理模塊,以及,可選地,數(shù)據(jù)組裝模塊。在一個(gè)實(shí)施例中,系統(tǒng)可以進(jìn)一步包括可以存儲(chǔ)安全數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)施。本發(fā)明的另一個(gè)方面包括使用任何適當(dāng)?shù)姆治龊筒鸱炙惴ㄉ蓴?shù)據(jù)的股份??梢允褂秒S機(jī)的、偽隨機(jī)的、確定性的或者以其任何組合來(lái)分析和拆分?jǐn)?shù)據(jù)。在其他實(shí)施例中,提供了帶有消息空間S的η方秘密共享方案。可以定義對(duì)手的系列A。η方秘密共享方案可以包括下列五個(gè)基本要素中的一個(gè)或多個(gè):(I)帶有k比特密鑰和消息空間S的對(duì)稱加密算法;(2)帶有消息空間{0,l}k的對(duì)手A的η方PSS算法;(3) η方信息傳播算法(IDA) ;(4)帶有消息空間{O, l}h的對(duì)手A的η方糾錯(cuò)碼(ECC);以及,(5)隨機(jī)化(或概率性)承諾方案??梢酝ㄟ^(guò)首先對(duì)要保護(hù)的數(shù)據(jù)應(yīng)用計(jì)算秘密共享算法來(lái)保護(hù)數(shù)據(jù)安全。然后,可以生成隨機(jī)或偽隨機(jī)值。根據(jù)秘密共享算法的輸出以及隨機(jī)或偽隨機(jī)值,可以計(jì)算出承諾值組和解除承諾值。然后,可以通過(guò)組合從秘密共享算法輸出的股份、解除承諾值以及一個(gè)或多個(gè)承諾值,形成多個(gè)股份。然后,股份可以存儲(chǔ)在一個(gè)或多個(gè)物理位置(例如,存儲(chǔ)在硬盤驅(qū)動(dòng)器上),或一個(gè)或多個(gè)地理位置(例如,不同的數(shù)據(jù)儲(chǔ)存庫(kù)或服務(wù)器)。在某些實(shí)施例中,可以使用概率性承諾方案來(lái)計(jì)算承諾值組和一組解除承諾值。每一個(gè)股份都可以由從計(jì)算秘密共享算法輸出的股份、解除承諾值以及來(lái)自該組承諾值的一個(gè)或多個(gè)承諾值進(jìn)行定義。在某些實(shí)施例中,可以生成加密密鑰,將其用于對(duì)用戶數(shù)據(jù)進(jìn)行加密以創(chuàng)建密文部分??梢酝ㄟ^(guò)向加密密鑰應(yīng)用秘密共享算法,創(chuàng)建一組η個(gè)密鑰股份。然后,可以通過(guò)向密文應(yīng)用信息傳播算法(IDA),創(chuàng)建一組η個(gè)密文塊。通過(guò)對(duì)η個(gè)密鑰股份和密文塊中的每一個(gè)應(yīng)用概率性承諾方案,可以計(jì)算出一組η個(gè)承諾值和η個(gè)解除承諾值。可以形成η個(gè)數(shù)據(jù)片段,其中每一個(gè)數(shù)據(jù)片段都可以是密鑰股份、密文塊、解除承諾值以及一個(gè)或多個(gè)承諾值的函數(shù)。最后,數(shù)據(jù)片段可以存儲(chǔ)在一個(gè)或多個(gè)邏輯存儲(chǔ)設(shè)備(例如,η個(gè)邏輯存儲(chǔ)設(shè)備)上。這些邏輯存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)可以位于不同的地理或物理位置。然后,可以通過(guò)組合至少預(yù)定義的數(shù)量的數(shù)據(jù)片段重新構(gòu)建用戶數(shù)據(jù)。在某些實(shí)施例中,可以使用各種糾錯(cuò)碼來(lái)為每一個(gè)播放器提供足夠的承諾值的集合。
下面將參考附圖比較詳細(xì)地描述本發(fā)明,附圖只是為了說(shuō)明本發(fā)明,而不對(duì)本發(fā)明作出限制,其中:圖1顯示了根據(jù)本發(fā)明的實(shí)施例的一些方面的密碼系統(tǒng)的方框圖;圖2顯示了根據(jù)本發(fā)明的實(shí)施例的某些方面的圖1的信任引擎的方框圖;圖3顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的事務(wù)引擎的方框圖;圖4顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的倉(cāng)庫(kù)的方框圖;圖5顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的鑒別引擎的方框圖;圖6顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的加密引擎的方框圖;圖7是描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的健壯計(jì)算秘密共享(RCSS)方案的總體結(jié)構(gòu)的說(shuō)明性方框圖;圖8說(shuō)明了根據(jù)本發(fā)明的一個(gè)實(shí)施例的秘密共享進(jìn)程;圖9說(shuō)明了根據(jù)本發(fā)明的一個(gè)實(shí)施例的如圖8所示的承諾步驟的更多細(xì)節(jié);圖10顯示了基于從CSS方案和承諾方案構(gòu)建RCSS方案的不同的抽象的共用進(jìn)程;以及圖11顯示了如圖10所示的概率性承諾方案中的鑒別步驟的更多細(xì)節(jié)。
具體實(shí)施例方式本發(fā)明的一個(gè)方面是提供一種密碼系統(tǒng),其中一個(gè)或多個(gè)安全服務(wù)器或信任引擎存儲(chǔ)了加密密鑰和用戶身份鑒別數(shù)據(jù)。用戶通過(guò)對(duì)信任引擎的網(wǎng)絡(luò)訪問(wèn)來(lái)訪問(wèn)常規(guī)密碼系統(tǒng)的功能,然而,信任引擎不發(fā)行實(shí)際密鑰及其他鑒別數(shù)據(jù),因此,密鑰和數(shù)據(jù)是安全的。這種以服務(wù)器為中心的密鑰和鑒別數(shù)據(jù)的存儲(chǔ),提供了獨(dú)立于用戶的安全性、輕便性、可用性以及簡(jiǎn)單性。由于用戶可以信任密碼系統(tǒng)以執(zhí)行用戶和文檔鑒別及其他加密功能,因此,可以將各種功能包括到系統(tǒng)中。例如,信任引擎提供商可以通過(guò),例如對(duì)協(xié)議參與者進(jìn)行身份鑒另IJ,代表參與者或?yàn)閰⑴c者對(duì)協(xié)議進(jìn)行數(shù)字簽名,并存儲(chǔ)每一個(gè)參與者進(jìn)行了數(shù)字簽名的協(xié)議的記錄,防止拒絕執(zhí)行協(xié)議。此外,密碼系統(tǒng)還可以監(jiān)視協(xié)議,并基于例如,價(jià)格、用戶、供應(yīng)商、地理位置、使用的位置等等,決定應(yīng)用不同程度的鑒別。為促進(jìn)對(duì)本發(fā)明的完全理解,參考附圖,描述了“具體實(shí)施方式
”的其余部分,其中相同的元件用相同的附圖標(biāo)記進(jìn)行表示。
圖1顯示了根據(jù)本發(fā)明的實(shí)施例的一些方面的密碼系統(tǒng)100的方框圖。如圖1所示,密碼系統(tǒng)100包括通過(guò)通信鏈路125進(jìn)行通信的用戶系統(tǒng)105、信任引擎110、證書認(rèn)證機(jī)構(gòu)115以及供應(yīng)商系統(tǒng)120。根據(jù)本發(fā)明的一個(gè)實(shí)施例,用戶系統(tǒng)105包括具有諸如,例如基于Intel的處理器之類的一個(gè)或多個(gè)微處理器的常規(guī)通用計(jì)算機(jī)。此外,用戶系統(tǒng)105包括適當(dāng)?shù)牟僮飨到y(tǒng),諸如,例如能夠包括圖形或窗口的操作系統(tǒng),如Windows、Unix、Linux等等。如圖1所示,用戶系統(tǒng)105可以包括生物特征設(shè)備107。優(yōu)選情況下,生物特征設(shè)備107可以捕獲用戶的生物特征,并將捕獲的生物特征傳輸?shù)叫湃我?10。根據(jù)本發(fā)明的一個(gè)實(shí)施例,優(yōu)選情況下,生物特征設(shè)備可以包括具有類似于1997年9月5日提出的標(biāo)題為“RELIEF OBJECTIMAGE GENERATOR”的編號(hào)為N0.08/926, 277的美國(guó)專利申請(qǐng)、2000年4月26日提出的標(biāo)題為“IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHOD OF USING THE IMAGEDEVICE”的編號(hào)為N0.09/558,634的美國(guó)專利申請(qǐng)、1999年11月5日提出的標(biāo)題為“RELIEFOBJECT SENSOR ADAPTOR”的編號(hào)為N0.09/435,011的美國(guó)專利申請(qǐng)、2000年I月5日提出的標(biāo)題為 “PLANAR OPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATING AN ELECTRONICIMAGE OF A RELIEF OBJECT FOR FINGERPRINT READING” 的編號(hào)為 N0.09/477,943 的美國(guó)專利申請(qǐng)中所說(shuō)明的屬性和特點(diǎn)的設(shè)備,所有的這些申請(qǐng)都由直接受讓人擁有,在此引用了所有這些申請(qǐng)作為參考。此外,用戶系統(tǒng)105可以通過(guò)諸如,例如撥號(hào)、數(shù)字用戶線(DSL)、電纜調(diào)制解調(diào)器、光纖連接等等之類的常規(guī)服務(wù)提供商,連接到通信鏈路125。根據(jù)另一個(gè)實(shí)施例,用戶系統(tǒng)105通過(guò)諸如,例如局域網(wǎng)或廣域網(wǎng)之類的網(wǎng)絡(luò)連接,連接到通信鏈路125。根據(jù)一個(gè)實(shí)施例,操作系統(tǒng)包括處理通過(guò)通信鏈路125傳遞的所有傳入和傳出消息通信的TCP/IP堆棧。雖然參考前面的實(shí)施例說(shuō)明了用戶系統(tǒng)105,但是,不對(duì)本發(fā)明構(gòu)成限制。相反地,本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,用戶系統(tǒng)105有許多備選實(shí)施例,幾乎包括能夠向另一個(gè)計(jì)算機(jī)系統(tǒng)發(fā)送或從其中接收信息的任何計(jì)算設(shè)備。例如,用戶系統(tǒng)105可以包括,但不僅限于,可以與通信鏈路125進(jìn)行交互的計(jì)算機(jī)工作站、交互式電視、交互式電話亭、個(gè)人移動(dòng)計(jì)算設(shè)備,如數(shù)字助理、移動(dòng)電話、筆記本電腦等等,無(wú)線通信設(shè)備、智能卡、嵌入式計(jì)算設(shè)備等等。在這樣的備選系統(tǒng)中,操作系統(tǒng)可能不同,并適用于特定設(shè)備。然而,根據(jù)一個(gè)實(shí)施例,優(yōu)選情況下,操作系統(tǒng)繼續(xù)提供與通信鏈路125建立通信所需的適當(dāng)?shù)耐ㄐ艆f(xié)議。圖1顯示了信任引擎110。根據(jù)一個(gè)實(shí)施例,信任引擎110包括用于訪問(wèn)和存儲(chǔ)敏感信息的一個(gè)或多個(gè)安全服務(wù)器,敏感信息可以是任何類型或形式的數(shù)據(jù),如,但不僅限于,文本、音頻、視頻、用戶身份鑒別數(shù)據(jù)和公共和私有加密密鑰。根據(jù)一個(gè)實(shí)施例,鑒別數(shù)據(jù)包括被設(shè)計(jì)為唯一地標(biāo)識(shí)密碼系統(tǒng)100的用戶的數(shù)據(jù)。例如,鑒別數(shù)據(jù)可以包括用戶標(biāo)識(shí)號(hào)碼、一個(gè)或多個(gè)生物特征,以及由信任引擎110或者用戶生成的、但是由用戶最初在注冊(cè)時(shí)回答的一系列問(wèn)答。前面的問(wèn)題可以包括人口統(tǒng)計(jì)數(shù)據(jù),如出生地、地址、周年紀(jì)念、等等,個(gè)人數(shù)據(jù),如母親的婚前姓、最愛(ài)的冰淇淋等等,或被設(shè)計(jì)為唯一地標(biāo)識(shí)用戶的其他數(shù)據(jù)。信任引擎110將與當(dāng)前的交易關(guān)聯(lián)的用戶的鑒別數(shù)據(jù)與早些時(shí)候,諸如,例如在注冊(cè)過(guò)程中,所提供的鑒別數(shù)據(jù)進(jìn)行比較。優(yōu)選情況下,信任引擎110可以要求用戶在執(zhí)行每一個(gè)交易時(shí)產(chǎn)生鑒別數(shù)據(jù),或者,優(yōu)選情況下,信任引擎110可以允許用戶定期產(chǎn)生鑒別數(shù)據(jù),如在一系列交易的開(kāi)始時(shí)或登錄到特定供應(yīng)商網(wǎng)站時(shí)。根據(jù)用戶產(chǎn)生生物特征數(shù)據(jù)的實(shí)施例,用戶向生物特征設(shè)備107提供物理特征,如,但不僅限于,面部掃描、手掃描、耳朵掃描、虹膜掃描、視網(wǎng)膜掃描、血管模式、DNA、指紋、筆跡或語(yǔ)音。優(yōu)選情況下,生物特征設(shè)備產(chǎn)生物理特征的電子模式或生物特征。通過(guò)用戶系統(tǒng)105向信任引擎110傳輸電子模式,以便進(jìn)行注冊(cè)或者鑒別。一旦用戶產(chǎn)生了適當(dāng)?shù)蔫b別數(shù)據(jù),信任引擎110判斷該鑒別數(shù)據(jù)(當(dāng)前鑒別數(shù)據(jù))和在進(jìn)行注冊(cè)時(shí)提供的鑒別數(shù)據(jù)(注冊(cè)鑒別數(shù)據(jù))之間的明確的匹配,則信任引擎110給用戶提供完全的加密功能。例如,優(yōu)選情況下,經(jīng)過(guò)適當(dāng)?shù)纳矸蓁b別的用戶可以使用信任引擎110執(zhí)行散列、數(shù)字簽名、加密和解密(常常只稱為加密)、創(chuàng)建或分發(fā)數(shù)字證書等等。然而,在加密功能中使用的私有加密密鑰在信任引擎110的外面不可用,從而確保了加密密鑰的完整性。根據(jù)一個(gè)實(shí)施例,信任引擎110生成并存儲(chǔ)加密密鑰。根據(jù)另一個(gè)實(shí)施例,至少一個(gè)加密密鑰與每一個(gè)用戶關(guān)聯(lián)。此外,當(dāng)加密密鑰包括公鑰技術(shù)時(shí),在信任引擎110內(nèi)生成與用戶關(guān)聯(lián)的每一個(gè)私有密鑰,而不從信任引擎110釋放該私有密鑰。如此,只要用戶可以訪問(wèn)信任引擎110,用戶都可以使用他的或她的私鑰或公鑰執(zhí)行加密功能。優(yōu)選情況下,這樣的遠(yuǎn)程訪問(wèn)允許用戶完全是可移動(dòng)的,并通過(guò)幾乎任何因特網(wǎng)連接,如蜂窩電話和衛(wèi)星電話,電話亭、筆記本電腦、旅館客房等等,訪問(wèn)加密功能。根據(jù)另一個(gè)實(shí)施例,信任引擎110使用為信任引擎110生成的密鑰對(duì)執(zhí)行加密功能。根據(jù)此實(shí)施例,信任引擎110首先對(duì)用戶進(jìn)行身份鑒別,并在用戶正確地產(chǎn)生匹配注冊(cè)鑒別數(shù)據(jù)的鑒別數(shù)據(jù)之后,信任引擎110使用其自己的加密密鑰對(duì)來(lái)代表經(jīng)過(guò)身份鑒別的用戶執(zhí)行加密功能。本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,優(yōu)選情況下,加密密鑰可以包括某些或所有對(duì)稱密鑰、公共密鑰以及私有密鑰。此外,本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,前面的密鑰可以利用大量的商用技術(shù)的算法,諸如,例如RSA、ELGAMAL等等來(lái)實(shí)現(xiàn)。圖1還顯示了證書認(rèn)證機(jī)構(gòu)115。根據(jù)一個(gè)實(shí)施例,優(yōu)選情況下,證書認(rèn)證機(jī)構(gòu)115可以包括頒發(fā)數(shù)字證書的受信任的第三方機(jī)構(gòu)或公司,諸如,例如Verisign、Baltimore、Entrust等等。優(yōu)選情況下,信任引擎110可以通過(guò)諸如,例如PKCSlO之類的一個(gè)或多個(gè)常規(guī)數(shù)字證書協(xié)議,向證書認(rèn)證機(jī)構(gòu)115傳輸數(shù)字證書請(qǐng)求。作為響應(yīng),證書認(rèn)證機(jī)構(gòu)115將以諸如,例如PKCS7之類的一個(gè)或多個(gè)不同協(xié)議頒發(fā)數(shù)字證書。根據(jù)本發(fā)明的一個(gè)實(shí)施例,信任引擎110從多個(gè)或所有著名的證書認(rèn)證機(jī)構(gòu)115請(qǐng)求數(shù)字證書,以便信任引擎110可以訪問(wèn)對(duì)應(yīng)于任何請(qǐng)求方的證書標(biāo)準(zhǔn)的數(shù)字證書。根據(jù)另一個(gè)實(shí)施例,信任引擎110在內(nèi)部執(zhí)行證書頒發(fā)。在此實(shí)施例中,信任引擎110可以訪問(wèn)用于生成證書的證書系統(tǒng),和/或當(dāng)它們被請(qǐng)求時(shí),諸如,例如在密鑰生成時(shí),或以在請(qǐng)求時(shí)請(qǐng)求的證書標(biāo)準(zhǔn),在內(nèi)部生成證書。下面將比較詳細(xì)地說(shuō)明信任引擎110。圖1還顯示了供應(yīng)商系統(tǒng)120。根據(jù)一個(gè)實(shí)施例,優(yōu)選情況下,供應(yīng)商系統(tǒng)120包括Web服務(wù)器。典型的Web服務(wù)器一般通過(guò)因特網(wǎng)使用多種因特網(wǎng)標(biāo)記語(yǔ)言或文檔格式標(biāo)準(zhǔn)中的一種,如超文本標(biāo)記語(yǔ)言(HTML)或可擴(kuò)展標(biāo)記語(yǔ)言(XML),提供內(nèi)容。Web服務(wù)器從諸如Netscape和Internet Explorer之類的瀏覽器接受請(qǐng)求,然后,返回適當(dāng)?shù)碾娮游臋n??梢允褂迷S多服務(wù)器或客戶端技術(shù)來(lái)使Web服務(wù)器的功能不僅限于其提供標(biāo)準(zhǔn)電子文檔的能力。例如,這些技術(shù)包括公共網(wǎng)關(guān)接口(CGI)腳本、安全套接字層(SSL)安全性,以及活動(dòng)服務(wù)器頁(yè)面(ASP)。優(yōu)選情況下,供應(yīng)商系統(tǒng)120可以提供涉及商用、個(gè)人、教育或其他交易的電子內(nèi)容。雖然參考前面的實(shí)施例說(shuō)明了供應(yīng)商系統(tǒng)120,但是,不對(duì)本發(fā)明構(gòu)成限制。相反地,本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,優(yōu)選情況下,供應(yīng)商系統(tǒng)120可以包括參考用戶系統(tǒng)105所描述的設(shè)備中的任何一個(gè)或其組合。圖1還顯示了連接用戶系統(tǒng)105、信任引擎110、證書認(rèn)證機(jī)構(gòu)115以及供應(yīng)商系統(tǒng)120的通信鏈路125。根據(jù)一個(gè)實(shí)施例,優(yōu)選情況下,通信鏈路125包括因特網(wǎng)。因特網(wǎng),如在整個(gè)說(shuō)明書中所使用的,是計(jì)算機(jī)的全球網(wǎng)絡(luò)。因特網(wǎng)的結(jié)構(gòu),如所屬領(lǐng)域的技術(shù)人員所熟知的,包括網(wǎng)絡(luò)主干線路,網(wǎng)絡(luò)從主干網(wǎng)分叉。這些分叉又具有從它們分叉的網(wǎng)絡(luò),依次類推。路由器在網(wǎng)絡(luò)級(jí)別之間移動(dòng)信息包,然后,從網(wǎng)絡(luò)移動(dòng)到網(wǎng)絡(luò),直到數(shù)據(jù)包達(dá)到其目的地的鄰近地區(qū)。從目的地,目的地網(wǎng)絡(luò)的主機(jī)將信息包定向到適當(dāng)?shù)慕K端或節(jié)點(diǎn)。在一個(gè)優(yōu)選實(shí)施例中,因特網(wǎng)路由集線器包括使用當(dāng)前技術(shù)已知的傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)的域名系統(tǒng)(DNS)服務(wù)器。路由集線器通過(guò)高速通信鏈路連接到一個(gè)或多個(gè)其他路由集線器。因特網(wǎng)一個(gè)流行的部分是萬(wàn)維網(wǎng)。萬(wàn)維網(wǎng)包含存儲(chǔ)了能夠顯示圖形和文本信息的文檔的不同計(jì)算機(jī)。在萬(wàn)維網(wǎng)上提供信息的計(jì)算機(jī)通常叫做“網(wǎng)站”。網(wǎng)站是由具有關(guān)聯(lián)的電子頁(yè)面的Internet地址所定義的。電子頁(yè)面可以由統(tǒng)一資源定位器(URL)進(jìn)行標(biāo)識(shí)。一般而言,電子頁(yè)面是組織文本、圖形圖像、音頻、視頻等等的呈現(xiàn)的文檔。雖然利用其優(yōu)選實(shí)施例說(shuō)明了通信鏈路125,但是,那些本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(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ā)明的實(shí)施例的某些方面的圖1的信任引擎110的方框圖。如圖2所示,信任引擎110包括事務(wù)引擎205、倉(cāng)庫(kù)210、鑒別引擎215以及加密引擎220。根據(jù)本發(fā)明的一個(gè)實(shí)施例,信任引擎110還包括海量存儲(chǔ)器225。如圖2進(jìn)一步顯示的,事務(wù)引擎205與倉(cāng)庫(kù)210、鑒別引擎215以及加密引擎220以及海量存儲(chǔ)器225進(jìn)行通信。此夕卜,倉(cāng)庫(kù)210還與鑒別引擎215、加密引擎220以及海量存儲(chǔ)器225進(jìn)行通信。此外,鑒別引擎215與加密引擎220進(jìn)行通信。根據(jù)本發(fā)明的一個(gè)實(shí)施例,優(yōu)選情況下,前面的通信中的某些或全部可以包括將XML文檔傳輸?shù)綄?duì)應(yīng)于接收設(shè)備的IP地址。如前所述,優(yōu)選情況下,XML文檔允許設(shè)計(jì)者創(chuàng)建他們自己的自定義文檔標(biāo)記,允許定義、傳輸、鑒別和解釋應(yīng)用程序之間和機(jī)構(gòu)之間的數(shù)據(jù)。此外,前面的通信中的某些或全部可以包括常規(guī)SSL技術(shù)。根據(jù)一個(gè)實(shí)施例,事務(wù)引擎205包括數(shù)據(jù)路由設(shè)備,如Netscape、Microsoft、Apache等等推出的常規(guī)Web服務(wù)器。例如,優(yōu)選情況下,Web服務(wù)器從通信鏈路125接收傳入的數(shù)據(jù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,傳入的數(shù)據(jù)被發(fā)給信任引擎110的前端安全系統(tǒng)。例如,優(yōu)選情況下,前端安全系統(tǒng)可以包括防火墻、搜索已知攻擊配置文件的入侵檢測(cè)系統(tǒng),和/或病毒掃描器。在清除前端安全系統(tǒng)之后,由事務(wù)引擎205接收到數(shù)據(jù),并將數(shù)據(jù)路由到倉(cāng)庫(kù)210、鑒別引擎215、加密引擎220和海量存儲(chǔ)器225中的某一個(gè)。此外,事務(wù)引擎205還監(jiān)視來(lái)自鑒別引擎215和加密引擎220的傳入的數(shù)據(jù),并通過(guò)通信鏈路125將數(shù)據(jù)路由到特定系統(tǒng)。例如,優(yōu)選情況下,事務(wù)引擎205可以將數(shù)據(jù)路由到用戶系統(tǒng)105、證書認(rèn)證機(jī)構(gòu)115或供應(yīng)商系統(tǒng)120。根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)是諸如,例如使用URL或統(tǒng)一資源標(biāo)識(shí)符(URI)之類的常規(guī)HTTP路由技術(shù)來(lái)路由的。URI類似于URL,然而,URI通常表示諸如,例如可執(zhí)行程序、腳本等等之類的文件或操作的源。因此,根據(jù)一個(gè)實(shí)施例,用戶系統(tǒng)105、證書認(rèn)證機(jī)構(gòu)115、供應(yīng)商系統(tǒng)120以及信任引擎210的組件,優(yōu)選情況下,包括通信URL或URI內(nèi)的足夠的數(shù)據(jù),以便讓事務(wù)引擎205正確地在密碼系統(tǒng)中路由數(shù)據(jù)。雖然參考其優(yōu)選實(shí)施例說(shuō)明了數(shù)據(jù)路由,但是,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,有大量的可能的數(shù)據(jù)路由解決方案或策略。例如,優(yōu)選情況下,XML或其他數(shù)據(jù)包可以根據(jù)它們的格式、內(nèi)容等等打開(kāi)和識(shí)別,以便事務(wù)引擎205可以正確地在整個(gè)信任引擎110中路由數(shù)據(jù)。此外,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,優(yōu)選情況下,數(shù)據(jù)路由可以適應(yīng)符合特定網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)傳送協(xié)議,諸如,例如當(dāng)通信鏈路125包括局域網(wǎng)時(shí)。根據(jù)本發(fā)明的再一個(gè)實(shí)施例,事務(wù)引擎205包括常規(guī)SSL加密技術(shù),以便在特定通信過(guò)程中前面的系統(tǒng)可以與事務(wù)引擎205對(duì)本身進(jìn)行身份鑒別,反之亦然。如在此說(shuō)明書中所使用的,術(shù)語(yǔ)“1/2SSL”是指服務(wù)器但不一定包括客戶端被SSL鑒別的通信,而術(shù)語(yǔ)“完全SSL”是指客戶端和服務(wù)器兩者都被SSL鑒別的通信。當(dāng)說(shuō)明書使用術(shù)語(yǔ)“SSL”時(shí),通信可以包括1/2或完全SSL。隨著事務(wù)引擎205將數(shù)據(jù)路由到密碼系統(tǒng)100的各種組件,優(yōu)選情況下,事務(wù)引擎205可以創(chuàng)建審核跟蹤。根據(jù)一個(gè)實(shí)施例,審核跟蹤包括由事務(wù)引擎205在整個(gè)密碼系統(tǒng)100中路由的數(shù)據(jù)的至少類型和格式的記錄。優(yōu)選情況下,這樣的審核數(shù)據(jù)可以存儲(chǔ)在海量存儲(chǔ)器225中。圖2還顯示了倉(cāng)庫(kù)210。根據(jù)一個(gè)實(shí)施例,倉(cāng)庫(kù)210包括諸如,例如目錄服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器等等之類的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)施。如圖2所示,倉(cāng)庫(kù)210存儲(chǔ)加密密鑰和注冊(cè)鑒別數(shù)據(jù)。優(yōu)選情況下,加密密鑰可以對(duì)應(yīng)于信任引擎110或諸如用戶或供應(yīng)商之類的密碼系統(tǒng)100的用戶。優(yōu)選情況下,注冊(cè)鑒別數(shù)據(jù)可以包括被設(shè)計(jì)為諸如用戶ID、密碼、問(wèn)題的答案、生物特征數(shù)據(jù)等等之類的唯一地標(biāo)識(shí)用戶的數(shù)據(jù)。優(yōu)選情況下,此注冊(cè)鑒別數(shù)據(jù)可以在用戶注冊(cè)時(shí)或稍后某個(gè)時(shí)間獲得。例如,信任引擎110可以包括注冊(cè)鑒別數(shù)據(jù)的定期的或其他方式的續(xù)訂或重新發(fā)布。根據(jù)一個(gè)實(shí)施例,從事務(wù)引擎205往返于鑒別引擎215和加密引擎220的通信包括諸如,例如常規(guī)SSL技術(shù)之類的安全通信。此外,如前所述,往返于倉(cāng)庫(kù)210的通信的數(shù)據(jù)可以使用URL、UR1、HTTP或XML文檔進(jìn)行傳輸,優(yōu)選情況下,前面的各項(xiàng)中的任何一個(gè)中都嵌入了數(shù)據(jù)請(qǐng)求和格式。如上文所提及的,優(yōu)選情況下,倉(cāng)庫(kù)210可以包括多個(gè)安全數(shù)據(jù)存儲(chǔ)設(shè)施。在這樣的實(shí)施例中,安全數(shù)據(jù)存儲(chǔ)設(shè)施可以如此配置,以便一個(gè)單個(gè)數(shù)據(jù)存儲(chǔ)功能的安全性被破壞將不會(huì)損害加密密鑰或其中存儲(chǔ)的鑒別數(shù)據(jù)。例如,根據(jù)此實(shí)施例,用數(shù)學(xué)方法操作加密密鑰和鑒別數(shù)據(jù),以便從統(tǒng)計(jì)學(xué)上并基本上隨機(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ù)字,總體上不會(huì)任何加密密鑰或鑒別數(shù)據(jù)的安全性。圖2還顯示了包括鑒別引擎215的信任引擎110。根據(jù)一個(gè)實(shí)施例,鑒別引擎215包括數(shù)據(jù)比較器,該數(shù)據(jù)比較器被配置為將來(lái)自事務(wù)引擎205的數(shù)據(jù)與來(lái)自倉(cāng)庫(kù)210的數(shù)據(jù)進(jìn)行比較。例如,在鑒別過(guò)程中,用戶將當(dāng)前鑒別數(shù)據(jù)提供到信任引擎110,以便事務(wù)引擎205接收當(dāng)前鑒別數(shù)據(jù)。如前所述,事務(wù)引擎205優(yōu)選情況下識(shí)別URL或URI中的數(shù)據(jù)請(qǐng)求,并將鑒別數(shù)據(jù)路由到鑒別引擎215。此外,應(yīng)請(qǐng)求,倉(cāng)庫(kù)210將對(duì)應(yīng)于用戶的注冊(cè)鑒別數(shù)據(jù)轉(zhuǎn)發(fā)到鑒別引擎215。如此,鑒別引擎215具有當(dāng)前鑒別數(shù)據(jù)和注冊(cè)鑒別數(shù)據(jù)兩者,以便用于進(jìn)行比較。根據(jù)一個(gè)實(shí)施例,到鑒別引擎的通信包括諸如,例如SSL技術(shù)之類的安全通信。另夕卜,可以在信任引擎110組件內(nèi)提供安全性,諸如,例如使用公鑰技術(shù)的超加密。例如,根據(jù)一個(gè)實(shí)施例,用戶利用鑒別引擎215的公鑰對(duì)當(dāng)前鑒別數(shù)據(jù)進(jìn)行加密。此外,倉(cāng)庫(kù)210也利用鑒別引擎215的公鑰對(duì)注冊(cè)鑒別數(shù)據(jù)進(jìn)行加密。如此,可以只使用鑒別引擎的私有密鑰來(lái)對(duì)傳輸?shù)膬?nèi)容進(jìn)行解密。如圖2所示,信任引擎110還包括加密引擎220。根據(jù)一個(gè)實(shí)施例,加密引擎包括加密處理模塊,該模塊被配置為優(yōu)選情況下提供常規(guī)加密功能,諸如,例如公鑰基礎(chǔ)架構(gòu)(PKI)功能。例如,優(yōu)選情況下,加密引擎220可以為密碼系統(tǒng)100的用戶發(fā)布公共密鑰和私有密鑰。如此,在加密引擎220中生成加密密鑰,并轉(zhuǎn)發(fā)到倉(cāng)庫(kù)210,以便至少私有加密密鑰在信任引擎110之外不可用。根據(jù)另一個(gè)實(shí)施例,加密引擎220隨機(jī)化至少私有加密密鑰數(shù)據(jù)并將其拆分,從而只存儲(chǔ)隨機(jī)化的拆分?jǐn)?shù)據(jù)。類似于拆分注冊(cè)鑒別數(shù)據(jù),拆分過(guò)程確保了存儲(chǔ)的密鑰在加密引擎220外面不可用。根據(jù)另一個(gè)實(shí)施例,加密引擎的功能可以與鑒別引擎215相結(jié)合,并由鑒別引擎215執(zhí)行。根據(jù)一個(gè)實(shí)施例,往返于加密引擎的通信包括諸如SSL技術(shù)之類的安全通信。此夕卜,優(yōu)選情況下,可以使用XML文檔來(lái)傳輸數(shù)據(jù)和/或發(fā)出加密功能請(qǐng)求。圖2還顯示了具有海量存儲(chǔ)器225的信任引擎110。如前所述,事務(wù)引擎205保留了對(duì)應(yīng)于審核跟蹤的數(shù)據(jù),并將這樣的數(shù)據(jù)存儲(chǔ)在海量存儲(chǔ)器225中。類似地,根據(jù)本發(fā)明的一個(gè)實(shí)施例,倉(cāng)庫(kù)210保留了對(duì)應(yīng)于審核跟蹤的數(shù)據(jù),并將這樣的數(shù)據(jù)存儲(chǔ)在海量存儲(chǔ)設(shè)備225中。倉(cāng)庫(kù)的審核跟蹤數(shù)據(jù)類似于事務(wù)引擎205的審核跟蹤數(shù)據(jù),因?yàn)閷徍烁檾?shù)據(jù)包括由倉(cāng)庫(kù)210接收到的請(qǐng)求以及其響應(yīng)的記錄。此外,可以使用海量存儲(chǔ)器225存儲(chǔ)具有其中包含的用戶的公鑰的數(shù)字證書。雖然參考其首選和備選實(shí)施例說(shuō)明了信任引擎110,但是,不對(duì)本發(fā)明構(gòu)成限制。相反地,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在這里的說(shuō)明中,信任引擎110有大量的備選方案。例如,優(yōu)選情況下,信任引擎110只執(zhí)行鑒別,或者,只執(zhí)行某些或全部加密功能,如數(shù)據(jù)加密和解密。根據(jù)這樣的實(shí)施例,優(yōu)選情況下,可以去除鑒別引擎215和加密引擎220中的一個(gè),從而為信任引擎創(chuàng)建更簡(jiǎn)單的設(shè)計(jì)。此外,加密引擎220也可以與證書認(rèn)證機(jī)構(gòu)進(jìn)行通信,以便在信任引擎110內(nèi)實(shí)現(xiàn)證書認(rèn)證機(jī)構(gòu)。根據(jù)再一個(gè)實(shí)施例,優(yōu)選情況下,信任引擎110可以執(zhí)行鑒別和一個(gè)或多個(gè)加密功能,諸如,例如數(shù)字簽名。圖3顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的事務(wù)引擎205的方框圖。根據(jù)此實(shí)施例,事務(wù)引擎205包括具有處理線程和收聽(tīng)線程的操作系統(tǒng)305。優(yōu)選情況下,操作系統(tǒng)305可以類似于在常規(guī)的高容量服務(wù)器(諸如,例如Apache推出的Web服務(wù)器)中的存在的操作系統(tǒng)。收聽(tīng)線程監(jiān)視來(lái)自通信鏈路125、鑒別引擎215以及加密引擎220中的某一個(gè)的傳入的通信,以獲取傳入的數(shù)據(jù)流。處理線程識(shí)別傳入的數(shù)據(jù)流的特定數(shù)據(jù)結(jié)構(gòu),諸如,例如前面的數(shù)據(jù)結(jié)構(gòu),從而將傳入的數(shù)據(jù)路由到通信鏈路125、倉(cāng)庫(kù)210、鑒別引擎215、加密引擎220或海量存儲(chǔ)器225中的某一個(gè)。如圖3所示,優(yōu)選情況下,可以通過(guò),例如SSL技術(shù),保護(hù)傳入和傳出的數(shù)據(jù)的安全。圖4顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的倉(cāng)庫(kù)210的方框圖。根據(jù)此實(shí)施例,倉(cāng)庫(kù)210包括一個(gè)或多個(gè)輕型目錄訪問(wèn)協(xié)議(LDAP)服務(wù)器。諸如Netscape、ISO及其他公司提供LDAP目錄服務(wù)器。圖4還顯示了,優(yōu)選情況下,目錄服務(wù)器存儲(chǔ)對(duì)應(yīng)于加密密鑰的數(shù)據(jù)405和對(duì)應(yīng)于注冊(cè)鑒別數(shù)據(jù)的數(shù)據(jù)410。根據(jù)一個(gè)實(shí)施例,倉(cāng)庫(kù)210包括將鑒別數(shù)據(jù)和加密密鑰數(shù)據(jù)標(biāo)記為唯一用戶ID的單一邏輯存儲(chǔ)器結(jié)構(gòu)。單一邏輯存儲(chǔ)器結(jié)構(gòu)優(yōu)選情況下包括確保其中存儲(chǔ)的數(shù)據(jù)的高度信任或安全性的機(jī)制。例如,倉(cāng)庫(kù)210的物理位置優(yōu)選情況下可以包括大量的常規(guī)安全措施,如限制雇員訪問(wèn),現(xiàn)代化的監(jiān)視系統(tǒng),等等。除物理安全措施之外,或代替物理安全措施,優(yōu)選情況下,計(jì)算機(jī)系統(tǒng)或服務(wù)器可以包括用于保護(hù)存儲(chǔ)的數(shù)據(jù)的軟件解決方案。例如,優(yōu)選情況下,倉(cāng)庫(kù)210可以創(chuàng)建并存儲(chǔ)對(duì)應(yīng)于采取的措施的審核跟蹤的數(shù)據(jù)415。此外,優(yōu)選情況下,可以利用與常規(guī)SSL技術(shù)相結(jié)合的公鑰加密,對(duì)傳入和傳出的通信進(jìn)行加密。根據(jù)另一個(gè)實(shí)施例,倉(cāng)庫(kù)210可以包括不同的并且在物理上分離的數(shù)據(jù)存儲(chǔ)設(shè)施,如進(jìn)一步參考圖7說(shuō)明的。圖5顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一些方面的圖2的鑒別引擎215的方框圖。類似于圖3的事務(wù)引擎205,鑒別引擎215包括操作系統(tǒng)505,該操作系統(tǒng)505具有常規(guī)Web服務(wù)器(諸如,例如Apache推出的Web服務(wù)器)的修改版本的至少收聽(tīng)和處理線程。如圖5所示,鑒別引擎215包括對(duì)至少一個(gè)私有密鑰510進(jìn)行訪問(wèn)。優(yōu)選情況下,私有密鑰510可以用于,例如對(duì)來(lái)自事務(wù)引擎205或倉(cāng)庫(kù)210的數(shù)據(jù)進(jìn)行解密,這些數(shù)據(jù)是利用鑒別引擎215的對(duì)應(yīng)的公鑰進(jìn)行加密的。圖5還顯示了鑒別引擎215,其中包括比較器515、數(shù)據(jù)拆分模塊520以及數(shù)據(jù)組合模塊525。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,比較器515包括能夠比較涉及前面的生物特征鑒別數(shù)據(jù)的潛在地復(fù)雜的模式的技術(shù)。該技術(shù)可以包括用于進(jìn)行模式比較(諸如,例如代表指紋模式或語(yǔ)音模式的模式比較)的硬件、軟件或組合的解決方案。此外,根據(jù)一個(gè)實(shí)施例,優(yōu)選情況下,鑒別引擎215的比較器515可以比較文檔的常規(guī)散列,以便再現(xiàn)比較結(jié)果。根據(jù)本發(fā)明的一個(gè)實(shí)施例,比較器515包括對(duì)比較應(yīng)用啟發(fā)規(guī)則530。優(yōu)選情況下,啟發(fā)規(guī)則530可以針對(duì)鑒別嘗試周圍的情況,諸如,例如時(shí)刻、IP地址或子網(wǎng)掩碼,購(gòu)買配置文件、電子郵件地址、處理器序列號(hào)或ID等等。此外,生物特征數(shù)據(jù)的比較可能會(huì)導(dǎo)致從當(dāng)前生物特征鑒別數(shù)據(jù)與注冊(cè)數(shù)據(jù)的匹配產(chǎn)生不同程度的置信度。例如,與可能只返回肯定的或否定的匹配的傳統(tǒng)的密碼不同,指紋可能被判斷部分匹配,例如90%匹配、75%匹配或10%匹配,而不是只是正確或不正確。諸如聲譜圖分析或面部識(shí)別之類的其他生物特征標(biāo)識(shí)符也可以共享這種隨機(jī)鑒別的屬性,而不是絕對(duì)鑒別。當(dāng)處理這樣的隨機(jī)的鑒別或在鑒別被視為不是那么絕對(duì)可靠的其它情況下,需要應(yīng)用啟發(fā)規(guī)則530以判斷所提供的鑒別的置信水平是否足夠高,以對(duì)正在進(jìn)行的交易進(jìn)行身份鑒別。有時(shí)有這樣的情況,所涉及的交易是相對(duì)來(lái)說(shuō)價(jià)值較低的交易,以較低的置信度進(jìn)行身份鑒別是可以接受的。這可以包括美元值較低的交易(例如,$10的采購(gòu))或較低的風(fēng)險(xiǎn)的交易(例如,只限于會(huì)員才能進(jìn)入的網(wǎng)站)。相反,為對(duì)其他交易進(jìn)行身份鑒別,在允許進(jìn)行交易之前,要求鑒別有高度的置信度。這樣的交易可以包括比較大的美元值的交易(例如,簽訂幾百萬(wàn)美元的供應(yīng)合同),或者如果進(jìn)行了不適當(dāng)?shù)蔫b別,存在高風(fēng)險(xiǎn)的交易(例如,遠(yuǎn)程登錄到政府計(jì)算機(jī))。下面將描述啟發(fā)規(guī)則530與置信水準(zhǔn)和交易價(jià)格相結(jié)合地使用,以允許比較器提供動(dòng)態(tài)上下文相關(guān)的鑒別系統(tǒng)。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,優(yōu)選情況下,比較器515可以跟蹤針對(duì)特定交易的鑒別嘗試。例如,當(dāng)一個(gè)交易失敗時(shí),信任引擎110可以請(qǐng)求用戶重新輸入他的或她的當(dāng)前鑒別數(shù)據(jù)。優(yōu)選情況下,鑒別引擎215的比較器515可以使用嘗試限制器535,限制鑒別嘗試的次數(shù),從而防止假冒用戶的鑒別數(shù)據(jù)的蠻力嘗試。根據(jù)一個(gè)實(shí)施例,嘗試限制器535包括監(jiān)視進(jìn)行重復(fù)的鑒別嘗試的交易的軟件模塊,例如將一個(gè)給定交易的鑒別嘗試限制為三次。如此,嘗試限制器535將把假冒個(gè)人的鑒別數(shù)據(jù)的自動(dòng)化嘗試限制到,例如三次“猜測(cè)”。在三次嘗試失敗之后,優(yōu)選情況下,嘗試限制器535可以拒絕進(jìn)行更多的鑒別嘗試。優(yōu)選情況下,這樣的拒絕可以通過(guò),例如比較器515返回否定的結(jié)果來(lái)實(shí)現(xiàn),而不管是否傳輸了當(dāng)前鑒別數(shù)據(jù)。另一方面,優(yōu)選情況下,事務(wù)引擎205可以阻止涉及其以前已經(jīng)進(jìn)行了三次失敗的嘗試的交易的任何更多的鑒別嘗試。鑒別引擎215還包括數(shù)據(jù)拆分模塊520和數(shù)據(jù)組合模塊525。優(yōu)選情況下,數(shù)據(jù)拆分模塊520包括能夠用數(shù)學(xué)方法對(duì)各種數(shù)據(jù)進(jìn)行操作的軟件、硬件或組合模塊,以便基本上將數(shù)據(jù)隨機(jī)化并拆分為多個(gè)部分。根據(jù)一個(gè)實(shí)施例,原始數(shù)據(jù)不能從單個(gè)部分重新創(chuàng)建。優(yōu)選情況下,數(shù)據(jù)組合模塊525包括被配置為用數(shù)學(xué)方法對(duì)前面的基本上隨機(jī)化的部分進(jìn)行操作的軟件、硬件或組合模塊,以便其組合提供原始的解密數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,鑒別引擎215使用數(shù)據(jù)拆分模塊520隨機(jī)化注冊(cè)鑒別數(shù)據(jù)并將其拆分為多個(gè)部分,并使用數(shù)據(jù)組合模塊525將這些部分重新組合為可使用的注冊(cè)鑒別數(shù)據(jù)。圖6顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的多個(gè)方面的圖2的信任引擎200的加密引擎220的方框圖。類似于圖3的事務(wù)引擎205,加密引擎220包括操作系統(tǒng)605,該操作系統(tǒng)605具有常規(guī)Web服務(wù)器(諸如,例如Apache推出的Web服務(wù)器)的修改版本的至少收聽(tīng)和處理線程。如圖6所示,加密引擎220包括數(shù)據(jù)拆分模塊610和數(shù)據(jù)組合模塊620,它們的功能類似于圖5的那些模塊的功能。然而,根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)拆分模塊610和數(shù)據(jù)組合模塊620對(duì)加密密鑰數(shù)據(jù)進(jìn)行處理,而不是對(duì)前面的注冊(cè)鑒別數(shù)據(jù)進(jìn)行處理。雖然,本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,數(shù)據(jù)拆分模塊910和數(shù)據(jù)拆分模塊620可以與鑒別引擎215的那些模塊相結(jié)合。加密引擎220還包括加密處理模塊625,被配置為執(zhí)行許多加密功能中的一個(gè)、某些或全部加密功能。根據(jù)一個(gè)實(shí)施例,加密處理模塊625可以包括軟件模塊或程序、硬件或兩者。根據(jù)另一個(gè)實(shí)施例,加密處理模塊625可以執(zhí)行數(shù)據(jù)比較、數(shù)據(jù)分析、數(shù)據(jù)拆分、數(shù)據(jù)分離、數(shù)據(jù)散列、數(shù)據(jù)加密或解密、數(shù)字簽名鑒別或創(chuàng)建、數(shù)字證書生成、存儲(chǔ)或請(qǐng)求,力口密密鑰生成等等。此外,本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,優(yōu)選情況下,加密處理模塊825可以包括公鑰基礎(chǔ)架構(gòu),如Pretty Good Privacy(PGP)、基于RSA的公鑰系統(tǒng),或大量的備選密鑰管理系統(tǒng)。此外,加密處理模塊625還可以執(zhí)行公鑰加密、對(duì)稱密鑰加密或兩者。除前面的內(nèi)容之外,加密處理模塊625還可以包括一個(gè)或多個(gè)計(jì)算機(jī)程序或模塊、硬件或兩者,用于實(shí)現(xiàn)無(wú)縫、透明的互操作性功能。本領(lǐng)域技術(shù)人員將從這里的說(shuō)明認(rèn)識(shí)到,加密功能可以包括一般涉及密鑰管理系統(tǒng)的各種功能。圖7顯示了健壯計(jì)算秘密共享(RCSS)方案。被稱為代理商700的一方具有該代理商希望分發(fā)的秘密701。為此,代理商700可以應(yīng)用RCSS方案的共享機(jī)制702。共享機(jī)制702可能導(dǎo)致生成某個(gè)數(shù)量η的股份,如股份704、705,以及706所示。所有股份的集合703可能是從秘密701以概率的方式派生出來(lái)的矢量S。然后,可以在網(wǎng)絡(luò)上發(fā)送股份的集合703,或在頻帶外進(jìn)行分發(fā),以便每一個(gè)股份都存儲(chǔ)在其自己的數(shù)據(jù)儲(chǔ)存庫(kù)中(或存儲(chǔ)在不同的物理或地理位置上的一個(gè)或多個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中)。將股份存儲(chǔ)在邏輯數(shù)據(jù)儲(chǔ)存庫(kù)720中可以具有安全性提高的優(yōu)點(diǎn),因?yàn)閷?duì)于可能存儲(chǔ)在數(shù)據(jù)服務(wù)器721、722,以及723中的那些股份而言,和那些股份的真子集相比,對(duì)手更加難以對(duì)所有股份進(jìn)行訪問(wèn)。一個(gè)或多個(gè)服務(wù)器721、722以及723可以位于物理上不同的位置,在不同的管理控制下操作,或由不同種類的硬件和軟件訪問(wèn)控制來(lái)進(jìn)行保護(hù)。邏輯數(shù)據(jù)儲(chǔ)存庫(kù)720也可以包括分布式的或聯(lián)網(wǎng)的文件系統(tǒng)。當(dāng)某一方希望恢復(fù)分布在邏輯數(shù)據(jù)儲(chǔ)存庫(kù)720上的秘密時(shí),實(shí)體740可能嘗試收集股份。第一個(gè)收集的股份S*[l]744可能與股份704相同,但是,由于傳輸或存儲(chǔ)中的非故意的修改(例如,數(shù)據(jù)損壞)或由于對(duì)手代理的活動(dòng)而導(dǎo)致的故意的修改,也可能不同。類似地,第二個(gè)收集的股份S* [2] 745可能與股份705相同,最后一個(gè)股份S* [η] 746可能與股份706相同,但是,這些股份也可能由于類似的原因而不同。除了是“錯(cuò)誤的”股份的可能性之外,集合743中的一個(gè)或多個(gè)股份也可能是判別值“丟失”,由符號(hào)" "代表。此符號(hào)可能表示,系統(tǒng)(例如,實(shí)體740)不能發(fā)現(xiàn)或收集該特定股份。然后,可以將聲稱的股份S*的矢量提供到RCSS方案的恢復(fù)算法742,后者可能返回恢復(fù)的秘密S*741或者表示為無(wú)效的值747。共享的秘密701應(yīng)該等于恢復(fù)的秘密741,除非對(duì)手的破壞股份的活動(dòng)的程度超過(guò)了該方案能夠承受的程度。RCSS的目標(biāo)在兩個(gè)較大的領(lǐng)域有用:保護(hù)靜止的數(shù)據(jù)的安全和保護(hù)運(yùn)動(dòng)中的數(shù)據(jù)的安全。在前一種情況中,文件服務(wù)器,例如在各種遠(yuǎn)程服務(wù)器上維護(hù)其數(shù)據(jù)。即使那些服務(wù)器中的某些服務(wù)器被破壞(例如,由于管理員不誠(chéng)實(shí))或不可用(例如,由于網(wǎng)絡(luò)故障),數(shù)據(jù)仍可能可用并且保密。在運(yùn)動(dòng)中的數(shù)據(jù)的情況下,秘密消息的發(fā)送方和消息的接收方可能通過(guò)許多路徑連接起來(lái),只有其中的某些可能被對(duì)手觀察到。通過(guò)利用這些不同路徑發(fā)送股份,發(fā)送方可能安全地傳輸秘密S,盡管存在某些路徑臨時(shí)不可用或被對(duì)手控制的可能性。例如,在某些實(shí)施例中,可以通過(guò)不同的邏輯通信信道傳輸每一個(gè)股份。在2003年6月11日提出的編號(hào)為N0.10/458, 928的美國(guó)專利申請(qǐng)、2005年10月25日提出的編號(hào)為N0.11/258,839的美國(guó)專利申請(qǐng),以及2006年11月20日提出的美國(guó)專利申請(qǐng)N0.11/602,667中比較詳細(xì)地描述了用于保護(hù)數(shù)據(jù)安全的系統(tǒng)和方法,特別是用于保護(hù)運(yùn)動(dòng)中的數(shù)據(jù)的安全的系統(tǒng)和方法。在此引用了如前所述的以前提出的每一個(gè)專利申請(qǐng)的發(fā)明的全部?jī)?nèi)容作為參考。
雖然Krawczyk提出了具有短的股份大小的至少一個(gè)RCSS方案,但是,對(duì)該方案的科學(xué)研究表明,在加密方案的弱假定下,它不是一個(gè)有效的RCSS方案,對(duì)于所有存取結(jié)構(gòu)(例如,不同于閾值方案之外的存取結(jié)構(gòu)),不是一個(gè)有效的方案。至少由于這些原因,圖8-11描述了秘密共享的其他方法。這些其他方法有時(shí)稱為ESX或HK2。ESX或HK2方法的機(jī)制可以包括健壯計(jì)算秘密共享方案,該方案可以根據(jù)下列五個(gè)基本要素來(lái)構(gòu)建:(I)隨機(jī)或偽隨機(jī)數(shù)發(fā)生器,(2)加密方案;(3)完美的秘密共享(PSS)方案;(4)信息傳播算法(IDA);以及(5)概率性承諾方案。下面將比較詳細(xì)地描述這五個(gè)基本要素。(I)隨機(jī)或偽隨機(jī)數(shù)發(fā)生器,Rand。這樣的數(shù)字發(fā)生器可以以數(shù)字k作為輸入,并返回k個(gè)隨機(jī)或偽隨機(jī)比特。在圖8-11中,為便于說(shuō)明,輸入k被省略。(2)加密方案,可以包括一對(duì)算法,一個(gè)叫做“加密”,另一個(gè)叫做“解密”。加密算法Encrypt可以取給定長(zhǎng)度k的密鑰K,和被稱為明文的輸入消息M。Encrypt算法可以返回被稱為密文的字符串C。Encrypt算法可以可選地使用隨機(jī)比特,但是,這樣的隨機(jī)比特在圖形中沒(méi)有明確地顯示。解密算法Decrypt可以取給定長(zhǎng)度k的密鑰K,和被稱為密文的輸入消息C。Decrypt算法可以返回被稱為明文的字符串M。在某些情況下,解密算法可以返回指定的失敗值,可能表示密文C不對(duì)應(yīng)于任何可能的明文的加密。(3)完美的秘密共享(PSS)方案,可以包括一對(duì)算法Sharepss和ReC0VerPSS。這些算法中的第一種算法,也稱為PSS的共享算法,可以是隨機(jī)的圖,以字符串K作為輸入,叫做秘密,并返回η個(gè)字符串的序列,Κ[1],...,Κ[η],被稱為股份。每一個(gè)K[i]都可以包括由代理商(執(zhí)行共享處理的實(shí)體)處理的或分發(fā)的一個(gè)股份或η個(gè)股份。數(shù)字η可以是秘密共享方案的用戶可編程的參數(shù),它可以包括任何適當(dāng)?shù)恼龜?shù)。在某些實(shí)施例中,共享算法是隨機(jī)的,因?yàn)樗褂秒S機(jī)或偽隨機(jī)的比特。這樣的相關(guān)性可以通過(guò)提供共享算法隨機(jī)或偽隨機(jī)的比特來(lái)實(shí)現(xiàn),如在Rand算法中所提供的。第二種算法,也稱為PSS的恢復(fù)算法,可以以被稱為聲稱的股份的η個(gè)字符串的矢量作為輸入。每一個(gè)聲稱的股份是讀作“丟失”的字符串或者判別符號(hào)" "。此符號(hào)可以用來(lái)表示某個(gè)特定股份不可用。完美的秘密共享方案的恢復(fù)算法可以返回字符串S或恢復(fù)的秘密??梢约僭O(shè)PSS方案的兩個(gè)屬性。第一個(gè)屬性,隱私屬性,確保沒(méi)有未經(jīng)授權(quán)的用戶獲得有關(guān)從他們的股份中共享的秘密的有用信息。第二屬性,可恢復(fù)性屬性,確保被授權(quán)的各方始終可以恢復(fù)秘密,假設(shè)被授權(quán)的各方為恢復(fù)算法貢獻(xiàn)了正確的股份,任何額外的一方都貢獻(xiàn)正確的股份或者判別丟失(" ")值。此PSS方案可以包括通常被稱為“Shamir秘密共享”的Shamir方案或Blakley秘密共享方案。(4)信息傳播算法(IDA),可以包括一對(duì)算法ShareIDA和Recover1'這些算法中的第一種算法,也稱為IDA的共享算法,可以包括以字符串C (待傳播的消息)作為輸入,并返回η個(gè)字符串的序列C[l],...,C[n](被稱為從散布產(chǎn)生的數(shù)據(jù)的塊)的機(jī)制。值η可以是IDA的用戶可編程的參數(shù),可以是任何適當(dāng)?shù)恼龜?shù)。IDA的共享算法可以是隨機(jī)的或確定性的。在圖8-11中,沒(méi)有顯式顯示IDA中的使用隨機(jī)比特的可能性;然而,應(yīng)該理解,在其他實(shí)施例中可以在IDA中使用隨機(jī)比特。第二種算法,也稱為IDA的恢復(fù)算法,可以以η個(gè)字符串的矢量(提供的塊)作為輸入。每一個(gè)提供的塊都可以是字符串或讀作丟失的判別符號(hào)" ",用于表示某個(gè)特定數(shù)據(jù)塊不可用。IDA的恢復(fù)算法可以返回字符串S或恢復(fù)的秘密??梢约僭O(shè)IDA具有可恢復(fù)性屬性;如此,被授權(quán)的各方始終可以從提供的塊恢復(fù)數(shù)據(jù),假設(shè)被授權(quán)的各方向IDA的恢復(fù)算法貢獻(xiàn)正確的塊,參與重建的任何額外的一方都貢獻(xiàn)正確的塊,否則貢獻(xiàn)判別丟失(" ")值。與PSS方案的情況不同,可以沒(méi)有與IDA關(guān)聯(lián)的隱私屬性,事實(shí)上,一個(gè)簡(jiǎn)單而實(shí)用的IDA是復(fù)制輸入Cn次,并讓恢復(fù)算法使用最常出現(xiàn)的值作為恢復(fù)的數(shù)據(jù)。已知有更加有效的IDA (例如,Rabin的IDA)。(5)概率性承諾方案,可以包括一對(duì)算法,Ct和Vf,叫做承諾算法和鑒別算法。承諾算法Ct可以是一種隨機(jī)算法,取一個(gè)字符串M對(duì)其進(jìn)行承諾,并返回承諾值,H (播放器可以用來(lái)對(duì)M進(jìn)行承諾的字符串),以及解除承諾值,R (播放器可以用來(lái)解除M的承諾H的字符串)。承諾算法可以是隨機(jī)的,如此,可以取最后的變量,R*,稱為該算法的硬幣。這些硬幣可以通過(guò)對(duì)隨機(jī)或偽隨機(jī)數(shù)發(fā)生器Rand的調(diào)用來(lái)較早地生成。這里有時(shí)使用表示法“Ct(M;R*)”來(lái)顯式表示帶有隨機(jī)硬幣R*的輸入M上的承諾算法Ct的返回值。鑒別算法Vf,可以是取三個(gè)輸入字符串的確定性算法:承諾值H、字符串M以及解除承諾值R。此算法可以返回比特O或1,0表示解除承諾無(wú)效(不令人信服),I表示解除承諾有效(令人信服)。一般而言,承諾方案可以滿足兩個(gè)屬性:隱藏屬性和綁定屬性。隱藏屬性需要,給定為對(duì)手選擇的消息M0或M1隨機(jī)地確定的承諾H,對(duì)手不能確定該承諾對(duì)應(yīng)于哪一個(gè)消息
H。綁定屬性需要,已經(jīng)通過(guò)承諾Htl和對(duì)應(yīng)的解除承諾Rtl,交托給消息M0的對(duì)手,不能發(fā)現(xiàn)不同于M0和任何解除承諾R1的任何消息M1,以致于Vf (H。,W1, R1) =10在大多數(shù)情況下,由承諾方案Ct(M;R*)產(chǎn)生的解除承諾值R恰好是提供到該算法的隨機(jī)硬幣R* (即,R=R*)。然而,不是在任何情況下都需要此屬性??梢酝ㄟ^(guò)適當(dāng)?shù)拿艽a散列函數(shù),如SHA-1,可以獲取最自然的概率性承諾方案。在應(yīng)用密碼散列函數(shù)之前,有各種自然的技術(shù)來(lái)處理被委托到的值M,以及硬幣R*。包含承諾機(jī)制Ct和鑒別算法Vf的任何承諾方案都可以產(chǎn)生適用于字符串的矢量而不是單個(gè)字符串的承諾機(jī)制Commit和鑒別機(jī)制Verify。承諾算法Commit可以在組件范圍內(nèi)應(yīng)用Ct算法,而鑒別算法Verify可以在組件范圍內(nèi)應(yīng)用Vf算法。對(duì)于Ct,在某些實(shí)施例中,單獨(dú)的隨機(jī)硬幣可以用于每一個(gè)組件字符串。圖8顯示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的RCSS方案的共享機(jī)制的簡(jiǎn)化方框圖。秘密S800可以包括代理商希望分發(fā)或共享的秘密。秘密800可以是文件系統(tǒng)中的文件,在通信協(xié)議中產(chǎn)生的消息,或任何其他敏感數(shù)據(jù)片段。秘密800可以表示為任何適當(dāng)?shù)木幋a字符串(例如,二進(jìn)制編碼或ASCII字符串)。然而,在實(shí)際實(shí)現(xiàn)方式中,為便于實(shí)現(xiàn),可以使用二進(jìn)制字符串作為秘密800,可以使用共享密鑰加密方案的加密算法803,首先對(duì)秘密S進(jìn)行加密,以獲得密文C804??梢允褂秒S機(jī)或偽隨機(jī)數(shù)發(fā)生器801的輸出,獲取用于執(zhí)行此加密的密鑰K802,以便產(chǎn)生密鑰802的適當(dāng)數(shù)量的隨機(jī)或偽隨機(jī)的比特。密鑰802可以只用于一次共享,因此,可以稱為一次性的密鑰。除用于對(duì)秘密800進(jìn)行加密之外,也可以使用完美的秘密共享(PSS)方案806來(lái)共享或分發(fā)密鑰802。PSS方案806可以包括任何完美的秘密共享方案,包括Shamir或Blakley秘密共享方案。完美的秘密共享方案806可以被隨機(jī)化,要求其自己的隨機(jī)(或偽隨機(jī)的)比特的源??梢杂芍T如數(shù)字發(fā)生器805之類的單獨(dú)的隨機(jī)或偽隨機(jī)數(shù)發(fā)生器提供隨機(jī)或偽隨機(jī)的比特。PSS方案806可以輸出密鑰股份的矢量K=K[l],...,K[n]808,在概念上,可以被發(fā)送到不同的“播放器”,每個(gè)播放器一個(gè)股份。首先,盡管在某些實(shí)施例中,密鑰股份可以與更多信息相結(jié)合??梢允褂眯畔鞑ニ惴?IDA) 807,如Rabin的IDA機(jī)制,將密文C804分解成塊809。IDA807可以輸出密文塊的矢量C[l],...,C[n]809。然后,可以使用概率性承諾方案的承諾機(jī)制812。使用隨機(jī)或偽隨機(jī)數(shù)發(fā)生器810,生成足夠數(shù)量的隨機(jī)比特,用于進(jìn)行承諾處理,所產(chǎn)生的隨機(jī)字符串811用于承諾機(jī)制812中的所有承諾。對(duì)于每一個(gè)消息M [i] =K [i] C [i](跨808和809分布),承諾機(jī)制812可以確定承諾值H[i]和解除承諾值R[i],在矢量813中共同地顯示。第i個(gè)股份(在圖8中沒(méi)有顯式表示)可以編碼K[i]808,C[i]809,R[i],以及H[l],...,H[n]813。每一方i都可以在其股份中接收每一個(gè)K[j],C[j]的承諾H[j](對(duì)于
1...η中的j),而不只是其自己的股份的承諾。圖9比較詳細(xì)地顯示了承諾機(jī)制812 (圖8)的說(shuō)明性承諾處理。承諾處理需要對(duì)承諾方案的較低級(jí)別的Ct機(jī)制的η個(gè)不同調(diào)用。隨機(jī)性由隨機(jī)或偽隨機(jī)數(shù)發(fā)生器900生成,所產(chǎn)生的隨機(jī)或偽隨機(jī)字符串R*被分割為η個(gè)段,R*[1]R*[2]...,R*[n]901。隨機(jī)性的第i部分(當(dāng)i是1,2,或η時(shí),部分921、922或923中的一個(gè))用于對(duì)第i個(gè)消息進(jìn)行承諾,該消息使用承諾方案的承諾算法Ct931,932和933對(duì)W[i] =K[i] C[i](顯示為消息910,911,912)進(jìn)行承諾。承諾和解除承諾對(duì)941,942,和943可以由Ct算法輸出。很可能每一個(gè)R[i]只是R*[i],但是,這不嚴(yán)格地要求。下面的表I中的標(biāo)記為“Share”的算法進(jìn)一步說(shuō)明了圖8和9中所描述的共享方案。此算法以字符串S (要共享的秘密)作為輸入。在第10行,生成足夠數(shù)量的隨機(jī)拋鄭硬幣的情形,為包括算法Encrypt和Decrypt的對(duì)稱加密方案提供加密密鑰K。在第11行,使用密鑰K,對(duì)要共享的敏感的字符串s進(jìn)行加密,以便創(chuàng)建密文C。加密可以是隨機(jī)化的,但是,為使該機(jī)制正確地起作用,不是必須的。接下來(lái),在第12行,可以調(diào)用完美的秘密共享方案(如Shamir的方案)的共享算法。共享算法是隨機(jī)的,雖然在代碼中沒(méi)有顯式地指出。這種共享導(dǎo)致密鑰股份的矢量K=K [I]...K [η]。在第13行,密文C可以分成塊的集合,其中的被授權(quán)的塊的子集合將足夠恢復(fù)秘密。這可以使用IDA (例如,圖8的IDA807)的共享算法來(lái)執(zhí)行??梢允褂萌魏斡行У腎DA,如Rabin的機(jī)制,復(fù)制,或具有前面所描述的IDA屬性的任何特定的方案。第15和16行包括消息KC[i]=K[i]C[i]的隨機(jī)的承諾,在第15行生成所需的硬幣,使用這些硬幣計(jì)算承諾H[i]和解除承諾R[i]。第17行從已經(jīng)計(jì)算出的值計(jì)算所產(chǎn)生的股份(有時(shí)稱為“片段”)S[i]。主體RCSS方案中的股份是S[i]=R[i]K[i]C[i]H[l]...H[n]。然后,可以將股份返回到調(diào)用者,根據(jù)調(diào)用者的意圖,存儲(chǔ)在不同的位置或通過(guò)各種信道進(jìn)行傳輸。下面的表I也顯示了 RCSS方案的恢復(fù)算法。此時(shí),調(diào)用者提供聲稱的股份的整個(gè)矢量,S=S[l]...S[n]。每一個(gè)聲稱的股份S[i]都可以是字符串或判別符號(hào)" ",也是代表丟失的股份。也可以假設(shè),在某些實(shí)施例中,調(diào)用者提供股份j的標(biāo)識(shí),其中j在I和η之間,包括這兩者,它們已知是有效的。在第20-21行,每一個(gè)S[i]都可以被分析為其組件字符串R[i]K[i],C[i],和H[l]...H[n]。應(yīng)該理解,丟失符號(hào)" ",也可以分析為組件,所有的這些組件本身是丟失符號(hào)" "。在第23行,可以執(zhí)行承諾方案的鑒別算法,以判斷消息KC[i]=K[i]C[i]是否有效。然后,“已知有效的”股份j可以被用作每一個(gè)承諾民[1]的“參考值”。每當(dāng)K[i]C[i]看起來(lái)像無(wú)效時(shí),都可以用丟失符號(hào)替代。如此修改的K[i]值的矢量現(xiàn)在可以在第25行提供到秘密共享方案的恢復(fù)算法,而修改的C[i]值的矢量可以在第26行提供到IDA的恢復(fù)算法。此時(shí),只需要利用從PSS方案恢復(fù)的密鑰K對(duì)從IDA恢復(fù)的密文C進(jìn)行解密,以獲取通過(guò)RCSS方案本身恢復(fù)的值S。
權(quán)利要求
1.一種通過(guò)從數(shù)據(jù)生成片段的集合來(lái)保護(hù)數(shù)據(jù)安全的方法,所述方法包括: 對(duì)數(shù)據(jù)應(yīng)用計(jì)算秘密共享方案的共享算法,以產(chǎn)生股份的集合,其中所述計(jì)算秘密共享方案包括共享算法和恢復(fù)算法; 從所述股份的集合計(jì)算承諾值組和解除承諾值組; 通過(guò)組合股份、解除承諾值以及所述承諾值組的至少一個(gè)承諾值,產(chǎn)生所述片段的集合中的每一個(gè)片段;以及 將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中。
2.根據(jù)權(quán)利要求1所述的方法,其中產(chǎn)生所述片段集合中的每一個(gè)片段包括組合股份、解除承諾值以及整個(gè)承諾值組。
3.根據(jù)權(quán)利要求1所述的方法,其中將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中包括將每一個(gè)片段存儲(chǔ)在不同的地理位置。
4.根據(jù)權(quán)利要求1所述的方法,其中將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中包括將每一個(gè)片段存儲(chǔ)在所述至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)上的不同的物理位置。
5.根據(jù)權(quán)利要求1所述的方法,其中所述至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)包括分布式文件系統(tǒng)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述計(jì)算秘密共享方案是從由Shamir、Blakley以及Krawczyk秘密共享方案構(gòu)成的組中選擇的。
7.根據(jù)權(quán)利要求1所述的方法,其中計(jì)算承諾值組和解除承諾值組包括使用概率性承諾方案,所述概率性承諾方案包括承諾算法和驗(yàn)證算法。
8.根據(jù)權(quán)利要求1所述的 方法,進(jìn)一步包括通過(guò)多個(gè)通信信道傳輸所產(chǎn)生的片段。
9.根據(jù)權(quán)利要求8所述的方法,其中通過(guò)多個(gè)通信信道傳輸所產(chǎn)生的片段包括通過(guò)不同的通信信道傳輸每一個(gè)產(chǎn)生的片段。
10.根據(jù)權(quán)利要求1所述的方法,還包括: 產(chǎn)生隨機(jī)值或偽隨機(jī)值; 其中計(jì)算承諾值組和解除承諾值組包括從所述隨機(jī)值或偽隨機(jī)值和所述股份的集合計(jì)算承諾值組和解除承諾值組。
11.一種用于保護(hù)數(shù)據(jù)安全的方法,所述方法包括: 對(duì)數(shù)據(jù)應(yīng)用計(jì)算秘密共享方案的共享算法,以產(chǎn)生股份的集合,其中所述計(jì)算秘密共享方案包括共享算法和恢復(fù)算法; 使用包括承諾算法和驗(yàn)證算法的承諾方案,以從所述股份的集合計(jì)算承諾值組和解除承諾值組; 產(chǎn)生多個(gè)片段,其中每一個(gè)片段都包括所述股份的集合的一個(gè)股份、所述解除承諾值組的一個(gè)解除承諾值以及所述承諾值組;以及 將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中。
12.根據(jù)權(quán)利要求11所述的方法,其中將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中包括將每一個(gè)片段存儲(chǔ)在不同的地理位置。
13.根據(jù)權(quán)利要求11所述的方法,其中將每一個(gè)片段存儲(chǔ)在至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)中包括將每一個(gè)片段存儲(chǔ)在所述至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)上的不同的物理位置。
14.根據(jù)權(quán)利要求11所述的方法,其中所述至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)包括分布式文件系統(tǒng)。
15.根據(jù)權(quán)利要求11所述的方法,所述計(jì)算秘密共享方案是從由Shamir、Blakley以及Krawczyk秘密共享方案構(gòu)成的組中選擇的。
16.根據(jù)權(quán)利要求11所述的方法,進(jìn)一步包括通過(guò)多個(gè)通信信道傳輸所產(chǎn)生的片段。
17.根據(jù)權(quán)利要求16所述的方法,其中通過(guò)多個(gè)通信信道傳輸所產(chǎn)生的片段包括通過(guò)不同的通信信道傳輸每一個(gè)產(chǎn)生的片段。
18.根據(jù)權(quán)利要求11所述的方法,其中所述承諾方案是概率性承諾方案。
19.一種用于保護(hù)數(shù)據(jù)安全的方法,包括: 生成加密密鑰; 利用所述加密密鑰對(duì)數(shù)據(jù)進(jìn)行加密,以創(chuàng)建密文; 通過(guò)對(duì)所述加密密鑰應(yīng)用所述秘密共享方案的第一共享算法,產(chǎn)生η個(gè)密鑰股份的集合; 通過(guò)對(duì)所述密文應(yīng)用信息傳播算法,產(chǎn)生η個(gè)密文塊的集合,所述信息傳播算法包括第二共享算法和恢復(fù)算法; 通過(guò)對(duì)η個(gè)密鑰股份和η個(gè)密文塊中的每一個(gè)應(yīng)用包括承諾算法和驗(yàn)證算法的承諾方案,計(jì)算η個(gè)承諾值和η個(gè)解除承諾值; 產(chǎn)生η個(gè)數(shù)據(jù)片段,其中每一個(gè)數(shù)據(jù)片段是密鑰股份、密文塊、解除承諾值以及承諾值的函數(shù),以及 將所述η個(gè)數(shù)據(jù)片段存儲(chǔ)在不同的邏輯存儲(chǔ)設(shè)備上,從而能夠從預(yù)定義數(shù)量的數(shù)據(jù)片段恢復(fù)數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的方法,其中將所述η個(gè)數(shù)據(jù)片段存儲(chǔ)在不同的邏輯存儲(chǔ)設(shè)備上包括將所述η個(gè)數(shù)據(jù)片段存儲(chǔ)在η個(gè)不同邏輯存儲(chǔ)設(shè)備上。
21.根據(jù)權(quán)利要求19所述的方法,進(jìn)一步包括在存儲(chǔ)所述η個(gè)數(shù)據(jù)片段之前,通過(guò)η個(gè)通信信道傳輸所述η個(gè)數(shù)據(jù)片段。
22.根據(jù)權(quán)利要求19所述的方法,其中所述承諾方案是概率性承諾方案。
23.一種用于從片段的集合中恢復(fù)數(shù)據(jù)的方法,包括: 接收所述片段的集合中的片段; 將所述片段解析為股份、解除承諾值以及承諾值組中的至少一個(gè)承諾值; 使用包括承諾算法和驗(yàn)證算法的承諾方案中的驗(yàn)證算法確定所述片段是否有效;和如果所述片段有效,將所述股份提供給計(jì)算秘密共享方案的恢復(fù)算法以便恢復(fù)數(shù)據(jù),其中所述計(jì)算秘密共享方案包括共享算法和所述恢復(fù)算法。
24.根據(jù)權(quán)利要求23所述的方法,還包括將所述計(jì)算秘密共享方案的所述恢復(fù)算法應(yīng)用于被分類為有效的多個(gè)片段,以便恢復(fù)數(shù)據(jù)。
25.根據(jù)權(quán)利要求23所述的方法,還包括使用第二片段中的承諾值作為用于確定所述片段是否有效的參考承諾值。
26.根據(jù)權(quán)利要求23所述的方法,還包括: 基于多個(gè)片段中的至少一個(gè)承諾值,確定所述承諾值組中的至少一個(gè)承諾值的合意性; 使用所述至少一個(gè)承諾值的合意性確定所述片段是否有效。
27.根據(jù)權(quán)利要求23所述的方法,其中所述承諾方案是概率性承諾方案。
28.根據(jù)權(quán)利要求23所述的方法,還包括確定所述片段是否缺失。
29.根據(jù)權(quán)利要求23所述的方法,還包括如果片段被確定為無(wú)效,則認(rèn)為所述片段缺失。
30.根據(jù)權(quán)利要求23所述的方法,其中通過(guò)下列步驟產(chǎn)生片段: 對(duì)數(shù)據(jù)應(yīng)用計(jì)算秘密共享方案的共享算法,以產(chǎn)生股份的集合; 從所述股份的集合計(jì)算承諾值組和解除承諾值組; 通過(guò)組合股份、解除承諾值以及所述承諾值組的至少一個(gè)承諾值產(chǎn)生片段的集合。
31.根據(jù)權(quán)利要求23所述的方法,其中所述承諾值組的至少一個(gè)承諾值是整個(gè)承諾值組。
32.根據(jù)權(quán)利要求23所述的方法,還包括通過(guò)兩個(gè)不同通信信道傳輸所述片段集合中的兩個(gè)片段。
33.根據(jù)權(quán)利要求23所述的方法,還包括從兩個(gè)不同地理位置接收所述片段集合中的兩個(gè)片段。
34.根據(jù)權(quán)利要求23所述的方法,還包括從至少一個(gè)數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)的兩個(gè)不同物理位置接收所述片段集合中的兩個(gè)片段。
35.根據(jù)權(quán)利要求23所述的方法,還包括從分布式文件系統(tǒng)接收所述片段集合中的兩個(gè)片段。
36.根據(jù)權(quán)利要求23所述的方法,還包括從兩個(gè)不同的邏輯存儲(chǔ)設(shè)備接收所述片段集合中的兩個(gè)片段。
37.一種系統(tǒng),包括: 至少一個(gè)處理器,適用于執(zhí)行權(quán)利要求1到36中的任意一個(gè)的方法。
全文摘要
本發(fā)明涉及用于分發(fā)數(shù)據(jù)和保護(hù)數(shù)據(jù)安全的系統(tǒng)和方法。公開(kāi)了用于進(jìn)行保密數(shù)據(jù)的有效分發(fā)以及隨后恢復(fù)的健壯計(jì)算秘密共享方案??梢噪S機(jī)地生成加密密鑰,然后使用秘密共享算法進(jìn)行共享,以生成密鑰股份的集合??梢允褂妹荑€,對(duì)保密數(shù)據(jù)進(jìn)行加密,導(dǎo)致密文。然后,可以使用信息傳播算法,將密文分解為密文段。每一個(gè)密鑰股份和對(duì)應(yīng)的密文段都作為輸入提供到概率性承諾方案的承諾方法,產(chǎn)生承諾值和解除承諾值??梢酝ㄟ^(guò)組合密鑰股份、密文段、解除承諾值以及承諾值的矢量,獲取健壯計(jì)算秘密共享方案的股份。
文檔編號(hào)H04L9/08GK103188081SQ20131008227
公開(kāi)日2013年7月3日 申請(qǐng)日期2007年11月7日 優(yōu)先權(quán)日2006年11月7日
發(fā)明者M·貝拉爾, P·羅加韋 申請(qǐng)人:安全第一公司