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