亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全工作組管理和通信的系統(tǒng)和方法

文檔序號:7816423閱讀:239來源:國知局
安全工作組管理和通信的系統(tǒng)和方法
【專利摘要】本發(fā)明涉及安全工作組管理和通信的系統(tǒng)和方法。提供了可集成到用于安全地存儲并傳送數(shù)據(jù)的任何合適系統(tǒng)中的安全數(shù)據(jù)解析器。該安全數(shù)據(jù)解析器可以將數(shù)據(jù)集分裂或分配成以不同方式存儲或傳送的多個部分。為了額外的安全性,可以采用原始數(shù)據(jù)、數(shù)據(jù)部分或者二者的加密。該安全數(shù)據(jù)解析器可用于通過將原始數(shù)據(jù)集分裂成可使用一個或多個通信路徑進行傳送的數(shù)據(jù)部分來保護移動中數(shù)據(jù)。通過與該安全數(shù)據(jù)解析器一起使用工作組密鑰的安全分布和管理,支持安全工作組通信。
【專利說明】安全工作組管理和通信的系統(tǒng)和方法
[0001] 本申請是國際申請日為2009年2月23日的、名稱為"安全工作組管理和通信的系 統(tǒng)和方法"的發(fā)明專利申請No. 200980110924. 4(PCT/US2009/001158)的分案申請。

【技術領域】
[0002] 本發(fā)明一般涉及用于保護工作組內(nèi)的移動中數(shù)據(jù)(即,從一個位置轉移到另一個 位置的數(shù)據(jù))的改進系統(tǒng)和方法??梢耘c在共同擁有的美國專利No. 7391865和在2003 年6月11日提交的共同擁有的美國專利申請No. 10/458928、2005年10月25日提交的美 國專利申請No. 11/258839、2006年11月20日提交的美國專利申請No. 11/602667、2007 年11月7日提交的美國專利申請No. 11/983355、2007年12月5日提交的美國專利申請 No. 11/999575、2008年9月12提交的美國專利申請No. 12/209703和2009年1月7提交 的美國專利申請No. 12/349897中描述的其它系統(tǒng)和方法結合地使用本文所述的系統(tǒng)和方 法,上述所有的美國專利和專利申請的全部內(nèi)容通過引用并入本文。

【背景技術】
[0003] 在當今社會中,個人和企業(yè)通過計算機系統(tǒng)進行越來越多的活動。這些計算機系 統(tǒng)包括專有和非專有的計算機網(wǎng)絡,常常存儲、存檔和發(fā)送所有類型的敏感信息。因此,日 益需要確保通過這些系統(tǒng)進行存儲和發(fā)送的數(shù)據(jù)不會被讀取或以其它方式受到危害。
[0004] 一種保護計算機系統(tǒng)的普通方案是提供登錄和口令功能。然而,由于大部分的服 務臺呼叫與口令問題有關,所以口令管理被證明是成本極高的。此外,由于口令通常存儲在 例如通過暴力攻擊而易被不當訪問的文件中,所以口令提供極小的安全性。
[0005] 另一種保護計算機系統(tǒng)的方案是提供密碼基礎結構。密碼術通常是指通過將數(shù)據(jù) 變換或加密成不可讀格式對數(shù)據(jù)進行保護。只有擁有加密密鑰的那些人才能將數(shù)據(jù)解密成 可用格式。密碼術可用于識別用戶,例如允許訪問特權的認證、例如建立數(shù)字證書和簽名的 授權等等。一種流行的密碼術系統(tǒng)是使用兩個密鑰的公鑰系統(tǒng),這兩個密鑰是任何人知道 的公鑰和只有它的個人或企業(yè)擁有者知道的私鑰。通常,用一個密鑰加密的數(shù)據(jù)被用另一 個密鑰進行解密,并且從任一個密鑰無法重建另一個密鑰。
[0006] 不幸的是,對于安全性來講,即使是上述的典型公鑰密碼系統(tǒng)也高度依賴于用戶。 例如,密碼系統(tǒng)例如通過用戶的瀏覽器向用戶發(fā)布私鑰。沒有經(jīng)驗的用戶然后通常將私鑰 存儲在硬盤上,其它人通過開放計算機系統(tǒng)(例如,互聯(lián)網(wǎng))可以訪問該硬盤。另一方面, 用戶可能為包含他們的私鑰的文件選擇差的名稱(例如,"密鑰")。上述和其它行為的結果 是使一個密鑰或多個密鑰易受危害。
[0007] 用于保護移動中數(shù)據(jù)的傳統(tǒng)方案也不能夠提供健壯和安全的工作組支持。例如, 工作組的成員可能希望經(jīng)由一個或多個安全通道與其它工作組成員(例如以私有和認證 方式)安全地進行通信。由于共享的工作組密鑰的管理和分布的不安全和低效,所以基于 預共享的工作組加密密鑰、公鑰廣播加密等的典型的安全工作組通信協(xié)議常常變得不穩(wěn)定 和不安全。此外,這些安全工作組通信協(xié)議通常只包括有限的工作組客戶機撤銷支持。例 如,在成員的身份或共享的工作組密鑰受到危害后或者在工作組成員離開工作組后,通常 不能夠高效地撤銷任何一個工作組成員的通信權。另外,對于傳統(tǒng)方案,在已撤銷任何一個 工作組成員的通信權(或者該工作組成員離開工作組)以后,通常無法按需要、定期地或者 自動地迅速和高效更新工作組安全機制。


【發(fā)明內(nèi)容】

[0008] 基于上述內(nèi)容,需要提供一種與移動中數(shù)據(jù)方法一起使用的更加健壯和安全的工 作組安全方案。
[0009] 在一些實施例中,提供工作組管理模塊以管理工作組加密密鑰。該模塊可以與第 三方用戶認證、用戶登錄、或者諸如微軟⑧的八^::^一Directory(AD)目錄服務的目錄訪 問服務進行集成。目錄服務可以加強用戶(以及用戶組)的安全策略,以及管理并驗證工 作組成員資格和跟蹤工作組和用戶的活動。
[0010] 工作組管理模塊可以與在以上提及的美國專利和專利申請中描述的任何安全數(shù) 據(jù)解析器進行集成,以保護屬于同一工作組的任何兩個或更多端點(例如,客戶機或服務) 之間的移動中數(shù)據(jù)。在一些實施例中,通過驗證共享的秘密來認證用戶。例如,摘要認證可 用于將用戶的ASCII 口令變換成密碼密鑰??蛻魴C裝置然后可以請求一使用基于口令的密 鑰進行加密的質(zhì)疑值。所得密文然后可以傳送至認證服務器。響應于接收到密文,認證服 務器可以(使用存儲的用戶的基于口令的密鑰的副本)對質(zhì)疑值執(zhí)行相同的加密,并且驗 證接收的密文與服務器的加密的結果匹配。如果存在匹配,則該客戶機可以被認證。否則, 認證請求會被拒絕。
[0011] 在用戶被認證以后,可以通過認證服務器的基于Kerberos的子系統(tǒng)處理對網(wǎng)絡 上的服務和通信的另外請求。每當希望與另一個工作組成員進行安全服務或安全通信時, 可以向用戶或客戶機裝置提供票證授予票證(TGT),該票證授予票證(TGT)用作要給予密 鑰分布中心(KDC)的令牌。在一些實施例中,TGT可以包括指示接收方的身份、時間戳和任 何其它證明中的一個或多個的數(shù)據(jù)塊或數(shù)據(jù)串??梢栽贙DC的主密鑰下對TGT進行加密從 而使得僅有KDC可以讀取它的內(nèi)容。
[0012] 為了與服務(例如,電子郵件或web服務器)進行安全通信,客戶機可以向KDC傳 送TGT并且請求服務票證(ST)。如果TGT有效,則KDC可以向客戶機返回兩個ST,每個包 含通信中涉及的各方的證明、時間戳以及用作雙方之間的用于加密的臨時共享密鑰的唯一 且新鮮的會話密鑰(SK)??梢允褂糜脩襞cKDC之間的共享的基于口令的密鑰對ST之一進 行加密,并且可以使用被訪問的服務與KDC之間的共享的基于口令的密鑰對另一個ST進行 加密。針對進行請求的客戶機進行加密的ST可以立即被解密并且會話密鑰被揭示。用戶 然后可以向目標服務發(fā)送第二ST和使用SK加密的消息。該服務然后可以用它的基于口令 的密鑰對ST進行解密以獲得SK,隨后對用戶發(fā)送的消息進行解密。通過這個過程,客戶機 和服務現(xiàn)在可以共享SK。
[0013] SK然后可用作用于安全數(shù)據(jù)解析器的工作組密鑰(WK)。該WK可以在本地存儲到 客戶機的密鑰庫(KeyStore)中。WK還可用于包裝在內(nèi)部創(chuàng)建的會話密鑰,包括加密會話密 鑰(ESK)和MAC會話密鑰(MK)。在利用WK進行包裝后,密文可以安全地在由安全數(shù)據(jù)解 析器產(chǎn)生的各個首標之間進行共享,其中,在每個首標內(nèi)存儲各個包裝的密鑰的一份。訪問 ESK或MK現(xiàn)在要求獲得WK和足以恢復包裝的ESK和MK密文的某最小數(shù)量的份。
[0014] 在一些實施例中,WK可用于包裝在內(nèi)部產(chǎn)生的ESK。一旦用WK進行了包裝,密文 可以用新產(chǎn)生的密鑰加密密鑰(KEK)進行再次包裝,獲得已經(jīng)被雙重包裝并且只有知道WK 和KEK二者才能夠被恢復的ESK。KEK可以安全地在由安全數(shù)據(jù)解析器產(chǎn)生的各個首標之 間進行共享,并且雙重包裝的ESK可以存儲在每個首標內(nèi)?;謴虴SK現(xiàn)在要求獲得WK以及 足以重建KEK的某最小數(shù)量的份。
[0015] 在一些實施例中,支持在線密鑰更新。每當客戶機希望更新它的密鑰(或者檢查 更新的可用性)時,客戶機可以與在線密鑰服務器進行交互。這個在線密鑰服務器然后可 以根據(jù)工作組安全策略,分布和共享密鑰材料。
[0016] 在一些實施例中,可以根據(jù)需要、按由工作組安全策略定義的某時間表定期地、或 者在某事件以后(例如,在客戶機的通信權被撤銷或者客戶機離開工作組后)自動地使在 線密鑰更新可用。密鑰更新系統(tǒng)可由工作組機構(WA)進行管理,該工作組機構(WA)可以 控制多個客戶機裝置和用戶的工作組成員資格。最初可以向系統(tǒng)中的每個客戶機或用戶提 供公共/私有密鑰對。公鑰可向WA進行登記,該WA也可以記錄或存儲公鑰?;蛘?,在一 些實施例中,可以使用對稱加密方案,其中,最初向系統(tǒng)中的每個客戶機或用戶提供秘密密 鑰,而非公共/私有密鑰對。秘密密鑰可向WA進行登記,該WA也可以記錄或存儲秘密密鑰。 WA(或者一些其它工作組密鑰服務器)可以向每個裝置提供密鑰服務器的公鑰證書,該公 鑰證書已由受信任的認證機構(CA)簽名。
[0017] 為了發(fā)起輸出連接或者接收輸入連接,每個客戶機可以聯(lián)系它的WA,在一些實施 例中,該WA可以與第三方認證或用戶登錄服務(例如,Active Directory服務器)進行對 接,以確定客戶機的工作組成員資格。客戶機然后可以使用公鑰或秘密密鑰技術向WA證實 它的身份。然后可以使用公鑰或秘密密鑰加密方案加密當前WK,從而使得接收客戶機能夠 解密所得的密文以獲得當前WK。所得的密文還可以由密鑰服務器(使用與它的認證的公鑰 對應的簽名密鑰)進行簽名并且被發(fā)送至請求客戶機。
[0018] 在一些實施例中,即使當客戶機不能夠到達密鑰服務器(即,客戶機無束縛 (untethered)或者部分無束縛)時,可以支持密鑰更新。通過加入定期更新共享的工作組 密鑰的機制,仍可以實現(xiàn)可更新性。按照一定期時間表,可由密鑰服務器啟動密鑰更新,該 密鑰服務器可與第三方認證或用戶登錄服務對接以確定組成員資格。每個密鑰更新可包含 新鮮的WK及其標識符。可以使用公鑰廣播加密方案來加密WK,從而使得僅僅當前工作組 成員能夠對所得的密文進行解密。所得的密文然后可由密鑰服務器(使用與它的認證的公 鑰對應的簽名密鑰)進行簽名并且經(jīng)由半信任通道(例如,網(wǎng)站)被傳送至未撤銷的裝置。 例如,當一客戶機準備離線時,密鑰服務器能夠向客戶機預先提供有限數(shù)目的未來時段的 密鑰更新。另外或者代替地,對于具有有限網(wǎng)絡訪問的客戶機,密鑰撤銷和更新消息可以公 示至可用性高的位置,例如,TLS保護的公共網(wǎng)站。
[0019] 為了加入工作組,在一些實施例中,客戶機首先向WA進行登記,然后向該客戶機 提供秘密密鑰。WA可以將該客戶機的身份和秘密密鑰存儲在安全位置,例如,存儲在加密的 查找表或密鑰庫中。
[0020] 為了發(fā)起連接,在一些實施例中,客戶機可以使用它的秘密密鑰連接到WA并且請 求WK。WA可以查找該客戶機并且使用存儲的密鑰解密消息。它然后可以用使用客戶機的 秘密密鑰進行加密的WK進行響應??蛻魴C現(xiàn)在可以使用WK來發(fā)起與工作組中的另一個客 戶機的連接。在一些實施例中,WA還向客戶機指示W(wǎng)K的有效性的近似持續(xù)時間。在密鑰 過期后,客戶機上有效的安全策略可以要求客戶機聯(lián)系WA以進行密鑰更新(但是如果需要 的話,客戶機也可以在密鑰過期之前檢查密鑰更新)。當接收到連接時,客戶機上有效的安 全策略可以要求新鮮且未過期的WK,如果需要的話由WA驗證WK的狀態(tài)。
[0021] 為了撤銷工作組內(nèi)的一個客戶機的通信權,WA可以拒絕對撤銷的客戶機的進一步 密鑰更新。因此,在當前WK有效的時間段內(nèi),受危害的客戶機可以僅僅對該工作組進行通 信訪問。撤銷可以僅影響新的連接或者(通過終止陳舊連接或者當連接超過某系統(tǒng)定義的 時長或者連接次數(shù)時強制重新連接)而影響新連接和現(xiàn)有連接二者。
[0022] 為了發(fā)起與另一個工作組成員的連接,在一些實施例中,發(fā)起方可以向接收方工 作組成員發(fā)送由安全數(shù)據(jù)解析器產(chǎn)生的首標。該首標可以包括工作組密鑰、工作組密鑰標 識符和工作組密鑰版本號中的一個或多個。接收方工作組成員然后可以檢查工作組密鑰標 識符以驗證該標識符是用于當前工作組的正確標識符。接收方工作組成員還可以檢查工作 組密鑰版本號以驗證該版本號與接收方工作組成員的當前工作組密鑰版本號相同(在當 前時間大于工作組密鑰刷新警報時間的情況下是可選的)。如果工作組密鑰標識符是有效 的并且工作組密鑰版本號相同(在當前時間不大于工作組密鑰刷新警報時間的情況下是 可選的),則接收方工作組成員可以報告一成功連接嘗試。

【專利附圖】

【附圖說明】
[0023] 在下文中結合附圖更加詳細描述本發(fā)明,這些附圖旨在例示而非限制本發(fā)明,在 附圖中:
[0024] 圖1示出了根據(jù)本發(fā)明的實施例的各方面的密碼系統(tǒng)的框圖;
[0025] 圖2示出了根據(jù)本發(fā)明的實施例的各方面的圖1的信任引擎的框圖;
[0026] 圖3示出了根據(jù)本發(fā)明的實施例的各方面的圖2的事務引擎的框圖;
[0027] 圖4示出了根據(jù)本發(fā)明的實施例的各方面的圖2的儲存器的框圖;
[0028] 圖5示出了根據(jù)本發(fā)明的實施例的各方面的圖2的認證引擎的框圖;
[0029] 圖6示出了根據(jù)本發(fā)明的實施例的各方面的圖2的密碼引擎的框圖;
[0030] 圖7是根據(jù)本發(fā)明的一個實施例的例示性移動中數(shù)據(jù)系統(tǒng)的框圖;
[0031] 圖8是根據(jù)本發(fā)明的一個實施例的另一個例示性移動中數(shù)據(jù)系統(tǒng)的框圖;
[0032] 圖9A和9B是根據(jù)本發(fā)明的一個實施例的可以在任何合適組合(具有任何合適添 力口、刪除或修改)中使用的針對移動中數(shù)據(jù)的首標產(chǎn)生和數(shù)據(jù)分裂的簡化和例示性處理流 程圖;
[0033] 圖10是根據(jù)本發(fā)明的一個實施例的可以在任何合適組合(具有任何合適添加、刪 除或修改)中使用的例示性份格式的簡化框圖;
[0034] 圖11是示出根據(jù)本發(fā)明的一個實施例的認證工作組中的客戶機的消息序列的簡 化協(xié)議;
[0035] 圖12是示出根據(jù)本發(fā)明的一個實施例的獲得工作組中的服務票證的消息序列的 簡化協(xié)議;
[0036] 圖13是示出根據(jù)本發(fā)明的一個實施例的使用工作組密鑰保護移動中數(shù)據(jù)的消息 序列的簡化協(xié)議;
[0037] 圖14是示出根據(jù)本發(fā)明的一個實施例的內(nèi)核與用戶空間交互的消息序列的簡化 協(xié)議;
[0038] 圖15是根據(jù)本發(fā)明的一個實施例的在一個域內(nèi)初始建立工作組機構的簡化框 圖;
[0039] 圖16是示出根據(jù)本發(fā)明的一個實施例的工作組內(nèi)的兩個客戶機的連接序列的簡 化協(xié)議;
[0040] 圖17是根據(jù)本發(fā)明的一個實施例的用于加入工作組的例示性處理流程圖;
[0041] 圖18A、18B和18C是根據(jù)本發(fā)明的一個實施例的發(fā)起兩個工作組客戶機之間的連 接的例示性處理流程圖;
[0042] 圖19是根據(jù)本發(fā)明的一個實施例的在工作組內(nèi)撤銷客戶機的通信權的例示性處 理流程圖;以及
[0043] 圖20是根據(jù)本發(fā)明的一個實施例的更新工作組密鑰的例示性處理流程圖。

【具體實施方式】
[0044] 本發(fā)明提供了一種密碼系統(tǒng),在該密碼系統(tǒng)中,一個或多個安全服務器或信任引 擎存儲密碼密鑰和用戶認證數(shù)據(jù)。用戶可通過對信任引擎的網(wǎng)絡訪問,訪問傳統(tǒng)密碼系統(tǒng) 的功能,然而,信任引擎沒有發(fā)布實際密鑰和其它認證數(shù)據(jù),因此這些密鑰和數(shù)據(jù)仍是安全 的。密鑰和認證數(shù)據(jù)的這種服務器中心存儲提供了用戶無關的安全性、移植性、可用性和直 接性。
[0045] 因為用戶能夠確信或信任密碼系統(tǒng)來執(zhí)行用戶和文檔認證以及其它密碼功能,所 以多種多樣的功能可以包括在該系統(tǒng)內(nèi)。例如,通過例如對協(xié)議參與者進行認證,代表或針 對參與者對該協(xié)議進行數(shù)字簽名,并且存儲由每個參與者數(shù)字簽名的協(xié)議的記錄,信任引 擎提供商可以確保不會出現(xiàn)協(xié)議抵賴。此外,該密碼系統(tǒng)可以監(jiān)視協(xié)議并且例如基于價格、 用戶、賣方、地理位置、使用地點等來確定應用不同程度的認證。
[0046] 為了便于完全理解本發(fā)明,【具體實施方式】的其余部分參照附圖描述本發(fā)明,其中, 相同元素始終由相同標號進行表示。
[0047] 圖1示出了根據(jù)本發(fā)明的實施例的各方面的密碼系統(tǒng)100的框圖。如圖1所示, 密碼系統(tǒng)100包括通過通信鏈路125進行通信的用戶系統(tǒng)105、信任引擎110、認證機構115 和賣方系統(tǒng)120。
[0048] 根據(jù)本發(fā)明的一個實施例,用戶系統(tǒng)105包括具有一個或多個微處理器(例如,基 于Intel的處理器)的傳統(tǒng)通用計算機。此外,用戶系統(tǒng)105包括適當?shù)牟僮飨到y(tǒng),例如能 夠包括圖形或窗口的操作系統(tǒng)(例如,Windows、Unix、Linux等)。如圖1所示,用戶系統(tǒng) 105可以包括生物測定裝置107。生物測定裝置107可以有利地獲取用戶的生物測定并且 將獲取的生物測定傳送給信任引擎110。根據(jù)本發(fā)明的一個實施例,生物測定裝置可有利地 包括具有與在以下文獻中公開的類似的屬性和特征的裝置:題目為"RELIEF OBJECT IMAGE GENERATOR"的美國專利6856383、2000年4月26日提交的題目為"IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHOD OF USING THE IMAGE DEVICE" 的美國專利申 請 No. 09/558634、題目為 "RELIEF OBJECT SENSOR ADAPTOR" 的美國專利 6631201 和 2000 年 1 月 5 日提交的題目為 "PLANAR OPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATING AN ELECTRONIC IMAGE OF A RELIEF OBJECT FOR FINGERPINT READING" 的美國專利申請 No. 09/477934,上述所有的美國專利申請由當前受讓人擁有并且通過引用并入本文。
[0049] 此外,用戶系統(tǒng)105可以通過傳統(tǒng)的服務提供商(例如,撥號、數(shù)字用戶線(DSL)、 線纜調(diào)制解調(diào)器、光纖連接等)連接到通信鏈路125。根據(jù)另一個實施例,用戶系統(tǒng)105通 過網(wǎng)絡連接性(例如,局域網(wǎng)或廣域網(wǎng))連接通信鏈路125。根據(jù)一個實施例,操作系統(tǒng)包 括TCP/IP棧,該TCP/IP棧處理在通信鏈路125上傳遞的所有的出入消息通信。
[0050] 盡管參照上述實施例公開了用戶系統(tǒng)105,但是本發(fā)明不限于此。相反,熟練技術 人員從這里的公開可以識別用戶系統(tǒng)105的大量的替代實施例,包括能夠發(fā)送或從另一個 計算機系統(tǒng)接收信息的幾乎任何計算裝置。例如,用戶系統(tǒng)105可以包括但不限于能夠與 通信鏈路125進行交互的計算機工作站、交互式電視、交互亭、個人移動計算裝置(例如,數(shù) 字助理、移動或蜂窩電話、膝上型電腦等)、無線通信裝置、智能卡、嵌入式計算裝置等。在這 些替代系統(tǒng)中,操作系統(tǒng)很可能不同并且針對特定裝置進行改動。然而,根據(jù)一個實施例, 操作系統(tǒng)有利地繼續(xù)提供與通信鏈路125建立通信所需的適當?shù)耐ㄐ艆f(xié)議。
[0051] 圖1示出了信任引擎110。根據(jù)一個實施例,信任引擎110包括用于訪問和存儲敏 感信息的一個或多個安全服務器,敏感信息可以是任何類型或形式的數(shù)據(jù),例如是但不限 于文本、音頻、視頻、用戶認證數(shù)據(jù)以及公共和私有密碼密鑰。根據(jù)一個實施例,認證數(shù)據(jù)包 括被設計為唯一識別密碼系統(tǒng)100的用戶的數(shù)據(jù)。例如,認證數(shù)據(jù)可以包括用戶識別號、一 個或多個生物測定、以及由信任引擎110或用戶產(chǎn)生但是在登記時由用戶初始回答的一系 列提問和回答。上述提問可以包括人口數(shù)據(jù)(例如,出生地、地址、周年紀念等)、個人數(shù)據(jù) (例如,母親未婚時的名字、喜歡的冰激凌等)、或被設計為唯一識別用戶的其它數(shù)據(jù)。信任 引擎110將與當前事務關聯(lián)的用戶的認證數(shù)據(jù)與先前(例如在登記時)設置的認證數(shù)據(jù)進 行比較。信任引擎110可以有利地要求用戶在每次事務時生成認證數(shù)據(jù),或者信任引擎110 可以有利地允許用戶定期地(例如,在一串事務的開始時或者在登錄到特定賣方網(wǎng)站時) 生成認證數(shù)據(jù)。
[0052] 根據(jù)用戶生成生物測定數(shù)據(jù)的實施例,用戶向生物測定裝置107提供身體特征, 例如但不限于面部掃描、手掃描、耳掃描、虹膜掃描、視網(wǎng)膜掃描、血管模式、DNA、指紋、筆跡 或語音。生物測定裝置有利地生成身體特征的電子模式或生物測定。為了登記或認證,電 子模式通過用戶系統(tǒng)105傳送至信任引擎110。
[0053] -旦用戶生成了適當?shù)恼J證數(shù)據(jù)并且信任引擎110確定該認證數(shù)據(jù)(當前認證數(shù) 據(jù))與在登記時設置的認證數(shù)據(jù)(登記認證數(shù)據(jù))之間的明確匹配,信任引擎110向用戶 提供完整的密碼功能。例如,正確認證的用戶可以有利地采用信任引擎110執(zhí)行哈希處理、 數(shù)字簽名、加密和解密(??偡Q為加密)、建立或分布數(shù)字證書等等。然而,密碼功能中使用 的私有密碼密鑰在信任引擎110之外將不可用,從而確保了密碼密鑰的完整性。
[0054] 根據(jù)一個實施例,信任引擎110產(chǎn)生并存儲密碼密鑰。根據(jù)另一個實施例,至少一 個密碼密鑰與每個用戶關聯(lián)。此外,當密碼密鑰包括公鑰技術時,在信任引擎110內(nèi)產(chǎn)生但 不從其發(fā)放與用戶關聯(lián)的每個私鑰。因此,只要用戶可以訪問信任引擎110,用戶就可以使 用他或她的私鑰或公鑰執(zhí)行密碼功能。有利的是,這種遠程訪問使用戶可以通過實際任何 互聯(lián)網(wǎng)連接(例如,蜂窩和衛(wèi)星電話、信息亭、膝上型電腦、賓館房間等)保持完全移動并訪 問密碼功能。
[0055] 根據(jù)另一個實施例,信任引擎110使用針對信任引擎110產(chǎn)生的密鑰對,執(zhí)行密碼 功能。根據(jù)這個實施例,信任引擎110首先對用戶進行認證,并且在用戶正確地生成與登記 認證數(shù)據(jù)匹配的認證數(shù)據(jù)后,信任引擎110使用它自身的密碼密鑰對,代表認證的用戶執(zhí) 行密碼功能。
[0056] 熟練技術人員將從這里的公開認識到,所有的密碼密鑰可以有利地包括對稱加密 密鑰(例如,私鑰)和非對稱加密密鑰(例如,公鑰/私鑰對)中的一個或多個。此外,熟練 技術人員將從這里的公開認識到,可以采用可從商業(yè)技術獲得的大量的算法(例如,RSA、 ELGAMAL等)來實現(xiàn)上述密鑰。當在本文中描述非對稱密碼方案時,這個方案可用對稱方案 替代,反之亦然。
[0057] 圖1還示出了認證機構115。根據(jù)一個實施例,認證機構115可有利地包括發(fā)放數(shù) 字證書的信任第三方組織或公司,例如VeriSign、Baltimore、Entrust等。信任引擎110可 有利地通過一個或多個傳統(tǒng)的數(shù)字證書協(xié)議(例如,PKCS10)向認證機構115發(fā)送對數(shù)字 證書的請求。作為響應,認證機構115將發(fā)放多個不同協(xié)議中的一個或多個(例如,PKCS7) 的數(shù)字證書。根據(jù)本發(fā)明的一個實施例,信任引擎110從幾個或所有的主要認證機構115 請求數(shù)字證書,從而使得信任引擎110可訪問與任何請求方的證書標準對應的數(shù)字證書。
[0058] 根據(jù)另一個實施例,信任引擎110在內(nèi)部執(zhí)行證書發(fā)放。在這個實施例中,當證書 被請求時(例如,在密鑰產(chǎn)生時)或者在請求時請求的證書標準中,信任引擎110可以訪問 用于產(chǎn)生證書的證書系統(tǒng)和/或可以在內(nèi)部產(chǎn)生證書。在下文中將更加詳細地公開信任引 擎 110。
[0059] 圖1還示出了賣方系統(tǒng)120。根據(jù)一個實施例,賣方系統(tǒng)120有利地包括Web服務 器。典型的Web服務器通常使用幾個互聯(lián)網(wǎng)標記語言或文檔格式標準(例如,超文本標記語 言(HTML)或可擴展標記語言(XML))之一在互聯(lián)網(wǎng)上提供內(nèi)容。Web服務器從如Netscape 和Internet Explorer的瀏覽器接受請求,然后返回適當?shù)碾娮游臋n。多個服務器或客戶 端技術能夠用于提高Web服務器的能力以超越它的傳遞標準電子文檔的能力。例如,這些 技術包括公共網(wǎng)關接口(CGI)腳本、安全套接字層(SSL)安全性和動態(tài)服務器頁面(ASP)。 賣方系統(tǒng)120可有利地提供與商業(yè)、個人、教育或其它事務有關的電子內(nèi)容。
[0060] 盡管參照上述實施例公開了賣方系統(tǒng)120,但是本發(fā)明不限于此。相反,熟練技術 人員將從這里的公開認識到,賣方系統(tǒng)120可有利地包括參照用戶系統(tǒng)105描述的裝置中 的任何一個或者它們的組合。
[0061] 圖1還示出了連接用戶系統(tǒng)105、信任引擎110、認證機構115和賣方系統(tǒng)120的 通信鏈路125。根據(jù)一個實施例,通信鏈路125優(yōu)選包括互聯(lián)網(wǎng)。本文所用的互聯(lián)網(wǎng)是計算 機的全球網(wǎng)絡。本領域普通技術人員公知的互聯(lián)網(wǎng)的結構包括網(wǎng)絡骨干和從骨干分支的網(wǎng) 絡。這些分支繼而具有從它們分支的網(wǎng)絡,如此類推。路由器在網(wǎng)絡級之間移動信息包,然 后從網(wǎng)絡到網(wǎng)絡移動信息包,直到包到達它的目的地附近。目的地網(wǎng)絡的主機將信息包從 該目的地導向適當?shù)慕K端或節(jié)點。在一個有利的實施例中,互聯(lián)網(wǎng)路由集線器包括使用現(xiàn) 有技術公知的傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)的域名系統(tǒng)(DNS)服務器。路由集線 器經(jīng)由高速通信鏈路連接到一個或多個其它路由集線器。
[0062] 互聯(lián)網(wǎng)的一個流行部分是萬維網(wǎng)。萬維網(wǎng)包含不同的計算機,這些計算機存儲能 夠顯示圖形和文本信息的文檔。在萬維網(wǎng)上提供信息的計算機通常稱作"網(wǎng)站"。網(wǎng)站由 具有關聯(lián)的電子頁面的互聯(lián)網(wǎng)地址定義。電子頁面能夠通過統(tǒng)一資源定位符(URL)進行識 另IJ。通常,電子頁面是組織文本、圖形圖像、音頻、視頻等的呈現(xiàn)的文檔。
[0063] 盡管在針對其優(yōu)選實施例公開了通信鏈路125,但是本領域普通技術人員將從這 里的公開認識到,通信鏈路125可以包括各種交互通信鏈路。例如,通信鏈路125可以包括 交互電視網(wǎng)絡、電話網(wǎng)絡、無線數(shù)據(jù)傳輸系統(tǒng)、雙向線纜系統(tǒng)、定制的私有或公共計算機網(wǎng) 絡、交互亭網(wǎng)絡、自動柜員機網(wǎng)絡、直接鏈路、衛(wèi)星或蜂窩網(wǎng)絡等。
[0064] 圖2示出了根據(jù)本發(fā)明的實施例的各方面的圖1的信任引擎110的框圖。如圖2 所示,信任引擎110包括事務引擎205、儲存器210、認證引擎215和密碼引擎220。根據(jù)本 發(fā)明的一個實施例,信任引擎110還包括海量存儲器225。進一步如圖2所示,事務引擎205 與儲存器210、認證引擎215和密碼引擎220以及海量存儲器225進行通信。此外,儲存器 210與認證引擎215、密碼引擎220和海量存儲器225進行通信。此外,認證引擎215與密 碼引擎220進行通信。根據(jù)本發(fā)明的一個實施例,上述通信中的一些或全部可有利地包括 將XML文檔發(fā)送至與接收裝置對應的IP地址。如上所述,有利的是,XML文檔使設計者可 以建立他們自己定制的文檔標記,從而實現(xiàn)應用之間以及組織之間的數(shù)據(jù)的定義、傳輸、驗 證和解釋。此外,上述通信中的一些或全部可包括傳統(tǒng)的SSL技術。
[0065] 根據(jù)一個實施例,事務引擎205包括例如可從Netscape、Microsoft、Apache等獲 得的傳統(tǒng)Web服務器的數(shù)據(jù)路由裝置。例如,Web服務器可以有利地從通信鏈路125接收輸 入數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,輸入數(shù)據(jù)被尋址至信任引擎110的前端安全系統(tǒng)。例 如,前端安全系統(tǒng)可以有利地包括防火墻、搜索已知攻擊概況的入侵檢測系統(tǒng)、和/或病毒 掃描器。在通過了前端安全系統(tǒng)后,數(shù)據(jù)由事務引擎205接收并且被路由至儲存器210、認 證引擎215、密碼引擎220和海量存儲器225之一。此外,事務引擎205監(jiān)視來自認證引擎 215和密碼引擎220的輸入數(shù)據(jù),并且通過通信鏈路125將該數(shù)據(jù)路由至特定系統(tǒng)。例如, 事務引擎205可有利地向用戶系統(tǒng)105、認證機構115或賣方系統(tǒng)120路由該數(shù)據(jù)。
[0066] 根據(jù)一個實施例,使用傳統(tǒng)的HTTP路由技術,例如采用URL或統(tǒng)一資源指示符 (URI)來路由數(shù)據(jù)。URI與URL類似,然而,URI通常指示文件或動作(例如,可執(zhí)行文件、 腳本等)的源。因此,根據(jù)一個實施例,用戶系統(tǒng)105、認證機構115、賣方系統(tǒng)120和信任 引擎210的部件有利地包括通信URL或URI內(nèi)的充足數(shù)據(jù),以供事務引擎205在整個密碼 系統(tǒng)內(nèi)正確地路由數(shù)據(jù)。
[0067] 盡管參照其優(yōu)選實施例公開了數(shù)據(jù)路由,但是熟練技術人員將認識到大量的可能 的數(shù)據(jù)路由方案或策略。例如,XML或其它數(shù)據(jù)包可以有利地進行拆包并且通過它們的格 式、內(nèi)容等進行識別,從而使得事務引擎205可以在整個信任引擎110內(nèi)正確地路由數(shù)據(jù)。 此外,熟練技術人員將認識到,有利的是,例如當通信鏈路125包括局域網(wǎng)時,數(shù)據(jù)路由可 進行改動以適應符合特定網(wǎng)絡系統(tǒng)的數(shù)據(jù)傳輸協(xié)議。
[0068] 根據(jù)本發(fā)明的另一個實施例,事務引擎205包括傳統(tǒng)的SSL加密技術,從而在特定 通信期間,通過事務引擎205,上述系統(tǒng)可以對它們自身進行認證,反之亦然。本發(fā)明中使用 的術語"1/2 SSL"是指服務器(但客戶機不必)進行SSL認證的通信,術語"全SSL"是指 客戶機和服務器均進行SSL認證的通信。當本公開使用術語"SSL"時,通信可以包括1/2 SSL 或全 SSL。
[0069] 由于事務引擎205將數(shù)據(jù)路由至密碼系統(tǒng)100的各個部件,所以事務引擎205可 有利地建立審計索引(audit trail)。根據(jù)一個實施例,審計索引包括在整個密碼系統(tǒng)100 內(nèi)由事務引擎205進行路由的數(shù)據(jù)的至少類型和格式的記錄。這種審計數(shù)據(jù)可有利地存儲 在海量存儲器225中。
[0070] 圖2還示出了儲存器210。根據(jù)一個實施例,儲存器210包括一個或多個數(shù)據(jù)存儲 設施,例如目錄服務器、數(shù)據(jù)庫服務器等。如圖2所示,儲存器210存儲密碼密鑰和登記認 證數(shù)據(jù)。密碼密鑰可有利地對應于信任引擎110或者密碼系統(tǒng)100的用戶(例如,用戶或 賣方)。登記認證數(shù)據(jù)可有利地包括被設計用于唯一識別用戶的數(shù)據(jù),例如用戶ID、口令、 提問的回答、生物測定數(shù)據(jù)等。有利的是,可以在用戶登記時或者在另一個替代的以后時間 獲取這個登記認證數(shù)據(jù)。例如,信任引擎110可以包括登記認證數(shù)據(jù)的周期性或其它的更 新或重新發(fā)放。
[0071] 根據(jù)一個實施例,從事務引擎205到認證引擎215和密碼引擎220的通信以及從 認證引擎215和密碼引擎220到事務引擎205的通信包括安全通信(例如,傳統(tǒng)的SSL技 術)。此外,如上所述,可以使用URL、URI、HTTP或XML文檔傳送到達和來自儲存器210的 通信的數(shù)據(jù),有利地在上述任何一個內(nèi)部嵌入了數(shù)據(jù)請求和格式。
[0072] 如上所述,儲存器210可有利地包括多個安全數(shù)據(jù)存儲設施。在這種實施例中,安 全數(shù)據(jù)存儲設施可被構造為使得對一個個體數(shù)據(jù)存儲設施的安全性的危害將不會危害存 儲在其中的密碼密鑰或認證數(shù)據(jù)。例如,根據(jù)這個實施例,密碼密鑰和認證數(shù)據(jù)被進行數(shù)學 運算,從而在統(tǒng)計學上充分地對存儲在每個數(shù)據(jù)存儲設施中的數(shù)據(jù)進行隨機化。根據(jù)一個 實施例,個體數(shù)據(jù)存儲設施的數(shù)據(jù)的隨機化使得該數(shù)據(jù)無法被破譯。因此,對個體數(shù)據(jù)存儲 設施的危害僅僅生成隨機化的無法譯解的數(shù)字,并且不會危害作為整體的任何密碼密鑰或 認證數(shù)據(jù)的安全性。
[0073] 圖2還示出了包括認證引擎215的信任引擎110。根據(jù)一個實施例,認證引擎215 包括數(shù)據(jù)比較器,該數(shù)據(jù)比較器被構造為將來自事務引擎205的數(shù)據(jù)與來自儲存器210的 數(shù)據(jù)進行比較。例如,在認證過程中,用戶將當前認證數(shù)據(jù)提供給信任引擎110從而事務引 擎205接收當前認證數(shù)據(jù)。如上所述,事務引擎205識別優(yōu)選在URL或URI中的數(shù)據(jù)請求, 并且將認證數(shù)據(jù)路由至認證引擎215。此外,當被請求時,儲存器210將與用戶對應的登記 認證數(shù)據(jù)轉發(fā)至認證引擎215。因此,認證引擎215具有當前認證數(shù)據(jù)和登記認證數(shù)據(jù)以進 行比較。
[0074] 根據(jù)一個實施例,到達認證引擎的通信包括安全通信(例如,SSL技術)。此外,安 全性(例如,使用公鑰技術的超級加密)可以設置在信任引擎110部件內(nèi)。例如,根據(jù)一個 實施例,用戶用認證引擎215的公鑰對當前認證數(shù)據(jù)進行加密。此外,儲存器210還用認證 引擎215的公鑰對登記認證數(shù)據(jù)進行加密。這樣,僅有認證引擎的私鑰能夠用于對傳輸進 行解密。
[0075] 如圖2所示,信任引擎110還包括密碼引擎220。根據(jù)一個實施例,密碼引擎包括 密碼處理模塊,該模塊被構造為有利地提供傳統(tǒng)的密碼功能(例如,公鑰基礎設施(PKI)功 能)。例如,密碼引擎220可以有利地向密碼系統(tǒng)100的用戶發(fā)放公鑰和私鑰。以這種方 式,在密碼引擎220處產(chǎn)生密碼密鑰并且將其轉發(fā)至儲存器210,從而在信任引擎110之外 至少無法獲得私有密碼密鑰。根據(jù)另一個實施例,密碼引擎220至少對私有密碼密鑰數(shù)據(jù) 進行隨機化和分裂,從而僅僅存儲隨機化的分裂數(shù)據(jù)。與登記認證數(shù)據(jù)的分裂類似,分裂過 程確保在密碼引擎220之外無法獲得存儲的密鑰。根據(jù)另一個實施例,密碼引擎的功能可 以與認證引擎215組合并且由認證引擎215執(zhí)行。
[0076] 根據(jù)一個實施例,到達和來自密碼引擎的通信包括安全通信,諸如SSL技術。此 夕卜,可有利地采用XML文檔以傳送數(shù)據(jù)和/或進行密碼功能請求。
[0077] 圖2還示出了具有海量存儲225的信任引擎110。如上所述,事務引擎205保持 與審計索引對應的數(shù)據(jù)并且將這個數(shù)據(jù)存儲在海量存儲器225中。類似地,根據(jù)本發(fā)明的 一個實施例,儲存器210保持與審計索引對應的數(shù)據(jù)并且將這個數(shù)據(jù)存儲在海量存儲裝置 225中。由于審計索引數(shù)據(jù)包括由儲存器210接收到的請求的記錄及其響應,所以儲存器審 計索引數(shù)據(jù)與事務引擎205的審計索引數(shù)據(jù)類似。此外,海量存儲器225可用于存儲在內(nèi) 部包含了用戶的公鑰的數(shù)字證書。
[0078] 盡管參照其優(yōu)選實施例和替代實施例公開了信任引擎110,但是本發(fā)明不限于此。 相反,熟練技術人員將從這里的公開中認識到信任引擎110的大量替代。例如,信任引擎 110可有利地僅僅執(zhí)行認證,或者僅僅執(zhí)行例如數(shù)據(jù)加密和解密的一些或所有的密碼功能。 根據(jù)這些實施例,可有利地去除認證引擎215和密碼引擎220之一,從而為信任引擎110建 立更加簡單的設計。此外,密碼引擎220還可以與認證機構進行通信從而在信任引擎110 內(nèi)實現(xiàn)認證機構。根據(jù)另一個實施例,信任引擎110可以有利地執(zhí)行認證以及例如數(shù)字簽 名的一個或多個密碼功能。
[0079] 圖3示出了根據(jù)本發(fā)明的實施例的各方面的圖2的事務引擎205的框圖。根據(jù)這 個實施例,事務引擎205包括具有處理線程和偵聽線程的操作系統(tǒng)305。有利的是,操作系 統(tǒng)305可與在例如可從Apache得到的Web服務器的傳統(tǒng)高容量服務器中發(fā)現(xiàn)的操作系統(tǒng) 類似。偵聽線程針對輸入數(shù)據(jù)流,監(jiān)視來自通信鏈路125、認證引擎215和密碼引擎220之 一的輸入通信。處理線程識別輸入數(shù)據(jù)流的特定數(shù)據(jù)結構(例如,上述數(shù)據(jù)結構),從而將 輸入數(shù)據(jù)路由至通信鏈路125、儲存器210、認證引擎215、密碼引擎220或海量存儲器225 之一。如圖3所示,有利的是,通過例如SSL技術可以保護輸入和輸出數(shù)據(jù)。
[0080] 圖4示出了根據(jù)本發(fā)明的實施例的各方面的圖2的儲存器210的框圖。根據(jù)這個 實施例,儲存器210包括一個或多個輕量目錄訪問協(xié)議(LDAP)服務器??梢詮母鞣N制造商 (例如,Netscape、ISO、微軟等)獲得LDAP目錄服務器。圖4還示出了目錄服務器優(yōu)選存 儲與密碼密鑰對應的數(shù)據(jù)405和與登記認證數(shù)據(jù)對應的數(shù)據(jù)410。根據(jù)一個實施例,儲存 器210包括單個邏輯存儲結構,用于將認證數(shù)據(jù)和密碼密鑰數(shù)據(jù)索引至唯一用戶ID。該單 個邏輯存儲結構優(yōu)選包括確保存儲在其中的數(shù)據(jù)的高度信任或安全性的機制。例如,儲存 器210的物理位置可有利地包括大量的傳統(tǒng)安全性措施,諸如受限雇員訪問、現(xiàn)代監(jiān)視系 統(tǒng)等。除了物理安全性以外或者替代物理安全性,計算機系統(tǒng)或服務器可以有利地包括保 護存儲的數(shù)據(jù)的軟件方案。例如,儲存器210可有利地建立并存儲與采取的動作的審計索 引對應的數(shù)據(jù)415。此外,有利的是,可以用與傳統(tǒng)的SSL技術結合的公鑰加密,對輸入和輸 出通信進行加密。
[0081] 根據(jù)另一個實施例,儲存器210可以包括不同的且物理分離的數(shù)據(jù)存儲設施。例 如,儲存器210可以包括安置在地理分離的位置處的超過一個的物理存儲裝置,例如,磁帶 驅動器、硬盤驅動器、光盤驅動器、或它們的任何組合。
[0082] 圖5示出了根據(jù)本發(fā)明的實施例的各方面的圖2的認證引擎215的框圖。與圖3 的事務引擎205類似,認證引擎215包括操作系統(tǒng)505,操作系統(tǒng)505至少具有傳統(tǒng)的Web 服務器(例如,可從Apache獲得的Web服務器)的變型版本的偵聽和處理線程。如圖5所 示,認證引擎215包括對至少一個私鑰510的訪問。有利的是,私鑰510可用于例如對來自 事務引擎205或儲存器210的數(shù)據(jù)進行解密,該數(shù)據(jù)用認證引擎215的對應公鑰進行了加 Γ t I ο
[0083] 圖5還示出了包括比較器515、數(shù)據(jù)分裂模塊520和數(shù)據(jù)組裝模塊525的認證引 擎215。根據(jù)本發(fā)明的一個實施例,比較器515包括能夠比較與上述生物測定認證數(shù)據(jù)有 關的潛在復雜模式的技術。該技術可以包括用于模式比較(例如,表示指紋模式或語音模 式的模式比較)的硬件、軟件或者組合方案。此外,根據(jù)一個實施例,認證引擎215的比較 器515可有利地比較文檔的傳統(tǒng)哈希值以呈現(xiàn)比較結果。根據(jù)本發(fā)明的一個實施例,比較 器515包括對該比較應用啟發(fā)法(heuristics) 530。有利的是,啟發(fā)法530可以應對圍繞認 證嘗試的境況(例如,時間、IP地址或子網(wǎng)掩碼、購買概況、電子郵件地址、處理器序列號或 ID 等)。
[0084] 此外,生物測定數(shù)據(jù)比較的性質(zhì)會導致從當前生物測定認證數(shù)據(jù)與登記數(shù)據(jù)的匹 配產(chǎn)生變化的置信度。例如,與可僅僅返回肯定或否定匹配的傳統(tǒng)口令不同,指紋可被確定 為部分匹配,例如90%匹配、75%匹配或10%匹配,而非簡單地為正確或不正確。諸如聲紋 (voice print)分析或面部識別的其它生物測定識別法會共有這個概率認證的屬性,而非 絕對認證。
[0085] 當利用這種概率認證進行工作時或者在認為認證低于絕對可靠的其它情況下,期 望應用啟發(fā)法530以確定設置的認證的置信水平是否高到足夠對正在進行的事務進行認 證。
[0086] 有時候存在如下情況:談及的事務是相對低值事務,其中,它可以較低的置信水平 被接受而得到認證。這可以包括具有與之關聯(lián)的低貨幣值(例如,$10購買)的事務或者 低風險的事務(例如,進入會員制網(wǎng)站)。
[0087] 相反,為了對其它事務進行認證,會期望在允許事務進行之前要求高的認證置信 度。這些事務可以包括大貨幣值的事務(例如,簽署幾百萬美元供貨合同)或者在發(fā)生不 正確認證的情況下具有高風險的事務(例如,遠程登錄政府計算機)。
[0088] 如下文所述,與置信水平和事務值組合的啟發(fā)法530的使用可用于允許比較器提 供動態(tài)的上下文敏感認證系統(tǒng)。
[0089] 根據(jù)本發(fā)明的另一個實施例,比較器515可有利地跟蹤特定事務的認證嘗試。例 如,當事務失敗時,信任引擎110可以請求用戶重新輸入他或她的當前認證數(shù)據(jù)。認證引擎 215的比較器515可有利地利用嘗試限制器535以限制認證嘗試的次數(shù),由此禁止假扮用戶 的認證數(shù)據(jù)的暴力嘗試。根據(jù)一個實施例,嘗試限制器535包括監(jiān)視事務的重復認證嘗試 并且例如將給定事務的認證嘗試限制為三次的軟件模塊。因此,嘗試限制器535例如將用 于假扮個人的認證數(shù)據(jù)的自動嘗試限制為僅三次"猜測"。當三次失敗時,嘗試限制器535 可有利地拒絕另外的認證嘗試。有利的是,例如通過不管正在發(fā)送的當前認證數(shù)據(jù)如何比 較器515都返回否定結果,而實現(xiàn)這種拒絕。另一方面,事務引擎205可有利地阻止屬于三 次嘗試先前已經(jīng)失敗的事務的任何另外的認證嘗試。
[0090] 認證引擎215還包括數(shù)據(jù)分裂模塊520和數(shù)據(jù)組裝模塊525。數(shù)據(jù)分裂模塊520 有利地包括能夠對各種數(shù)據(jù)進行數(shù)學運算從而充分地將數(shù)據(jù)隨機化(例如,隨機化或偽隨 機化)并分裂成個體部分(還稱作份)的軟件、硬件或組合模塊。在一些實施例中,為了充 分地將數(shù)據(jù)隨機化,數(shù)據(jù)分裂模塊520可以產(chǎn)生隨機或偽隨機數(shù)。該隨機或偽隨機數(shù)然后 可與來自數(shù)據(jù)集的數(shù)據(jù)單元(例如,任何數(shù)目的比特、字節(jié)或塊)關聯(lián)。該隨機或偽隨機數(shù) 還可與各個份關聯(lián)。數(shù)據(jù)分裂模塊520可以至少部分基于隨機或偽隨機數(shù)與數(shù)據(jù)單元和份 的關聯(lián),來確定把來自數(shù)據(jù)集的每個數(shù)據(jù)單元存儲在哪個份中。
[0091] 根據(jù)一個實施例,無法從一個單獨部分或用戶份重建原始數(shù)據(jù)。數(shù)據(jù)組裝模塊525 有利地包括被構造為對上述充分隨機化的部分進行數(shù)學運算從而使它們的組合提供原始 譯解數(shù)據(jù)的軟件、硬件或組合模塊。根據(jù)一個實施例,認證引擎215利用數(shù)據(jù)分裂模塊520 將登記認證數(shù)據(jù)隨機化并分裂成多個部分,并且利用數(shù)據(jù)組裝模塊525將這些部分重新組 裝成可用的登記認證數(shù)據(jù)。
[0092] 圖6示出了根據(jù)本發(fā)明的一個實施例的各方面的圖2的信任引擎200的密碼引擎 220的框圖。與圖3的事務引擎205類似,密碼引擎220包括操作系統(tǒng)605,操作系統(tǒng)605 至少具有傳統(tǒng)的Web服務器(例如,可從Apache得到的Web服務器)的變型版本的偵聽和 處理線程。如圖6所示,密碼引擎220包括功能與圖5中類似的數(shù)據(jù)分裂模塊610和數(shù)據(jù) 組裝模塊620。然而,根據(jù)一個實施例,與上述的登記認證數(shù)據(jù)不同,數(shù)據(jù)分裂模塊610和數(shù) 據(jù)組裝模塊620處理密碼密鑰數(shù)據(jù)。但是,熟練技術人員將從這里的公開認識到,數(shù)據(jù)分裂 模塊910和數(shù)據(jù)分裂模塊620可以與認證引擎215的相應模塊進行組合。
[0093] 密碼引擎220還包括密碼處理模塊625,密碼處理模塊625被構造為執(zhí)行大量的密 碼功能中的一個、一些或全部。根據(jù)一個實施例,密碼處理模塊625可以包括軟件模塊或程 序、硬件或二者。根據(jù)另一個實施例,密碼處理模塊625可以執(zhí)行數(shù)據(jù)比較、數(shù)據(jù)解析、數(shù)據(jù) 分裂、數(shù)據(jù)分離、數(shù)據(jù)哈希法、數(shù)據(jù)加密或解密、數(shù)字簽名驗證或創(chuàng)建、數(shù)字證書產(chǎn)生、存儲、 或請求、密碼密鑰產(chǎn)生等等。此外,熟練技術人員將從這里的公開認識到,密碼處理模塊825 可有利地包括公鑰基礎設施,諸如良好隱私(PGP)、基于RSA的公鑰系統(tǒng)、或者大量的替代 密鑰管理系統(tǒng)。此外,密碼處理模塊625可以執(zhí)行公鑰加密、對稱密鑰加密或二者。除了上 述以外,密碼處理模塊625可以包括用于執(zhí)行無縫、透明的互用性功能的一個或多個計算 機程序或模塊、硬件或二者。
[0094] 熟練技術人員還將從這里的公開認識到,密碼功能可以包括一般與密碼密鑰管理 系統(tǒng)有關的大量或多樣的功能。
[0095] 本發(fā)明的安全數(shù)據(jù)解析器可以集成到操作系統(tǒng)內(nèi)核(例如,Linux、Unix、或者任 何其它合適的商業(yè)或專用操作系統(tǒng))。該集成可用于在裝置等級保護數(shù)據(jù),由此,例如,通常 將存儲在一個或多個裝置內(nèi)的數(shù)據(jù)被集成到操作系統(tǒng)內(nèi)的安全數(shù)據(jù)解析器分離成一定數(shù) 目的部分并且存儲在所述一個或多個裝置之間。當嘗試訪問原始數(shù)據(jù)時,同樣集成到操作 系統(tǒng)內(nèi)的適當軟件可以按照對于端用戶透明的方式將解析的數(shù)據(jù)部分重組成原始數(shù)據(jù)。 [0096] 本發(fā)明的安全數(shù)據(jù)解析器可以集成到存儲系統(tǒng)的卷管理器或者任何其它合適部 件,以跨任何或所有支持的平臺保護本地和聯(lián)網(wǎng)的數(shù)據(jù)存儲。例如,通過集成安全數(shù)據(jù)解析 器,存儲系統(tǒng)可利用由安全數(shù)據(jù)解析器提供的冗余(即,用于實現(xiàn)不需要數(shù)據(jù)的所有的分 離部分就可以重構原始數(shù)據(jù)的特征)以防止數(shù)據(jù)損失。不管是否使用冗余,安全數(shù)據(jù)解析 器還使得寫入存儲裝置的所有數(shù)據(jù)可以成為根據(jù)本發(fā)明的解析而產(chǎn)生的多個部分的形式。 當嘗試訪問原始數(shù)據(jù)時,同樣集成到卷管理器或存儲系統(tǒng)內(nèi)的其它合適部件的適當軟件可 以按照對于端用戶透明的方式將解析的數(shù)據(jù)部分重組成原始數(shù)據(jù)。
[0097] 在一個合適方案中,本發(fā)明的安全數(shù)據(jù)解析器可以集成到RAID控制器(作為硬件 或者作為軟件)。這使得可以將數(shù)據(jù)安全存儲到多個驅動器上,同時在驅動器故障的情況下 保持容錯性。
[0098] 例如為了保護敏感表信息,本發(fā)明的安全數(shù)據(jù)解析器可以集成到數(shù)據(jù)庫。例如,在 一個合適方案中,可以根據(jù)本發(fā)明對與數(shù)據(jù)庫表的特定單元(例如,個體單元、一個或多個 特定列、一個或多個特定行、它們的任何組合、或者整個數(shù)據(jù)庫表)關聯(lián)的數(shù)據(jù)進行解析和 分離(例如,其中,不同的部分存儲在位于一個或多個位置處的一個或多個存儲裝置上或 者單個存儲裝置上)。可以通過傳統(tǒng)的認證方法(例如,用戶名和口令查詢)來授權為了觀 看原始數(shù)據(jù)而重組這些部分的訪問。
[0099] 本發(fā)明的安全解析器可以集成到包括移動中數(shù)據(jù)(即,數(shù)據(jù)從一個位置到另一個 位置的轉移)的任何合適系統(tǒng)內(nèi)。這些系統(tǒng)例如包括網(wǎng)絡文件服務器和文件系統(tǒng)、電子郵 件服務器、web服務器、流式數(shù)據(jù)廣播和無線(例如,WiFi)通信。關于電子郵件,在一個合 適方案中,安全解析器可用于對外發(fā)消息(即,包含文本、二進制數(shù)據(jù)或二者(例如,附于電 子郵件消息的文件))進行解析并且沿著不同路徑發(fā)送解析數(shù)據(jù)的不同部分,由此建立多 個數(shù)據(jù)流。如果這些數(shù)據(jù)流中的任何一個受到危害,則原始消息仍然安全,因為根據(jù)本發(fā) 明,為了產(chǎn)生原始數(shù)據(jù),該系統(tǒng)要求組合超過一個的部分。在另一個合適方案中,數(shù)據(jù)的不 同部分可以沿著一個路徑順序地傳送從而使得如果獲得了一個部分,則這不足以產(chǎn)生原始 數(shù)據(jù)。根據(jù)本發(fā)明,這些不同部分到達期望收件人的位置并且可以被組合以產(chǎn)生原始數(shù)據(jù)。
[0100] 圖7和圖8是這種電子郵件系統(tǒng)的例示性框圖。圖7示出了發(fā)送方系統(tǒng)700,它 可以包括任何合適硬件,例如,計算機終端、個人計算機、手持裝置(例如,PDA、黑莓)、蜂窩 電話、計算機網(wǎng)絡、任何其它合適硬件、或者它們的任何組合。發(fā)送方系統(tǒng)700用于產(chǎn)生和 /或存儲消息704,消息704例如可以是網(wǎng)絡包、電子郵件消息、二進制數(shù)據(jù)文件(例如,圖 形、語音、視頻等)或它們的任何組合。根據(jù)本發(fā)明由安全數(shù)據(jù)解析器702對消息704進行 解析和分裂。得到的數(shù)據(jù)部分可以經(jīng)由一個或多個分立的通信路徑706通過網(wǎng)絡708 (例 如,互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、LAN、WiFi、藍牙、任何其它合適有線或無線通信手段、或者它們的任何 組合)傳送至接收方系統(tǒng)710??梢栽跁r間上并行地或者另選地根據(jù)不同數(shù)據(jù)部分的通信 之間的任何合適的時間延遲,傳送這些數(shù)據(jù)部分。接收方系統(tǒng)710可以是關于發(fā)送方系統(tǒng) 700如上所述的任何合適硬件。根據(jù)本發(fā)明,沿著通信路徑706運送的單獨的數(shù)據(jù)部分在接 收方系統(tǒng)710處被重組以產(chǎn)生原始消息或數(shù)據(jù)。
[0101] 圖8示出了發(fā)送方系統(tǒng)800,它可以包括任何合適硬件,例如,計算機終端、個人計 算機、手持裝置(例如,PDA)、蜂窩電話、計算機網(wǎng)絡、任何其它合適硬件、或者它們的任何 組合。發(fā)送方系統(tǒng)800用于產(chǎn)生和/或存儲消息804,消息804例如可以是網(wǎng)絡包、電子郵 件消息、二進制數(shù)據(jù)文件(例如,圖形、語音、視頻等等)或它們的任何組合。根據(jù)本發(fā)明由 安全數(shù)據(jù)解析器802對消息804進行解析和分裂。得到的數(shù)據(jù)部分可以經(jīng)由單個通信路徑 806通過網(wǎng)絡808 (例如,互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、LAN、WiFi、藍牙、任何其它合適的有線或無線通信 手段、或者它們的任何組合)傳送至接收方系統(tǒng)810。這些數(shù)據(jù)部分可以經(jīng)由通信路徑806 相對于彼此串行傳送。接收方系統(tǒng)810可以是在上文關于發(fā)送方系統(tǒng)800描述的任何合適 硬件。根據(jù)本發(fā)明,沿著通信路徑806運送的各個數(shù)據(jù)部分在接收方系統(tǒng)810處被重組以 產(chǎn)生原始消息或數(shù)據(jù)。
[0102] 應該明白,圖7和圖8的布置僅僅是例示性的??梢允褂萌魏纹渌线m布置。例 如,在另一個合適方案中,圖7和8的系統(tǒng)的特征可以進行組合,從而使用圖7的多路徑方 案,并且其中,與在圖8中通信路徑806 -樣,一個或多個通信路徑706用于運送超過一個 的數(shù)據(jù)部分。
[0103] 安全數(shù)據(jù)解析器可以集成在移動中數(shù)據(jù)系統(tǒng)的任何合適等級。例如,在電子 郵件系統(tǒng)的情況下,安全解析器可以集成在用戶接口等級(例如,集成到Microsoft? Outlook中),在這種情況下,當使用電子郵件時,用戶可以對安全數(shù)據(jù)解析器特征的使用 進行控制?;蛘撸梢栽诤蠖瞬考ɡ缭诮粨Q服務器)中實現(xiàn)安全解析器,在這種情況下, 根據(jù)本發(fā)明,不需要任何用戶干涉,可以自動對消息進行解析、分裂并且沿著不同路徑進行 傳送。在一些實施例中,這種集成可以對用戶透明。
[0104] 類似地,在數(shù)據(jù)(例如,音頻、視頻)的流式廣播的情況下,輸出數(shù)據(jù)可以被解析和 分離成多個流,每個流包含解析數(shù)據(jù)的一部分。根據(jù)本發(fā)明,這多個流可以沿著一個或多個 路徑發(fā)送并且在收件人的位置進行重組。這種方案的好處之一是,避免了與對數(shù)據(jù)進行傳 統(tǒng)加密然后通過單個通信通道發(fā)送加密的數(shù)據(jù)相關聯(lián)的相對較大的開銷。本發(fā)明的安全解 析器允許多個并行流中發(fā)送移動中數(shù)據(jù),從而提高了速度和效率。
[0105] 應該明白,為了通過任何傳輸介質(zhì)(例如包括有線、無線或物理)的任何類型的移 動中數(shù)據(jù)的保護和容錯,可以集成安全數(shù)據(jù)解析器。例如,IP語音(VoIP)應用可以利用本 發(fā)明的安全數(shù)據(jù)解析器??梢允褂帽景l(fā)明的安全數(shù)據(jù)解析器來保護往來于任何合適個人數(shù) 字助理(PDA)裝置(例如,黑莓和智能電話)的無線或有線數(shù)據(jù)傳輸。對等和基于集線器的 無線網(wǎng)絡的使用無線802. 11協(xié)議的通信、衛(wèi)星通信、點對點無線通信、互聯(lián)網(wǎng)客戶機/服務 器通信或者任何其它合適通信可以包括根據(jù)本發(fā)明的安全數(shù)據(jù)解析器的移動中數(shù)據(jù)能力。 計算機外設裝置(例如,打印機、掃描儀、監(jiān)視器、鍵盤、網(wǎng)絡路由器、生物測定認證裝置(例 如,指紋掃描儀)、或者任何其它合適外設裝置)之間、計算機與計算機外設裝置之間、計算 機外設裝置與任何其它合適裝置之間的數(shù)據(jù)通信或者它們的任何組合可以利用本發(fā)明的 移動中數(shù)據(jù)特征。
[0106] 本發(fā)明的移動中數(shù)據(jù)特征還可以應用于例如使用獨立路線、媒介物、方法的安全 份的物理傳輸、任何其它合適的物理傳輸或者它們的任何組合。例如,數(shù)據(jù)的物理傳輸可以 發(fā)生于數(shù)字/磁帶、軟盤、光盤、物理令牌、USB驅動器、可移動硬盤、具有閃存的消費電子裝 置(例如蘋果IP0D或其它MP3播放器)、閃存、用于傳輸數(shù)據(jù)的任何其它合適介質(zhì)、或者它 們的任何組合。
[0107] 本發(fā)明的安全數(shù)據(jù)解析器提供了具有災難恢復能力的安全性。根據(jù)本發(fā)明,為了 獲取原始數(shù)據(jù),不需要由安全數(shù)據(jù)解析器產(chǎn)生的所有部分的分離數(shù)據(jù)。也就是說,在存儲的 m個部分之中,η可以是這m個部分之中獲取原始數(shù)據(jù)所需的最小數(shù),其中,n〈 = m。例如, 如果四個部分的每個存儲在與其它三個部分不同的物理位置中,那么如果在這個例子中η =2,則這些位置中的兩個可被危害從而數(shù)據(jù)被破壞或者不可訪問,并且從其它兩個位置中 的部分仍可以獲取原始數(shù)據(jù)。對于η或m,可以使用任何合適值。
[0108] 此外,本發(fā)明的m取η特征可用于建立"雙人規(guī)則",由此為了避免委托單個個人或 者任何其它實體對可能是敏感數(shù)據(jù)的事務進行全面訪問,兩個或更多不同實體(每個實體 具有由本發(fā)明的安全解析器解析的分離數(shù)據(jù)的一部分)需要同意將它們的各部分放到一 起以獲取原始數(shù)據(jù)。
[0109] 本發(fā)明的安全數(shù)據(jù)解析器可用于向一組實體提供組范圍密鑰,該組范圍密鑰使組 成員可以訪問由該特定組授權訪問的特定信息。組密鑰可以是例如為了獲取尋找的信息而 需要與在中心存儲的另一個部分進行組合的、由根據(jù)本發(fā)明的安全解析器產(chǎn)生的數(shù)據(jù)部分 之一。例如,這個特征允許在組內(nèi)實現(xiàn)安全協(xié)作。例如,它可以應用于專有網(wǎng)絡、虛擬專用 網(wǎng)、內(nèi)聯(lián)網(wǎng)、或者任何其它合適網(wǎng)絡。
[0110] 安全解析器的這種用途的特定應用例如包括聯(lián)合信息共享,在聯(lián)合信息共享中, 例如,對多國友好政府軍隊給予基于對每個對應國家授權的安全等級通過單個網(wǎng)絡或雙重 網(wǎng)絡(即,與涉及當前使用的相對較多人工處理的許多網(wǎng)絡相比)傳送在操作和其它方面 敏感的數(shù)據(jù)的能力。這種能力還可應用于公司或其它組織,其中,需要由一個或多個特定個 人(組織內(nèi)或組織外)知道的信息可以經(jīng)由單個網(wǎng)絡傳送,而不需要擔心未授權個人觀看 該信息。
[0111] 另一個特定應用包括用于政府系統(tǒng)的多級安全性層級。也就是說,本發(fā)明的安全 解析器可以提供使用單個網(wǎng)絡以不同等級的機密信息(例如,不機密、機密、秘密、絕密)操 作政府系統(tǒng)的能力。如果需要,可使用更多網(wǎng)絡(例如,對于絕密使用單獨網(wǎng)絡),但是本發(fā) 明允許比對每個等級的機密使用獨立網(wǎng)絡的當前布置實質(zhì)更少的布置。
[0112] 應該明白,可以使用本發(fā)明的安全解析器的上述的應用的任何組合。例如,組密鑰 應用能夠與移動中數(shù)據(jù)安全性應用一起使用(即,由此,通過網(wǎng)絡傳送的數(shù)據(jù)僅能夠由對 應組的成員訪問,并且在這種情況下,當數(shù)據(jù)在移動時,根據(jù)本發(fā)明它在多個路徑中進行分 裂(或者以順序的部分進行發(fā)送))。
[0113] 本發(fā)明的安全數(shù)據(jù)解析器可以集成到任何中間件應用中,從而使得應用能夠將數(shù) 據(jù)安全存儲到不同數(shù)據(jù)庫產(chǎn)品或不同裝置,而不需要對應用或數(shù)據(jù)庫進行改動。中間件是 使得兩個獨立和已經(jīng)存在的程序可以進行通信的任何產(chǎn)品的一般術語。例如,在一個合適 方案中,集成了安全數(shù)據(jù)解析器的中間件可用于使得針對特定數(shù)據(jù)庫編寫的程序與其它數(shù) 據(jù)庫進行通信,而不用定制編碼。
[0114] 本發(fā)明的安全數(shù)據(jù)解析器可以實現(xiàn)為具有例如本文所述的任何合適能力的任何 組合。在本發(fā)明的一些實施例中,例如,安全數(shù)據(jù)解析器可以實現(xiàn)為僅僅具有某些能力,但 是可以通過使用直接或間接與安全數(shù)據(jù)解析器對接的外部軟件、硬件或二者而獲得其它能 力。
[0115] 有利的是,本發(fā)明的安全數(shù)據(jù)解析器可用于多個應用和技術中。例如,電子郵件系 統(tǒng)、RAID系統(tǒng)、視頻廣播系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、磁帶備份系統(tǒng)、或者任何其它合適系統(tǒng)可以具有 以任何合適等級集成的安全數(shù)據(jù)解析器。如上所述,應該明白,還可以集成安全數(shù)據(jù)解析器 以用于通過任何傳輸介質(zhì)(例如包括有線、無線或者物理傳輸介質(zhì))的任何類型的移動中 數(shù)據(jù)的保護和容錯。作為一個例子,IP語音(VoIP)應用可以利用本發(fā)明的安全數(shù)據(jù)解析器 解決與在VoIP內(nèi)通常存在的回聲和延遲有關的問題。通過使用容錯可以消除對漏掉包進 行網(wǎng)絡再試的需要,即使在丟失預定數(shù)目的份的情況下這仍可以保證包傳送。數(shù)據(jù)包(例 如,網(wǎng)絡包)還可以以最小延遲和緩沖"即時地(on-the-fly)"被高效地分裂和恢復,從而 獲得針對各種類型的移動中數(shù)據(jù)的綜合方案。安全數(shù)據(jù)解析器可作用于網(wǎng)絡數(shù)據(jù)包、網(wǎng)絡 語音包、文件系統(tǒng)數(shù)據(jù)塊、或者任何其它合適的信息單元。除了與VoIP應用集成在一起以 夕卜,安全數(shù)據(jù)解析器可以與文件共享應用(例如,對等文件共享應用)、視頻廣播應用、電子 投票或民意調(diào)查應用(可以實現(xiàn)例如Sensus協(xié)議的電子投票協(xié)議和盲簽名)、電子郵件應 用、或者要求或希望安全通信的任何其它網(wǎng)絡應用集成在一起。
[0116] 在一些實施例中,本發(fā)明的安全數(shù)據(jù)解析器在兩個不同階段(即,首標產(chǎn)生階段 和數(shù)據(jù)劃分階段)可以提供對移動中網(wǎng)絡數(shù)據(jù)的支持。在圖9A和9B中分別示出了簡化的 首標產(chǎn)生過程900和簡化的數(shù)據(jù)劃分過程910。可以對網(wǎng)絡包、文件系統(tǒng)塊、或者任何其它 合適信息執(zhí)行這些過程中的一個或二者。
[0117] 在一些實施例中,在網(wǎng)絡包流開始時可以執(zhí)行一次圖9A所示的首標產(chǎn)生過程 900。在步驟902中,可以產(chǎn)生隨機(或偽隨機)分裂加密密鑰K。然后,在AES密鑰包裝步 驟904中,(例如,使用上述的工作組密鑰)可選地對分裂加密密鑰K進行加密。盡管在一 些實施例中可以使用AES密鑰包裝,但是在其它實施例中可以使用任何合適的密鑰加密或 者密鑰包裝算法。AES密鑰包裝步驟904可以對整個分裂加密密鑰K進行操作,或者該分裂 加密密鑰可以被解析成幾個塊(例如,64比特塊)。如果需要,AES密鑰包裝步驟904然后 可以對分裂加密密鑰的塊進行操作。
[0118] 在步驟906中,秘密共享算法(例如,Shamir)可用于將分裂加密密鑰K分裂成多 個密鑰份。然后,每個密鑰份可以嵌入到輸出份之一中(例如,份首標中)。最后,份完整性 塊和(可選的)后置認證標記(例如,MAC)可以附于每份的首標塊。每個首標塊可以被設 計為適合安置在單個數(shù)據(jù)包內(nèi)。
[0119] 在首標產(chǎn)生完成后(例如,使用簡化的首標產(chǎn)生過程900),安全數(shù)據(jù)解析器可使 用簡化的數(shù)據(jù)分裂過程910進入圖9B所示的數(shù)據(jù)劃分階段。在步驟912中,使用分裂加密 密鑰K對流中的每個輸入數(shù)據(jù)包或數(shù)據(jù)塊進行加密。在步驟914中,可以對從步驟912獲 得的密文計算份完整性信息(例如,哈希值H)。例如,可以計算出SHA-256哈希值。然后, 在步驟916中,可以使用根據(jù)本發(fā)明以上描述的數(shù)據(jù)分裂算法之一將數(shù)據(jù)包或數(shù)據(jù)塊劃分 成兩個或更多數(shù)據(jù)份。在一些實施例中,數(shù)據(jù)包或數(shù)據(jù)塊可以被分裂為使得每個數(shù)據(jù)份包 含加密的數(shù)據(jù)包或數(shù)據(jù)塊的基本隨機的分布。然后,完整性信息(例如,哈希值H)可以附 于每個數(shù)據(jù)份。在一些實施例中,還可以計算可選的后置認證標記(例如,MAC)并且將其 附于每個數(shù)據(jù)份。
[0120] 每個數(shù)據(jù)份可以包括允許數(shù)據(jù)塊或數(shù)據(jù)包的正確重建所需的元數(shù)據(jù)。這個信息可 以包括在份首標內(nèi)。元數(shù)據(jù)可以包括諸如密碼密鑰份、密鑰標識或標識符、份現(xiàn)時、簽名/ MAC值和完整性塊的信息。為了使帶寬效率最大化,元數(shù)據(jù)可以以緊湊二進制格式存儲。
[0121] 例如,在一些實施例中,份首標可包括明文首標塊,該明文首標塊沒有加密并且可 以包括例如Shamir密鑰份、每會話現(xiàn)時、每份現(xiàn)時、以及密鑰標識符(例如,工作組密鑰標 識符和后置認證密鑰標識符)的元素。份首標還可以包括使用分裂加密密鑰進行加密的加 密的首標塊。完整性首標塊也可以包括在該首標內(nèi),完整性首標塊可以包括對任何數(shù)目的 先前塊(例如,先前兩塊)的完整性檢查。在其它實施例中,任何其它合適值或信息也可以 包括在份首標內(nèi)。
[0122] 如圖10的例示性份格式1000所示,首標塊1002可與兩個或更多的輸出塊1004 關聯(lián)。例如首標塊1002的每個首標塊可被設計為適合安置在單個網(wǎng)絡數(shù)據(jù)包內(nèi)。在一些 實施例中,在首標塊1002從第一位置發(fā)送至第二位置后,輸出塊然后可以被發(fā)送?;蛘?,首 標塊1002和輸出塊1004可以同時并行地發(fā)送??梢越?jīng)由一個或多個類似或不類似的通信 路徑進行該發(fā)送。
[0123] 每個輸出塊可以包括數(shù)據(jù)部分1006和完整性/真實性部分1008。如上所述,可以 使用包括加密的預先劃分的數(shù)據(jù)的份完整性信息(例如,SHA-256哈希值)的份完整性部 分,對每個數(shù)據(jù)份進行保護。為了在恢復時驗證輸出塊的完整性,安全數(shù)據(jù)解析器可以比較 每份的份完整性塊并且然后顛倒分裂算法。然后,可以針對份哈希值驗證恢復的數(shù)據(jù)的哈 希值。
[0124] 如上所述,本發(fā)明的安全數(shù)據(jù)解析器還可以用于保護工作組內(nèi)的移動中數(shù)據(jù)(或 者從一個系統(tǒng)或服務傳送至另一個系統(tǒng)或服務的數(shù)據(jù))。在一些實施例中,中央服務器處理 一個域(或者跨多個域)的所有的用戶、服務和工作組管理。中央服務器可以包括一個服 務器或者一個服務器群(用于容錯),并且可以包括ldap服務器,諸如運行Microsoft? Server 2003 和 Active Directory 的服務器。
[0125] 可以使用如圖11所示的質(zhì)疑/響應協(xié)議1100提供工作組內(nèi)的無縫用戶認證。使 用協(xié)議1100,工作組客戶機1102可以向認證服務器1104認證它自身??梢酝ㄟ^共享秘密 的驗證(例如,使用摘要認證)來授予無縫用戶認證。當用戶登錄工作組客戶機1102時, 可使用戶輸入的口令經(jīng)過把口令的ASCII文本變換成密碼密鑰的密碼函數(shù)。這個基于口令 的密鑰(在圖11的例子中標記為"PBK")還可以存儲在認證服務器1104上或者可由認證 服務器1104訪問。
[0126] 為了被認證,工作組客戶機1102可以用消息1106向認證服務器1104識別它自 身。例如,消息1106可以包括指示用戶身份的數(shù)據(jù),例如用戶的工作組名稱、登錄用戶名、 網(wǎng)絡地址、MAC地址、或者它們的任何組合。響應于消息1106,認證服務器1104可以在消息 1108中向工作組客戶機1102發(fā)送質(zhì)疑值。該質(zhì)疑值可以包括任何數(shù)目的比特或字節(jié),這些 比特或字節(jié)被工作組客戶機1102接收后可以使用基于口令的密鑰進行加密。所得的密文 (在圖11的例子中標記為"Y")然后可以在消息1110中返回到服務器。然后,認證服務器 1104可以使用對于該工作組客戶機存儲的基于口令的密鑰對質(zhì)疑值執(zhí)行相同的加密并且 驗證它自身的加密與接收的密文匹配。如果存在匹配,則用戶得到認證。否則,認證請求會 被拒絕。
[0127] 圖12示出了用于與網(wǎng)絡上的服務進行通信的例示性過程1200??梢允褂?Kerberos子系統(tǒng)實現(xiàn)過程1200,該Kerberos子系統(tǒng)允許網(wǎng)絡上的兩個工作組客戶機(例 如,客戶機1202和1206)通過使用中央服務器(有時候稱作密鑰分布中心(KDC) 1204)彼 此證明它們的真?zhèn)巍?br> [0128] 在(例如,使用如消息1208所示的質(zhì)疑/響應協(xié)議)得到認證后,在消息1210中 向用戶給予票證授予票證(TGT)。這個票證可用作每當客戶機1202想要與網(wǎng)絡上的另一 個用戶或服務(例如,web服務器、電子郵件服務器或客戶機1206)進行通信時被給予KDC 1204的令牌。TGT例如可以包括包含接收方的名稱或身份、時間戳、和任何其它必要證明的 信息塊。還可以在KDC的主密鑰下對TGT進行加密從而使得僅僅KDC能夠讀取TGT的內(nèi)容。
[0129] 當具有TGT的用戶希望與網(wǎng)絡上的服務進行通信時,它可以將TGT傳送給KDC并 且請求有效的服務票證(ST)。例如,如圖12所示,工作組客戶機1202已經(jīng)經(jīng)由消息1212 請求針對客戶機1206的ST。如果該TGT有效,則KDC 1204可以經(jīng)由消息1214向客戶機 1202返回兩個ST,每個ST包含通信各方所涉及的證明、時間戳以及用作用于加密的雙方之 間的臨時共享密鑰的唯一和最新會話密鑰(SK)。可以在用戶與KDC之間共享的基于口令的 密鑰下對ST之一進行加密,并且可以在進行聯(lián)系的服務或客戶機(例如,客戶機1206)與 KDC之間共享的基于口令的密鑰下對另一個ST進行加密。
[0130] 針對進行請求的客戶機1202進行加密的ST能夠立即由客戶機1202進行解密從 而揭示SK。然后,客戶機1202可以經(jīng)由消息1216將第二ST和在SK下加密的消息發(fā)送至 目標服務或客戶機(例如,客戶機1206)。然后,在最后步驟中,該服務或客戶機(例如,客 戶機1206)可以用它的基于口令的密鑰對該ST進行解密以獲得SK,隨后對客戶機1202發(fā) 送的消息進行解密。通過這個過程,客戶機1202和1206現(xiàn)在共享SK。
[0131] 實際上,在過程1200中所示的一個或多個步驟可以與其它步驟進行組合,以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0132] 圖13示出了針對安全數(shù)據(jù)解析器使用共享密鑰的例示性過程1300。上述的SK可 用作共享工作組密鑰(WK)以支持使用安全數(shù)據(jù)解析器的安全工作組通信。在一些實施例 中,安全數(shù)據(jù)解析器WK可用于包裝在內(nèi)部產(chǎn)生的會話密鑰,包括加密會話密鑰(ESK)和MAC 會話密鑰(MK),這在美國專利No. 7,391,865以及2003年6月11日提交的美國專利申請 吣.10/458,928、2005年10月25日提交的美國專利申請吣.11/258,839、2006年11月20 日提交的美國專利申請11/602, 667、2007年11月7日提交的美國專利申請11/983,355、 2007年12月5日提交的美國專利申請11/999,575、2008年9月12日提交的美國專利申 請12/209,703和2009年1月7日提交的美國專利申請12/349,897中進行了更加詳細的 描述。
[0133] 在用WK進行了包裝后,可以在由安全數(shù)據(jù)解析器產(chǎn)生的每個首標之間安全地共 享密文(例如,使用諸如Shamir的秘密共享方案),其中,用每個首標存儲各個包裝的密鑰 的一份。獲得ESK或MK現(xiàn)在要求獲得WK和足以重建包裝的ESK和MK密文的數(shù)量的份。在 一些實施例中,安全數(shù)據(jù)解析器WK可用于包裝在內(nèi)部產(chǎn)生的加密會話密鑰(ESK)。一旦用 WK進行了包裝,可以用新產(chǎn)生的密鑰加密密鑰(KEK)對密文進行再次包裝。現(xiàn)在,ESK已經(jīng) 被雙重包裝,只有在知道WK和KEK二者的情況下才可被恢復。KEK可以在由安全數(shù)據(jù)解析 器產(chǎn)生的每個首標之間安全地共享,并且雙重包裝的ESK可以存儲在每個首標內(nèi)。獲得ESK 現(xiàn)在要求獲得WK和足以重建KEK的數(shù)量的份。在典型的通信會話中,兩個用戶或者工作組 客戶機可以獲得僅僅針對每個客戶機單獨加密的票證,這些票證包含WK值。該WK值然后 可以被輸入到兩個用戶或客戶機的每個的密鑰庫中并且在安全數(shù)據(jù)解析器通信會話的上 下文中用作普通WK。
[0134] 例如,客戶機1302可以將共享的WK輸入到它的密鑰庫中并且產(chǎn)生安全數(shù)據(jù)解析 器首標,如在上文中關于圖9和圖10所述。安全數(shù)據(jù)解析器首標可以包括WK、工作組密鑰 ID和WK版本號中的一個或多個(例如,在一些實施例中,可以使用例如Shamir的秘密共享 方案,將WK、密鑰ID和版本號分配到首標)。客戶機1302然后可以經(jīng)由消息1306將這些 首標發(fā)送至客戶機1304??蛻魴C1304可以從接收的首標重建WK、工作組密鑰ID和WK版 本號,并且將WK輸入到它的密鑰庫中。在每個客戶機將WK存儲在它的相應密鑰庫中后,安 全數(shù)據(jù)解析器通信會話(例如,分析數(shù)據(jù)集并恢復數(shù)據(jù)集)然后可以使用數(shù)據(jù)消息1308和 1310執(zhí)行。
[0135] 實際上,在過程1300中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0136] 為了將以上機制與內(nèi)核級網(wǎng)絡驅動器進行集成,在一些實施例中,提供認證服務 器修改來分布會話密鑰。在一些實施例中,還可以提供工作站修改以請求TGT和ST。如圖 14所示的過程1400示出了示例性消息序列。例如,通常在內(nèi)核空間1404中不能夠執(zhí)行 Kerberos功能和與KDC 1406的通信。代替地,網(wǎng)絡驅動器可以對用戶空間1402進行回調(diào) (call back)以執(zhí)行Kerberos密鑰交換,然后向下傳回網(wǎng)絡驅動器使用的任何數(shù)據(jù)(或者 發(fā)送至原始目的地)。例如,在客戶機1401希望與客戶機1419進行通信后,可以產(chǎn)生消息 1408并且將其從用戶空間1402傳送至內(nèi)核空間1404中的網(wǎng)絡驅動器。網(wǎng)絡驅動器可以確 定是否已經(jīng)存在與期望的目的地IP地址(或者其它網(wǎng)絡標識符)的安全數(shù)據(jù)解析器會話, 如果存在,則可以使用該通道。如果沒有現(xiàn)存的會話,則網(wǎng)絡驅動器可以使用消息1410將 IP地址(或者其它網(wǎng)絡標識符)向上傳遞至用戶級服務以獲得ST。
[0137] 該服務然后可以確定當前是否緩存了給定IP地址(或者其它網(wǎng)絡標識符)的ST, 如果沒有,則用戶級服務可以經(jīng)由消息1412從KDC1406獲取ST。接下來,用戶級服務可以 對客戶機1401的ST中的嵌入WK進行解密并且經(jīng)由消息1414將客戶機1419的WK和ST 傳回內(nèi)核空間1404中的網(wǎng)絡驅動器。網(wǎng)絡驅動器然后可以使用WK產(chǎn)生安全數(shù)據(jù)解析器首 標并且經(jīng)由消息1416將它們與客戶機1419的ST -起發(fā)送至客戶機1419。在客戶機1419 的網(wǎng)絡驅動器處接收到首標和ST后,然后可經(jīng)由消息1418將ST向上傳遞至它自己的用戶 級服務。該用戶級服務可以解密ST并提取WK,然后經(jīng)由消息1420將WK向下傳回至網(wǎng)絡驅 動器??蛻魴C1419然后可以使用WK恢復它接收的安全數(shù)據(jù)解析器首標并且完成通道。
[0138] 實際上,在過程1400中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0139] 圖15示出了例示性網(wǎng)絡拓撲1500。認證機構(CA) 1502可以登記網(wǎng)絡或域中的 每個工作組機構(WA)。盡管在圖15的例子中示出了三個WA(S卩,WA 1504、WA 1506和WA 1508),但是在實際實現(xiàn)方式中,在一個網(wǎng)絡或域中可以存在多于或少于三個的WAoCA 1502 通過為每個WA發(fā)布其對應工作組的WA證書,可以登記WA 1504、WA1506和WA 1508中的每 個。這些證書可由CA 1502進行數(shù)字簽名以防止篡改。
[0140] 在由CA 1602登記后,WA 1504、WA 1506和WA 1508可以開始將客戶機(例如,用 戶、機器和服務)登記到它們的對應工作組中。例如,在一些實施例中,登記可以至少部分 基于先前存在的活動目錄(或者其它LDAP)成員資格語義??梢詫Φ怯浀目蛻魴C發(fā)布由它 們的對應WA簽名的證書以及由WA、CA或這二者的證書。
[0141] 圖16示出了例示性連接建立1600。發(fā)起方1604可以首先通過與WA 1602執(zhí)行密 鑰更新1608而確保它正在使用最新WK。發(fā)起方1604可以向WA 1602提供一現(xiàn)時并且證實 它擁有有效證書。WA 1602然后可以提供包括發(fā)起方的現(xiàn)時的加密并簽名的WK。在一些實 施例中,使用具有RSA-PSS或ECDSA簽名的RSA PKCS#1 v2執(zhí)行加密。在其它實施例中,在 預共享的對稱密鑰下使用AES-GCM認證的加密。
[0142] 發(fā)起方1604然后用請求消息1610使用最新WK發(fā)起與接收方1606的連接。在接 收到連接請求后,接收方1606可以確保它具有最新WK。按照與由發(fā)起方1604執(zhí)行的相同 的加密認證的防重放方式執(zhí)行密鑰更新1612。如果接收方1606屬于超過一個的工作組,則 接收方1606至少部分基于在請求消息1610中提供的工作組密鑰ID選擇適當?shù)腤A。如果 發(fā)起方1604和接收方1606從WA 1602取得相同的WK,則接收方1606可以向發(fā)起方1604 發(fā)送成功連接消息1614。
[0143] 在連接建立1600中所示的密鑰更新步驟之一或二者在與另一個工作組客戶機進 行初始連接時執(zhí)行,在到達工作組密鑰刷新警報時間后定期地執(zhí)行,或者按照任何其它合 適時間表定期地執(zhí)行。在一些實施例中,如下文更加詳細地描述的,在建立每個新通信會話 之前自動地執(zhí)行密鑰更新。工作組密鑰的系統(tǒng)或用戶控制TTL以及刷新警報可以提供定制 級別的可更新性。例如,這在已撤銷了一客戶機的通信權并且希望可立即撤銷性后是有利 的。
[0144] 使用這種方案還可以減小或者甚至完全消除對證書撤銷列表(CRL)的需要??梢?通過認證或LDAP服務器保持工作組成員資格。在一些實施例中,還使用在線證書狀態(tài)協(xié)議 (0CSP)來支持WA撤銷。例如,0SCP應答方可以確定WA的證書的狀態(tài)而不需要檢查由CA 公布的CRL。
[0145] 實際上,在過程1700中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0146] 圖17到圖20示出了支持本發(fā)明的安全工作組密鑰管理和分布的例示性過程。圖 17示出了用于加入新工作組的例示性過程1700。在步驟1702中,客戶機η可以表示希望加 入工作組。在步驟1704中,WA可以為該客戶機產(chǎn)生秘密密鑰E n。在一些實施例中,Εη可以 是用于對稱密碼的密鑰。在其它實施例中,可以使用采用非對稱密碼的公鑰加密方案并且 En可以是用于非對稱密碼的密鑰(例如,私鑰)。例如,可以使用Naor、Naor和Lotspeich 子集覆蓋廣播加密方案,替代下述的對稱方案。該公鑰加密算法可以建立在任何其它的安 全公鑰加密方案之上。
[0147] 在一些實施例中,由WA集中執(zhí)行使用公鑰方案的密鑰產(chǎn)生。如果Μ是最大工作組 大小,則WA可以產(chǎn)生2Μ-1個不同的公鑰/私鑰對。如果存在跨度(span)為Μ的二叉樹 (每個密鑰對與樹中的一個內(nèi)部節(jié)點關聯(lián)),則對于工作組中的每個裝置或客戶機,可以選 擇樹中的第i葉子并且可以向裝置或客戶機i提供與第i葉子上至樹的根關聯(lián)的每個密鑰 對。于是,裝置或客戶機的密鑰材料的總大小會等于log M+1。在其它實施例中可以采用使 用公鑰或秘密密鑰方案的其它密鑰產(chǎn)生方案。
[0148] 在步驟1706中,WA可以存儲客戶機η的身份、客戶機的秘密密鑰En和授權的工作 組密鑰ID的列表之中的一個或多個。在步驟1708中,客戶機η可以存儲它的秘密密鑰E n。 例如,客戶機可以在本地將它的秘密密鑰存儲在密鑰庫中。在步驟1710中,客戶機η還可 以存儲工作組密鑰ID(例如,公開知識和/或串標識符)并且將工作組密鑰刷新警報設置 為0(即,立即)以及將密鑰版本設置為0。
[0149] 一個客戶機可以屬于一個或多個工作組。每個工作組(以及由此該工作組的當前 WK)可以與唯一工作組標識符關聯(lián)。唯一工作組標識符和關聯(lián)的工作組密鑰ID可以幫助客 戶機和WA確定客戶機當前屬于哪個或哪些工作組以及確定使用哪個工作組密鑰來建立與 也屬于一個或多個工作組的另一個客戶機的通信會話。
[0150] 實際上,在過程1700中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0151] 圖18A、18B和18C示出了發(fā)起兩個客戶機之間的連接的例示性過程1800。在步驟 1802中,客戶機1可以發(fā)起與客戶機2的通信會話。例如,客戶機1可以向客戶機2發(fā)送 它的身份(例如,網(wǎng)絡地址或用戶名)并且請求與客戶機2的通信會話。在步驟1804中, 客戶機1可以檢查它的工作組密鑰刷新警報時間。在步驟1804中,客戶機1還可以驗證與 客戶機1的WK關聯(lián)的任何生存時間(TTL)值是否屆滿。例如,為了確定客戶機1的WK是 否屆滿,客戶機1可以將與客戶機1的WK關聯(lián)的TTL值與當前時間或WK時間戳進行比較。 WK時間戳可以指示W(wǎng)K何時被產(chǎn)生或傳送至客戶機1。在步驟1806中,如果刷新警報時間 大于當前時間(或者WK時間戳),則例示性過程1800可以在圖18B中繼續(xù)。如果在步驟 1806中刷新警報時間不大于當前時間(或者WK時間戳),則在步驟1808中,客戶機1可以 用安全數(shù)據(jù)解析器的產(chǎn)生的首標聯(lián)系客戶機2。這些首標例如可以包括WK和WK版本號。 在步驟1810中,客戶機2可以讀取工作組密鑰ID。如果在步驟1812中工作組密鑰ID對于 這個工作組(或者客戶機2當前所屬于的工作組)無效,則在步驟1814中客戶機2可以向 主調(diào)應用報告該錯誤。在一些實施例中,主調(diào)應用可以確定對發(fā)出的錯誤的響應。如果在 步驟1812中工作組密鑰ID對于這個工作組(或者客戶機2當前所屬于的工作組)有效, 則例示性過程1800可以在圖18C中繼續(xù)。
[0152] 圖18B繼續(xù)示出在步驟1806中確定刷新警報時間大于當前時間(或者WK時間戳) 之后的例示性過程1800。在一些實施例,這可以指示陳舊WK。在一些實施例中,為了使客 戶機1繼續(xù),它必須聯(lián)系WA并且刷新它的WK。在步驟1816中,客戶機1可以產(chǎn)生現(xiàn)時%。
[0153] 在步驟1816中,客戶機1還可以向WA發(fā)送消息。在一些實施例中,
[0154] 該消息可以如下被格式化:{Client 11 | Ei {UP-TO-DATE ? | | & | |工作組密鑰ID | 客戶機工作組密鑰版本}},其中,Client 1是客戶機1的身份,Ei是至少部分基于客戶機1 的秘密密鑰的密碼函數(shù),UP-TO-DATE ?是消息類型。
[0155] 在步驟1818中,WA可以查找客戶機1并且訪問民、客戶機1的秘密密鑰。如上 所述,WA可以將每個工作組成員的秘密密鑰存儲在密鑰庫、密鑰倉庫或數(shù)據(jù)庫中。在步驟 1818中,WA還可以對在步驟1816中由客戶機1發(fā)送的消息進行解密。在步驟1820中,WA 可以通過確認接收的工作組密鑰ID是否針對這個客戶機進行了授權,來確定客戶機1是否 被授權。WA還可以檢查以查看是否存在較新版本的WK并且計算到WK屆滿還有多久(例 如,可以計算WK的"生存時間"或TTL值)。如果在步驟1820中WA確定針對這個工作組沒 有發(fā)現(xiàn)該客戶機或者該客戶機沒有被授權,則在步驟1822中WA可以發(fā)回未授權消息。否 貝1J,在步驟1824中,WA可以發(fā)回用客戶機1的秘密密鑰進行加密的消息。在一些實施例中 該消息可以被如下格式化洱{UP-TO-DATE ? | |N」|工作組密鑰ID | |當前工作組密鑰版本 |TTL}。
[0156] 在步驟1826中,客戶機1可以解密該消息并且將WK版本與當前WK版本進行比較。 如果客戶機1的WK版本早于當前WK版本,則在步驟1830中客戶機1可以更新它的WK。在 下面參照圖20描述客戶機可用來更新它的WK的例示性過程。如果客戶機1的WK版本不 早于當前WK版本(例如,它是當前版本),則在步驟1828中客戶機1可以將它的WK刷新警 報更新為當前時間加上由WA計算的TTL。
[0157] 現(xiàn)在參照圖18C,如果工作組密鑰ID對于特定工作組有效,則在步驟1832中客戶 機2可以確定客戶機1的WK的版本號是否小于客戶機2的當前版本號。如果小于,則在步 驟1834中客戶機2可以向主調(diào)應用報告錯誤。在一些實施例中,主調(diào)應用可以確定對發(fā)出 的錯誤的響應(例如,主調(diào)應用可以自動執(zhí)行密鑰更新以獲得較新版本的WK并且重試連 接)。如果在步驟1832中客戶機2確定客戶機1的WK版本號不大于客戶機2的版本,則在 步驟1836中客戶機2可以確定當前時間是否大于WK刷新警報時間。如果當前時間大于刷 新警報時間,則客戶機2可以使用UP-TO-DATE ?(上述)和/或KEY-REQUEST (在下面關 于圖20描述)消息類型來聯(lián)系WA,以驗證當前工作組密鑰的新鮮度,請求新工作組密鑰,或 進行這二者。應該注意:UP-TO-DATE?消息類型對于檢查工作組密鑰是否新鮮而言是最佳 的。然而,為了減小延時,可以使用KEY-REQUEST消息類型,而不需要在前的UP-TO-DATE ? 消息類型。在其它實施例中,WA通過將TTL設置為0可以強迫客戶機在每次進行連接嘗試 時檢查密鑰的新鮮度。
[0158] 在步驟1838中更新它的密鑰后(或者如果在步驟1836中當前時間不大于刷新警 報時間),在步驟1840中客戶機2可以確定客戶機1的WK的版本號是否不等于客戶機2的 現(xiàn)在最新版本號。如果這兩個版本號不同,則在步驟1842中客戶機2可以向主調(diào)應用報告 錯誤。如果工作組密鑰ID有效并且所述版本號相同,則在步驟1844中客戶機2可以向主 調(diào)應用報告成功連接嘗試。
[0159] 實際上,在過程1800中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0160] 圖19示出了撤銷工作組客戶機的通信權的例示性過程1900。如上所述,傳統(tǒng)的安 全工作組通信協(xié)議會要求使用CRL并且可能不支持工作組安全性機制的可立即撤銷性和 可更新性。然而,通過定期地(或者在每次連接嘗試時)更新安全性機制,本發(fā)明可以支持 被撤銷客戶機的立即發(fā)現(xiàn)。例如,為了撤銷工作組客戶機,WA可以開始向所有未撤銷的用 戶發(fā)送新WK。通過使用改變了版本的WK,取決于在接收客戶機處有效的安全策略,使用陳 舊WK的連接會被拒絕。
[0161] 在步驟1902中可以接收工作組客戶機撤銷請求。例如,從工作組中去除一個或 多個用戶(或者撤銷它們的通信權)。如上所述,在一些實施例中,可以通過LDAP(例如, Microsoft? Active Directory)服務器保持工作組成員資格。某些用戶(例如,工作組 管理員)可以被授權使用工作組管理接口從工作組中去除特定用戶(或者用戶組)、機器 (例如,計算機和打印機)、服務(例如,web服務和打印/文件服務)、或者它們的任何組 合。在步驟1904中,管理工作組成員資格的服務器可以確定撤銷請求是否有效。有效的撤 銷請求可通過授權的用戶或其它實體(例如,WA或CA)進行認證(例如,簽名)并且指示 要撤銷的有效工作組用戶、機器或服務。如果撤銷請求無效,則在步驟1906中可將錯誤返 回給主調(diào)應用并且忽視撤銷請求。
[0162] 然而,如果在步驟1904中撤銷請求有效,則可以在步驟1908中從工作組客戶機的 列表去除撤銷的工作組密鑰ID。例如,WA可以從存儲在WA或CA處的關系數(shù)據(jù)庫中的工作 組密鑰ID表中去除客戶機的工作組密鑰ID。在步驟1910中,WA可以確定是否應該觸發(fā)密 鑰更新。在一些實施例中,在步驟1910中,響應于每個有效撤銷請求,自動觸發(fā)密鑰更新。 在其它實施例中,可以僅僅在預定數(shù)目的有效撤銷請求(由工作組安全策略定義)、預定數(shù) 目的當前待撤銷的客戶機后觸發(fā)密鑰更新,在自最后一次密鑰更新起預定時間長度后定期 地觸發(fā)密鑰更新,由WA或授權的用戶按需要觸發(fā)密鑰更新,在一個或多個用戶離開工作組 后自動地觸發(fā)密鑰更新,或者在上述時間的任何組合觸發(fā)密鑰更新。觸發(fā)密鑰更新可以隱 式地拒絕對所有被撤銷用戶的訪問,這是因為被撤銷用戶無法訪問新WK。通過定制WK版 本號、由WA計算的TTL值和WK刷新警報時間,可以控制、限制或完全禁止使用陳舊WK的通 ?目。
[0163] 如果在步驟1910中沒有觸發(fā)密鑰更新,則例示性過程1900可以返回到步驟1902 以等待另一個撤銷請求。如果在步驟1910中觸發(fā)了密鑰更新,則在步驟1912中WA可以增 大它的當前WK版本號并且產(chǎn)生新的WK。為了產(chǎn)生新的WK,在一些實施例中,WA可以使用它 的主密鑰產(chǎn)生密鑰(MKGK)通過安全的密鑰派生函數(shù)(KDF)評估工作組名稱和當前更新號。 在其它實施例中可以使用用于產(chǎn)生新的WK的其它方案。然后,在步驟1914中,可由WA加密 新產(chǎn)生的WK并且可產(chǎn)生簽名的密鑰更新消息。在一些實施例中,在步驟1914中產(chǎn)生的密鑰 更新消息可以包括下面字段中的一些或全部:(1)WA標識符和證書字段,它可以包括對更 新進行授權的WA的識別信息,包括它的CA簽名的證書;(2)工作組標識符字段,它可以包 括指定應用這個更新的工作組的名稱的唯一標識符;(3)順序標識符字段,它可以包括指 示更新的次數(shù)的順序計數(shù)器;(4)更新時段字段,它可以包括密鑰材料將有效的時段的指 示;(5)更新有效載荷字段,它可以包括包含更新的密鑰材料的密文;(6)輔助數(shù)據(jù)字段,它 可以包括客戶機要求的附加信息(例如,密鑰策略和可找到其它更新的位置);(7)重新配 鑰標記,其當被設置時可以指示客戶機重新產(chǎn)生它的秘密密鑰并且聯(lián)系WA進行重新證明; (8)簽名字段,它可以包括使用WA的簽名密鑰在前面的字段上計算的數(shù)字簽名。
[0164] 如果使用公鑰方案,則通過對于在上文中關于圖17描述的二叉樹中的每個葉子 根據(jù)該位置處的裝置是否已經(jīng)被撤銷而進行標記,可以對所有未撤銷的用戶加密密鑰更新 消息。然后,作為與未撤銷的裝置關聯(lián)的葉子的父輩(或共存)的所有節(jié)點可以被識別(而 不是撤銷的那些)。例如,完整的樹的根是所有葉子的父輩;由此,當沒有裝置被撤銷時這 個節(jié)點就足夠了。接下來,可以在與這些節(jié)點關聯(lián)的每個密鑰下對消息進行加密。結果可 以包括識別這些節(jié)點的列表以及生成的密文的列表。當使用這個加密方案時,每個未撤銷 的用戶可以擁有用于對消息進行加密的至少一個密鑰對。它可以識別這個密鑰對,對適當 密文進行解密,以及輸出消息。
[0165] 在產(chǎn)生了密鑰更新消息后,在步驟1916中可經(jīng)由半信任通道(例如,網(wǎng)站)將其 公開給所有未撤銷的用戶。還可以支持無束縛(以及半束縛)操作。當客戶機或裝置準備 離線時,WA可以在有限數(shù)目的未來時段內(nèi)對客戶機或裝置預先提供密鑰更新。另外或代替 地,對于具有一些網(wǎng)絡訪問的裝置,密鑰撤銷和密鑰更新消息可以公示到非常容易到達的 位置(例如,TLS保護的公共網(wǎng)站)。
[0166] 實際上,在過程1900中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0167] 圖20示出了用于請求WK更新的例示性過程2000。在步驟2002中,客戶機可 以向WA發(fā)送用客戶機的秘密密鑰(在使用非對稱加密方案的情況下為私鑰)進行加密 的密鑰請求消息。例如,在步驟2002中,客戶機可以向WA發(fā)送下面格式的消息:{Client X| |EX{KEY-REQUEST I |N21 I工作組密鑰ID I I請求的密鑰版本:}},其中,X是請求客戶機的標 識,Εχ是客戶機X的秘密密鑰(在使用非對稱加密方案的情況下為私鑰),KEY-REQUEST表 示密鑰請求消息類型,N 2是由請求客戶機產(chǎn)生的現(xiàn)時。在步驟2004中,WA可以接收加密的 消息并且查找客戶機以獲得客戶機的秘密加密密鑰E x。在步驟2004中,WA還可以對密鑰 請求消息進行解密,在步驟2006中驗證工作組密鑰ID對于這個客戶機是否有效。如果工 作組密鑰ID對于這個客戶機無效,則在步驟2008中WA可以發(fā)回未授權消息,并且例示性 過程2000可以返回到步驟2002。然而,如果工作組密鑰ID對于這個客戶機有效,則WA可 以訪問最新(即,最近)版本的密鑰(它可以比請求的版本更新)。然后,在步驟2012中, Μ可以創(chuàng)建對密鑰請求消息的響應并且使用客戶機的秘密密鑰Ex對該響應進行加密。在 一些實施例中,WA對密鑰請求消息的響應可以采取如下格式:E X{KEY-REQUEST| |N2| |工作 組密鑰ID | |當前密鑰版本| |TTL| |密鑰}。在從WA接收到響應后,在步驟2014中客戶機 可以更新它的WK。最后,在步驟2016中,客戶機可以將它的WK刷新警報時間更新為當前時 間加上接收的TTL值。
[0168] 實際上,在過程2000中所示的一個或多個步驟可以與其它步驟進行組合、以任何 合適順序執(zhí)行、并行執(zhí)行(例如,同時或基本同時執(zhí)行)或者被去除。
[0169] 已經(jīng)開發(fā)了以相當高效的方式支持密鑰分布的許多密鑰分布系統(tǒng)和協(xié)議(例如, Kerberos協(xié)議)。然而,這些現(xiàn)有系統(tǒng)和協(xié)議無法滿足用于與本發(fā)明的安全數(shù)據(jù)解析器結 合使用以保護移動中數(shù)據(jù)的安全工作組密鑰分布和管理的要求。這些要求中的一些例如 可以包括:(1)無法獲得標識用于連接,即,當兩個客戶機之一或二者沒有另一方的完全身 份時,系統(tǒng)應該支持這兩個客戶機之間的通信。該要求的直接結果可能是排除了每個對等 體(per-peer)會話密鑰;(2)撤消,S卩,系統(tǒng)應該能夠撤銷任何客戶機的通信權。完成撤銷 所需的時間應該可由用戶配置。在一些實施例中,撤銷可以僅僅影響新連接而非現(xiàn)有連接; (3) 參數(shù)化網(wǎng)絡聊天,S卩,這個系統(tǒng)應該支持能夠確認和分布密鑰的中央機構。然而,與這 個服務器的通信可以使分布的密鑰僅僅在一些用戶可配置或預定的時間段內(nèi)可用或有效; (4) 最小參與者狀態(tài),S卩,客戶機可以僅需要存儲進行通信的少量信息。特別地,客戶機存 儲的狀態(tài)不應該包括每個對等體信息。使用本文所述的系統(tǒng)和方法可以滿足所有的以上要 求。
[0170] 在一些實施例中,下面的客戶機函數(shù)可用于在工作組客戶機中支持本發(fā)明的過程 和系統(tǒng)??梢允褂密浖⒐碳?、硬件(例如,嵌入式系統(tǒng))或者它們的任何組合來實現(xiàn)下面 所述的函數(shù)。除了 "helper"參數(shù)(例如,緩沖器的長度字段)以外,可以指示下面的函數(shù) 中的參數(shù)。另外,僅僅提及了一些顯著的錯誤代碼。在其它實施例中,可以使用另外的錯誤 代碼、參數(shù)或二者。
[0171] 1.函數(shù)wa_init。這個函數(shù)可以返回類型ErrorCode,以clientld為輸入,輸出類 型ctx。這個函數(shù)可用于初始化客戶機側密鑰分布服務。該ctx變量可以被初始化并且保 持關于當前使用的所有密鑰、它們的版本以及其它密鑰特定信息的狀態(tài)。這個函數(shù)還可以 建立用于處理異步通信的事件線程。clientld應該是給予WA的相同標識符。
[0172] 2.函數(shù)wa_newKeyId。這個函數(shù)可以返回類型ErrorCode,以類型ctx、wgKeyld、 waAddress、privateKey作為輸入,沒有輸出。這個函數(shù)可用于向ctx上下文添加工作組密 鑰ID以進行管理。waAddress可以是對這個特定ID負責的WA的網(wǎng)絡地址。privateKey 可用于對與WA的通信進行加密并且應該與提供給WA的密鑰相同。
[0173] 3.函數(shù)wa_teardown。這個函數(shù)可以返回類型ErrorCode,以類型ctx作為輸入, 沒有輸出。這個函數(shù)可用于卸下由該服務管理的所有狀態(tài)并且釋放上下文ctx的內(nèi)存。這 個函數(shù)還可以取消任何未決請求(例如,票證)。
[0174] 4.函數(shù)wa_keyUpToDate_async。這個函數(shù)可以返回類型ErrorCode,以類型ctx、 wgKeyId、callback作為輸入,輸出類型Ticket t。這個函數(shù)可用于檢查由wgKeyld識別的 工作組密鑰是否是最新的。在一些實施例中,由于在內(nèi)部由管理上下文處理版本號,可能不 需要指定版本號。這個調(diào)用可以是異步的并且可以立即返回。當事件循環(huán)從服務器接收到 響應時,事件循環(huán)可以調(diào)用回調(diào)(callback)函數(shù)。于是可以向這個回調(diào)函數(shù)傳遞錯誤碼以 及狀態(tài)碼,盡管在沒有錯誤的情況下狀態(tài)碼可以是有意義的。如果客戶機不再被授權與這 個工作組通信,則回調(diào)可以接收ERR0R_W0RKGR0UP_AUTH0RIZATI0N。如果沒有錯誤并且密鑰 仍然有效,則它可以接收STATUS_KEY_0K。否則,它可以接收STATUS_KEY_STALE。當這個函 數(shù)結束時,票證t可用作等待請求監(jiān)聽器的標識符。
[0175] 5.函數(shù)wa_keyRequest_async。這個函數(shù)可以返回類型ErrorCode,以類型ctx、 wgKeyld、callback作為輸入,返回類型Ticket t。這個函數(shù)可用于針對這個密鑰標識符 刷新密鑰材料和版本。對這個函數(shù)的調(diào)用可以是異步的并且可以立即返回。當事件循環(huán) 接收到響應時,事件循環(huán)可以調(diào)用回調(diào)函數(shù)。可以向這個回調(diào)函數(shù)傳遞指示密鑰更新是 否成功的錯誤碼。如果不再授權客戶機與這個工作組進行通信,則回調(diào)可以接收ERR0R_ W0RKGR0UP_AUTH0RIZATI0N。當這個函數(shù)結束時,票證t可用作等待請求監(jiān)聽器的標識符。
[0176] 6.函數(shù) wa_keyValidate_async。這個函數(shù)可以返回類型 ErrorCode,以 ctx、 wgKeyld、wgKeyIDVersion、callback作為輸入,并且輸出類型Ticket t。這個函數(shù)可用于 確認從另一方接收到的密鑰。作為操作的一部分,這個函數(shù)可以更新它自身的密鑰(根據(jù) wa_keyRequest_async)。這個函數(shù)也可以是異步的并且可以立即返回。當事件循環(huán)接收到 響應時,事件循環(huán)可以調(diào)用回調(diào)函數(shù)??梢韵蜻@個回調(diào)函數(shù)傳遞指示密鑰檢查是否成功的 錯誤碼和指示密鑰的有效性的狀態(tài)碼。三個可能的狀態(tài)碼例如可以包括STATUS_KEY_0K、 STATUS_KEY_STALE和STATUS_KEY_INVALID。如果工作組密鑰不是當前由上下文ctx管理 的工作組密鑰,則這個函數(shù)會返回ERR0R_UNKN0WN_KEY。作為優(yōu)化,這個錯誤碼還可以傳遞 給回調(diào)函數(shù)。
[0177] 7.函數(shù)wa_currentVersion。這個函數(shù)可以返回類型ErrorCode,以ctx和 wgKeyld作為輸入,輸出版本。這個函數(shù)可用于針對給定的工作組密鑰ID返回由上下文ctx 管理的當前版本。
[0178] 8.函數(shù) wa_nextRefresh。這個函數(shù)可以返回類型 ErrorCode,以 ctx 和 wgKeyld 作為輸入,輸出timeLeft。這個函數(shù)可用于返回在應該刷新密鑰之前剩余的秒數(shù)。如果下 一更新時間已屆滿,這個函數(shù)會返回0。
[0179] 9.函數(shù)Wa_status。這個函數(shù)可以返回類型、以Ticket t作為輸入,輸出類型 status。這個函數(shù)例如可用于對于給定的票證提供狀態(tài)STATUS_C0MPLETE或STATUS_ WAITING。如果票證是未知的,則這個函數(shù)可以返回ERR0R_UNKN0WN_TICKET。
[0180] 10.函數(shù)wa_timeWaiting。這個函數(shù)可以返回類型ErrorCode,以Ticket t作為 輸入,輸出秒。這個函數(shù)可用于提供請求處于未決狀態(tài)的秒數(shù)。
[0181] 11.函數(shù)wa_cancel。這個函數(shù)可以返回類型ErrorCode,以Ticket t作為輸入, 沒有輸出。這個函數(shù)可用于取消未決的請求。
[0182] 以上函數(shù)僅僅是例示性的。根據(jù)本發(fā)明可以在工作組客戶機處定義許多其它函數(shù) 以用于分布和管理工作組密鑰。此外,盡管在上文描述了安全數(shù)據(jù)解析器和工作組管理模 塊的一些應用,但是應該清楚地理解,本發(fā)明可以與任何網(wǎng)絡應用進行集成以增加安全性、 容錯性、匿名性或者它們的任何合適組合。
[0183] 此外,鑒于這里的公開,其它組合、添加、替代和修改對于熟練技術人員是顯而易 見的。例如,盡管附圖中所示的許多過程涉及客戶機的秘密密鑰和/或對稱密鑰密碼術,但 是熟練技術人員將認識到,公鑰/私鑰對也可以用于對應的非對稱密碼方案中。
【權利要求】
1. 一種用于安全工作組通信的方法,所述方法包括: 在密鑰服務器處記錄與工作組中的多個客戶機關聯(lián)的多個公鑰; 產(chǎn)生工作組密鑰更新消息,其中所述工作組密鑰更新消息包括工作組密鑰和工作組密 鑰的生存時間(TTL)值; 利用所述多個公鑰對所述工作組密鑰更新消息進行加密,以產(chǎn)生多個加密的工作組密 鑰更新消息,其中所述加密的工作組密鑰更新消息中的每一個已經(jīng)用所述多個公鑰中的一 個對應公鑰進行了加密;以及 向所述工作組發(fā)送所述加密的工作組密鑰更新消息。
2. 根據(jù)權利要求1所述的方法,其中,對所述工作組密鑰更新消息進行加密包括使用 公鑰廣播加密方案對所述工作組密鑰更新消息進行加密。
3. 根據(jù)權利要求2所述的方法,其中,使用公鑰廣播加密方案對所述工作組密鑰更新 消息進行加密包括: 產(chǎn)生跨度Μ的二叉樹,其中,Μ是工作組的最大大??; 將工作組的每個客戶機的公鑰與所述二叉樹的一個唯一葉子關聯(lián); 識別作為與工作組的未撤銷客戶機關聯(lián)的葉子的父輩或與這些葉子共存的二叉樹的 所有節(jié)點;以及 在與識別出的節(jié)點關聯(lián)的每個公鑰下,對所述工作組密鑰更新消息進行加密。
4. 根據(jù)權利要求1所述的方法,其中,按照預定的時間表定期地執(zhí)行所述產(chǎn)生工作組 密鑰更新消息和發(fā)送。
5. 根據(jù)權利要求1所述的方法,其中,響應于工作組的一客戶機的通信權被撤銷,自動 執(zhí)行所述產(chǎn)生工作組密鑰更新消息和發(fā)送。
6. 根據(jù)權利要求1所述的方法,其中,向所述工作組發(fā)送所述加密的工作組密鑰更新 消息包括向網(wǎng)站公示所述加密的工作組密鑰更新消息。
7. 根據(jù)權利要求1所述的方法,其中,對所述工作組密鑰更新消息進行加密包括為所 述公鑰的至少子集中的每一個產(chǎn)生單獨的密文,其中每個密文包括利用對應的公鑰加密的 工作組密鑰更新消息。
8. 根據(jù)權利要求1所述的方法,其中所述工作組密鑰包括被所述工作組中的客戶機用 來加密所述工作組通信的會話密鑰。
9. 根據(jù)權利要求1所述的方法,其中所述工作組通信包括用于在所述工作組內(nèi)傳送 密碼密鑰的一個或多個密鑰交換消息,并且所述工作組密鑰被用于對所述密碼密鑰進行加 Γ t I ο
10. 根據(jù)權利要求1所述的方法,其中所述工作組密鑰更新消息還包括指示所述工作 組密鑰何時被產(chǎn)生的時間戳。
11. 一種用于安全工作組通信的系統(tǒng),所述系統(tǒng)包括: 工作組密鑰服務器,被構造為: 記錄與工作組中的多個客戶機關聯(lián)的多個公鑰; 產(chǎn)生工作組密鑰更新消息,其中所述工作組密鑰更新消息包括工作組密鑰和工作組密 鑰的生存時間(TTL)值; 利用所述多個公鑰對所述工作組密鑰更新消息進行加密,以產(chǎn)生多個加密的工作組密 鑰更新消息,其中所述加密的工作組密鑰更新消息中的每一個已經(jīng)用所述多個公鑰中的一 個對應公鑰進行了加密;并且 向所述工作組發(fā)送所述加密的工作組密鑰更新消息。
12. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為使用公鑰廣 播加密方案對所述工作組密鑰更新消息進行加密。
13. 根據(jù)權利要求12所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為使用公鑰廣 播加密方案通過如下操作對所述工作組密鑰更新消息進行加密 : 產(chǎn)生跨度Μ的二叉樹,其中,Μ是工作組的最大大??; 將工作組的每個客戶機的公鑰與所述二叉樹的一個唯一葉子關聯(lián); 識別作為與工作組的未撤銷客戶機關聯(lián)的葉子的父輩或與這些葉子共存的二叉樹的 所有節(jié)點;以及 在與識別出的節(jié)點關聯(lián)的每個公鑰下,對所述工作組密鑰更新消息進行加密。
14. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為按照預定的 時間表定期地產(chǎn)生所述工作組密鑰更新消息并且發(fā)送所述加密的工作組密鑰更新消息。
15. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為響應于工作 組的一客戶機的通信權被撤銷,自動產(chǎn)生所述工作組密鑰更新消息并且發(fā)送所述加密的工 作組密鑰更新消息。
16. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為通過向網(wǎng)站 公示所述密鑰更新消息來向所述工作組發(fā)送所述加密的工作組密鑰更新消息。
17. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰更新消息還包括指示所述工 作組密鑰何時被產(chǎn)生的時間戳。
18. 根據(jù)權利要求11所述的系統(tǒng),其中,所述工作組密鑰服務器被構造為通過為所述 公鑰的至少子集中的每一個產(chǎn)生單獨的密文來對所述工作組密鑰更新消息進行加密,其中 每個密文包括利用對應的公鑰加密的工作組密鑰更新消息。
19. 根據(jù)權利要求11所述的系統(tǒng),其中所述工作組密鑰包括被所述工作組中的客戶機 用來加密所述工作組通信的會話密鑰。
20. 根據(jù)權利要求11所述的系統(tǒng),其中所述工作組通信包括用于在所述工作組內(nèi)傳送 密碼密鑰的一個或多個密鑰交換消息,并且所述工作組密鑰被用于對所述密碼密鑰進行加 Γ t I ο
【文檔編號】H04L29/06GK104283880SQ201410529243
【公開日】2015年1月14日 申請日期:2009年2月23日 優(yōu)先權日:2008年2月22日
【發(fā)明者】S·C·博諾, M·D·格林, G·D·蘭道, R·L·奧西尼, M·S·奧哈雷, R·達文波特 申請人:安全第一公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1