專利名稱:用于通過公共網(wǎng)絡(luò)提供安全數(shù)據(jù)分發(fā)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種具有用于將數(shù)字?jǐn)?shù)據(jù)從一個或多個服務(wù)器或者內(nèi)容提供者通過網(wǎng)絡(luò)分發(fā)給多個用戶的公鑰基礎(chǔ)結(jié)構(gòu)的系統(tǒng)。具體地說,本發(fā)明描述通過諸如因特網(wǎng)的公共網(wǎng)絡(luò)的數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)和提供。
背景技術(shù):
在常見的公鑰基礎(chǔ)結(jié)構(gòu)中,以及在使用用于通過潛在不安全的分發(fā)介質(zhì)進(jìn)行的安全數(shù)據(jù)分發(fā)的公鑰加密方案的系統(tǒng)中,特別地為每個接收者將數(shù)字?jǐn)?shù)據(jù)加密。為了提供被加密和分發(fā)的數(shù)據(jù)的可驗(yàn)證的完整性和真實(shí)性,人們必須依靠由諸如證書管理機(jī)構(gòu)(CA)的可信任的第三方簽發(fā)或證明的密鑰,特別是依靠公鑰對。對第三方的這種依賴給數(shù)據(jù)分發(fā)系統(tǒng)的安全性帶來了不利。安全性通過對應(yīng)私鑰的保密來建立,其中,該私鑰通常由可信任的第三方或證書管理機(jī)構(gòu)知曉。這代表安全數(shù)據(jù)分發(fā)系統(tǒng)的單一失效點(diǎn)。此外,可信任第三方或證書管理機(jī)構(gòu)提供的服務(wù)通常具有必須由客戶或服務(wù)提供者支付的未決費(fèi)用和特許費(fèi)。因此,理想的是具有這樣的系統(tǒng),其能夠在具有通過公共網(wǎng)絡(luò)通信的大量參與方的系統(tǒng)中建立安全的數(shù)據(jù)分發(fā),該系統(tǒng)在一方面在安全性要求和計(jì)算成本方面是有效的,并且在另一方面不依賴于第三方。此外,提供關(guān)于數(shù)據(jù)完整性的高等級安全性的常見數(shù)據(jù)分發(fā)系統(tǒng)通常在計(jì)算上較為昂貴,尤其在處理大量接收者時更是如此。
發(fā)明內(nèi)容
因此,本發(fā)明第一方面的目的是提供一種向參與的服務(wù)器和用戶終端提供安全的數(shù)據(jù)分發(fā)的方法和系統(tǒng),其有效減小了計(jì)算成本和要提供給每個接收者的數(shù)據(jù)量,同時獨(dú)立于可信任的第三方。然而,該系統(tǒng)將支持使用采用可信任的第三方的傳統(tǒng)公鑰加密方案。此外,存在提供這樣的系統(tǒng)和方法的需要,該系統(tǒng)和方法對于以不同方式處理系統(tǒng)中不同種類的數(shù)據(jù)或不同參與方是可適應(yīng)的且是靈活的,尤其在處理大量用戶和要分發(fā)的數(shù)字?jǐn)?shù)據(jù)時更是如此。因此,根據(jù)本發(fā)明的一個方面,公開了這樣的方法和系統(tǒng),其用于通過服務(wù)器使用所分發(fā)的數(shù)字?jǐn)?shù)據(jù)的指紋列表來將數(shù)字?jǐn)?shù)據(jù)安全地提供給多個客戶端終端,以及以類似的方式使用另外的指紋來有效地且以低傳送和計(jì)算成本將這些指紋列表或其一部分提供給客戶端終端,其中該指紋列表提供數(shù)據(jù)的可驗(yàn)證的完整性和真實(shí)性。
本發(fā)明的另一方面致力于數(shù)字?jǐn)?shù)據(jù)的分發(fā),同時提出了在所分發(fā)的數(shù)字?jǐn)?shù)據(jù)已被存儲在接收者一側(cè)之后控制對其的訪問的有效且易于實(shí)施的概念。通常,通過公共網(wǎng)絡(luò)提供并且/或者可由系統(tǒng)中的大量參與方訪問的數(shù)字?jǐn)?shù)據(jù)不僅必須通過將該數(shù)據(jù)不對稱加密而被安全和保密地分發(fā)給該系統(tǒng)中的若干用戶,還必須在接收者一側(cè)接收到數(shù)據(jù)之后的至少一定時間段內(nèi)保證秘密性。在常見的數(shù)據(jù)分發(fā)系統(tǒng)中,這必須通過在該一定時間段之后根據(jù)需要刪除先前安全分發(fā)的全部數(shù)據(jù)來實(shí)現(xiàn);例如,由所述數(shù)字?jǐn)?shù)據(jù)的提供者控制或施行(enforce)。到目前為止,從安全且保密的數(shù)據(jù)分發(fā)過程獨(dú)立地解決了這個問題。具體地說,這通過物理地刪除所接收到的所有數(shù)據(jù)及其所有可能的副本來實(shí)現(xiàn)。因此,理想的是設(shè)計(jì)這樣的系統(tǒng)和方法,其能夠?qū)踩臄?shù)據(jù)分發(fā)與有效且易于實(shí)施的、有選擇地針對不同時間段和/或有選擇地針對不同用戶控制對加密數(shù)據(jù)的訪問的方式相結(jié)合。因而,公開了這樣的方法,其自動廢除或刪除在用于安全數(shù)據(jù)分發(fā)過程的公鑰加密方案和/或公鑰簽名方案中使用的公鑰或私鑰。
本發(fā)明的另一方面致力于公鑰系統(tǒng)中的安全數(shù)據(jù)分發(fā),其允許若干參與方聯(lián)合或連續(xù)地加密和解密所分發(fā)的數(shù)據(jù)、或者簽署(sign)和驗(yàn)證所分發(fā)的數(shù)字?jǐn)?shù)據(jù)。在不對稱加密方案中,只將對稱密鑰不對稱加密,而使用該對稱密鑰將數(shù)據(jù)本身對稱加密。當(dāng)向此數(shù)據(jù)施加對應(yīng)于例如系統(tǒng)中的不同參與方的不同加密層時,必須將整個數(shù)據(jù)再次加密以及相應(yīng)地解密。這意味著伴隨著數(shù)據(jù)分發(fā)過程的高計(jì)算成本。由于相似的加密方案的底層過程也被施加到數(shù)字簽名,因此同樣的缺點(diǎn)也適用于不同實(shí)體或參與方必須簽署和驗(yàn)證數(shù)字?jǐn)?shù)據(jù)的數(shù)字簽名方案。因此,理想的是提供這樣的方法和系統(tǒng),其提供在計(jì)算成本方面容易且有效的分層加密和/或分層數(shù)字簽名功能性。因此,本發(fā)明描述在數(shù)據(jù)分發(fā)系統(tǒng)中提供有效且低復(fù)雜性的分層加密以及分層數(shù)據(jù)簽名的方法。
根據(jù)本發(fā)明的數(shù)字?jǐn)?shù)據(jù)分發(fā)系統(tǒng)的另一方面涉及通過公共網(wǎng)絡(luò)分發(fā)的數(shù)字?jǐn)?shù)據(jù)的路徑的指定。理想的是,安全數(shù)字?jǐn)?shù)據(jù)分發(fā)系統(tǒng)和方法提供指定和控制關(guān)于數(shù)字?jǐn)?shù)據(jù)在其去往最終接收者的途中必須經(jīng)過的網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)分發(fā)路徑的可能性?,F(xiàn)有技術(shù)沒有充分解決這一問題,尤其在復(fù)雜性、最小傳送開銷和計(jì)算成本方面更是如此。因此,本發(fā)明描述這樣的方法,其包括分別使用不對稱加密和/或數(shù)字簽名方案來解決該問題的方法步驟。
通常,使用公鑰基礎(chǔ)結(jié)構(gòu)的不對稱加密采用對稱加密的數(shù)字?jǐn)?shù)據(jù),同時將對稱密鑰信息不對稱加密。該對稱密鑰信息是對所分發(fā)的數(shù)字?jǐn)?shù)據(jù)的發(fā)送者和接收者共享的秘密。通常,創(chuàng)建或提供該共享秘密,由此需要可信任的第三方,其被直接卷入共享秘密的創(chuàng)建過程,或者必須證明該過程中的信息。如已經(jīng)指出的那樣,對可信任第三方的這種依賴是那些系統(tǒng)的缺點(diǎn)。因此,理想的是在數(shù)據(jù)分發(fā)系統(tǒng)中包括創(chuàng)建共享秘密的低復(fù)雜性和有效的可能性,該共享秘密可充當(dāng)系統(tǒng)的兩個參與方之間的對稱密鑰信息。此外,在具有大量用戶的常見系統(tǒng)中,服務(wù)器必須存儲和保存所有參與用戶及其各自共享秘密的記錄。具體地說,這在存儲復(fù)雜性、計(jì)算成本和計(jì)算時間方面給服務(wù)器帶來了不利之處。因此,理想的是具有這樣的安全數(shù)據(jù)分發(fā)系統(tǒng)和方法,其提供利用服務(wù)器創(chuàng)建與多個用戶終端的共享秘密的能力,而無需由服務(wù)器為每個參與用戶存儲、更新或重新獲取這些共享秘密。因此,本發(fā)明描述這樣的方法和系統(tǒng),其使用對隨機(jī)生成的令牌計(jì)算的散列(hash)值,來創(chuàng)建可充當(dāng)對稱密鑰信息的服務(wù)器和客戶端終端之間的共享秘密,而無需由服務(wù)器為每個用戶存儲該共享秘密。
本發(fā)明的目的是提供這樣的系統(tǒng)和方法、以及計(jì)算機(jī)程序,該計(jì)算機(jī)程序相應(yīng)地控制這種系統(tǒng)的多個用戶終端和服務(wù)器,從而實(shí)現(xiàn)和允許前述有利方面和特征。該目的由獨(dú)立權(quán)利要求的主題內(nèi)容解決。優(yōu)選實(shí)施例由從屬權(quán)利要求的主題內(nèi)容限定。
下面參考附圖描述本發(fā)明,其中,附圖示出圖1公鑰基礎(chǔ)結(jié)構(gòu)系統(tǒng);圖2散列值服務(wù)器或證書管理機(jī)構(gòu)服務(wù)器的功能單元;圖3與唯一標(biāo)識符一起存儲散列值的列表的表;
圖4存儲公鑰列表、相關(guān)用戶ID和證書的列表的表;圖5散列值列表的管理過程的流程圖;圖6公鑰認(rèn)證過程的流程圖的第一部分;圖7圖6的過程的第二部分;圖8輔助散列值及其列表的示例圖;圖9包括具有若干網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)的系統(tǒng);圖10至12示出涉及網(wǎng)絡(luò)的若干網(wǎng)絡(luò)節(jié)點(diǎn)的所分發(fā)數(shù)據(jù)的分層加密的基本功能性和流程的高級流程圖;以及圖13a和13b示出創(chuàng)建用于數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)的安全且加密的通信的基本功能性和流程的高級流程圖。
具體實(shí)施例方式
針對安全數(shù)據(jù)分發(fā)系統(tǒng)的若干方面,參考附圖和/或每個主題中的若干實(shí)施例來描述本發(fā)明。概括了不同的最清楚方面及其實(shí)施例,以提供此主題中的更高可理解性,但不意欲限制本發(fā)明的范圍。實(shí)際上,可以在不背離本發(fā)明的教導(dǎo)的情況下組合所述方面和實(shí)施例。本領(lǐng)域技術(shù)人員將認(rèn)識到,可以合并所有實(shí)施例的有技術(shù)意義的任意組合,而不限于本發(fā)明的特定方面。
在下面,針對用作指紋的散列值來描述本發(fā)明的第一方面,該指紋用于數(shù)字?jǐn)?shù)據(jù)的分發(fā),并具體用于在公鑰系統(tǒng)中使用的各個公鑰的分發(fā)。
以下場景和裝置旨在是示例性的,而不是毫無遺漏的。具體地說,應(yīng)當(dāng)注意,本發(fā)明的以下方面不限于公鑰,而是適用于任意種類的數(shù)字?jǐn)?shù)據(jù),例如程序文件、數(shù)據(jù)文件、配置文件、軟件代碼、前述任一項(xiàng)的新版本或更新或者其組合。因?yàn)楫?dāng)前優(yōu)選的實(shí)施例主要使用該系統(tǒng)來分發(fā)公鑰,并通過選擇一種特定種類的數(shù)據(jù)來提供最大可理解性,以下描述的大部分將公鑰唯一地作為要安全分發(fā)的數(shù)字?jǐn)?shù)據(jù)。
根據(jù)本發(fā)明第一方面的示例公鑰系統(tǒng)在圖1中示出。該系統(tǒng)包括第一和第二證書管理機(jī)構(gòu)服務(wù)器11和13、散列值服務(wù)器12以及客戶端終端14至17。服務(wù)器11至13和客戶端14至17連接到諸如因特網(wǎng)的公共網(wǎng)絡(luò)。證書管理機(jī)構(gòu)服務(wù)器11和13采取(account for)在具有公鑰基礎(chǔ)結(jié)構(gòu)的公鑰系統(tǒng)中一個或多個這種證書管理機(jī)構(gòu)的常見使用。根據(jù)本發(fā)明,如隨后將描述的那樣,在系統(tǒng)內(nèi)使用證書管理機(jī)構(gòu)得到支持,但是它對于建立數(shù)字?jǐn)?shù)據(jù)例如公鑰的安全提供不是必需的。此外,散列值服務(wù)器或證書管理機(jī)構(gòu)也可以由例如由客戶端終端14至17或其子集形成的分布式對等系統(tǒng)來模擬。對于每個客戶端終端14至17或?qū)?yīng)的客戶端終端14至17的用戶,存在相關(guān)公鑰PK1至PK4。
通常,代表各個用戶的客戶端終端14至17、以及服務(wù)器11至13通過公共網(wǎng)絡(luò)互相通信。如果需要的話,圖1未示出的優(yōu)選地在每個服務(wù)器11至13之間的直接連接可以提供比因特網(wǎng)更安全的通信路徑。
進(jìn)行提供特定等級的可驗(yàn)證數(shù)據(jù)完整性和用戶認(rèn)證的公鑰系統(tǒng)內(nèi)的兩個終端之間的安全通信的常用場景可概述如下。當(dāng)公鑰PK1的所有者(即,客戶端)進(jìn)行請求時,證書管理機(jī)構(gòu)例如CA1 11首先簽發(fā)客戶端終端14的公鑰PK1的證書,從而證明PK1是真實(shí)的、并與客戶端終端14或其各自的用戶相關(guān)聯(lián)。該證書cert CA1(PK1)可公開獲得、或被提供給系統(tǒng)中的剩余客戶端終端15至17。然后,客戶端終端14可接收被這些終端用PK1加密的數(shù)據(jù)。然而,公鑰PK1的這種認(rèn)證假設(shè)CA1是可信任的第三方,其必須被進(jìn)行這種通信的所有終端信任。還需要通過到根CA的證書鏈來認(rèn)證CA1的PK。通常,證書管理機(jī)構(gòu)的概念基于不可偽造的證書,該證書可使用公知信息來驗(yàn)證,但必須使用僅由證書管理機(jī)構(gòu)自己所知的私有信息來簽發(fā)。這顯示出一個或多個后果。不僅必須信任該證書管理機(jī)構(gòu),還必須保護(hù)證明過程不被替換,換句話說,必須確保用于驗(yàn)證證書的信息即CA1的公鑰不能被對手替換。
散列值服務(wù)器12存儲公鑰的散列值列表。根據(jù)當(dāng)前優(yōu)選的實(shí)施例,這些公鑰由證書管理機(jī)構(gòu)11或13的至少一個另外簽名。公鑰PK1的散列值存儲在散列值服務(wù)器12的散列值列表中。如下面參考圖5更詳細(xì)地描述的那樣,散列值服務(wù)器12計(jì)算所存儲的散列值列表的散列值,并提供所計(jì)算的散列值和散列值列表,使得它們對于所有終端可公開獲得。在下面,散列值列表的散列值也被稱為元散列值。
可以提供存儲在散列值服務(wù)器12中的信息,以便公開訪問或至少對于系統(tǒng)的專用客戶端終端來說是可訪問的。具體地說,提供該信息還包括在請求時或者自動地將其轉(zhuǎn)發(fā)給預(yù)定客戶端終端列表。如何將散列值列表和元散列值提供和分發(fā)給客戶端終端的不同實(shí)施例在隨后的對一般概念的描述之后進(jìn)行討論。
在本發(fā)明的一個實(shí)施例中,客戶端終端15從散列值服務(wù)器12接收散列值列表及其元散列值?;谒邮盏脑⒘兄?,客戶端終端15在使用客戶端終端14的公鑰PK1驗(yàn)證、認(rèn)證或加密數(shù)據(jù)之前執(zhí)行公鑰PK1的認(rèn)證或驗(yàn)證過程。此外,客戶端終端15還可以檢查在散列值列表中包括的其自己的公鑰PK2的真實(shí)性。下面參考圖6和7更詳細(xì)地描述客戶端終端中的對應(yīng)過程。
圖1的散列值服務(wù)器12還可作為證書管理機(jī)構(gòu)服務(wù)器11和13的一部分、作為存儲或管理要安全分發(fā)的數(shù)字?jǐn)?shù)據(jù)的網(wǎng)絡(luò)中的另一服務(wù)器的一部分、或通過客戶端終端的對等系統(tǒng)來實(shí)施。例如,所使用的散列算法可以是SHA1或MD5。
圖2圖示圖1的散列值服務(wù)器的功能單元。
典型的散列值服務(wù)器包括CPU 21、連接到因特網(wǎng)的網(wǎng)絡(luò)接口單元22、用于與操縱器交互的操縱器I/O單元23、存儲裝置23以及另外的存儲裝置25、26。
操縱器I/O單元23具體地包括監(jiān)視器、鼠標(biāo)和鍵盤。此外,網(wǎng)絡(luò)接口單元22允許服務(wù)器從客戶端終端接收對信息的請求、傳送所存儲的信息、或接收輸入信息。輸入信息可以從例如證書管理機(jī)構(gòu)服務(wù)器接收,以便將另外的數(shù)據(jù)例如公鑰添加到散列值列表中。具體地說,關(guān)于這一點(diǎn),未示出的直接接口單元可提供與至少一個CA服務(wù)器的安全的直接連接。
存儲裝置24可由RAM、EEPROM、ROM、硬盤、磁盤驅(qū)動器和/或光盤驅(qū)動器形成。執(zhí)行所需操作的服務(wù)器的操作系統(tǒng)以及應(yīng)用軟件存儲在存儲裝置24中。
在此示例中,另外的存儲裝置25、26由用于存儲散列值的第一存儲單元25和用于存儲公鑰及其證書的第二存儲單元26形成。通常,存儲裝置26可保存例如在要安全分發(fā)的一個或多個數(shù)據(jù)列表中劃分的任意數(shù)據(jù)。存儲單元25保存存儲在存儲單元26中的公鑰或數(shù)據(jù)的散列值列表,以及該散列值列表的元散列值。該存儲單元25還可存儲與當(dāng)前提供給公眾的散列值列表分開存儲的所接收的散列值的臨時列表。
圖3圖示存儲在散列值服務(wù)器中的公鑰(PK1至PK4)的散列值32的示例列表。關(guān)聯(lián)到公鑰從而也關(guān)聯(lián)到其散列值的唯一標(biāo)識符對應(yīng)地存儲在列31中。唯一標(biāo)識符優(yōu)選地由公鑰PK1至PK4的各自所有者的電子郵件地址形成。散列值32的列表還存儲證書管理機(jī)構(gòu)CA2的散列值列表的元散列值。該列表還可包括證書管理機(jī)構(gòu)CA2的公鑰的散列值。
最后,為散列值32的列表或優(yōu)選地為散列值32的列表和相關(guān)電子郵件地址31計(jì)算元散列值。
圖4圖示可被存儲在圖2的存儲單元26中的數(shù)據(jù),在此示例情況下為公鑰/證書對。
列41包括作為用戶的唯一標(biāo)識符的用戶ID。用戶ID可例如代替或?qū)?yīng)于圖3的電子郵件地址,或者甚至可在另外的引用表中與其進(jìn)行映射。該唯一標(biāo)識符41也可以是社會保險或任意其它識別號碼。優(yōu)選的是,散列值服務(wù)器或證書管理機(jī)構(gòu)確保對于每個唯一的標(biāo)識符,始終只存在一個合法的公鑰。該唯一信息還可以使得使用所述公鑰加密過的消息的發(fā)送者能夠識別該公鑰的所有者。列42包括在列41中識別的用戶的公鑰列表。列43包括相關(guān)公鑰的證書列表,該證書由證書管理機(jī)構(gòu)CA1或CA2之一簽發(fā)。列表41-43中的每個條目對應(yīng)于圖3的散列值列表中的一個條目。
除了用戶1至4的公鑰PK1至PK4以外,圖4中的表的最后項(xiàng)目包括證書管理機(jī)構(gòu)CA2的公鑰PK_CA2。對應(yīng)的證書CA1_cert(PK_CA2)由證書管理機(jī)構(gòu)CA1簽發(fā)。
此外,圖3和4示出的表還可包括未示出的數(shù)據(jù)字段,例如指示散列值或?qū)?yīng)的證書是否已被廢除的廢除信息、或指示更新散列值的日期或時間的更新信息。
現(xiàn)在參考根據(jù)本發(fā)明第一方面的一個實(shí)施例的圖5來描述在散列值服務(wù)器中管理散列值列表的過程。所述過程將公鑰列表作為要傳輸?shù)皆撓到y(tǒng)的客戶端終端并由其認(rèn)證的數(shù)據(jù)。該場景以及以下所有場景旨在是示例性的,而不是毫無遺漏的。具體地說,應(yīng)當(dāng)注意,本發(fā)明不限于公鑰,而是適用于任何種類的數(shù)據(jù),例如程序文件、數(shù)據(jù)文件、配置文件或它們的組合。
首先,在步驟52,接收可由證書管理機(jī)構(gòu)CA簽名的公鑰PK。例如,PK可以是CA簽發(fā)的證書的一部分。
在步驟53,計(jì)算公鑰的散列值。
隨后,可以在可選步驟54檢查證書管理機(jī)構(gòu)CA的簽名,以便驗(yàn)證公鑰實(shí)際上由證書管理機(jī)構(gòu)簽名和/或從證書管理機(jī)構(gòu)接收。這種驗(yàn)證步驟通過根據(jù)所采用的公鑰簽名或認(rèn)證過程將CA的公鑰施加到現(xiàn)有的所接收的CA的簽名上來完成。如果不能驗(yàn)證該簽名,則過程終止。
在步驟55,將所計(jì)算的散列值添加到存儲在散列值服務(wù)器中的散列值列表中。在步驟56,對散列值的補(bǔ)充列表計(jì)算元散列值。在步驟57,可由散列值服務(wù)器給該散列值列表簽名。最后,在步驟58,提供散列值列表、其元散列值,并可選地提供該散列值列表的簽名。
提供步驟58可例如通過將該信息存儲在散列值服務(wù)器中并在請求時傳送它、將該信息轉(zhuǎn)發(fā)到預(yù)定目的地的列表或?qū)⑵滢D(zhuǎn)發(fā)到一個或多個預(yù)定的公布裝置來實(shí)施。
優(yōu)選地,在添加步驟55,首先將所計(jì)算的散列值添加到與當(dāng)前提供給公眾的散列值列表分開存儲的散列值的臨時列表中。此外,可以定義時間間隔,以便例如僅每天、每星期或每月執(zhí)行步驟56至58。因此,在給定時間間隔內(nèi)接收到的新散列值將被立即存儲在臨時列表中,以便在該時間間隔終止之后被添加到被公布的列表中。此外,為了通知元散列值的相關(guān)性(relevance),可以與元散列值一起存儲和提供計(jì)算元散列值的時間或日期。
此外,還可以根據(jù)公鑰系統(tǒng)的需要,從CA接收在散列服務(wù)器中分配的、或由這些服務(wù)器的至少一個認(rèn)可的唯一標(biāo)識符,例如公鑰所有者的電子郵件地址。
圖6和7圖示根據(jù)本發(fā)明第一方面的一個實(shí)施例的在客戶端終端中執(zhí)行的認(rèn)證過程。與圖5一樣,圖6和7的底層認(rèn)證過程是針對公鑰而圖示的,但一般地適用于數(shù)字?jǐn)?shù)據(jù)。
在圖6的過程60至68中,首先,在步驟61,從第一散列值服務(wù)器接收散列值列表及其元散列值。隨后,在步驟62,從第二散列值服務(wù)器接收該散列值服務(wù)器的散列值列表的第二元值。最后,在比較所接收的元散列值的步驟63,確定兩個元散列值是否互相對應(yīng)。
此外,步驟61和62的每一個還可包括驗(yàn)證由對應(yīng)散列值服務(wù)器為元散列值簽發(fā)的簽名的步驟、和/或如果通過例如從互相認(rèn)證過程獲得的密鑰將所接收的信息加密則將所接收的信息解密的步驟。如將在下面變得更清楚的那樣,各種子過程如步驟64和65或步驟66和67可被任選地合并到一般性的步驟61至63,以便在公鑰認(rèn)證過程中修改所需要的安全等級。
如果比較、驗(yàn)證或認(rèn)證步驟的任一個表示相應(yīng)地不應(yīng)當(dāng)用于后續(xù)通信的可能被偽造的密鑰,則可以終止過程60到74。例如,如果步驟63的比較結(jié)果表示偏離了散列值,則該散列值列表不能被認(rèn)為是可信任的列表。然而,在這樣的單一否定認(rèn)證結(jié)果之后,不一定終止該過程,而是也可以以用于認(rèn)證正被討論的公鑰的替換或另外的子過程繼續(xù)進(jìn)行。具體地說,例如可以使用另一個源來重復(fù)接收和比較的步驟61和63或62和63,以獲得該數(shù)據(jù)。再次注意的是,散列值服務(wù)器也可以由證書管理機(jī)構(gòu)服務(wù)器或模擬證書管理機(jī)構(gòu)服務(wù)器的客戶端的對等系統(tǒng)來形成。
此外,被互相比較的為一個散列值列表所獲得的元散列值的數(shù)目不限于如圖6示出的這一示例過程所示的最初的兩個。實(shí)際上,如果是成功的比較,則從在理想上獨(dú)立的源獲得越多元散列值,散列值列表真實(shí)的可信度越高,從而給出所覆蓋的數(shù)據(jù)的完整性。因此,在另一實(shí)施例中,建立一定的安全性或可信度可能需要來自用于一個散列值列表的不同源的一定數(shù)目的元散列值。所需要的這一等級可針對不同種類的數(shù)據(jù)而變化,例如,對于公鑰,它可能比對于包含較不敏感的信息的文件如音樂文件更高。它還可以根據(jù)用戶指令或者內(nèi)容提供者或分發(fā)者設(shè)置的要求而變化。
在比較步驟63之后,客戶端終端基于從散列值服務(wù)器接收的散列值列表計(jì)算元散列值64。在步驟65,將所計(jì)算的元散列值與所接收的元散列值之一相比較。
此外,在步驟66,為散列值列表覆蓋的特定公鑰PK計(jì)算散列值。優(yōu)選的是,為要由客戶端終端認(rèn)證的至少期望公鑰執(zhí)行此步驟66和隨后的步驟76。基于所計(jì)算的散列值H(PK),可以通過比較67驗(yàn)證存儲在所接收的散列值列表中的對應(yīng)散列值。如果可以驗(yàn)證這種匹配,則確定公鑰和散列值列表的一致性。因而,通過使用元散列值驗(yàn)證散列值列表的完整性和真實(shí)性,可以如隨后進(jìn)一步描述的那樣認(rèn)證覆蓋在其中的公鑰的完整性。
以圖7的步驟71至74繼續(xù)圖6所示的過程,包括認(rèn)證過程的3個另外子過程。
對于不能自動處理的情況如用戶通過電子郵件接收到的散列值,提供了接收用戶輸入以便驗(yàn)證散列值的可選步驟71。接收步驟71可包括請求用戶輸入、接收用戶輸入、并評估與所計(jì)算的公鑰的散列值的對應(yīng)。對于散列值列表的元散列值,可執(zhí)行類似的過程。
此外,可以在可選步驟72中驗(yàn)證正被討論的公鑰的證書。最后,為了檢查第三方或所聲稱的公鑰所有者是否實(shí)際上保存了對應(yīng)于該公鑰的私鑰,在另一可選步驟73中驗(yàn)證通常施加到由客戶端終端提供的作為隨機(jī)口令(challenge)的隨機(jī)數(shù)據(jù)上的私鑰的簽名。通常,步驟73可實(shí)現(xiàn)任意可用的零知識-知識證明(Zero-Knowledge-Proof-of-Knowledge)方法,以驗(yàn)證對應(yīng)于所聲稱的密鑰對所有者的公鑰的私鑰的擁有。
根據(jù)當(dāng)前優(yōu)選的實(shí)施例,如下執(zhí)行散列值列表及其各個元散列值的編制、計(jì)算和分發(fā)。
如前述過程所述的那樣,為物理的或虛擬的數(shù)據(jù)列表中的每個條目計(jì)算散列值。例如,為每個公鑰,或在可適用的情況下為每個公鑰及其各自的證書計(jì)算散列值。每一個都與至少一個唯一標(biāo)識符相關(guān)的這些散列值形成散列值列表。從這一完整的散列值列表計(jì)算元散列值。因而,每當(dāng)新的合法元散列值對于隨時間累積的連續(xù)的數(shù)據(jù)列表有效時,就還必須由用于上述認(rèn)證過程的終端獲得完整的散列值列表。例如,可以基于每天、每星期或每月需要它。
因?yàn)樵撋⒘兄盗斜砜赡芟喈?dāng)大,而客戶端終端(或相關(guān)用戶)可能只想認(rèn)證此列表的單個或幾個條目例如特定的公鑰,所以理想的是每當(dāng)必須認(rèn)證特定數(shù)據(jù)條目時,不必分發(fā)完整的散列值列表。
因此,關(guān)于此問題的優(yōu)選實(shí)施例提供輔助(auxiliary)散列值及其各自列表的使用,如同隨后參考圖8中的示例圖而更詳細(xì)地描述的那樣。
參考圖8,列表800包括要在客戶端終端之間安全分發(fā)的數(shù)字?jǐn)?shù)據(jù)801。該數(shù)字?jǐn)?shù)據(jù)800可以例如對應(yīng)于或代表如圖4所示的公鑰42或者公鑰42及其各自的證書43。列表800中的每個數(shù)據(jù)條目具有唯一的標(biāo)識符802、相似的圖3和4中的列31和列41。該列表800還包括為每個數(shù)據(jù)條目803計(jì)算的散列值804,其對應(yīng)于圖3中的散列值32。
此外,第二標(biāo)識符801與列表800中的每個條目相關(guān),其優(yōu)選地指定當(dāng)列表延伸時以升序列出數(shù)據(jù)的時間。在下面,將列801稱為相關(guān)數(shù)據(jù)的輸入時間。應(yīng)當(dāng)注意,如果這一時間與數(shù)據(jù)本身的輸入時間不同,那么它也可能對應(yīng)于各個散列值804的計(jì)算時間。此外,對于每個數(shù)據(jù)條目,只有一個唯一的標(biāo)識符可以代替列801中的相關(guān)時間和唯一數(shù)據(jù)標(biāo)識符802。另一場景是使用圖3和4所示的列表之一,并在另一列表中提供定時指定,其各個條目優(yōu)選地通過指針彼此鏈接。然而,還有可能不使用這種標(biāo)識符801,而是使用其它方法或裝置來實(shí)現(xiàn)隨后描述的概念,其中,該其它方法或裝置提供將不同的輔助散列值812鏈接到它們在表800中的對應(yīng)段的相同功能性。
列表800中的條目被劃分為連續(xù)的段。優(yōu)選的是,這些段是嚴(yán)格連續(xù)且不重疊的。然而,它們也可以被重疊或者甚至被交錯。當(dāng)前優(yōu)選的實(shí)施例根據(jù)定時時間表(timed schedule)來劃分這些段。自然,新數(shù)據(jù)條目,例如為參加該網(wǎng)絡(luò)的可能的新客戶端和/或用戶或者新發(fā)布的軟件產(chǎn)品簽發(fā)的新公鑰隨著時間的過去而被添加到列表800中。這些條目被累積,并且隨后在必要時計(jì)算散列值804。在一定時間段之后,在預(yù)定的時間,例如每小時、每天或每星期,尚未被另一段覆蓋的所有最新條目形成下一段。如圖8所示,在時間T150和T200,完成一段。因此,在時間T150之后直到預(yù)定時間T200列入的所有條目即所有數(shù)據(jù)條目D101至D150形成一段。另一場景是根據(jù)數(shù)據(jù)條目數(shù)目對列表800進(jìn)行分段,從而形成條目數(shù)目相等而不是輸入該列表的數(shù)據(jù)的時間間隔相等的段。另一場景是對不同種類的數(shù)據(jù)或諸如用戶電子郵件地址的不同種類的數(shù)據(jù)標(biāo)識符使用不同的段。后面的場景代表不僅僅通過輸入該列表的時間排定的一個分段過程。
使用列表800的每個段來計(jì)算輔助散列值。當(dāng)把每個段當(dāng)作單獨(dú)的列表時,這類似于圖3和4中示出的列表的元散列值的生成。與元散列值相似,所確定的用于輔助散列值的散列算法可唯一地施加到所考慮的數(shù)據(jù)、或施加到該數(shù)據(jù)和每個列表行中的剩余列表?xiàng)l目。在輔助散列值的當(dāng)前情況下,可以將散列算法施加到各個段中的所有散列值804、或優(yōu)選地施加到段中的所有散列值804和各個數(shù)據(jù)803、數(shù)據(jù)ID 802以及時間801、或者它們的任何子集或預(yù)定組合。列表800的每個段的輔助散列值812是另一列表810中的條目,另一列表810還包括每個輔助散列值的散列標(biāo)識符811。該列表810可作為單獨(dú)的列表存儲,或者如果例如與附加的指示符例如識別輔助散列值條目的標(biāo)志一起被包括在列表800中則作為“虛擬列表”存儲。
標(biāo)識符811優(yōu)選地代表時間,具體地說是列表800的每個相關(guān)段中的最后的時間。例如,圖8示出的第3段包括在時間間隔T151至T200中的所有條目。由于這些段互不包含但是鄰接,因此,在使用諸如每小時完成一次包括列表800中的最新條目的各個段的定期分段方法時,每個段中最后的時間無歧義地識別每個段。這樣,當(dāng)前優(yōu)選的實(shí)施例使用該最后的時間作為散列ID 811。然而,在另一實(shí)施例中,從輔助散列值812到各個段的這一映射可通過任意其它可用的無歧義的鏈接方法、手段或概念來建立。注意,一旦已經(jīng)計(jì)算并存儲了輔助散列值,就不一定要求該映射在兩個方向都無歧義,這是因?yàn)殡S后它將變得清楚。
現(xiàn)在,使用列表810中的條目來計(jì)算單獨(dú)列表820中示出的元散列821。同樣,該列表可包括在任意其它列表例如列表800或810中。人們甚至可以分發(fā)或公布最新的元散列值,并刪除舊散列值,從而不存儲如圖8中的列表822所示的元散列值。如已經(jīng)在上面參考圖3至5描述的那樣計(jì)算該元散列值。顯然,可以將列表810作為圖3示出的列表,其中,每個輔助散列值812對應(yīng)于列32中的散列值,而散列ID 811對應(yīng)于列31。與已經(jīng)在上面描述的認(rèn)證過程一樣,根據(jù)需要分發(fā)元散列值,并將其與定時或合法性信息例如指定其計(jì)算時間的散列ID 822相關(guān)聯(lián),以便表示所接收的元散列值和對應(yīng)的散列值列表是否仍然合法或者例如是否已經(jīng)存在較新的版本。原則上,僅對于元散列值或?qū)?yīng)的散列值列表HVL之一需要該信息,只要它們可識別為互相對應(yīng)即可。
根據(jù)當(dāng)前優(yōu)選的實(shí)施例,與元散列值821所覆蓋的最新輔助散列值812一起計(jì)算元散列值821。參考圖8示出的示例,如其各自的散列ID 822所示,在時間T150計(jì)算元散列值mh1。該時間標(biāo)識符與各自最新覆蓋的輔助散列值ah2的散列ID 811相同。另一實(shí)施例可應(yīng)用獨(dú)立的時間表,其用于計(jì)算關(guān)于完全覆蓋的段不匹配的散列值812和821。如圖8所示,在時間T222計(jì)算元散列值mh2,而最后覆蓋的輔助散列值ah3覆蓋列表800中直到時間T200的數(shù)據(jù)條目。與當(dāng)前優(yōu)選的實(shí)施例相比,該場景說明這樣的可能情況,其中,根據(jù)該情況,元散列值(即mh2)不覆蓋在計(jì)算元散列值時(即T222)列入的所有數(shù)據(jù)803(即,D201至D222)。
根據(jù)該當(dāng)前優(yōu)選的實(shí)施例的認(rèn)證過程與上述認(rèn)證過程在以下方面不同??梢匀鐓⒖紙D6所述的那樣施加步驟61至65。這些步驟包括比較當(dāng)前考慮的同一散列值列表的至少兩個元散列值的步驟63,其中,在步驟61和62從不同的源獲得每個元散列值。此外,在步驟65,將這些元散列值與在本實(shí)施例中為列表810的由客戶端終端從相應(yīng)散列值列表計(jì)算的本地元散列值相比較。通過驗(yàn)證此散列值列表的所有考慮的元散列值相同,可以基于所獲得的元散列值的不同且相當(dāng)獨(dú)立的源的差異來確定此散列值列表的真實(shí)性和完整性。然后,從輔助散列值812計(jì)算元散列值821。這樣,要由客戶端終端認(rèn)證的數(shù)據(jù)803例如公鑰PK不會直接對應(yīng)于在步驟61接收的輔助散列值列表810中的任何散列值。因此,在繼續(xù)執(zhí)行步驟66和后續(xù)步驟之前,必須執(zhí)行以下步驟。
只是為了提供最大的可理解性,下文僅僅引用公鑰。作為一種特定使用情況,這些公鑰代表數(shù)字?jǐn)?shù)據(jù)803。此外,示出此過程的更一般的實(shí)施例的圖6和7也引用該特定使用情況,其中公鑰代表要認(rèn)證的數(shù)字?jǐn)?shù)據(jù)。
根據(jù)關(guān)于認(rèn)證過程的第一實(shí)施例,客戶端終端確定哪個輔助散列值812對應(yīng)于當(dāng)前考慮的必須被認(rèn)證的公鑰803、以及列表800的哪個段對應(yīng)于該輔助散列值812。這樣,客戶端終端確定哪個段包括所述公鑰。然后,客戶端終端向至少一個預(yù)定服務(wù)器、優(yōu)選地向還提供散列值列表的同一散列值服務(wù)器請求所識別的列表800的段。為了完成這些確定和請求步驟,可以為本發(fā)明應(yīng)用和考慮不同的方法。一種可能的方法是將每個公鑰與諸如客戶端終端的驗(yàn)證者可確定的時間信息相關(guān)聯(lián)。這一時間信息無歧義地指定當(dāng)前優(yōu)選的實(shí)施例所采用的列表800中的對應(yīng)段。然而,不同的方法可以不(僅僅)使用時間排定的段,或者可以不使用時間標(biāo)識符800、811和/或822。另一方法可以例如是提供與直接指定或指向相應(yīng)段的每個密鑰相關(guān)聯(lián)的標(biāo)識符。在另一方法中,散列ID 811可包括提供所有覆蓋的公鑰803的識別的信息。因而,客戶端可識別所述公鑰的各自輔助散列值812,該各自輔助散列值812又指定了所期望的列表800的段。
關(guān)于獲得對應(yīng)于當(dāng)前考慮的公鑰的列表800的段這一問題的第二實(shí)施例如下。客戶端終端通過發(fā)送、指向或指定優(yōu)選地位于所述第一散列值服務(wù)器處的公鑰來請求所需要的位于服務(wù)器處的段。然后,該服務(wù)器創(chuàng)建對應(yīng)的段,并隨后可將此段直接提供給進(jìn)行請求的客戶端終端,或者至少提供使該客戶端終端能夠獲得所請求的段的信息。與第一實(shí)施例的組合,例如確定公鑰803的各自輔助散列值812的客戶端和確定該輔助散列值812的各自段的服務(wù)器,是有可能的。
根據(jù)關(guān)于對所需要的段的這一請求的第三實(shí)施例,根據(jù)先前描述的兩個實(shí)施例的任一個獲得的段還可被例如散列值服務(wù)器加密和/或證明。這意味著客戶端終端在接收到該段之后執(zhí)行的解密和/或驗(yàn)證過程。
根據(jù)關(guān)于對所需要的段的這一請求的第四實(shí)施例,所有段均可公開獲得,并且可被每個客戶端終端訪問,并且例如在可通過因特網(wǎng)訪問的服務(wù)器上公布。每個終端例如如上所示確定需要哪個段,并從該服務(wù)器獲得這個段,而不與專門的散列值服務(wù)器或證明服務(wù)器交互。
在獲得了對應(yīng)于所考慮的公鑰803的列表800的段之后,客戶端終端可以繼續(xù)執(zhí)行如圖6所示的認(rèn)證過程的步驟66以及后續(xù)步驟。
使用輔助散列值的這一當(dāng)前優(yōu)選實(shí)施例的優(yōu)點(diǎn)是減少了要分發(fā)的散列值。當(dāng)計(jì)算了新的元散列值并將其提供給客戶端終端時,同樣出于兩個明顯的原因而必須分發(fā)從其計(jì)算元散列值的擴(kuò)充后的新散列值列表。第一,出于最大安全性的原因,散列值列表必須覆蓋要安全分發(fā)或提供的數(shù)據(jù)803的完整列表。第二,根據(jù)所述認(rèn)證過程的步驟64和65,元散列值也由客戶端終端計(jì)算,其需要完整的散列值列表。根據(jù)其計(jì)算元散列值821的輔助散列值列表810仍然覆蓋所有數(shù)據(jù)803,但是具有比原始列表800少的條目。因而,必須首先將具有較少條目的列表提供給客戶端終端。從原始列表800到輔助散列值列表810的大小減小直接取決于段的大小。然而,增大段的大小意味著對每個段具有例如更大的時間范圍(time frame),這可能是不理想的。它還意味著在認(rèn)證過程中必須將更大的段以及因此導(dǎo)致的更多數(shù)據(jù)傳輸給客戶端終端,這看起來也是不理想的。對此,另一實(shí)施例根據(jù)以元散列值為根的樹結(jié)構(gòu)提供分級的段,該段依次將輔助散列值列表的概念再次應(yīng)用到輔助散列值列表810。具體地說,根據(jù)上述實(shí)施例的任一個而將所獲得的散列值列表810分段。使用這些段來計(jì)算類似于列表810的第二組輔助散列值而不是最終期望的元散列值822??梢葬槍θ我鈹?shù)目的級(stage)重復(fù)該過程,其中,級深度可以是預(yù)定的或變化的。具體地說,當(dāng)使用上述第二實(shí)施例時,輔助散列值的連續(xù)分級和生成將完全在需要不影響客戶端終端的列表管理和鏈接功能性的服務(wù)器的內(nèi)部,其中,根據(jù)第二實(shí)施例,專用服務(wù)器在認(rèn)證過程中確定所請求的段,并將其提供給客戶端終端。這樣,服務(wù)器或若干服務(wù)器可創(chuàng)建適于其內(nèi)部功能性的分級的段。此外,不同級上以及一級內(nèi)的段的大小可以變化。甚至可以在新段中合并不同段和級的不同輔助散列值。具體地說,只有一級的輔助散列值列表中的散列值的子集才能被進(jìn)一步分段,并被下一級的輔助散列值“替換”。
關(guān)于提供計(jì)算元散列值所需的散列值列表的另一實(shí)施例示例性地概述如下。需要該完整的散列值列表,即列表800、32或者如果可適用的話則列表810來計(jì)算元散列值。同樣應(yīng)當(dāng)注意,此意義上的完整列表是指至少所述列表的所有散列值804、812或32,但是可包含相應(yīng)列表的任意但預(yù)定數(shù)目的其它條目。然而,可以利用這樣的事實(shí),即通過將新條目添加到此連續(xù)列表中而隨時間累積該列表。一旦被列入在列表中,條目就保持不變。這樣,對應(yīng)于新的元散列值的新散列值列表包括先前有效的散列值列表的所有條目。這允許在接收到新的元散列值時更新散列值列表,而不是替換客戶端終端中的整個列表。假設(shè)客戶端終端在接收到散列值列表的新元散列值時已經(jīng)擁有該列表。代替獲得相應(yīng)的新散列值列表,客戶端終端可以僅獲得該散列值列表的新條目,然后適當(dāng)?shù)匦薷囊呀?jīng)本地存儲的列表。可以將此實(shí)施例與具有可能進(jìn)一步分級的段的分段列表方法相結(jié)合。
在結(jié)合散列值列表和元散列值描述的所有實(shí)施例中,可以將不同的散列值交叉布置(post)在不同列表和/或段之間??梢詫⒁粋€原始列表800的當(dāng)前有效的或舊的過時的元散列值添加到同一列表800、任意相關(guān)的輔助列表810、或不與所述原始列表800相關(guān)的任意其它列表800或810。散列值,優(yōu)選地為元散列值的這一交叉布置提高了當(dāng)認(rèn)證元散列值及其相關(guān)列表的完整性時元散列值的分布多樣性以及因此導(dǎo)致的可信度和安全等級。通常為一個或幾個散列值的這一交叉布置不會顯著增大系統(tǒng)要處理的數(shù)據(jù)量,從而有效地提高了系統(tǒng)的安全等級而不影響其性能。這一方法對少量的不同可用源尤其有利,其中,客戶端終端可以從該源獲得在認(rèn)證過程中使用的元散列值。
除了在不同列表之間交叉布置單個散列值以外,例如源自不同散列值服務(wù)器12或證書管理機(jī)構(gòu)11、13的散列值列表也可以被合并在單個列表中。此外,第三方可提供這種合并后的列表。
本發(fā)明的另一方面涉及分發(fā)和提供認(rèn)證過程所需的元散列值。用于元散列值的這一分發(fā)的當(dāng)前優(yōu)選實(shí)施例如下。
可能多次并且不僅僅結(jié)合實(shí)際認(rèn)證過程而將元散列值發(fā)送到每個客戶端終端,而不是如上所示地一經(jīng)請求就例如與其各自的散列值列表一起接收元散列值。當(dāng)前優(yōu)選的實(shí)施例將當(dāng)前使用的有效元散列值附加到發(fā)送到客戶端終端和/或在客戶端終端之間發(fā)送的消息。因?yàn)檫@是單個散列值,所以通過將其附加到發(fā)送給終端的消息而不會過度影響終端之間的通信。對于每個新的元散列值,這都可以進(jìn)行一次,從而遵循用于生成新的元散列值的例如每天或每星期的時間表。然而,優(yōu)選的替換方案是例如定期和/或強(qiáng)制性地作為底層通信協(xié)議的一部分將元散列值附加到若干消息上。到客戶端終端接收的定期消息的這一附加可由至少一個服務(wù)器如散列值服務(wù)器安排或引起。此外,客戶端終端自己可以將先前接收的元散列值附加到該終端發(fā)送的消息上。對于后面的情況,可能要求根據(jù)某些給定的安全規(guī)范,只有元散列值已經(jīng)被終端認(rèn)證,例如具有在成功地比較最小數(shù)目的先前從不同源接收的各個元散列值之后實(shí)現(xiàn)的一定可信度,才附加該元散列值。
此外,所附加的這一元散列值可由將其附加到消息上的實(shí)體即服務(wù)器或終端簽名。這保證了——在底層數(shù)字簽名方案的安全限制內(nèi)——確實(shí)是該消息的發(fā)送者而不是已經(jīng)攔截了該消息的對手附加了該元散列值。因此,在接收到消息并分離了元散列值之后,終端在進(jìn)一步繼續(xù)之前必須驗(yàn)證相關(guān)簽名。
不具有在使用元散列值時接收終端對其的顯式請求的分發(fā)場景要求該終端可以確定元散列值的合法性。換句話說,客戶端終端必須能夠確定所接收的元散列值是否確實(shí)是認(rèn)證過程中所需的最近公布的元散列值。一種可能方式是將時間信息關(guān)聯(lián)到所分發(fā)的元散列值。這允許終端確定例如元散列值是否意欲對應(yīng)于最近接收的散列值列表。優(yōu)選的是,該信息包括元散列值和/或?qū)?yīng)的散列值列表的過期和/或創(chuàng)建時間。因而,有可能通過進(jìn)一步考慮用于產(chǎn)生元值的已知時間表來確定其合法性。用于確定元散列值合法性的另一場景是將唯一的標(biāo)識符分配給必須對應(yīng)于在請求時接收從而知道其為最新的散列值列表的每個值,由此所述散列值列表也優(yōu)選地具有標(biāo)識符。
此實(shí)施例允許客戶端終端比較從不同的源例如終端接收的多個元散列值。因而,通過比較步驟63以及在步驟65將它們與本地計(jì)算的值相比較而確定的真實(shí)性的可信度增大。具體地說,只要先前認(rèn)證的元散列值被進(jìn)一步分發(fā)給其它終端,這就成立。元散列值的這一分發(fā)多樣性有效地進(jìn)一步減小了系統(tǒng)中例如由懷有敵意的對手引起的未被發(fā)現(xiàn)的單一失效點(diǎn)的可能性。
本發(fā)明的另一方面致力于在將數(shù)字編碼數(shù)據(jù)實(shí)際提供給指定接收者之前或之后存儲和/或可訪問該數(shù)據(jù)時該數(shù)據(jù)的安全分發(fā)。
為了在由根據(jù)本發(fā)明的分發(fā)模型支持的使用模型方面提供最大的靈活性,數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)還提供簡單的解決方案,用來當(dāng)該數(shù)字?jǐn)?shù)據(jù)在實(shí)際數(shù)據(jù)提供和傳送過程之后或期間被存儲以及——可能公開地——可訪問時保證數(shù)據(jù)安全。此外,在常見的數(shù)據(jù)分發(fā)場景中,常常通過公共網(wǎng)絡(luò)傳輸數(shù)字?jǐn)?shù)據(jù),并且很多第三方和客戶端可具有對所分發(fā)的數(shù)據(jù)的訪問權(quán)。因此,安全分發(fā)不僅必須考慮實(shí)際的數(shù)據(jù)傳送事務(wù),還必須考慮對所分發(fā)的數(shù)據(jù)的在先和/或在后訪問。因而,理想的是提供一種簡單的方法,用于結(jié)合分發(fā)過程控制對所分發(fā)的數(shù)據(jù)的訪問。一種明顯的解決方案是例如一種受控的數(shù)據(jù)訪問機(jī)制,其基于定時時間表,例如由實(shí)際數(shù)據(jù)傳送事務(wù)定義的、可在其中訪問數(shù)據(jù)的給定時間間隔,這確保在該時間間隔終止并且數(shù)據(jù)訪問能力消逝之后,可以保證該數(shù)據(jù)的安全性和保密性。當(dāng)然,如果必須在給定時間或在預(yù)定時間段之后刪除某個數(shù)據(jù),則該場景也會出現(xiàn),并可應(yīng)用。應(yīng)用此分發(fā)模型,可以確保刪除,而不必控制該數(shù)據(jù)的物理刪除。此外,可以通過以下的本發(fā)明這一方面的當(dāng)前優(yōu)選實(shí)施例來最小化例如存儲在服務(wù)器上的所存儲的數(shù)據(jù)或自動生成的日志信息以及所分發(fā)的數(shù)據(jù)的備份被暴露給公眾的潛在風(fēng)險。
根據(jù)本發(fā)明的這一方面,在適當(dāng)?shù)墓€加密方案中施加公開/私有密鑰對將通過此分發(fā)系統(tǒng)分發(fā)的所有數(shù)字?jǐn)?shù)據(jù)不對稱加密。為此,利用公鑰將所有數(shù)據(jù)——完全或部分——加密。所有預(yù)期的接收者和被授權(quán)訪問明文數(shù)據(jù)的參與方都擁有相應(yīng)的解密過程所需的對應(yīng)私鑰。因此,只有那些參與方能夠?qū)⒓用軘?shù)據(jù)解密,并獲得對所分發(fā)的數(shù)據(jù)的訪問。現(xiàn)在,系統(tǒng)根據(jù)預(yù)定方案控制不同密鑰對的使用。廢除和/或刪除單獨(dú)的密鑰建立了如通過關(guān)于此問題的以下實(shí)施例所述的安全分發(fā)系統(tǒng)的不同功能性和特征。
根據(jù)一個實(shí)施例,分發(fā)模型向所有接收者和被授權(quán)訪問數(shù)據(jù)的客戶端提供將所分發(fā)且被加密的數(shù)據(jù)解密所需的相應(yīng)私鑰。在這個和隨后描述的所有實(shí)施例中,通過安全密鑰分發(fā)事務(wù)來實(shí)現(xiàn)私鑰的提供。因?yàn)楹芏嗝荑€分發(fā)和密鑰管理系統(tǒng)被廣泛使用和廣為人知,其中一些涉及安全的和可信任的通信介質(zhì),以及因?yàn)樵诖颂囟ㄇ闆r下這一密鑰分發(fā)可被視為一般性的且獨(dú)立的預(yù)備(preliminary)事務(wù),所以此時將不會更詳細(xì)地考慮這一密鑰分發(fā)。假設(shè)可獲得用來分發(fā)所述私鑰的適當(dāng)裝置。優(yōu)選的是,使用所述散列值列表和元散列值來安全地分發(fā)這些密鑰。
該系統(tǒng)還使得根據(jù)本發(fā)明的這一實(shí)施例刪除或廢除該私鑰。這意味著在有效私鑰的這一受控廢除或刪除之后,先前擁有該私鑰的所有被授權(quán)的客戶端不再能夠獲得對作為明文的加密數(shù)據(jù)的訪問權(quán)。因此,有效地防止了先前通過使用此密鑰對而加密的所有數(shù)據(jù)被訪問,而不必刪除實(shí)際的數(shù)據(jù)。由于只須刪除或廢除相當(dāng)少的密鑰信息,因此這對已經(jīng)使用一個特定密鑰對分發(fā)和加密的大量數(shù)據(jù)特別有利。此外,通常,與刪除先前分發(fā)給客戶端或客戶端終端的所有數(shù)據(jù),包括其可能的備份和副本相比,可以更容易和更有效地控制或完成在該客戶端處的一個或幾個私鑰的廢除或刪除。
一旦私鑰已被系統(tǒng)刪除或廢除,就按照與先前所述相同的方式采用新密鑰對。這一基本概念可被容易地應(yīng)用于如下所述的不同使用模型,其中提供了本發(fā)明的不同示例實(shí)施例。這些實(shí)施例不旨在是毫無遺漏的,并且本發(fā)明不限于那些情況,具體地說,這些實(shí)施例及其技術(shù)教導(dǎo)的任意組合也描述本發(fā)明。
可以同時或在重疊的時間段內(nèi)采用若干密鑰對,而不是一次只使用一個密鑰對。此外,可以使用用于不同種類的數(shù)據(jù)、不同組的接收者或不同的數(shù)字?jǐn)?shù)據(jù)提供者的不同密鑰對來有區(qū)別地控制數(shù)字?jǐn)?shù)據(jù)的分發(fā)。密鑰的生成和/或廢除可遵循定時時間表。系統(tǒng)可生成新的密鑰對,并要求發(fā)送者或分發(fā)者在第一時間間隔內(nèi),例如在每月或每星期的基礎(chǔ)上使用相應(yīng)的私鑰以進(jìn)行加密,但在加密發(fā)生之后,或者加密數(shù)據(jù)已被傳送給接收者之后,直到第二時間段例如生成其之后的6個月終止時才廢除或刪除客戶端或接收者處的私鑰。這意味著所有被授權(quán)的客戶端具有6個月的時間來訪問在使用了相應(yīng)公鑰的第一時間段例如一個月期間加密的數(shù)據(jù)。特別地,該基于時間的訪問控制可與使用用于不同種類的數(shù)據(jù)或用戶的不同密鑰的方案進(jìn)行組合。
根據(jù)另一實(shí)施例,生成并施加密鑰對,以便按照與對先前實(shí)施例所討論的相同的方式來在數(shù)據(jù)分發(fā)之前將該數(shù)據(jù)加密。然而,與先前的實(shí)施例相反,使公鑰而不是私鑰受到系統(tǒng)的廢除或刪除。因此,加密從而分發(fā)數(shù)字?jǐn)?shù)據(jù)的能力由系統(tǒng)控制。這意味著在刪除或廢除公鑰之后,擁有對應(yīng)私鑰的所有客戶端仍然能夠訪問所有先前加密的數(shù)據(jù)。但是確保了對于該私鑰,不能加密和分發(fā)另外的數(shù)據(jù)。與先前描述的實(shí)施例相似,可以將多個密鑰對用于不同種類的數(shù)據(jù)、指定的接收者和提供者,并且根據(jù)一個或多個定時時間表來生成和廢除公鑰。然而,此外,該實(shí)施例也可以廢除或刪除私鑰,從而獲得與對先前實(shí)施例概述的相同的益處。
根據(jù)本發(fā)明的另一實(shí)施例,對于生成所分發(fā)的數(shù)據(jù)上的數(shù)字簽名,可以采用相同的概念。對此,數(shù)據(jù)提供者采用私鑰,而接收者采用根據(jù)底層公鑰簽名方案的密鑰對的對應(yīng)公鑰。廢除或刪除私鑰具有這樣的影響不能使用該密鑰對給另外的數(shù)據(jù)簽名。如果數(shù)字?jǐn)?shù)據(jù)的接收者必須驗(yàn)證該數(shù)據(jù)上的簽名以便證實(shí)其真實(shí)性或完整性,則可以通過刪除或廢除網(wǎng)絡(luò)的分發(fā)者或提供者一側(cè)的私鑰來有效防止另外數(shù)據(jù)的合法分發(fā)。
根據(jù)本發(fā)明,關(guān)于刪除和/或廢除密鑰的前述實(shí)施例的任意組合被認(rèn)為是本發(fā)明的另一實(shí)施例,此外,在所有這些實(shí)施例中,假設(shè)可以以適當(dāng)方式控制、施行或確保密鑰的這一刪除和/或廢除,其中,該方式對于所需的系統(tǒng)安全性是足夠的,并可取決于所需的系統(tǒng)安全性。這可包括可信任的設(shè)備和/或該系統(tǒng)的部件的物理安全性。此外,可以只對系統(tǒng)的一方執(zhí)行關(guān)于刪除和/或廢除密鑰的所有實(shí)施例。具體地說,這是指在相應(yīng)的加密或簽名方案中使用的公鑰對。該單個參與方或客戶端可在存儲數(shù)字?jǐn)?shù)據(jù)之前使用其自己的公鑰來加密所述數(shù)據(jù)。由于只有該客戶端可以將數(shù)據(jù)解密,因此這一概念提供了安全存儲功能性。
本發(fā)明的另一方面涉及當(dāng)使用若干加密方案和/或若干加密步驟時數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)。通常,在用于分發(fā)和傳送數(shù)字?jǐn)?shù)據(jù)的網(wǎng)絡(luò)中,采用特定公鑰加密系統(tǒng)中的不對稱加密方案。通常,為了將數(shù)據(jù)加密,使用對稱密鑰將對稱加密方案施加到數(shù)據(jù)上,在本描述的剩余部分中,該對稱密鑰被表示為S。該對稱密鑰S或其生成常常包括一定的隨機(jī)性,以提高加密方案的加密安全性。在此情況下,通過在對稱密鑰分發(fā)之前將其不對稱加密來實(shí)現(xiàn)不對稱加密。
在下面,參考本身形成本描述一部分的附圖來更詳細(xì)地描述根據(jù)本發(fā)明的分層加密方案,其基于使用對稱密鑰將實(shí)際數(shù)據(jù)加密的這一不對稱加密概念。在分層加密中,使用優(yōu)選地與網(wǎng)絡(luò)的不同參與方或?qū)嶓w相關(guān)的若干密鑰來連續(xù)加密數(shù)字?jǐn)?shù)據(jù),其中每個加密過程以及由此的每個所采用的密鑰實(shí)現(xiàn)所述加密層之一。換句話說,首先根據(jù)第一加密方案使用第一加密密鑰將明文數(shù)據(jù)加密。然后,在每一級根據(jù)各自的加密方案分別施加另一密鑰的若干級中將該加密結(jié)果進(jìn)一步加密。
這一連續(xù)或分層加密通常必須在每個加密層將可能包括了前一層的加密開銷的全部數(shù)據(jù)量再次加密。然而,根據(jù)本發(fā)明,在該分層加密過程期間必須加密的這一數(shù)據(jù)量可以如下被顯著減少。在每一層,僅將密鑰信息加密,而不是將全部(在已經(jīng)加密的初始加密層之后)數(shù)據(jù)再次加密。
當(dāng)應(yīng)用使用對稱密鑰將數(shù)據(jù)加密這一概念,其中該對稱密鑰可能是專門為此安全數(shù)據(jù)傳送生成的一次性密鑰時,加密的數(shù)據(jù)和對稱密鑰均被傳送或者至少提供給指定的接收者。如前所述,通過使用公鑰加密方案將此對稱密鑰S不對稱加密。為此,執(zhí)行或發(fā)起數(shù)據(jù)加密的發(fā)送者或分發(fā)者首先施加對稱密鑰S,以便分別將數(shù)據(jù)加密。然后,發(fā)送者或分發(fā)者使用該數(shù)據(jù)的指定接收者的公鑰,以便將所采用的對稱密鑰S加密。為了將所接收、被加密的數(shù)據(jù)解密,接收者必須可訪問該對稱密鑰S。因此,接收者在能夠獲得對加密數(shù)據(jù)的訪問之前必須首先能夠?qū)⒋藢ΨQ密鑰解密。在能夠?qū)?shí)際的加密數(shù)據(jù)解密之前能夠?qū)ΨQ密鑰解密的這一先決條件提供了根據(jù)本發(fā)明這一方面的高效分層加密過程。
在每個加密層,只將已被加密的對稱密鑰加密,而不是將全部數(shù)據(jù)加密。性能提高主要起因于這樣的事實(shí)對于除第一加密層以外的所有加密層,只有少量密鑰信息必須被加密和相應(yīng)地被解密。根據(jù)本發(fā)明當(dāng)前優(yōu)選的實(shí)施例,為了在每一加密層將對稱密鑰加密,采用公鑰加密方案。因此,旨在能夠?qū)⒓用艿臄?shù)據(jù)解密并且因此還旨在解密用于將數(shù)據(jù)加密的對稱密鑰的指定接收者必須擁有與用于每個加密層的每次對稱密鑰加密的公鑰對應(yīng)的所有私鑰。
還應(yīng)當(dāng)注意,將包括加密的密鑰信息的加密數(shù)據(jù)加密然后將其發(fā)送給接收者的發(fā)送者可代表網(wǎng)絡(luò)中的多個不同參與方或?qū)嶓w,每個參與方或?qū)嶓w各自考慮至少一個加密層。這意味著網(wǎng)絡(luò)的一個實(shí)體或參與方將數(shù)據(jù)和/或?qū)ΨQ密鑰信息加密,并將其發(fā)送給另一個,以便執(zhí)行與下一加密層相關(guān)的所有操作。同樣,上面提到的接收者可代表多個接收者,每個接收者通過執(zhí)行相應(yīng)的解密步驟而對應(yīng)于一個或多個加密層。由于只有在關(guān)于加密的對稱密鑰的最后的解密步驟之后才能將實(shí)際的加密數(shù)據(jù)解密,因此這一場景將提供該多個接收者之間的特定依賴性。因此,根據(jù)一個或多個加密層將對稱密鑰信息解密的接收者可以控制對用于預(yù)期的最后接收者的加密數(shù)據(jù)的訪問。在必須準(zhǔn)確地按照對應(yīng)加密過程的相反順序?qū)?yīng)每個加密層的單獨(dú)解密過程施加到所傳送的加密的對稱密鑰信息的情況下,可以建立參與方或?qū)嶓w的分級結(jié)構(gòu),以便控制將所傳送的加密數(shù)據(jù)解密并獲得對其的訪問的能力。
根據(jù)本發(fā)明的關(guān)于此問題的另一實(shí)施例,可以在不同加密的層施加不同的加密方案。這意味著可以在不同的加密層施加不同的不對稱加密方案,例如RSA和基于Diffie-Hellman的方案。然而,它也被認(rèn)為是支持與所描述的將對稱密鑰不對稱加密的概念的背離。具體地說,在某些加密層,已被對稱加密的數(shù)據(jù)也可被發(fā)送者再次部分或完全加密,并在接收者一側(cè)被對應(yīng)地解密。為此,考慮了不同的方法。除了將對稱密鑰信息不對稱加密以外,還可以使用相同的公鑰來將對稱加密的數(shù)據(jù)重新不對稱加密。此外,可以僅將加密的數(shù)據(jù)而不是對稱密鑰信息加密。后面的情況意味著該特定加密層對接收者是否能夠?qū)ΨQ密鑰解密沒有影響。因此,更確切地說,它引入了獨(dú)立于剩余加密層的加密層。此外,一個或多個加密層可以不應(yīng)用不對稱公鑰加密方案,而是應(yīng)用使用對稱密鑰并類似于所描述的在原始明文數(shù)據(jù)上執(zhí)行的初始對稱加密層而將此密鑰加密的對稱加密方案。
根據(jù)關(guān)于此問題的本發(fā)明的當(dāng)前優(yōu)選實(shí)施例,將上述分層加密方法應(yīng)用于通過具有若干網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)對數(shù)字?jǐn)?shù)據(jù)的分發(fā)。到目前為止,已經(jīng)在數(shù)字?jǐn)?shù)據(jù)的分發(fā)者或發(fā)送者和接收者方面描述了根據(jù)本發(fā)明的通過網(wǎng)絡(luò)對數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)。然而,可以將相同的概念應(yīng)用于用作分發(fā)數(shù)字?jǐn)?shù)據(jù)的底層通信介質(zhì)的網(wǎng)絡(luò)。因此,圖9示出了具有若干網(wǎng)絡(luò)節(jié)點(diǎn)906-909的網(wǎng)絡(luò)900的示例圖。這些網(wǎng)絡(luò)節(jié)點(diǎn)典型地互相連接,并能夠在彼此之間交換數(shù)據(jù)。不同的終端和服務(wù)器901-905通過所述網(wǎng)絡(luò)900互相通信,并且自身可被視作網(wǎng)絡(luò)節(jié)點(diǎn)。根據(jù)當(dāng)前優(yōu)選實(shí)施例,網(wǎng)絡(luò)900是因特網(wǎng)。該多個網(wǎng)絡(luò)節(jié)點(diǎn)之間的連接典型地通過這些節(jié)點(diǎn)之間的各種鏈接來建立,其中,一個或多個直接鏈接或通過其它節(jié)點(diǎn)的鏈接是有可能的。參考圖9,發(fā)送者901旨在通過網(wǎng)絡(luò)900將數(shù)字?jǐn)?shù)據(jù)發(fā)送給接收者902。通過在傳送此情況下的加密數(shù)據(jù)之前至少施加使用接收者的公鑰的公鑰加密,把要傳送給用戶終端902的數(shù)字?jǐn)?shù)據(jù)加密。為此,想要將數(shù)據(jù)加密的發(fā)送者901首先獲得接收者902的公鑰。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,使用如對于此公鑰系統(tǒng)所描述的散列值列表來安全地向發(fā)送者901提供接收者902的公鑰。關(guān)于散列值列表的所有考慮都適用,因此此時不作進(jìn)一步討論。
在獲得接收者902的公鑰之后,發(fā)送者901根據(jù)上面討論的分層加密概念將數(shù)字?jǐn)?shù)據(jù)加密,其中,該分層加密概念不僅對于發(fā)送者和接收者而且對于網(wǎng)絡(luò)節(jié)點(diǎn)都適用。根據(jù)一個實(shí)施例,一個或多個網(wǎng)絡(luò)節(jié)點(diǎn)相應(yīng)地執(zhí)行對應(yīng)于如先前指定的不同加密層的一個或多個加密和解密過程。例如,網(wǎng)絡(luò)節(jié)點(diǎn)906可將發(fā)送者901發(fā)送的消息(加密的數(shù)據(jù)和對稱密鑰)進(jìn)一步加密,而在另一側(cè),網(wǎng)絡(luò)節(jié)點(diǎn)909可根據(jù)一個或多個加密層將加密的數(shù)據(jù)和/或加密的密鑰解密,然后將其傳遞給接收者902。
根據(jù)本發(fā)明的另一實(shí)施例,使用這一分層加密概念來由例如發(fā)送者901或網(wǎng)絡(luò)900的其它節(jié)點(diǎn)控制通過網(wǎng)絡(luò)的數(shù)據(jù)流。參考圖10至12,示出了高級流程圖,其展示了該過程的基本功能性。參考圖10,其圖示了發(fā)送者901執(zhí)行的示例動作,其中,假設(shè)發(fā)送者已經(jīng)擁有了與預(yù)期接收者902相關(guān)的公鑰。按照分層加密的概念,發(fā)送者通過使用對稱密鑰S將數(shù)字?jǐn)?shù)據(jù)加密。因?yàn)樵搶ΨQ密鑰S和相應(yīng)的加密方案可被視作與本發(fā)明的概念無關(guān)的一般性加密方案,所以用于獲得對稱密鑰的方法或系統(tǒng)不作更詳細(xì)的討論。一般而言,任意加密方案可用于此目的。
對于所示的示例,假設(shè)想要通過節(jié)點(diǎn)A(906)和節(jié)點(diǎn)D(909)將加密的數(shù)據(jù)發(fā)送給接收者902。為了由所指定的那些網(wǎng)絡(luò)節(jié)點(diǎn)完成的與數(shù)據(jù)分發(fā)有關(guān)的會話跟蹤和信息記錄,例如可以出于安全的目的而需要這種通過已知和預(yù)定網(wǎng)絡(luò)節(jié)點(diǎn)的路徑規(guī)定。再次注意,一般而言,連接到網(wǎng)絡(luò)900的任意終端或服務(wù)器本身可被視作網(wǎng)絡(luò)節(jié)點(diǎn),從而可能需要在將所傳送的數(shù)據(jù)發(fā)送到最終的接收者902之前將其發(fā)送到特定的授權(quán)或確認(rèn)服務(wù)器。如圖10中的步驟111所示,發(fā)送者首先通過加密密鑰S將數(shù)字?jǐn)?shù)據(jù)加密。然后,如步驟112所示,使用對應(yīng)于接收者902的公鑰將該對稱密鑰S自身加密。然后,作為連續(xù)的加密步驟113和114,首先在相應(yīng)的加密過程中應(yīng)用網(wǎng)絡(luò)節(jié)點(diǎn)D的公鑰PKd和網(wǎng)絡(luò)節(jié)點(diǎn)A的公鑰PKa,將所得到的加密的對稱密鑰S再次加密。然后,將該加密的加密密鑰S和加密的數(shù)據(jù)一起發(fā)送到網(wǎng)絡(luò),具體地說,發(fā)送到網(wǎng)絡(luò)節(jié)點(diǎn)A(步驟115)。
發(fā)送者首先使用網(wǎng)絡(luò)節(jié)點(diǎn)D的公鑰然后使用網(wǎng)絡(luò)節(jié)點(diǎn)A的公鑰的這一分層加密確保了將加密的消息通過節(jié)點(diǎn)A和節(jié)點(diǎn)D發(fā)送給接收者902,這一點(diǎn)通過隨后對圖11和12的描述將會變得清楚。
參考圖10和11,如圖10所示的所示流程圖相應(yīng)地如圖11所示繼續(xù)。
網(wǎng)絡(luò)節(jié)點(diǎn)A接收由發(fā)送者901發(fā)送的消息,其中該消息包括加密的數(shù)據(jù)數(shù)據(jù)和不對稱加密的密鑰S?,F(xiàn)在,如步驟121所示,網(wǎng)絡(luò)節(jié)點(diǎn)A使用其私鑰SKa將加密的密鑰S解密。因?yàn)橹挥芯W(wǎng)絡(luò)節(jié)點(diǎn)A擁有對應(yīng)于發(fā)送者在步驟114使用的公鑰的私鑰,因此只有節(jié)點(diǎn)A可以執(zhí)行此解密步驟121。顯然,該解密步驟121與由發(fā)送者901執(zhí)行的加密步驟113相反。為了最終獲得將加密的數(shù)據(jù)解密所需的加密密鑰S,必須通過對應(yīng)的解密步驟將所有加密步驟反轉(zhuǎn)。因此,當(dāng)接收到由發(fā)送者901發(fā)送的消息時,如果節(jié)點(diǎn)A確實(shí)已經(jīng)相應(yīng)地將加密的密鑰S解密,則接收者902可以僅將加密密鑰S解密。這確保了只有數(shù)據(jù)經(jīng)過了網(wǎng)絡(luò)節(jié)點(diǎn)A才能將該數(shù)據(jù)解密。還應(yīng)當(dāng)注意,當(dāng)執(zhí)行加密步驟114時,發(fā)送者901一定已經(jīng)應(yīng)用了與網(wǎng)絡(luò)節(jié)點(diǎn)A相關(guān)的真實(shí)公鑰PKa對于系統(tǒng)安全來說是必需的。公鑰Pka和網(wǎng)絡(luò)節(jié)點(diǎn)A的這一需要認(rèn)證的對應(yīng)性優(yōu)選地通過利用所述散列值列表來分發(fā)公鑰以及有可能通過數(shù)字證書來實(shí)現(xiàn)。相同的過程適用于在此分發(fā)過程期間采用的所有公鑰。
參考圖9和11,假設(shè)節(jié)點(diǎn)A根據(jù)發(fā)送者901的指定將消息傳送到節(jié)點(diǎn)D。這一路徑指定可包括在消息中,并被每個網(wǎng)絡(luò)節(jié)點(diǎn)分析。然而,根據(jù)此示例圖通過網(wǎng)絡(luò)節(jié)點(diǎn)B將消息發(fā)送給節(jié)點(diǎn)D。如圖11的流程圖所示,網(wǎng)絡(luò)節(jié)點(diǎn)A因此指定并確保通過節(jié)點(diǎn)B發(fā)送該消息。因此,應(yīng)用網(wǎng)絡(luò)節(jié)點(diǎn)B的公鑰將解密步驟121的結(jié)果,即關(guān)于公鑰PKd被加密的密鑰S加密。如對于網(wǎng)絡(luò)節(jié)點(diǎn)A所討論的那樣,這確保了必須通過節(jié)點(diǎn)B發(fā)送該消息,以便能夠最終獲得加密密鑰S的明文。然后,網(wǎng)絡(luò)節(jié)點(diǎn)A將加密的數(shù)據(jù)與加密的密鑰S一起發(fā)送到網(wǎng)絡(luò)節(jié)點(diǎn)B。
現(xiàn)在,網(wǎng)絡(luò)節(jié)點(diǎn)B可以將接收到的消息發(fā)送給除了預(yù)期節(jié)點(diǎn)D之外的其它網(wǎng)絡(luò)節(jié)點(diǎn)(未示出)。所需步驟將與圖11的步驟120至123類似。然而,應(yīng)當(dāng)提到的是,步驟122是可選步驟,并且節(jié)點(diǎn)A可以在不專門針對網(wǎng)絡(luò)節(jié)點(diǎn)B將密鑰S加密的情況下將消息發(fā)送給節(jié)點(diǎn)B。
如圖11所示的示例流程圖如圖12所示繼續(xù),其中網(wǎng)絡(luò)節(jié)點(diǎn)B在步驟130接收該消息。下面的步驟131對應(yīng)于步驟121,但是其關(guān)于節(jié)點(diǎn)B及其私鑰。網(wǎng)絡(luò)節(jié)點(diǎn)B最終將所得到的消息發(fā)送給執(zhí)行關(guān)于加密的密鑰S及其私鑰的解密過程(步驟134)的節(jié)點(diǎn)D。最后,如步驟135所示,該消息被發(fā)送給接收者902。在接收到兩個消息部分之后(步驟136),在步驟137,接收者現(xiàn)在能夠應(yīng)用其私鑰PKR將密鑰S解密。通過對作為明文的密鑰S的這一訪問,接收者然后可以將所接收的數(shù)據(jù)解密,如步驟138所示。
所述分發(fā)過程僅考慮了向本領(lǐng)域技術(shù)人員提供對本發(fā)明的理解所需的必要步驟。一般而言,所述過程可包括更多步驟,其考慮在本技術(shù)領(lǐng)域內(nèi)公知的與通過這種網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)有關(guān)、以及在應(yīng)用公鑰加密方案時的其它常見操作。在這個意義上,顯式提到的是可選的確定步驟,網(wǎng)絡(luò)節(jié)點(diǎn)在該步驟中確定它是否必須將所接收的消息的密鑰信息部分和/或數(shù)據(jù)信息部分解密。另外的步驟可確定為該消息指定要發(fā)送到哪些另外的節(jié)點(diǎn)(包括接收者)、以及對于該消息要經(jīng)過的任意另外的節(jié)點(diǎn),是否必須將密鑰信息或消息進(jìn)一步加密??赡艿牧硗獠襟E包括將信息添加或關(guān)聯(lián)到該消息或指定上述路由選擇和加密指定的其部分。
根據(jù)本發(fā)明的另一實(shí)施例,先前描述的關(guān)于分層加密方面的考慮也應(yīng)用公鑰簽名方案。與所述加密方案相比,基于公鑰的數(shù)字簽名方案僅將所有對應(yīng)加密和解密過程的角色進(jìn)行交換。由此,先前的加密過程對應(yīng)于由接收者執(zhí)行的驗(yàn)證步驟,而由數(shù)字?jǐn)?shù)據(jù)的簽名者或發(fā)送者執(zhí)行的相應(yīng)解密步驟包括解密步驟的操作。對應(yīng)地,數(shù)據(jù)的發(fā)送者或簽名者使用其自己的私鑰,并且,接收者或簽名驗(yàn)證者必須獲得簽名者的公鑰。此外,所使用的大多數(shù)簽名方案需要所計(jì)算和所預(yù)期的結(jié)果的比較步驟,作為簽名驗(yàn)證過程的一部分。由于相同的底層公鑰系統(tǒng),可以將分層加密和所指定和控制的通過預(yù)定網(wǎng)絡(luò)節(jié)點(diǎn)的分發(fā)應(yīng)用于數(shù)字簽名。通常,當(dāng)給數(shù)字?jǐn)?shù)據(jù)簽名時,在該數(shù)據(jù)上施加散列函數(shù),并在所計(jì)算的散列值上執(zhí)行涉及簽名者的私鑰的簽名操作。根據(jù)分層簽名方案,這將轉(zhuǎn)換為利用不同的私鑰在不同的簽名層上連續(xù)地給數(shù)字?jǐn)?shù)據(jù)簽名,從而由接收者在對應(yīng)的驗(yàn)證過程中驗(yàn)證它。
通常,由于數(shù)據(jù)和前一層產(chǎn)生的簽名一起形成要簽名的消息,因此將通過對二者執(zhí)行散列操作(hash)來生成一個特定層的簽名。與分層加密類似,沒有必要在每一層對此完整消息執(zhí)行散列操作。只有先前計(jì)算的散列值必須相應(yīng)地利用這一層的相關(guān)私鑰來重新簽名,根據(jù)所采用的數(shù)字簽名方案,這可能進(jìn)一步涉及一些常見的數(shù)據(jù)格式化或散列化。這將形成每一層的數(shù)字簽名,其中,除了它們是在(正在討論的同一數(shù)字?jǐn)?shù)據(jù)的)同一散列值上執(zhí)行的以外,它們互相獨(dú)立。因此,可替換地,可以在每一層給相應(yīng)前一層的實(shí)際簽名(簽名的散列值)而不是散列值簽名。因?yàn)樗袑?除了第一層之外)的簽名都是在散列數(shù)據(jù)和前一層的簽名上簽發(fā)的,所以這一替換方案具有這樣的優(yōu)點(diǎn)可以更容易地確定和控制哪個簽名被首先簽發(fā)從而必須被最后驗(yàn)證,即,哪個簽名對應(yīng)于哪個簽名層。這樣,盡管不是在所有情況下都需要,但它也是有可能的,而不是對前一層的簽名進(jìn)行簽名,以便對先前的簽名執(zhí)行散列操作并對該新散列值進(jìn)行簽名,現(xiàn)在其不僅考慮了數(shù)字?jǐn)?shù)據(jù),而且考慮了先前的簽名,從而導(dǎo)致與上面相同的結(jié)論??梢詫⑦@些分層簽名與關(guān)于所分發(fā)的數(shù)字?jǐn)?shù)據(jù)的分層加密過程的那些實(shí)施例組合。
可以將此分層簽名方法按照與對分層加密過程所描述的相同的方式應(yīng)用于不同的網(wǎng)絡(luò)節(jié)點(diǎn)。同樣可以是如圖9所示的發(fā)送者和/或接收者的每個節(jié)點(diǎn)簽發(fā)簽名并且/或者必須驗(yàn)證簽名,其中,該每個節(jié)點(diǎn)傳送或接收包括(可能加密的)數(shù)據(jù)以及其上的一個或多個簽名的消息。可以指定用于通過網(wǎng)絡(luò)的預(yù)定路徑的類似方案。接收者可以通過確定所指定的所有節(jié)點(diǎn)是否相應(yīng)地利用合法的簽名而給所接收的消息簽了名,確定該消息是否確實(shí)經(jīng)過了那些節(jié)點(diǎn)。此外,與所傳送的數(shù)據(jù)的預(yù)期接收者不同的網(wǎng)絡(luò)節(jié)點(diǎn)也可能必須在將消息傳送到另一節(jié)點(diǎn)或接收者之前驗(yàn)證先前由該消息經(jīng)過或發(fā)源的其它節(jié)點(diǎn)所簽發(fā)的一個或多個簽名的合法性。
本發(fā)明的另一方面涉及服務(wù)器客戶端環(huán)境中的安全數(shù)據(jù)分發(fā),其中,服務(wù)器必須處理大量客戶端或用戶。用于通過數(shù)據(jù)加密建立的到大量客戶端的安全數(shù)據(jù)分發(fā)的當(dāng)前方法和系統(tǒng)在計(jì)算上較為龐大,并且在服務(wù)器一側(cè)需要大存儲能力。此外,客戶端必須在加密數(shù)據(jù)傳送之前在系統(tǒng)或服務(wù)器處注冊,這通常涉及公開關(guān)于客戶端的私人信息,從而在服務(wù)器一側(cè)記錄它,以便將來識別和授權(quán)該客戶端。暴露其身份的這一必然性導(dǎo)致了通常對于對稱和不對稱加密方案發(fā)生的那些加密分發(fā)系統(tǒng)的缺點(diǎn)。即使在不對稱加密方法中客戶端可以保持匿名,即利用相應(yīng)獲得的公鑰將每個數(shù)據(jù)消息不對稱地加密,對服務(wù)器的存儲和處理要求也可能相當(dāng)高。當(dāng)使用對稱加密方案時,服務(wù)器必須存儲和保持至少用于所有參與客戶端的所有對稱密鑰的列表。此外,雙方都必須同意或確定以及/或者交換這些密鑰,其需要安全且保密地公開的數(shù)據(jù)交換以及由此的不對稱或?qū)ΨQ加密。該匿名性和效率問題不僅僅是性能和用戶方便性的事情,而且由于必須將預(yù)期的安全數(shù)據(jù)分發(fā)過程所需的和在該過程期間的私人的保密客戶端信息傳送到服務(wù)器一側(cè)并存儲在其中,因此直接影響系統(tǒng)的安全性。因此,根據(jù)本發(fā)明一個實(shí)施例的安全數(shù)據(jù)分發(fā)還考慮了建立和處理所需的加密相關(guān)信息、具體地說是作為在作為所分發(fā)數(shù)據(jù)的發(fā)送者的服務(wù)器和作為其接收者的客戶端之間的共享秘密的對稱密鑰。
因此,優(yōu)選實(shí)施例包括用來建立服務(wù)器和客戶端終端之間的安全且高效的通信的方法。圖13a和13b示例性地圖示了這樣的高級流程圖,其包含被認(rèn)為是適于描述本發(fā)明的這一方面以及向本領(lǐng)域技術(shù)人員披露基本功能性的步驟。該流程分別按照所示在圖13a中開始,并在圖13b中繼續(xù)。客戶端首先通過將隨機(jī)生成的令牌T發(fā)送給網(wǎng)絡(luò)的服務(wù)器而在服務(wù)器一側(cè)注冊。可以使用服務(wù)器公鑰將該令牌不對稱加密,其中服務(wù)器公鑰應(yīng)用前述安全分發(fā)方法以及散列值列表以便分發(fā)各個公鑰。這些步驟作為圖13a中的步驟140和141示出。
服務(wù)器生成或者獲得安全且保密的隨機(jī)值R。圖13a的這一步驟142可以執(zhí)行一次,并隨后對此服務(wù)器固定,或者可隨著時間的過去而重新生成或更新。在接收到令牌T并在需要時將其解密之后,如步驟144所示,服務(wù)器對至少包括令牌T及其隨機(jī)選擇但固定的值R的消息計(jì)算散列值。所計(jì)算的散列值將被表示為S,并且充當(dāng)用于服務(wù)器和客戶端之間的安全通信的對稱密鑰信息,并實(shí)現(xiàn)二者之間的共享秘密。服務(wù)器將此共享秘密S提供給客戶端,其中,可能使用先前獲得的客戶端的公鑰而將該共享秘密S不對稱加密,如步驟145所示。服務(wù)器不必存儲這個值S或令牌S以及對應(yīng)客戶端的身份。
作為返回,如步驟146和147所示,客戶端可以把要安全且保密地發(fā)送給服務(wù)器的消息即數(shù)字?jǐn)?shù)據(jù)對稱加密。與正被討論的該消息一起,令牌T也被傳送給服務(wù)器。對于這一以及隨后的消息和數(shù)據(jù)傳送,可以應(yīng)用關(guān)于上述分發(fā)方法的全部若干可替換實(shí)施例。如果例如使用服務(wù)器的公鑰將令牌加密,則服務(wù)器相應(yīng)地將令牌T解密,如可選步驟148所示。然后,服務(wù)器能夠容易地重新計(jì)算用來將正被討論的消息對稱加密的共享秘密S。與步驟144相同,在步驟149,服務(wù)器對令牌T及其私有隨機(jī)值R執(zhí)行散列操作。在步驟150,使用所計(jì)算的這一值S,服務(wù)器將所接收的消息解密??梢允褂孟嗤闹礢和對應(yīng)的對稱加密方案來將可能期望的對客戶端的答復(fù)消息加密,如步驟151和152所示,這是因?yàn)殡p方都擁有在它們之間秘密地共享的值S??商鎿Q地,可以使用新的共享秘密S來執(zhí)行類似的過程。
因此,所概述的這一方法提供了對稱加密功能性,而不必存儲密鑰列表,并獨(dú)立于與服務(wù)器通信的所有客戶端,并且,該方法還提供了客戶端能夠匿名參與該系統(tǒng)的可能性。由于私有的隨機(jī)服務(wù)器值R唯一地提供共享秘密S的計(jì)算,因此該系統(tǒng)的安全性依賴于這個值的保密性和秘密性。在服務(wù)器可能根據(jù)該系統(tǒng)的安全規(guī)范、按照定時或使用時間表而使用新隨機(jī)值R的情況下,每個客戶端都必須在服務(wù)器一側(cè)再次注冊,即在執(zhí)行步驟140或142至145時獲得共享秘密和密鑰信息S。
根據(jù)另一實(shí)施例,服務(wù)器生成和/或提供令牌T,并將其與值S一起分發(fā)給客戶端。根據(jù)另一實(shí)施例,服務(wù)器生成令牌T的預(yù)定部分。這樣,服務(wù)器可計(jì)算并區(qū)分若干隨機(jī)R值,由此,服務(wù)器通過所生成的令牌T的這一部分確定哪個值R應(yīng)用于共享秘密S的計(jì)算。服務(wù)器可以將客戶端劃分在不同的組中,并且/或者可以根據(jù)客戶端在服務(wù)器處的注冊時間來進(jìn)行區(qū)分。按照后面的概念,服務(wù)器可以通過有選擇地替換或更新令牌T的相應(yīng)已知部分來控制哪組用戶必須向系統(tǒng)重新注冊。
根據(jù)另一實(shí)施例,隨著服務(wù)器和客戶端之間的每次通信、或者在服務(wù)器和客戶端之間的指定數(shù)目的通信之后,用新令牌T替換令牌T。為此,由客戶端發(fā)送給服務(wù)器的消息的一部分可充當(dāng)新令牌T??商鎿Q地,可以使用它來產(chǎn)生新令牌,例如應(yīng)用可能涉及對該消息的這一部分執(zhí)行散列操作的指定函數(shù)。這意味著服務(wù)器例如通過將新值S和答復(fù)消息一起發(fā)送給客戶端來將新值S提供給客戶端。具體地說,在此通信期間,服務(wù)器從客戶端接收消息。這些消息的一部分是新令牌的基礎(chǔ),根據(jù)所考慮的本實(shí)施例的若干過程,這一部分可以是加密消息的一部分、該消息的解密數(shù)據(jù)的一部分、前述部分之一或兩者的散列值或者僅其一部分、或者這些數(shù)據(jù)部分的任意組合。然后,如步驟144和149所述和所示的那樣,服務(wù)器從新令牌和隨機(jī)值R計(jì)算新密鑰信息S。然而,如對圖13a和13b所描述的那樣,使用先前的舊密鑰值S將對客戶端的答復(fù)消息或其數(shù)據(jù)加密。該加密的答復(fù)消息還包括新密鑰值S,其也被使用舊S值加密,并與答復(fù)消息一起被發(fā)送給客戶端。答復(fù)消息也有可能只包括該新密鑰S。
然后,客戶端能夠根據(jù)相應(yīng)的底層加密方案,使用舊的秘密共享值S來將答復(fù)消息解密??蛻舳艘仓婪?wù)器在計(jì)算新值S之前施加的用于獲得新令牌T的方案或算法。這可以是相互協(xié)定的數(shù)據(jù)傳送協(xié)議的一部分。因此并且因?yàn)樾铝钆苹谟稍摽蛻舳税l(fā)送的先前的消息,所以客戶端可以按照與服務(wù)器相同的方式計(jì)算新令牌T。
利用這一方法,可以將新令牌用于服務(wù)器和客戶端之間的每個通信,而無需相應(yīng)或全部客戶端的重新注冊步驟,并且不會顯著增加計(jì)算成本。此外,如果新令牌T和由此的新密鑰信息S基于從客戶端接收的消息的解密數(shù)據(jù)的至少一部分,則可確保除了客戶端和服務(wù)器以外沒有任何參與方能夠確定或追蹤哪個客戶端過去與舊令牌T相關(guān)而現(xiàn)在與新令牌T相關(guān)。
因此,對于這一實(shí)施例,由于從新令牌T和新隨機(jī)值R獲得新S值,因此可以在沒有客戶端在服務(wù)器一側(cè)重新注冊的顯式需要的情況下廢除或替換服務(wù)器一側(cè)的隨機(jī)值R。因此,正如所述,服務(wù)器不是從所接收的消息獲得新令牌的一部分,而是與其無關(guān)地生成這一部分,并將這一部分和新值S一起且同樣地發(fā)送給客戶端。因?yàn)榉?wù)器識別舊的或新的隨機(jī)值R是否已被使用從而必須在執(zhí)行步驟149時被再次應(yīng)用,所以這是重要的。然而,可替換的是,還有可能將一些其它合適的標(biāo)識符例如時間指定附加到該消息,以便確定對應(yīng)的合法值R。另一替換方案是使用服務(wù)器一側(cè)的所有可能值R的反復(fù)試驗(yàn)方法,這是因?yàn)檫@意味著必須進(jìn)行低復(fù)雜性操作。可替換地,完整的令牌T可由服務(wù)器生成,然后如上所述被提供給客戶端。
權(quán)利要求
1.一種由公鑰系統(tǒng)的服務(wù)器執(zhí)行的方法,所述公鑰系統(tǒng)還包括多個客戶端終端,所述方法包括以下步驟存儲數(shù)字編碼數(shù)據(jù)的第一指紋列表;計(jì)算所述指紋列表的至少一部分的第一指紋;以及提供所述計(jì)算的第一指紋。
2.根據(jù)權(quán)利要求1所述的方法,其中,計(jì)算所述第一指紋的所述步驟包括以下步驟獲得所述第一指紋列表的一個或多個條目,其中所述一個或多個條目將被所述第一指紋覆蓋;以及對至少所述獲得的一個或多個條目計(jì)算散列值。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述第一指紋列表還包括以下的至少一項(xiàng)與每個指紋相關(guān)的唯一標(biāo)識符;與每個指紋相關(guān)的時間指定信息,其中所述時間指定信息指定與所述指紋或所述數(shù)字?jǐn)?shù)據(jù)相關(guān)的輸入所述第一列表的時間、生成所述指紋或所述數(shù)字?jǐn)?shù)據(jù)的時間、或者將所述指紋或所述數(shù)字?jǐn)?shù)據(jù)提供給所述服務(wù)器的時間的至少一項(xiàng);或者與數(shù)字?jǐn)?shù)據(jù)的鏈接或與每個指紋的數(shù)字?jǐn)?shù)據(jù)的關(guān)聯(lián)。
4.根據(jù)權(quán)利要求2和3所述的方法,其中,獲得所述計(jì)算的第一指紋的所述步驟中的所述一個或多個條目還包括與指紋相關(guān)的唯一標(biāo)識符或時間指定信息的至少一項(xiàng)。
5.根據(jù)權(quán)利要求3或4所述的方法,其中,作為所述存儲步驟的一部分,所述唯一標(biāo)識符、所述時間指定信息、所述鏈接或所述關(guān)聯(lián)由所述服務(wù)器確定和分配。
6.根據(jù)權(quán)利要求1至5中的任一項(xiàng)所述的方法,其中,提供所述計(jì)算的第一指紋的所述步驟包括將所述第一指紋附加到被發(fā)送給所述多個用戶終端的至少一個的消息上。
7.根據(jù)權(quán)利要求1至6中的任一項(xiàng)所述的方法,其中,提供所述計(jì)算的第一指紋的所述步驟或計(jì)算所述第一指紋的所述步驟還包括由所述服務(wù)器給所述第一指紋簽名。
8.根據(jù)權(quán)利要求1至7中的任一項(xiàng)所述的方法,其中,存儲第一指紋列表的所述步驟包括以下步驟接收數(shù)字?jǐn)?shù)據(jù);確定所述數(shù)字?jǐn)?shù)據(jù)的完整性、所述數(shù)字?jǐn)?shù)據(jù)的發(fā)送者的身份和所述發(fā)送者的真實(shí)性的至少一項(xiàng);其中所述確定包括驗(yàn)證所述數(shù)字?jǐn)?shù)據(jù)的數(shù)字簽名、驗(yàn)證與所述數(shù)字?jǐn)?shù)據(jù)或發(fā)送者相關(guān)的指紋、使用用于與所述發(fā)送者通信的安全且可信任的連接、以及施加用于所述接收的數(shù)字?jǐn)?shù)據(jù)的加密方案的至少一項(xiàng);對至少所述數(shù)字?jǐn)?shù)據(jù)計(jì)算散列值;以及將所述散列值添加到所述第一指紋列表中。
9.根據(jù)權(quán)利要求1至8中的任一項(xiàng)所述的方法,其中根據(jù)定時時間表重復(fù)執(zhí)行至少計(jì)算第一指紋和提供所述計(jì)算的第一指紋的所述步驟,并且其中可使用另外的條目擴(kuò)充或延伸所述第一指紋列表。
10.根據(jù)權(quán)利要求9所述的方法,其中,提供所述計(jì)算的第一指紋的所述步驟包括在每小時、每天、每星期、每月或其它定期時間段的基礎(chǔ)上提供或更新所述第一指紋。
11.根據(jù)權(quán)利要求1至10中的任一項(xiàng)所述的方法,其中,提供所述計(jì)算的第一指紋的所述步驟還包括關(guān)聯(lián)和提供時間指定信息、合法性周期信息、或?yàn)榇_定所述提供的第一指紋的合法性而提供的另一標(biāo)識符中的至少一項(xiàng)。
12.一種由公鑰系統(tǒng)的客戶端終端執(zhí)行的方法,所述公鑰系統(tǒng)包括多個客戶端終端和至少一個服務(wù)器,所述方法包括以下步驟從第一源獲得數(shù)字編碼數(shù)據(jù)的第一指紋列表;從第一源獲得所述指紋列表的第一指紋;從第二源獲得所述指紋列表的第二指紋;以及比較所述第一和所述第二指紋。
13.根據(jù)權(quán)利要求12所述的方法,還包括以下步驟計(jì)算所述獲得的第一指紋列表的指紋;比較所述計(jì)算的指紋與所述獲得的第一和第二指紋;如果所述比較步驟的至少一個產(chǎn)生不同的指紋,則確定所述接收的指紋或所述第一指紋列表的數(shù)據(jù)完整性已經(jīng)受損。
14.根據(jù)權(quán)利要求12或13所述的方法,還包括以下步驟獲得所述指紋列表的所述數(shù)字編碼數(shù)據(jù)的至少一個;計(jì)算所述獲得的數(shù)字?jǐn)?shù)據(jù)的指紋;將所述計(jì)算的指紋與所述接收的指紋列表中的所述獲得的數(shù)字?jǐn)?shù)據(jù)的指紋相比較;以及如果所述比較步驟產(chǎn)生不同的指紋,則確定所述接收的數(shù)字?jǐn)?shù)據(jù)或所述指紋列表的數(shù)據(jù)完整性已經(jīng)受損。
15.根據(jù)權(quán)利要求12至14中的任一項(xiàng)所述的方法,還包括以下至少一項(xiàng)驗(yàn)證所述接收的第一和第二指紋的數(shù)字簽名;驗(yàn)證接收到的指紋列表的數(shù)字簽名;驗(yàn)證與所述接收的第一和第二指紋或所述第一和第二源相關(guān)的指紋;以及接收用戶輸入,以執(zhí)行驗(yàn)證數(shù)字簽名和驗(yàn)證指紋的所述步驟的至少一項(xiàng)。
16.根據(jù)權(quán)利要求12至15中的任一項(xiàng)所述的方法,其中,獲得所述第一和第二指紋的所述步驟包括以下步驟與通過公共網(wǎng)絡(luò)的通信介質(zhì)發(fā)送到所述客戶端終端的消息一起接收所述第一和第二指紋,其中所述公共網(wǎng)絡(luò)連接所述客戶端終端和所述服務(wù)器;并且所述方法還包括以下步驟將所述指紋列表的指紋附加到通過公共網(wǎng)絡(luò)的所述通信介質(zhì)發(fā)送給另一客戶端終端的消息上,其中所述公共網(wǎng)絡(luò)連接所述客戶端終端。
17.根據(jù)權(quán)利要求16所述的方法,其中,獲得所述第一和第二指紋以及附加指紋的所述步驟被自動完成,而沒有所述消息的接收客戶端終端的顯式請求,而是作為并非出于交換所述第一或第二指紋的目的而建立的客戶端終端之間的定期通信的一部分。
18.根據(jù)權(quán)利要求12至19和16中的任一項(xiàng)所述的方法,其中,附加指紋的所述步驟還包括關(guān)聯(lián)和附加時間指定信息、合法性周期信息、或者為確定所述提供的指紋的合法性而提供的另一標(biāo)識符的至少一項(xiàng)。
19.根據(jù)權(quán)利要求16至18中的任一項(xiàng)所述的方法,其中,將指紋附加到消息上的所述步驟只對由所述客戶端終端驗(yàn)證為合法且真實(shí)的指紋執(zhí)行;其中所述驗(yàn)證可依賴于成功的比較步驟的數(shù)目,所述比較步驟是對所述附加的指紋和所接收的彼此不同的和/或獨(dú)立的源的對應(yīng)指紋執(zhí)行的;以及其中,所述附加指紋的步驟還包括由所述客戶端終端使用所述客戶端終端的私鑰給所述指紋簽名。
20.根據(jù)權(quán)利要求12至19中的任一項(xiàng)所述的方法,其中,獲得所述第一和第二指紋的所述步驟包括以下步驟通過關(guān)聯(lián)到或附加到所述接收的指紋和/或接收的指紋列表的信息,或者通過所述客戶端終端所知的預(yù)定定時時間表,確定所接收的指紋和/或所接收的指紋列表是否合法和代表最新公布的版本;以及如果所述接收的指紋和/或所接收的指紋列表不合法,則忽略所述接收的指紋和/或接收的指紋列表,或者向另一源請求指紋和/或指紋列表,以替換不合法的版本。
21.根據(jù)權(quán)利要求12至20中的任一項(xiàng)所述的方法,其中,所述客戶端終端還保持和更新所接收的來自不同源的第一和第二指紋的記錄,其中所述記錄可包括每個指紋的源的標(biāo)識符,以及其中所述更新可包括在確定指紋不合法或者所述指紋或所述指紋的各自的源不能被信任或被成功認(rèn)證之后,從所述記錄中去除所述指紋。
22.根據(jù)權(quán)利要求13至21中的任一項(xiàng)所述的方法,其中,在所述客戶端終端確定所述接收的指紋或所述指紋列表的數(shù)據(jù)完整性已經(jīng)受損的情況下,所述客戶端終端向所述系統(tǒng)、所述服務(wù)器、所述系統(tǒng)的證書管理機(jī)構(gòu)和所述客戶端終端的用戶的至少一個報告,其中所述報告可包括識別和報告所述受損的指紋或列表的源。
23.根據(jù)權(quán)利要求2至11中的任一項(xiàng)所述的方法,其中,獲得所述第一指紋列表的一個或多個條目的所述步驟包括獲得所述第一指紋列表的條目的特定段,以及其中,計(jì)算所述第一指紋的所述步驟還包括以下步驟將所述計(jì)算的散列值存儲在第二指紋列表中;按照與獲得所述第一列表的一個或多個條目的所述步驟相同的方式獲得所述第二指紋列表的一個或多個條目,其中所述一個或多個條目將被所述第一指紋覆蓋;以及按照與計(jì)算散列值的所述第一步驟相同的方式對至少所述獲得的所述第二指紋列表的一個或多個條目計(jì)算散列值。
24.根據(jù)權(quán)利要求23和3所述的方法,其中,通過時間間隔來定義所述特定段,其中所述第一指紋列表中所述獲得的條目的所述時間指定信息與所述時間間隔相關(guān),或被其覆蓋。
25.根據(jù)權(quán)利要求23或24所述的方法,其中,獲得所述第二指紋列表的一個或多個條目的所述步驟包括獲得所述第二指紋列表的特定段,以及其中計(jì)算所述第二指紋的所述步驟還包括以下步驟將所述計(jì)算的散列值存儲在第三指紋列表中;以及按照與獲得所述第一列表的一個或多個條目的所述步驟相同的方式獲得所述第三指紋列表的一個或多個條目,其中所述一個或多個條目將被所述第一指紋覆蓋;以及按照與計(jì)算散列值的所述第一步驟相同的方式對至少所述獲得的所述第三指紋列表的一個或多個條目計(jì)算散列值,包括將所述散列值存儲在另一指紋列表中并隨后計(jì)算覆蓋所述另一列表的條目的另一散列值的可選步驟。
26.根據(jù)權(quán)利要求23至25中的任一項(xiàng)所述的方法,其中,所述服務(wù)器將所述第二列表、所述第三列表、所述特定段、所述第一、所述第二或所述第三列表的特定條目和/或段的特定條目提供給另一客戶端終端或所述系統(tǒng)的另一方,其中,所述另一客戶端終端或另一方已經(jīng)請求了所述提供。
27.根據(jù)權(quán)利要求26所述的方法,其中,所述服務(wù)器接收指定至少以下一項(xiàng)的請求時間間隔、所述指紋列表之一的特定指紋、以及所述特定指紋的相應(yīng)數(shù)字?jǐn)?shù)據(jù)。
28.根據(jù)權(quán)利要求23至27中的任一項(xiàng)所述的方法,其中,計(jì)算和/或提供若干第二和若干第三指紋列表、以及所述指紋列表的各自的若干第二和第三指紋,其中可針對不同種類的數(shù)字?jǐn)?shù)據(jù)、根據(jù)不同時間表和時間間隔、并且/或者根據(jù)每個列表中的不同的最大條目數(shù)使用每個列表。
29.根據(jù)權(quán)利要求23至28中的任一項(xiàng)所述的方法,其中,所述第二指紋列表是所述第一指紋列表或所述第一指紋列表的特定段。
30.根據(jù)權(quán)利要求28所述的方法,其中,根據(jù)用于所述系統(tǒng)、所述服務(wù)器和所述客戶端終端的至少一個的有效載荷和性能規(guī)定,由所述服務(wù)器或所述系統(tǒng)的專用裝置適配或指定所述不同時間表、不同時間間隔或所述不同的最大條目數(shù)。
31.根據(jù)權(quán)利要求23至30中的任一項(xiàng)所述的方法,其中,所述第一指紋列表、所述第二指紋列表或所述第一指紋的至少一項(xiàng)的所述計(jì)算的指紋可被進(jìn)一步添加到所述第一列表的所述特定段、所述第一列表的另一段、另一第一列表、所述第二列表、另一第二列表、所述第三列表、另一第三列表或從所述列表的條目編制的另一指紋列表的至少一個上。
32.根據(jù)權(quán)利要求23至31中的任一項(xiàng)所述的方法,其中所述段、所述第一列表、所述第二列表、和/或所述第三列表的一個或多個條目被添加到所述第一列表的所述特定段、所述第一列表的另一段、另一第一列表、所述第二列表、另一第二列表、所述第三列表、另一第三列表或從所述列表的條目編制的另一指紋列表的至少一個上。
33.根據(jù)權(quán)利要求12至22中的任一項(xiàng)所述的方法,還包括以下步驟獲得數(shù)字?jǐn)?shù)據(jù);請求第二指紋列表,其中所述第二指紋列表包括將用于計(jì)算所述第一指紋列表中的至少一個指紋的指紋條目,以及其中所述至少一個指紋覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù);獲得所述請求的第二指紋列表;對將用于計(jì)算所述第一指紋列表中的特定指紋的所述第二列表的指紋條目計(jì)算第一散列值,其中所述指紋條目的至少一個覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù),以及其中所述特定指紋因此覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù);比較所述計(jì)算的第一散列值和所述特定指紋;如果所述比較步驟產(chǎn)生不同的指紋,則確定所述獲得的數(shù)字?jǐn)?shù)據(jù)或至少一個所述指紋列表的數(shù)據(jù)完整性已經(jīng)受損;對所述獲得的數(shù)字?jǐn)?shù)據(jù)計(jì)算第二散列值;比較所述計(jì)算的第二散列值和覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù)的所述第二指紋列表中的指紋;以及如果所述比較步驟產(chǎn)生不同的指紋,則確定所述獲得的數(shù)字?jǐn)?shù)據(jù)或至少一個所述指紋列表的數(shù)據(jù)完整性已經(jīng)受損;
34.根據(jù)權(quán)利要求33所述的方法,其中,對所述獲得的數(shù)字?jǐn)?shù)據(jù)計(jì)算第二散列值的所述步驟包括以下步驟請求第三指紋列表,其中所述第三指紋列表包括將用于計(jì)算所述第二指紋列表中的至少一個指紋的指紋條目,以及其中至少一個所述指紋條目覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù);獲得所述請求的第三指紋列表;對將用于計(jì)算所述第二指紋列表中的特定指紋的所述第三列表的指紋條目計(jì)算第三散列值,其中所述第三指紋列表中的至少一個所述指紋條目覆蓋所述獲得的數(shù)字?jǐn)?shù)據(jù);比較所述計(jì)算的第三散列值和所述第二指紋列表中的所述特定指紋;如果所述比較步驟產(chǎn)生不同的指紋,則確定所述獲得的數(shù)字?jǐn)?shù)據(jù)或至少一個所述指紋列表的數(shù)據(jù)完整性已經(jīng)受損。
35.根據(jù)權(quán)利要求33或34所述的方法,其中所述第一、所述第二或所述第三指紋列表的至少一個是另一指紋列表的段。
36.根據(jù)權(quán)利要求33至35中的任一項(xiàng)所述的方法,其中,請求指紋列表的所述步驟包括通過指定以下之一來指定所述請求的指紋列表的步驟與所述請求的列表的條目相關(guān)的時間間隔,用于所述請求的列表的至少一個條目的時間指定信息,所述請求的列表的至少一個指紋;由至少所述請求的列表的指紋覆蓋的至少一個數(shù)字?jǐn)?shù)據(jù),所述請求的列表的標(biāo)識符,以及所述請求的列表的至少一個條目的標(biāo)識符。
37.根據(jù)權(quán)利要求1至36中的任一項(xiàng)所述的方法,其中,所述數(shù)字?jǐn)?shù)據(jù)包括以下至少一項(xiàng)公鑰對的公鑰、證書、計(jì)算機(jī)程序、軟件文件、數(shù)據(jù)庫、可執(zhí)行文件、數(shù)字畫面、視頻或音頻信息以及數(shù)據(jù)文件。
38.一種系統(tǒng),包括至少一個根據(jù)權(quán)利要求1至11或權(quán)利要求23至32中的任一項(xiàng)所述的服務(wù)器、以及至少一個根據(jù)權(quán)利要求12至22或權(quán)利要求33至36中的任一項(xiàng)所述的客戶端終端。
39.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制多個客戶端終端參與并執(zhí)行根據(jù)如權(quán)利要求12至22或權(quán)利要求33至36中的任一項(xiàng)所述的方法的操作。
40.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制服務(wù)器參與并執(zhí)行根據(jù)如權(quán)利要求1至11或權(quán)利要求23至32中的任一項(xiàng)所述的方法的操作。
41.一種用于在公鑰系統(tǒng)中提供數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)的方法,該方法包括使用第一密鑰對的公鑰將數(shù)字?jǐn)?shù)據(jù)加密;通過防止使用所述第一密鑰對的對應(yīng)私鑰來防止將所述加密的數(shù)字?jǐn)?shù)據(jù)解密;以及用第二密鑰對替換所述第一密鑰對,以便將另外的數(shù)字?jǐn)?shù)據(jù)加密和解密。
42.根據(jù)權(quán)利要求41所述的方法,其中,所述防止步驟包括廢除或刪除所述私鑰。
43.根據(jù)權(quán)利要求41或42所述的方法,其中,所述加密步驟由所述系統(tǒng)的第一方執(zhí)行,對應(yīng)的解密由所述系統(tǒng)的第二方執(zhí)行,通過所述系統(tǒng)對所述防止和所述替換步驟執(zhí)行控制、發(fā)起和施行的至少一項(xiàng),其中所述方法還包括將所述加密的數(shù)字?jǐn)?shù)據(jù)通過網(wǎng)絡(luò)提供給所述第二方的步驟、以及由所述第二方存儲所述加密的數(shù)字?jǐn)?shù)據(jù)或其各自副本的步驟。
44.根據(jù)權(quán)利要求43所述的方法,其中,所述網(wǎng)絡(luò)是因特網(wǎng)。
45.根據(jù)權(quán)利要求41至44中的任一項(xiàng)所述的方法,其中,根據(jù)第一時間表自動執(zhí)行所述防止步驟,并且根據(jù)第二時間表自動執(zhí)行所述替換步驟。
46.根據(jù)權(quán)利要求43和45所述的方法,其中,所述第一和所述第二時間表互相獨(dú)立,并由所述系統(tǒng)或所述第一方指定。
47.根據(jù)權(quán)利要求45或46所述的方法,其中,所述第一和所述第二時間表的至少一個分別包括第一和第二時間間隔,其中,在所述第一和所述第二時間間隔終止之后,分別執(zhí)行所述防止步驟和所述替換步驟,以及其中,所述第一和/或所述第二時間間隔分別以以下之一開始所述加密步驟;將所述加密的數(shù)據(jù)提供給所述第二方的所述提供;所述第一或第二密鑰對的生成或分發(fā);或在其它第一或第二時間間隔分別開始之后的預(yù)定時間。
48.根據(jù)權(quán)利要求41至47中的任一項(xiàng)所述的方法,其中,由所述系統(tǒng)的專用裝置生成、分發(fā)或提供所述第一和所述第二密鑰對的至少一個。
49.根據(jù)權(quán)利要求41至48中的任一項(xiàng)所述的方法,其中,多個第一密鑰對在同時或重疊的時間段內(nèi)使用,并且/或者被多個第二密鑰對替換。
50.根據(jù)權(quán)利要求49和43所述的方法,其中,所述多個第一密鑰對的每一個分別用于不同種類的數(shù)字?jǐn)?shù)據(jù)、不同組的所述第一方和不同組的所述第二方的至少一個,其中,所述防止步驟和所述替換步驟被有選擇且獨(dú)立地施加到所述多個第一密鑰對的每一個,以便有選擇地控制對所述加密的數(shù)字?jǐn)?shù)據(jù)的訪問。
51.根據(jù)權(quán)利要求41至50中的任一項(xiàng)所述的方法,還包括通過受控刪除或廢除所述公鑰來防止使用所述第一密鑰對的公鑰的步驟。
52.根據(jù)權(quán)利要求43和51所述的方法,其中,由所述系統(tǒng)的裝置或所述第一方對防止使用所述公鑰的所述步驟進(jìn)行發(fā)起、控制和施行的至少一項(xiàng),其中,使用所述方法為所述第二用戶提供了在防止使用所述公鑰的所述步驟之后仍然使用所述私鑰通過所述解密過程訪問所述數(shù)字?jǐn)?shù)據(jù)。
53.根據(jù)權(quán)利要求41至51中的任一項(xiàng)所述的方法,其中,所述方法用于以下至少一項(xiàng)破壞對所述先前加密的數(shù)據(jù)的偽造;將在指定或預(yù)定時間范圍之后刪除的所述數(shù)字?jǐn)?shù)據(jù),其中,所述加密的數(shù)字?jǐn)?shù)據(jù)的其它可能的備份副本和/或日志信息也將被刪除。
54.一種用于在公鑰系統(tǒng)中控制數(shù)字?jǐn)?shù)據(jù)分發(fā)的方法,該方法包括通過使用第一密鑰對的公鑰將所述數(shù)字?jǐn)?shù)據(jù)加密,計(jì)算加密的數(shù)字?jǐn)?shù)據(jù);使用所述第一密鑰對的對應(yīng)私鑰將所述加密的數(shù)字?jǐn)?shù)據(jù)解密;通過防止使用所述公鑰,防止用于另外的數(shù)字?jǐn)?shù)據(jù)的所述加密步驟;以及用第二密鑰對替換所述第一密鑰對,以便將另外的數(shù)字?jǐn)?shù)據(jù)加密和解密。
55.根據(jù)權(quán)利要求54所述的方法,其中,所述加密步驟由所述系統(tǒng)的第一方執(zhí)行,對應(yīng)的解密步驟由所述系統(tǒng)的第二方執(zhí)行,所述防止和替換步驟由所述系統(tǒng)的專用裝置進(jìn)行控制、發(fā)起和施行的至少一項(xiàng),其中所述方法還包括將所述加密的數(shù)字?jǐn)?shù)據(jù)通過網(wǎng)絡(luò)提供給所述第二方的步驟。
56.根據(jù)權(quán)利要求54或55所述的方法,其中,所述防止步驟包括廢除或刪除所述公鑰。
57.根據(jù)權(quán)利要求54至56中的任一項(xiàng)所述的方法,還包括通過所述系統(tǒng)受控刪除或廢除所述第一密鑰對的所述私鑰的步驟。
58.一種用于在公鑰系統(tǒng)中控制數(shù)字?jǐn)?shù)據(jù)分發(fā)的方法,該方法包括根據(jù)第一數(shù)字簽名方案使用第一密鑰對的私鑰來計(jì)算所述數(shù)字?jǐn)?shù)據(jù)上的數(shù)字簽名;根據(jù)所述第一數(shù)字簽名方案使用所述第一密鑰對的對應(yīng)公鑰來驗(yàn)證所述數(shù)字簽名;通過防止使用所述私鑰來防止用于另外的數(shù)字?jǐn)?shù)據(jù)的所述計(jì)算步驟;以及用第二密鑰對替換所述第一密鑰對,以便計(jì)算和驗(yàn)證另外的數(shù)字?jǐn)?shù)據(jù)上的數(shù)字簽名。
59.根據(jù)權(quán)利要求58所述的方法,其中,所述計(jì)算步驟由所述系統(tǒng)的第一方執(zhí)行,對應(yīng)的驗(yàn)證步驟由所述系統(tǒng)的第二方執(zhí)行,所述防止和替換步驟由所述系統(tǒng)的專用裝置進(jìn)行控制、發(fā)起和施行的至少一項(xiàng),其中所述方法還包括將所述數(shù)字簽名和所述數(shù)字?jǐn)?shù)據(jù)通過網(wǎng)絡(luò)提供給所述第二方的步驟。
60.根據(jù)權(quán)利要求58或59所述的方法,其中,如果驗(yàn)證所述數(shù)字簽名的所述步驟失敗,則所述第二方拒絕所述提供的數(shù)字?jǐn)?shù)據(jù),或者其中,如果所述驗(yàn)證步驟成功,則所述第二方只能夠或被允許使用和訪問所述提供的數(shù)字?jǐn)?shù)據(jù)。
61.根據(jù)權(quán)利要求58至60中的任一項(xiàng)所述的方法,其中,所述方法還包括結(jié)合所述計(jì)算步驟將所述數(shù)字?jǐn)?shù)據(jù)加密的步驟、以及在成功的驗(yàn)證步驟之后將所述數(shù)字?jǐn)?shù)據(jù)解密的步驟。
62.根據(jù)權(quán)利要求58至61中的任一項(xiàng)所述的方法,其中,所述防止步驟包括廢除或刪除所述私鑰。
63.根據(jù)權(quán)利要求55、56或權(quán)利要求59至62中的任一項(xiàng)所述的方法,其中,所述網(wǎng)絡(luò)是因特網(wǎng)。
64.根據(jù)權(quán)利要求54至63中的任一項(xiàng)所述的方法,其中,根據(jù)第一時間表自動執(zhí)行所述防止步驟,并且根據(jù)第二時間表自動執(zhí)行所述替換步驟。
65.根據(jù)權(quán)利要求64和55或根據(jù)權(quán)利要求64和59所述的方法,其中,所述第一和所述第二時間表彼此獨(dú)立,并由所述系統(tǒng)或所述第一方指定。
66.根據(jù)權(quán)利要求64或65所述的方法,其中,所述第一和所述第二時間表的至少一個分別包括第一和第二時間間隔,其中,在所述第一和所述第二時間間隔終止之后分別執(zhí)行所述防止步驟和所述替換步驟,以及其中,所述第一和所述第二時間間隔分別以以下之一開始所述計(jì)算步驟;提供給所述第二方的所述步驟;所述第一或第二密鑰對的生成或分發(fā);或在其它第一或第二時間間隔分別開始之后的預(yù)定時間。
67.根據(jù)權(quán)利要求54至66中的任一項(xiàng)所述的方法,其中,由所述系統(tǒng)生成、分發(fā)或提供所述第一和所述第二密鑰對的至少一個。
68.根據(jù)權(quán)利要求54至67中的任一項(xiàng)所述的方法,其中,在同時或重疊的時間段內(nèi)使用多個第一密鑰對。
69.根據(jù)權(quán)利要求68和55或根據(jù)權(quán)利要求68和59所述的方法,其中,所述多個第一密鑰對的每一個分別用于不同種類的數(shù)字?jǐn)?shù)據(jù)、不同組的所述第一方和不同組的所述第二方的至少一個,其中,所述防止步驟和所述替換步驟被有選擇且獨(dú)立地施加到所述多個第一密鑰對的每一個,以便有選擇地控制所述數(shù)字?jǐn)?shù)據(jù)的安全分發(fā)。
70.根據(jù)權(quán)利要求54至69中的任一項(xiàng)所述的方法,其中,使用所述方法來控制沒有其它數(shù)據(jù)可被添加到數(shù)字?jǐn)?shù)據(jù)池中,其中仍然可以分發(fā)、使用或訪問與所述池相關(guān)的先前數(shù)字?jǐn)?shù)據(jù),其中通過不同的密鑰對來建立不同的數(shù)字?jǐn)?shù)據(jù)池。
71.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制公鑰系統(tǒng)的多個客戶端終端參與和執(zhí)行根據(jù)如權(quán)利要求54至70中的任一項(xiàng)所述的方法的操作。
72.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制公鑰系統(tǒng)的服務(wù)器參與和執(zhí)行根據(jù)如權(quán)利要求54至70中的任一項(xiàng)所述的方法的操作。
73.一種用于在數(shù)據(jù)分發(fā)系統(tǒng)中提供數(shù)字?jǐn)?shù)據(jù)的分層非對稱加密的方法,所述方法包括以下步驟在第一加密層中使用第一密鑰將所述數(shù)字?jǐn)?shù)據(jù)加密;在所述第一加密層中使用第二密鑰將所述第一密鑰加密;在第二加密層中使用第三密鑰將所述加密的第一密鑰加密;提供所述加密的數(shù)據(jù)和所述加密的第一密鑰;根據(jù)所述第二加密層,將所述加密的第一密鑰解密;以及根據(jù)所述第一加密層,將所述加密的第一密鑰解密;以及根據(jù)所述第一加密層,將所述加密的數(shù)字?jǐn)?shù)據(jù)解密。
74.根據(jù)權(quán)利要求73所述的方法,其中,所述數(shù)字?jǐn)?shù)據(jù)的所述加密步驟由所述系統(tǒng)的第一方執(zhí)行,其中所述第一密鑰是對稱密鑰,所述第一加密層中對所述第一密鑰的所述加密步驟由所述第一方執(zhí)行,其中所述第二密鑰是第一公鑰對的公鑰,所述第二加密層中對所述加密的第一密鑰的所述加密步驟由所述第一方或所述系統(tǒng)的第二方執(zhí)行,其中所述第三密鑰是第二公鑰對的公鑰,所述提供步驟將所述加密的數(shù)據(jù)和所述加密的第一密鑰通過網(wǎng)絡(luò)提供給所述系統(tǒng)的第三方,根據(jù)所述第二加密層對所述加密的第一密鑰的所述解密步驟由所述第三方使用所述第二公鑰對的私鑰來執(zhí)行,根據(jù)所述第一加密層對所述加密的第一密鑰的所述解密步驟由所述系統(tǒng)的所述第三方或第四方使用所述第一公鑰對的私鑰來執(zhí)行,對所述加密的數(shù)字?jǐn)?shù)據(jù)的所述解密步驟由所述第三或第四方使用所述解密的第一密鑰來執(zhí)行。
75.根據(jù)權(quán)利要求73或74所述的方法,還包括在所述第二加密層中的所述加密之后,在第三加密層中使用第四密鑰將所述加密的第一密鑰加密的步驟,以及在根據(jù)所述第二加密層的所述解密步驟之前,根據(jù)所述第三加密層將所述加密的第一密鑰解密的步驟。
76.根據(jù)權(quán)利要求75所述的方法,其中,使用所述第四密鑰將所述第一密鑰加密的所述步驟由所述第一方、所述第二方或第五方之一執(zhí)行,其中,所述第四密鑰是第三公鑰對的公鑰,并且,根據(jù)所述第三加密層解密的所述步驟由所述系統(tǒng)的所述第三方、所述第四方或第六方之一使用所述第三公鑰對的私鑰執(zhí)行。
77.根據(jù)權(quán)利要求73至76中的任一項(xiàng)所述的方法,其中,對所述第一密鑰的所述加密步驟的一個或多個還包括使用相應(yīng)加密層的加密密鑰將所述數(shù)字?jǐn)?shù)據(jù)加密。
78.根據(jù)權(quán)利要求74至77中的任一項(xiàng)所述的方法,其中,對所述加密的第一密鑰的所述加密步驟的一個或多個包括使用另一對稱密鑰將所述第一密鑰加密,使用所述一個或多個加密步驟的加密層的相應(yīng)公鑰對的公鑰將所述另一對稱密鑰加密,以及將所述加密的另一對稱密鑰與所述加密的第一密鑰相關(guān)聯(lián),其中由任意下一加密層按照與所述第一密鑰相同的方式來處置所述加密的另一對稱密鑰,其中所述下一加密層將兩個加密的密鑰視為一個密鑰信息部分或兩個單獨(dú)的加密的密鑰;以及其中,所述加密步驟的對應(yīng)解密步驟包括使用所述相應(yīng)加密層的公鑰對的私鑰將所述加密的另一對稱密鑰解密,使用所述解密的另一對稱密鑰將所述加密的第一密鑰解密。
79.一種用于控制通過網(wǎng)絡(luò)從發(fā)送者到接收者的數(shù)字?jǐn)?shù)據(jù)分發(fā)路徑的方法,其中,所述網(wǎng)絡(luò)包括多個相連接的網(wǎng)絡(luò)節(jié)點(diǎn),所述方法包括以下步驟a)在第一加密層中使用第一密鑰將所述數(shù)字?jǐn)?shù)據(jù)加密;b)在所述第一加密層中使用第二密鑰將所述第一密鑰加密,其中,所述第二密鑰是與所述數(shù)字?jǐn)?shù)據(jù)的所述接收者相關(guān)的公鑰;c)在第二加密層中使用第三密鑰將所述加密的第一密鑰加密,其中,所述第三密鑰是與第一網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的公鑰,所述數(shù)字?jǐn)?shù)據(jù)被定義為通過所述網(wǎng)絡(luò)沿著分發(fā)路徑傳遞到所述接收者;d)將所述加密的數(shù)據(jù)和所述加密的第一密鑰提供給所述第一網(wǎng)絡(luò)節(jié)點(diǎn);e)根據(jù)所述第二加密層,使用對應(yīng)于所述第一網(wǎng)絡(luò)節(jié)點(diǎn)的所述公鑰的私鑰,在所述第一網(wǎng)絡(luò)節(jié)點(diǎn)處將所述加密的第一密鑰解密;f)將所述加密的數(shù)據(jù)和所述加密的第一密鑰提供給所述接收者;g)根據(jù)所述第一加密層,使用所述接收者的所述公鑰的對應(yīng)私鑰將所述加密的第一密鑰解密;以及h)根據(jù)所述第一加密層,使用所述解密的第一密鑰將所述加密的數(shù)字?jǐn)?shù)據(jù)解密。
80.根據(jù)權(quán)利要求79所述的方法,其中,所述加密步驟c)由所述發(fā)送者或包括所述加密的數(shù)據(jù)和所述加密的第一密鑰的消息先前經(jīng)過的第三網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行。
81.根據(jù)權(quán)利要求79或80所述的方法,還包括以下步驟在第三加密層中使用第四密鑰將所述加密的第一密鑰加密,其中所述第四密鑰是與第二網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的公鑰,所述數(shù)字?jǐn)?shù)據(jù)被定義為通過所述網(wǎng)絡(luò)沿著分發(fā)路徑傳遞到所述接收者;將所述加密的數(shù)據(jù)和所述加密的第一密鑰提供給所述第二網(wǎng)絡(luò)節(jié)點(diǎn);以及根據(jù)所述第三加密層,使用所述第二網(wǎng)絡(luò)節(jié)點(diǎn)的所述公鑰的對應(yīng)私鑰,在所述第二網(wǎng)絡(luò)節(jié)點(diǎn)處將所述加密的第一密鑰解密。
82.根據(jù)權(quán)利要求81所述的方法,其中,所述加密步驟由所述發(fā)送者、所述第一網(wǎng)絡(luò)節(jié)點(diǎn)、或包括所述加密的數(shù)據(jù)和所述加密的第一密鑰的所述消息先前經(jīng)過的第三網(wǎng)絡(luò)節(jié)點(diǎn)之一執(zhí)行。
83.根據(jù)權(quán)利要求79至82中的任一項(xiàng)所述的方法,還包括由每個網(wǎng)絡(luò)節(jié)點(diǎn)在接收到所述加密的數(shù)字?jǐn)?shù)據(jù)和所述加密的第一密鑰之后執(zhí)行的以下步驟確定所述接收的加密的第一密鑰是否將由所述網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)特定加密層解密;如果所述網(wǎng)絡(luò)節(jié)點(diǎn)必須將所述加密的第一密鑰解密,則根據(jù)所述特定加密層,使用相應(yīng)的私鑰來將所述加密的第一密鑰解密;確定包括所述接收者的所述網(wǎng)絡(luò)的下一網(wǎng)絡(luò)節(jié)點(diǎn),所述加密的數(shù)字?jǐn)?shù)據(jù)和所述加密的第一密鑰必須被提供給所述網(wǎng)絡(luò)節(jié)點(diǎn);確定是否必須使用與所述下一網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的公鑰和/或另一網(wǎng)絡(luò)節(jié)點(diǎn)的公鑰在至少一個另外的加密層中將所述加密的第一密鑰加密;如果所述加密的第一密鑰必須被加密,則獲得所述公鑰,并根據(jù)所述另一加密層,使用根據(jù)所述另一加密層的所述公鑰來將所述加密的第一密鑰加密。
84.根據(jù)權(quán)利要求79至83中的任一項(xiàng)所述的方法,其中,傳送所述加密的數(shù)據(jù)和所述加密的第一密鑰的所述發(fā)送者和/或網(wǎng)絡(luò)節(jié)點(diǎn)指定包括所述接收者的所述網(wǎng)絡(luò)的至少一個網(wǎng)絡(luò)節(jié)點(diǎn),其中所述加密的數(shù)據(jù)和所述加密的第一密鑰在被傳送到所述接收者時必須經(jīng)過所述至少一個網(wǎng)絡(luò)節(jié)點(diǎn)。
85.根據(jù)權(quán)利要求84所述的方法,其中,所述指定至少包括根據(jù)加密層、使用所述指定的網(wǎng)絡(luò)節(jié)點(diǎn)的公鑰來將所述加密的第一密鑰加密。
86.一種計(jì)算機(jī)可讀存儲介質(zhì),具有用于控制網(wǎng)絡(luò)的多個網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序使網(wǎng)絡(luò)節(jié)點(diǎn)在接收到包括加密的數(shù)字?jǐn)?shù)據(jù)部分和加密的第一密鑰部分的消息之后執(zhí)行權(quán)利要求83的步驟。
87.根據(jù)權(quán)利要求86的計(jì)算機(jī)程序,還使所述網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行指定包括所述接收者的所述網(wǎng)絡(luò)的至少一個網(wǎng)絡(luò)節(jié)點(diǎn)的步驟,所述加密的數(shù)據(jù)和所述加密的第一密鑰在被傳送給所述接收者時必須經(jīng)過所述至少一個網(wǎng)絡(luò)節(jié)點(diǎn),其中,所述指定步驟至少包括根據(jù)加密層、使用所述指定的網(wǎng)絡(luò)節(jié)點(diǎn)的公鑰將所述加密的第一密鑰加密。
88.根據(jù)權(quán)利要求86所述的計(jì)算機(jī)程序,還控制所述網(wǎng)絡(luò)節(jié)點(diǎn)參與并執(zhí)行根據(jù)如權(quán)利要求74至85中的任一項(xiàng)所述的方法的操作。
89.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制公鑰系統(tǒng)的多個客戶端終端參與和執(zhí)行根據(jù)如權(quán)利要求73至85中的任一項(xiàng)所述的方法的操作。
90.一種用于在公鑰系統(tǒng)中使用數(shù)字?jǐn)?shù)據(jù)上的簽名控制所述數(shù)字?jǐn)?shù)據(jù)的分發(fā)的方法,所述方法包括以下步驟由發(fā)送者計(jì)算所述數(shù)字?jǐn)?shù)據(jù)的散列值;通過根據(jù)第一數(shù)字簽名方案、使用第一公鑰對的第一私鑰將所述散列值加密,由所述發(fā)送者計(jì)算第一數(shù)字簽名;通過根據(jù)第二數(shù)字簽名方案、使用第二公鑰對的第二私鑰將所述第一數(shù)字簽名加密,計(jì)算第二數(shù)字簽名;將所述第二數(shù)字簽名和所述數(shù)字?jǐn)?shù)據(jù)提供給所述數(shù)字?jǐn)?shù)據(jù)的接收者;根據(jù)所述第二數(shù)字簽名方案、使用所述第二公鑰對的公鑰來計(jì)算所述第二數(shù)字簽名的第一驗(yàn)證值;根據(jù)所述第一數(shù)字簽名方案、使用所述第一公鑰對的公鑰來計(jì)算所述第一驗(yàn)證值的第二驗(yàn)證值;獲得所述數(shù)字?jǐn)?shù)據(jù)的散列值;比較所述獲得的散列值和所述第二驗(yàn)證值;以及如果所述比較步驟表示不同的值,則確定向所述接收者的數(shù)據(jù)分發(fā)過程偏離了預(yù)期的處理流程。
91.根據(jù)權(quán)利要求90所述的方法,還包括以下步驟在所述提供步驟中與所述提供的數(shù)字?jǐn)?shù)據(jù)和所述提供的第二數(shù)字簽名一起、或者在另一提供步驟中獲得所述第一數(shù)字簽名;比較所述獲得的第一數(shù)字簽名和所述計(jì)算的第一驗(yàn)證值;如果所述比較步驟表示不同的值,則確定向所述接收者的數(shù)據(jù)分發(fā)過程偏離了預(yù)期的處理流程。
92.根據(jù)權(quán)利要求90或91所述的方法,其中,所述散列值的所述獲得步驟包括以下至少一項(xiàng)按照與由所述發(fā)送者執(zhí)行的所述散列值的所述第一計(jì)算步驟相同的方式,從所述提供的數(shù)字?jǐn)?shù)據(jù)計(jì)算所述散列值,或者在所述提供步驟中與所述提供的數(shù)字?jǐn)?shù)據(jù)和所述提供的第二數(shù)字簽名一起獲得所述散列值。
93.根據(jù)權(quán)利要求90至92中的任一項(xiàng)所述的方法,其中,計(jì)算第二數(shù)字簽名的所述步驟還包括以下步驟通過根據(jù)第三數(shù)字簽名方案、使用第三公鑰對的第三私鑰將所述第一數(shù)字簽名加密來計(jì)算第三數(shù)字簽名,以便在所述第二數(shù)字簽名的所述計(jì)算之前替換所述第一數(shù)字簽名;以及其中,計(jì)算第二驗(yàn)證值的所述步驟還包括以下步驟根據(jù)所述第三數(shù)字簽名方案、使用所述第三公鑰對的公鑰來計(jì)算所述第一驗(yàn)證值的第三驗(yàn)證值,以便在所述第二驗(yàn)證值的所述計(jì)算之前替換所述第一驗(yàn)證值。
94.根據(jù)權(quán)利要求93所述的方法,還包括以下步驟在所述提供步驟中與所述提供的數(shù)字?jǐn)?shù)據(jù)和所述提供的第二數(shù)字簽一起、或者在另一提供步驟中的之一,獲得所述第三數(shù)字簽名;在計(jì)算第二驗(yàn)證值的所述步驟之前,比較所述獲得的第三數(shù)字簽名和所述計(jì)算的第一驗(yàn)證值;如果所述比較步驟表示不同的值,則確定向所述接收者的數(shù)據(jù)分發(fā)過程偏離了預(yù)期的處理流程。
95.根據(jù)權(quán)利要求90至94中的任一項(xiàng)所述的方法,其中,按照如權(quán)利要求73至78的至少一項(xiàng)所述的方式,為所述分發(fā)過程將所述數(shù)字?jǐn)?shù)據(jù)加密,其中所述數(shù)字簽名的所述計(jì)算步驟和所述驗(yàn)證值的相應(yīng)計(jì)算步驟、相應(yīng)的比較和確定步驟的每一個被關(guān)聯(lián)到所述加密層之一,并結(jié)合所述加密層之一來執(zhí)行。
96.一種用于控制通過網(wǎng)絡(luò)從發(fā)送者到接收者的數(shù)字?jǐn)?shù)據(jù)分發(fā)路徑的方法,其中,所述網(wǎng)絡(luò)包括多個相連接的網(wǎng)絡(luò)節(jié)點(diǎn),所述方法包括權(quán)利要求90至94之一的步驟,其中,所述網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個執(zhí)行計(jì)算數(shù)字簽名的所述步驟之一。
97.根據(jù)權(quán)利要求96和90所述的方法,其中,所述網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個執(zhí)行計(jì)算驗(yàn)證值、獲得散列值、比較和確定的所述步驟。
98.根據(jù)權(quán)利要求91至94中的任一項(xiàng)和權(quán)利要求96至97中的任一項(xiàng)所述的方法,其中,所述網(wǎng)絡(luò)節(jié)點(diǎn)的至少一個執(zhí)行至少一組以下步驟,其中每個步驟與所述公鑰對的一個特定公鑰對相關(guān)計(jì)算驗(yàn)證值的所述步驟;獲得數(shù)字簽名的所述步驟;比較所述獲得的數(shù)字簽名和所述計(jì)算的驗(yàn)證值的所述步驟,以及所述確定步驟。
99.根據(jù)權(quán)利要求79或80所述的方法,還包括以下步驟在第三加密層中使用第四密鑰將所述加密的第一密鑰加密,其中,所述第四密鑰是與第二網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的公鑰,所述數(shù)字?jǐn)?shù)據(jù)被定義為通過所述網(wǎng)絡(luò)沿著分發(fā)路徑傳遞到所述接收者;將所述加密的數(shù)據(jù)和所述加密的第一密鑰提供給所述第二網(wǎng)絡(luò)節(jié)點(diǎn);以及根據(jù)所述第三加密層、使用所述第二網(wǎng)絡(luò)節(jié)點(diǎn)的所述公鑰的對應(yīng)私鑰,在所述第二網(wǎng)絡(luò)節(jié)點(diǎn)處將所述加密的第一密鑰解密。
100.根據(jù)權(quán)利要求90至99中的任一項(xiàng)所述的方法,其中,每一個都與所述公鑰對之一相關(guān)的簽名方案可以彼此不同,并由所述系統(tǒng)、所述數(shù)字?jǐn)?shù)據(jù)的所述發(fā)送者、或?qū)⑺鰯?shù)字?jǐn)?shù)據(jù)提供給所述系統(tǒng)中的另一方的所述系統(tǒng)中的另一方預(yù)定或指定。
101.根據(jù)權(quán)利要求96至100中的任一項(xiàng)所述的方法,還包括由每個網(wǎng)絡(luò)節(jié)點(diǎn)在接收到所述數(shù)字?jǐn)?shù)據(jù)和所述數(shù)字簽名之后執(zhí)行的以下步驟確定所述接收的數(shù)字簽名是否必須由所述網(wǎng)絡(luò)數(shù)字簽名;如果所述網(wǎng)絡(luò)節(jié)點(diǎn)必須給所述接收的數(shù)字簽名進(jìn)行數(shù)字簽名,則通過根據(jù)另一數(shù)字簽名方案、使用另一公鑰對的另一私鑰將所述接收的數(shù)字簽名加密來計(jì)算另一數(shù)字簽名,以便在將所述數(shù)字?jǐn)?shù)據(jù)和所述計(jì)算的數(shù)字簽名提供給另一網(wǎng)絡(luò)節(jié)點(diǎn)或所述接收者之前替換所述接收的數(shù)字簽名;確定包括所述接收者的所述網(wǎng)絡(luò)的下一網(wǎng)絡(luò)節(jié)點(diǎn),所述數(shù)字?jǐn)?shù)據(jù)和所述計(jì)算的數(shù)字簽名必須被提供給所述網(wǎng)絡(luò)節(jié)點(diǎn)。
102.一種計(jì)算機(jī)可讀存儲介質(zhì),具有用于控制網(wǎng)絡(luò)的多個網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序使網(wǎng)絡(luò)節(jié)點(diǎn)在接收到包括所述數(shù)字?jǐn)?shù)據(jù)和所述數(shù)字簽名的消息之后執(zhí)行權(quán)利要求101的步驟。
103.根據(jù)權(quán)利要求102的計(jì)算機(jī)程序,還控制所述網(wǎng)絡(luò)節(jié)點(diǎn)參與和執(zhí)行根據(jù)如權(quán)利要求90至100中的任一項(xiàng)所述的方法的操作。
104.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序用于控制公鑰系統(tǒng)的多個客戶端終端參與和執(zhí)行根據(jù)如權(quán)利要求90至101中的任一項(xiàng)所述的方法的操作。
105.一種用于在客戶端-服務(wù)器系統(tǒng)中提供用于交換數(shù)字?jǐn)?shù)據(jù)的安全通信的方法,所述系統(tǒng)包括通過網(wǎng)絡(luò)連接的至少一個服務(wù)器和多個客戶端終端,所述方法包括以下步驟由所述系統(tǒng)的客戶端終端使用先前獲得的第一散列值作為對稱加密方案中的密鑰信息來將數(shù)字?jǐn)?shù)據(jù)加密;由所述客戶端終端將所述加密數(shù)字?jǐn)?shù)據(jù)和先前獲得的隨機(jī)令牌提供給所述系統(tǒng)的服務(wù)器;其中,所述第一散列值與所述隨機(jī)令牌相關(guān),并充當(dāng)所述服務(wù)器和所述客戶端終端之間的共享秘密;所述服務(wù)器計(jì)算所述提供的隨機(jī)令牌和固定隨機(jī)值的第二散列值,其中所述固定隨機(jī)值是所述服務(wù)器所擁有、并且不向所述多個客戶端終端公開的的秘密、私有的值;以及由所述服務(wù)器根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息來將所述加密的數(shù)字?jǐn)?shù)據(jù)解密。
106.根據(jù)權(quán)利要求105所述的方法,還包括以下步驟在所述加密步驟之前獲得所述隨機(jī)令牌;在所述加密步驟之前將所述隨機(jī)令牌提供給所述服務(wù)器;在所述加密步驟之前由所述服務(wù)器計(jì)算所述隨機(jī)令牌和所述固定隨機(jī)值的第一散列值;在所述加密步驟之前將所述第一散列值提供給所述客戶端終端。
107.根據(jù)權(quán)利要求106所述的方法,其中,獲得所述隨機(jī)令牌、提供所述隨機(jī)令牌、計(jì)算所述第一散列值、和提供所述第一散列值的所述步驟作為所述客戶端終端向所述服務(wù)器初始注冊的過程的一部分來執(zhí)行,以及其中,剩余的全部步驟作為所述數(shù)字?jǐn)?shù)據(jù)的安全數(shù)據(jù)交換事務(wù)的一部分來執(zhí)行。
108.根據(jù)權(quán)利要求106或107所述的方法,其中,提供所述隨機(jī)令牌的所述步驟還包括根據(jù)不對稱加密方案將所述隨機(jī)令牌加密的在先步驟;以及計(jì)算所述第一散列值的所述步驟還包括根據(jù)所述不對稱加密方案將所述隨機(jī)令牌解密的在先步驟。
109.根據(jù)權(quán)利要求106至108中的任一項(xiàng)所述的方法,其中,將所述第一散列值提供給所述客戶端終端的所述步驟還包括根據(jù)不對稱加密方案將第一散列值加密的在先步驟;以及所述客戶端終端還在接收到所述加密的第一散列值之后執(zhí)行根據(jù)所述相應(yīng)的不對稱加密方案將加密的第一散列值解密的步驟。
110.根據(jù)權(quán)利要求106至109中的任一項(xiàng)所述的方法,其中,獲得所述隨機(jī)令牌的所述步驟包括在所述客戶端終端處生成所述隨機(jī)令牌。
111.根據(jù)權(quán)利要求106至109中的任一項(xiàng)所述的方法,其中,獲得所述隨機(jī)令牌和將所述隨機(jī)令牌提供給所述服務(wù)器的所述步驟通過在所述服務(wù)器處生成所述隨機(jī)令牌的步驟來完成;以及提供所述第一散列值的所述步驟還包括將所述生成的隨機(jī)令牌提供給所述客戶端終端;其中如果結(jié)合所述提供步驟將所述第一散列值加密或解密,則按照與所述第一散列值相同的方式將所述隨機(jī)令牌加密和解密。
112.根據(jù)權(quán)利要求105至109中的任一項(xiàng)所述的方法,其中,所述服務(wù)器使用多個不同的固定隨機(jī)值,其中,可以在連續(xù)、同時或重疊的時間段內(nèi)使用所述多個不同固定隨機(jī)值的全部或部分,以及其中,所述多個不同固定隨機(jī)至的每一個可用于以下至少一項(xiàng)不同組的客戶端終端;客戶端終端向所述服務(wù)器注冊的不同時間;或用于執(zhí)行所述方法的至少一個所述步驟的不同時間段或時間點(diǎn)。
113.根據(jù)權(quán)利要求106至109和權(quán)利要求112中的任一項(xiàng)所述的方法,其中,獲得所述隨機(jī)令牌以及將所述隨機(jī)令牌提供給所述服務(wù)器的所述步驟包括在所述服務(wù)器處生成所述隨機(jī)令牌的一部分的步驟;以及提供所述第一散列值的所述步驟還包括將所述生成的隨機(jī)令牌提供給所述客戶端終端;其中如果結(jié)合所述提供步驟將所述第一散列值加密和解密,則按照與所述第一散列值相同的方式將所述隨機(jī)令牌加密和解密;以及其中所述服務(wù)器還執(zhí)行以下步驟在計(jì)算所述第一散列值的所述步驟之前選擇所述多個不同固定隨機(jī)值的特定一個;將所述多個不同固定隨機(jī)值的所述特定一個與所述隨機(jī)令牌的所述生成部分相關(guān)聯(lián);在計(jì)算所述第二散列值的所述步驟之前,通過從所述提供的隨機(jī)令牌確定所述生成部分、并隨后識別其相關(guān)的特定固定隨機(jī)值,確定所述多個不同固定隨機(jī)值的所述特定一個。
114.根據(jù)權(quán)利要求106至111和權(quán)利要求112中的任一項(xiàng)所述的方法,還包括以下步驟在計(jì)算所述新的第一散列值的所述步驟之前選擇所述多個不同固定隨機(jī)值的特定一個;在計(jì)算所述第二散列值的所述步驟之前,通過連續(xù)測試所述不同固定隨機(jī)值的每一個以查看其在由所述服務(wù)器將所述加密的數(shù)字?jǐn)?shù)據(jù)解密的所述后續(xù)步驟中是否產(chǎn)生合法結(jié)果,確定所述多個不同固定隨機(jī)值的所述特定一個。
115.根據(jù)權(quán)利要求105至114中的任一項(xiàng)所述的方法,還包括以下步驟由所述服務(wù)器根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息來將對所述客戶端終端的答復(fù)消息的數(shù)字?jǐn)?shù)據(jù)加密;將所述答復(fù)消息的所述加密的數(shù)字?jǐn)?shù)據(jù)提供給所述客戶端終端;以及由所述客戶端終端根據(jù)所述對稱加密方案、使用所述第一散列值作為密鑰信息來將所述答復(fù)消息的所述加密的數(shù)字?jǐn)?shù)據(jù)解密。
116.根據(jù)權(quán)利要求106至115中的任一項(xiàng)所述的方法,其中,如果用新的固定隨機(jī)值替換了所述服務(wù)器所擁有并用于所述計(jì)算步驟的所述固定隨機(jī)值,則作為客戶端終端向所述服務(wù)器的新注冊過程執(zhí)行以下的所述步驟獲得所述隨機(jī)令牌、提供所述隨機(jī)令牌、計(jì)算所述第一散列值、和提供所述第一散列值。
117.根據(jù)權(quán)利要求116和權(quán)利要求112至114中的任一項(xiàng)所述的方法,其中,所述多個不同固定隨機(jī)值被彼此獨(dú)立地替換,以及其中所述方法提供了有選擇地要求與所述多個固定隨機(jī)值的特定一個相關(guān)的特定組的用戶再次向所述服務(wù)器注冊。
118.根據(jù)權(quán)利要求105至117中的任一項(xiàng)所述的方法,其中,所述客戶端終端對所述服務(wù)器保持匿名,以及其中,不要求所述服務(wù)器存儲關(guān)于所述客戶端終端的記錄信息以便建立所述相關(guān)令牌、所述相關(guān)散列值或所述共享秘密之一,其中所述記錄信息包含所述客戶端終端的相關(guān)令牌、在相應(yīng)對稱加密方案中用作密鑰信息的相關(guān)散列值、先前在所述服務(wù)器和所述客戶端終端之間建立的其它共享秘密、或所述客戶端終端的標(biāo)識符。
119.一種用于提供用于交換數(shù)字?jǐn)?shù)據(jù)的安全通信的系統(tǒng),所述系統(tǒng)包括通過網(wǎng)絡(luò)連接的至少一個服務(wù)器和多個客戶端終端,所述客戶端終端包括用于使用先前獲得的第一散列值作為對稱加密方案中的密鑰信息來將數(shù)字?jǐn)?shù)據(jù)加密的裝置;用于將所述加密的數(shù)字?jǐn)?shù)據(jù)和先前獲得的隨機(jī)令牌提供給所述系統(tǒng)的服務(wù)器的裝置;其中所述第一散列值與所述隨機(jī)令牌相關(guān),并充當(dāng)所述服務(wù)器和所述客戶端終端之間的共享秘密;所述至少一個服務(wù)器包括用于計(jì)算所述提供的隨機(jī)令牌和固定隨機(jī)值的第二散列值的裝置,其中所述固定隨機(jī)值是所述服務(wù)器所擁有并且不向所述多個客戶端終端公開的秘密、私有的值;以及用于根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息將所述加密的數(shù)字?jǐn)?shù)據(jù)解密的裝置。
120.根據(jù)權(quán)利要求119所述的系統(tǒng),其中,所述客戶端終端還包括用于在所述數(shù)字?jǐn)?shù)據(jù)的加密之前獲得所述隨機(jī)令牌的裝置;用于在所述數(shù)字?jǐn)?shù)據(jù)的所述加密之前將所述隨機(jī)令牌提供給所述服務(wù)器的裝置;以及其中所述至少一個服務(wù)器還包括用于在所述數(shù)字?jǐn)?shù)據(jù)的所述加密之前計(jì)算所述隨機(jī)令牌和所述固定隨機(jī)值的所述第一散列值的裝置;以及用于在所述數(shù)字?jǐn)?shù)據(jù)的所述加密之前將所述第一散列值提供給所述客戶端終端的裝置。
121.根據(jù)權(quán)利要求119或120所述的系統(tǒng),其中,用于提供所述第一散列值的所述服務(wù)器裝置還包括用于將所述部分生成的隨機(jī)令牌提供給所述客戶端終端的裝置;其中,如果結(jié)合所述提供將所述第一散列值加密和解密,則所述裝置還提供了按照與所述第一散列值相同的方式加密所述隨機(jī)令牌;以及其中所述服務(wù)器還包括用于部分生成所述隨機(jī)令牌的裝置;用于在所述第一散列值的所述計(jì)算之前選擇多個不同固定隨機(jī)值的特定一個的裝置;用于將所述多個不同固定隨機(jī)值的所述特定一個與所述部分生成的隨機(jī)令牌相關(guān)聯(lián)的裝置;用于在計(jì)算所述第二散列值的所述步驟之前,通過從所述提供的隨機(jī)令牌確定所述部分生成的隨機(jī)令牌、并隨后識別其相關(guān)的固定隨機(jī)值來確定所述多個不同固定隨機(jī)值的所述特定一個的裝置。
122.根據(jù)權(quán)利要求119至121中的任一項(xiàng)所述的系統(tǒng),其中,所述服務(wù)器還包括用于根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息將對所述客戶端終端的答復(fù)消息的數(shù)字?jǐn)?shù)據(jù)加密的裝置;以及用于將所述答復(fù)消息的所述加密的數(shù)字?jǐn)?shù)據(jù)提供給所述客戶端終端的裝置;以及其中所述客戶端終端還包括用于根據(jù)所述對稱加密方案、使用所述第一散列值作為密鑰信息將所述答復(fù)消息的所述加密的數(shù)字?jǐn)?shù)據(jù)解密的裝置。
123.根據(jù)權(quán)利要求119至122中的任一項(xiàng)所述的系統(tǒng),還包括用于實(shí)現(xiàn)如權(quán)利要求106至118中的任一項(xiàng)所述的方法的裝置。
124.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制多個客戶端終端參與并執(zhí)行根據(jù)如權(quán)利要求105至118中的任一項(xiàng)所述的方法的操作。
125.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)程序用于控制服務(wù)器參與并執(zhí)行根據(jù)如權(quán)利要求105至118中的任一項(xiàng)所述的方法的操作。
126.根據(jù)權(quán)利要求105至118中的任一項(xiàng)所述的方法,還包括用新隨機(jī)令牌替換所述隨機(jī)令牌的步驟,其中將按照與原始隨機(jī)令牌相同的方式使用所述新隨機(jī)令牌。
127.根據(jù)權(quán)利要求126所述的方法,還包括由所述服務(wù)器生成所述新隨機(jī)令牌的步驟;由服務(wù)器計(jì)算所述新隨機(jī)令牌和所述固定隨機(jī)值的新第一散列值的步驟;由所述服務(wù)器根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息將所述新第一散列值加密的步驟;將所述加密的新第一散列值隨同或結(jié)合所述服務(wù)器對所述客戶端終端的答復(fù)消息提供給所述客戶端終端的步驟;由所述客戶端終端使用所述原始第一散列值將所述加密的新第一散列值解密的步驟;由所述客戶端終端獲得所述新隨機(jī)令牌的步驟;以及用所述新隨機(jī)令牌替換所述客戶端終端處的所述原始隨機(jī)令牌、并用所述客戶端終端處的所述新第一散列值替換所述原始第一散列值的步驟;其中所述新隨機(jī)令牌和所述新第一散列值可按照相同的方式使用,并如針對相應(yīng)的原始隨機(jī)令牌和第一散列值所描述的那樣被施加到所述方法的步驟。
128.根據(jù)權(quán)利要求127所述的方法,其中,由所述服務(wù)器生成所述新隨機(jī)令牌的所述步驟包括使用由提供所述加密數(shù)字?jǐn)?shù)據(jù)和所述先前獲得的隨機(jī)令牌的所述步驟提供的消息的預(yù)定部分,生成所述新隨機(jī)令牌,其中,所述預(yù)定部分是以下的一個或多個所述解密的數(shù)字?jǐn)?shù)據(jù)的預(yù)定部分,所述加密的數(shù)字?jǐn)?shù)據(jù)的預(yù)定部分,對至少所述預(yù)定部分或所述完整的解密的數(shù)字?jǐn)?shù)據(jù)執(zhí)行的散列值,或?qū)χ辽偎鲱A(yù)定部分或所述完整的加密的數(shù)字?jǐn)?shù)據(jù)執(zhí)行的散列值。
129.根據(jù)權(quán)利要求128所述的方法,其中,由所述客戶端終端獲得所述新隨機(jī)令牌的所述步驟包括以下步驟由所述客戶端終端按照與所述服務(wù)器在生成所述新隨機(jī)令牌的所述第一步驟中執(zhí)行的相同的方式、使用同一消息的所述預(yù)定部分來生成所述新隨機(jī)令牌。
130.根據(jù)權(quán)利要求127所述的方法,其中,由所述服務(wù)器生成所述新隨機(jī)令牌的所述步驟獨(dú)立于由所述客戶端終端提供給所述服務(wù)器的任意消息或數(shù)據(jù)。
131.根據(jù)權(quán)利要求127、128或130所述的方法,其中,獲得所述新隨機(jī)令牌的所述步驟包括將所述新隨機(jī)令牌提供給所述客戶端終端的步驟,其中,在所述提供步驟之前和之后,按照與所述新第一散列值相同的方式或與所述新第一散列值一起將所述新隨機(jī)令牌加密和解密。
132.根據(jù)權(quán)利要求128或129和權(quán)利要求112所述的方法,其中,由所述服務(wù)器生成所述新隨機(jī)令牌的所述步驟還包括在所述服務(wù)器處生成與所述提供的消息無關(guān)的所述新隨機(jī)令牌的一部分,所述方法還包括以下步驟在計(jì)算所述新第一散列值的所述步驟之前,選擇所述多個不同固定隨機(jī)值的特定一個;將所述多個不同固定隨機(jī)值的所述特定一個與所述新隨機(jī)令牌的所述生成部分相關(guān)聯(lián);以及在計(jì)算所述第二散列值的所述步驟之前,通過確定所述提供的隨機(jī)令牌的所述生成部分并隨后識別其相關(guān)的特定固定隨機(jī)值,確定所述多個不同固定隨機(jī)值的所述特定一個。
133.根據(jù)權(quán)利要求128或129和權(quán)利要求112所述的方法,還包括以下步驟由所述服務(wù)器在計(jì)算所述新第一散列值的所述步驟之前選擇所述多個不同固定隨機(jī)值的特定一個;由所述服務(wù)器在計(jì)算所述第二散列值的所述步驟之前,通過連續(xù)測試所述不同固定隨機(jī)值的每一個以查看它在由所述服務(wù)器將所述加密的數(shù)字?jǐn)?shù)據(jù)解密的所述后續(xù)步驟中是否產(chǎn)生合法結(jié)果,確定所述多個不同固定隨機(jī)值的所述特定一個。
134.根據(jù)權(quán)利要求133所述的方法,其中,所述確定步驟取決于用于所述連續(xù)測試的定時時間表,其中,連續(xù)測試考慮所述多個不同固定隨機(jī)值的至少一個。
135.根據(jù)權(quán)利要求126至134中的任一項(xiàng)所述的方法,其中,對于以下的至少一項(xiàng)生成、加密、提供、解密和替換新隨機(jī)令牌對于所述客戶端終端和所述服務(wù)器之間的每個通信和數(shù)據(jù)交換事務(wù)過程;對于預(yù)定數(shù)目的所述通信和數(shù)據(jù)交換事務(wù);當(dāng)發(fā)生與所述客戶端終端相關(guān)的用戶的請求時;以及當(dāng)發(fā)生所述服務(wù)器的請求時。
136.根據(jù)權(quán)利要求119至123中的任一項(xiàng)所述的系統(tǒng),其中,所述服務(wù)器還包括用于生成新隨機(jī)令牌的裝置;用于計(jì)算所述新隨機(jī)令牌和固定隨機(jī)值的新第一散列值的裝置;以及用于根據(jù)所述對稱加密方案、使用所述第二散列值作為密鑰信息來將所述新第一散列值加密的裝置;以及其中所述系統(tǒng)還包括用于將所述加密的新第一散列值連同或結(jié)合所述服務(wù)器對所述客戶端的答復(fù)消息提供給所述客戶端終端的裝置;以及其中所述客戶端終端還包括用于使用所述原始第一散列值將所述加密的新第一散列值解密的裝置;用于獲得所述新隨機(jī)令牌的裝置;以及用于用所述新隨機(jī)令牌替換所述客戶端終端處的所述原始隨機(jī)令牌、并用所述客戶端終端處的所述新第一散列值替換所述原始第一散列值的裝置;其中,所述新隨機(jī)令牌和所述新第一散列值可以按照相同方式使用,并且如關(guān)于相應(yīng)的原始隨機(jī)令牌和第一散列值所述的那樣被施加到所述系統(tǒng)的裝置。
137.根據(jù)權(quán)利要求136所述的系統(tǒng),還包括用于實(shí)現(xiàn)如權(quán)利要求128至135中的任一項(xiàng)所述的方法的裝置。
138.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序用于控制多個客戶端終端參與和執(zhí)行根據(jù)如權(quán)利要求126至135中的任一項(xiàng)所述的方法的操作。
139.一種具有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)程序用于控制服務(wù)器參與和執(zhí)行根據(jù)如權(quán)利要求126至135中的任一項(xiàng)所述的方法的操作。
全文摘要
一種公鑰系統(tǒng)中的服務(wù)器存儲數(shù)字?jǐn)?shù)據(jù)的指紋列表。為此指紋列表計(jì)算另一指紋,并將其提供給客戶端終端。公鑰系統(tǒng)中的客戶端終端從該系統(tǒng)中的第一源獲得數(shù)字?jǐn)?shù)據(jù)的指紋列表??蛻舳私K端還從第一源以及從第二源獲得該指紋列表的指紋,以便比較所獲得的兩個指紋。
文檔編號H04L9/32GK1695343SQ03825028
公開日2005年11月9日 申請日期2003年7月18日 優(yōu)先權(quán)日2002年9月17日
發(fā)明者埃里科斯·皮特索斯 申請人:埃里科斯·皮特索斯