根據(jù)公開密鑰發(fā)現(xiàn)用于密鑰管理的安全關(guān)聯(lián)的制作方法
【專利摘要】本發(fā)明公開了用于在通信環(huán)境中形成可發(fā)現(xiàn)的安全關(guān)聯(lián)和用于合法地發(fā)現(xiàn)在通信環(huán)境中形成的安全關(guān)聯(lián)的技術(shù)。例如,一種用于在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成可發(fā)現(xiàn)的安全關(guān)聯(lián)的方法包括以下步驟。所述第一計(jì)算設(shè)備從密鑰關(guān)聯(lián)實(shí)體獲得:(i)分配給所述第一計(jì)算設(shè)備的第一私有密鑰,第一私有密鑰與關(guān)聯(lián)于所述第一計(jì)算設(shè)備的第一公開密鑰在計(jì)算上相關(guān)聯(lián);和(ii)分配給所述第一計(jì)算設(shè)備的第一根密鑰。第一計(jì)算設(shè)備選擇第一隨機(jī)值并且生成第一現(xiàn)時(shí)值,其中所述第一現(xiàn)時(shí)值是使用所述第一根密鑰對所述第一隨機(jī)值進(jìn)行加密的結(jié)果。第一計(jì)算設(shè)備基于第一隨機(jī)值生成第一密鑰組件。第一計(jì)算設(shè)備使用基于身份的加密過程、用與所述第二計(jì)算設(shè)備相關(guān)聯(lián)的第二公開密鑰加密所述第一現(xiàn)時(shí)值和所述第一密鑰組件,并且向所述第二計(jì)算設(shè)備發(fā)送加密的第一現(xiàn)時(shí)值和加密的第一密鑰組件,以便與所述第二計(jì)算設(shè)備建立安全關(guān)聯(lián)。安全關(guān)聯(lián)可由第三計(jì)算設(shè)備發(fā)現(xiàn),其中所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備不知道所述安全關(guān)聯(lián)。
【專利說明】根據(jù)公開密鑰發(fā)現(xiàn)用于密鑰管理的安全關(guān)聯(lián)
[0001]本申請要求以2011年5月11日提交的、序號(hào)為61/484,868并且發(fā)明名稱為“根據(jù)公開密鑰的用于密鑰管理方案的合法監(jiān)聽方法”的美國臨時(shí)專利申請的優(yōu)先權(quán),通過引用的方式將其公開的全部內(nèi)容包含于此。
【技術(shù)領(lǐng)域】
[0002]概括地,本發(fā)明涉及通信安全,并且更具體地,涉及用于在通信環(huán)境中發(fā)現(xiàn)安全關(guān)聯(lián)(security associations)的技術(shù)以在信息的合法監(jiān)聽中使用。
【背景技術(shù)】
[0003]因特網(wǎng)協(xié)議(IP)通信和電話系統(tǒng)已經(jīng)獲得廣泛的采用。在兩個(gè)客戶之間的端到端IP通信的第一示例中的一個(gè)示例包括即時(shí)消息傳送(Instant Messaging),但是這緊接著跟隨基于IP的語音(Voice-over-1P),并且現(xiàn)在許多提供商(例如,網(wǎng)絡(luò)運(yùn)營商和應(yīng)用提供商)提供端到端基于IP的視頻(Video-over-1P)。然而,這些趨勢主要被限制于有線固定網(wǎng)絡(luò),假定無線移動(dòng)網(wǎng)絡(luò)接入已經(jīng)由窄帶電路交換接入網(wǎng)絡(luò)統(tǒng)治。然而,最近部署的寬帶4G(第四代,fourth generation)無線網(wǎng)絡(luò)為所有形式的基于IP的多媒體端到端通信做好了準(zhǔn)備,而不依賴于其接入類型。
[0004]隨著向端到端IP會(huì)話的轉(zhuǎn)變,市場已經(jīng)見證了對這些開放IP網(wǎng)絡(luò)上的安全和隱私的意識(shí)和興趣的復(fù)蘇。首先,端到端加密和認(rèn)證是獲得廣泛關(guān)注的范例。目前,雖然當(dāng)前包括商業(yè)和企業(yè)內(nèi)聯(lián)網(wǎng)接入的互聯(lián)網(wǎng)事務(wù)處理已經(jīng)超過十幾年做到端到端安全,但是使基于IP的會(huì)話應(yīng)用安全已經(jīng)被大部分留給應(yīng)用提供商,例如,SKYPE? (位于盧森堡的Skype技術(shù)S.A.的商標(biāo))。
[0005]隨著全I(xiàn)P網(wǎng)絡(luò)的到來,對于網(wǎng)絡(luò)運(yùn)營商或其他提供語音、視頻、和消息傳送服務(wù)的運(yùn)營商來說,提供端到端的安全且遵從支持合法的或法定的安全關(guān)聯(lián)(securityassociations)的監(jiān)聽和發(fā)現(xiàn)的要求將變得越來越必要。用于法律實(shí)施目的,或簡單地用于一些非法律實(shí)施目的,這種法定的安全關(guān)聯(lián)的監(jiān)聽和發(fā)現(xiàn)可能是必須的,其中能夠容易地解密在主體(parties)和/或設(shè)備之間傳送的加密信息是必需的或希望的。
【發(fā)明內(nèi)容】
[0006]示例實(shí)施例提供用于在通信環(huán)境中形成可發(fā)現(xiàn)的安全關(guān)聯(lián)的技術(shù),以及用于在通信環(huán)境中形成合法地發(fā)現(xiàn)安全關(guān)聯(lián)的技術(shù)。
[0007]例如,在一個(gè)示例實(shí)施例中,一種用于在第一計(jì)算設(shè)備和第二技術(shù)設(shè)備之間形成可發(fā)現(xiàn)的安全關(guān)聯(lián)的方法,包括以下步驟。所述第一計(jì)算設(shè)備從密鑰管理實(shí)體獲得:(i)分配給所述第一計(jì)算設(shè)備的第一私有密鑰(private key),所述第一私有密鑰與第一公開密鑰(public key)計(jì)算地關(guān)聯(lián),所述第一公開密鑰與所述第一計(jì)算設(shè)備相關(guān)聯(lián);以及(ii)分配給所述第一計(jì)算設(shè)備的第一根密鑰(root key)。所述第一計(jì)算設(shè)備選擇第一隨機(jī)值并且生成第一現(xiàn)時(shí)值(nonce),其中所述第一現(xiàn)時(shí)值是使用所述第一根密鑰對所述第一隨機(jī)值進(jìn)行加密的結(jié)果。所述第一計(jì)算設(shè)備基于所述第一隨機(jī)值生成第一密鑰組件(keycomponent)。所述第一計(jì)算設(shè)備使用基于身份的加密過程利用與所述第二計(jì)算設(shè)備相關(guān)聯(lián)的第二公開密鑰將所述第一現(xiàn)時(shí)值和所述第一密鑰組件加密,并且將加密的第一現(xiàn)時(shí)值和加密的第一密鑰組件發(fā)送到所述第二計(jì)算設(shè)備,以便與所述第二計(jì)算設(shè)備建立安全關(guān)聯(lián),其中所述安全關(guān)聯(lián)能夠由第三計(jì)算設(shè)備發(fā)現(xiàn),所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備不知道所述第三計(jì)算設(shè)備。
[0008]在另一示例實(shí)施例中,一種用于發(fā)現(xiàn)在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成的安全關(guān)聯(lián)的方法,包括以下步驟。第三計(jì)算設(shè)備獲得在所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備之間傳送的一個(gè)或多個(gè)消息。利用與所述第二計(jì)算設(shè)備相關(guān)聯(lián)的私有密鑰的知識(shí)的所述第三計(jì)算設(shè)備,對來自所述第一計(jì)算設(shè)備的一個(gè)或多個(gè)獲得的消息中的至少一個(gè)進(jìn)行解密并且獲得:(i)由所述第一計(jì)算設(shè)備生成的第一密鑰組件;以及(ii)由所述第二計(jì)算設(shè)備生成的現(xiàn)時(shí)值,所述現(xiàn)時(shí)值是對由所述第二計(jì)算設(shè)備選擇的隨機(jī)值進(jìn)行加密的結(jié)果,使用唯一地分配給所述第二計(jì)算設(shè)備的根密鑰進(jìn)行所述加密。利用所述第二計(jì)算設(shè)備的根密鑰的知識(shí)的所述第三計(jì)算設(shè)備,解密所述現(xiàn)時(shí)值以便獲得由所述第二計(jì)算設(shè)備所選擇的隨機(jī)值。利用由所述第二計(jì)算設(shè)備選擇的所述隨機(jī)值和由所述第一計(jì)算設(shè)備生成的所述第一密鑰組件的知識(shí)的所述第三計(jì)算設(shè)備,發(fā)現(xiàn)在所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備之間建立的所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備不知道的安全關(guān)聯(lián)。
[0009]此外,示例實(shí)施例使用特別適用于,但不限制于,依靠密鑰管理的公開密鑰方法的系統(tǒng)的技術(shù)為端到端加密會(huì)話提供合法地發(fā)現(xiàn)安全關(guān)聯(lián)的方法,包括但不限制于密鑰和其它加密數(shù)據(jù)。例如,可依照實(shí)現(xiàn)不對稱的相互認(rèn)證的密鑰交換和/或基于迪菲一赫爾曼(Diffie-Hellman)的任何密鑰交換的系統(tǒng)和協(xié)議來使用實(shí)施例。特別地,雖然滿足各種遵從性要求,但是所提出的覆蓋(overlay)過程是不可檢測的。應(yīng)當(dāng)了解的是,雖然實(shí)施例特別適合于因特網(wǎng)協(xié)議多媒體子系統(tǒng)(MS)環(huán)境,但是這樣的實(shí)施例不旨在被這樣限制。也就是說,實(shí)施例通常適用于任何合適的希望提供合法的安全關(guān)聯(lián)發(fā)現(xiàn)特征的通信系統(tǒng)。僅通過示例的方式,另一種通信系統(tǒng)(其中這樣的技術(shù)可被應(yīng)用)是基于IMS信令框架或任何其它信令框架的電話會(huì)議系統(tǒng)。
[0010]這些以及其它的目標(biāo)、特征和優(yōu)勢從以下結(jié)合附圖閱讀的示例性實(shí)施例的詳細(xì)描述中將顯而易見。
【專利附圖】
【附圖說明】
[0011]圖1示出基于客戶端的密鑰傳遞方法。
[0012]圖2示出網(wǎng)絡(luò)協(xié)助的密鑰傳遞方法。
[0013]圖3示出基于身份的認(rèn)證密鑰交換方法。
[0014]圖4示出根據(jù)實(shí)施例的用于合法發(fā)現(xiàn)包括現(xiàn)時(shí)值交換的會(huì)話密鑰的方法。
[0015]圖5示出根據(jù)實(shí)施例的用于合法發(fā)現(xiàn)包括現(xiàn)時(shí)值交換的會(huì)話密鑰的呼叫流程。
[0016]圖6示出根據(jù)實(shí)施例的用于在電話會(huì)議環(huán)境中合法發(fā)現(xiàn)包括現(xiàn)時(shí)值交換的會(huì)話密鑰的方法。
[0017]圖7示出適合實(shí)施根據(jù)實(shí)施例的方法和協(xié)議中的一個(gè)或多個(gè)的數(shù)據(jù)網(wǎng)絡(luò)和通信(計(jì)算)設(shè)備的通用硬件結(jié)構(gòu)?!揪唧w實(shí)施方式】
[0018]本文所使用的短語“多媒體通信系統(tǒng)”通常定義為能夠通過媒體平面?zhèn)鬏斠环N或多種類型的媒體的任何通信系統(tǒng),媒體包括但不限制于,基于文本的數(shù)據(jù)、基于圖形的數(shù)據(jù)、基于語音的數(shù)據(jù)和基于視頻的數(shù)據(jù)。
[0019]本文所使用的短語“媒體平面”通常定義為所述多媒體通信系統(tǒng)的功能部分,依靠該功能部分在呼叫會(huì)話中可在兩個(gè)或多個(gè)主體之間交換所述一種或多種類型的媒體。這與“控制平面”形成對比,“控制平面”是所述多媒體通信系統(tǒng)的功能部分,為了建立呼叫會(huì)話依靠該功能部分來執(zhí)行呼叫協(xié)商/調(diào)度。本發(fā)明的技術(shù)可使用的媒體平面應(yīng)用的示例包括但不限制于,基于IP的語音(VoIP)、即時(shí)消息傳送(頂)、視頻/音頻頂、視頻共享、和基于IP的視頻。應(yīng)當(dāng)理解的是,所述媒體平面包括應(yīng)用層業(yè)務(wù)。然而,本文所描述的合法安全關(guān)聯(lián)發(fā)現(xiàn)技術(shù)可被應(yīng)用于通信系統(tǒng)的任何平面或任何層。
[0020]本文所使用的術(shù)語“密鑰”概括地定義為為了例如,但不限制于,實(shí)體認(rèn)證、隱私、消息完整性等目的加密協(xié)議的輸入。
[0021]本文所使用的短語“安全關(guān)聯(lián)”概括地指通信環(huán)境中的安全定義,其中兩個(gè)或多個(gè)主體和/或設(shè)備可通過通信環(huán)境進(jìn)行通信。在一個(gè)示例中,所述安全定義可包括但不限制于,會(huì)話密鑰。
[0022]本文所使用的“客戶端”概括地可指通信設(shè)備或某種其它的計(jì)算系統(tǒng)或設(shè)備,其允許一個(gè)或多個(gè)用戶、主體或?qū)嶓w在通信環(huán)境中與一個(gè)或多個(gè)其它的通信設(shè)備或其它的計(jì)算系統(tǒng)(例如另一個(gè)客戶端)通信。本文所使用的“客戶端”也可概括地指計(jì)算設(shè)備上的應(yīng)用或其它的計(jì)算機(jī)程序。因此,雖然下面可將所述術(shù)語客戶端稱為設(shè)備,但是應(yīng)當(dāng)理解所述術(shù)語客戶端不限制于硬件而是可以是軟件,或及其組合。
[0023]本文所使用的“通信會(huì)話”概括地指為了在兩個(gè)通信設(shè)備之間通信的目的在至少所述兩個(gè)通信設(shè)備或其它的計(jì)算系統(tǒng)(例如客戶端)之間的連接。因此,本文所使用的“端到端”通信會(huì)話概括地指從一個(gè)設(shè)備(例如客戶端)到另一個(gè)設(shè)備(例如客戶端)的整個(gè)連接路徑。此外,參與所述通信會(huì)話的兩個(gè)或多個(gè)客戶端可稱為“端點(diǎn)設(shè)備”或簡稱“端點(diǎn)”。然而,本文所描述的合法的安全關(guān)聯(lián)發(fā)現(xiàn)技術(shù)可被應(yīng)用到任何計(jì)算或通信設(shè)備,并且不僅僅應(yīng)用于客戶端。
[0024]本文所使用的“應(yīng)用”(或“應(yīng)用程序”)概括地指一個(gè)或多個(gè)計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序被執(zhí)行時(shí),所述計(jì)算機(jī)程序執(zhí)行一個(gè)或多個(gè)給定的功能。
[0025]本文所使用的術(shù)語“合法的”概括地定義為滿足一個(gè)或多個(gè)遵從性要求或與政府或私有權(quán)威實(shí)體相關(guān)聯(lián)的準(zhǔn)則。這樣的權(quán)威實(shí)體可作為法律實(shí)施功能或非法律實(shí)施功能。也就是說,所述術(shù)語合法的不是為了限制于法律實(shí)施而是在非法律實(shí)施的意義上也可包括遵從。
[0026]為方便起見,詳細(xì)描述分為如下:部分I描述可以應(yīng)用示例實(shí)施例的示例性用例和提供商;部分II描述現(xiàn)有的端到端密鑰管理方法。部分III描述現(xiàn)有的密鑰解決(keyresolution)方法;部分IV描述在因特網(wǎng)協(xié)議(IP)多媒體子系統(tǒng)(MS)環(huán)境的上下文中根據(jù)示例實(shí)施例的合法的安全關(guān)聯(lián)發(fā)現(xiàn)解決方案;部分V描述根據(jù)示例實(shí)施例的用于實(shí)現(xiàn)一種或多種合法的安全關(guān)聯(lián)發(fā)現(xiàn)方法的示例性計(jì)算系統(tǒng)。[0027]1.示例性用例和提供商
[0028]此處所描述的示例性用例(示例實(shí)施例可應(yīng)用于所述用例)包括端到端加密的客戶端到客戶端的通信會(huì)話。僅通過示例的方式,并且不是以任何方式限制,這樣的用例包括:
[0029]1.基于文本的頂或即時(shí)消息傳送應(yīng)用。
[0030]2.基于因特網(wǎng)協(xié)議端到端的多媒體消息傳送應(yīng)用(包括音頻和/或視頻)。
[0031]3.通過多種分組交換接入網(wǎng)絡(luò)的基于IP的語音。
[0032]4.通過多種分組交換接入網(wǎng)絡(luò)的基于IP的視頻。
[0033]5.包括一組參與者的文本和多媒體應(yīng)用的會(huì)議。
[0034]這些示例性用例也同樣適用于各種提供商。通過示例的方式,可將提供商分成三類:
[0035]1.服務(wù)提供商可以是企業(yè)(其中信息主管或CIO控制所述應(yīng)用的遷出、管理和運(yùn)行)。需要注意的是企業(yè)可以是公司或政府實(shí)體。
[0036]2.服務(wù)提供商可以是應(yīng)用提供商(例如,Skype、Googletalk等)并且在網(wǎng)絡(luò)和類型之間將這樣的服務(wù)提供為“在上層”。
[0037]3.服務(wù)提供商可以是網(wǎng)絡(luò)提供商(例如,Verizon無線、AT&T、Sprint、T-MobiIe>Vodafone 等)。
[0038]依照示例實(shí)施例所描述的問題和解決方案的示例性范圍同樣適用于所有提供商并且特別是不清楚端到端通信類型或應(yīng)用的提供商。
[0039]I1.端到端密鑰管理
[0040]假定端到端IP會(huì)話,并且希望提供安全端到端,已經(jīng)設(shè)計(jì)了多個(gè)端到端密鑰管理方案。通過示例的方式,可將大部分這樣的方案分成三類:(1)基于客戶端的密鑰傳遞協(xié)議;(2)網(wǎng)絡(luò)協(xié)助的密鑰傳遞協(xié)議;以及(3)不對稱相互認(rèn)證的密鑰交換協(xié)議。
[0041](I)基于客戶的密鑰傳遞協(xié)議。如在圖1的協(xié)議100中所示,被稱為“發(fā)起者”(例如,發(fā)起特定通信會(huì)話的客戶端)的客戶端設(shè)備102-1使用現(xiàn)有的逐跳(hop-by-hop)的安全消息傳送方案,其可用于使信令安全以便通過一個(gè)或多個(gè)網(wǎng)絡(luò)元件104-1、104-2將“安全密鑰”傳遞到被稱為“響應(yīng)者”的客戶端設(shè)備102-R (例如響應(yīng)于所述特定通信會(huì)話的發(fā)起者的客戶端)。然后,在所述通信會(huì)話中的端點(diǎn),即發(fā)起者和響應(yīng)者,使用所述密鑰(或其派生)來確保會(huì)話安全。在圖1中所示的示例基于會(huì)話描述協(xié)議(SDP),SDP是用于為安全實(shí)時(shí)傳輸協(xié)議協(xié)商密鑰的協(xié)議,參見例如2006年7月的互聯(lián)網(wǎng)工程任務(wù)組(IETF)請求注解(RFC) 4568會(huì)話描述協(xié)議(SDP)的“用于媒體流的安全描述”,其公開的全部內(nèi)容通過引用被包含于此。在這種情況下,客戶端102-1通過網(wǎng)絡(luò)(端到端)向客戶端102-R發(fā)送包括安全密鑰的SDP提議(offer),并且客戶端102-R用也包括安全密鑰的SDP應(yīng)答(answer)來響應(yīng),由此建立了用于確保與所述特定會(huì)話相關(guān)聯(lián)的通信的安全的密鑰對。容易看到的是,當(dāng)設(shè)置所述會(huì)話時(shí),包括在傳遞所述安全密鑰中的所有主體具有訪問所述密鑰的全部權(quán)限,并且因此知道兩個(gè)客戶端之間會(huì)話的秘密。
[0042](2)網(wǎng)絡(luò)協(xié)助的密鑰傳遞協(xié)議。如在圖2的協(xié)議200中所示,在提供商網(wǎng)絡(luò)中(或數(shù)據(jù)中心),客戶端設(shè)備202-1 (發(fā)起者)為給定的會(huì)話從服務(wù)器204 (密鑰管理服務(wù)器或KMS)請求密鑰,緊接著從該服務(wù)器204向發(fā)起者遞送該密鑰和該密鑰的“指針”(以票據(jù)或令牌的形式)。然后,發(fā)起者使用可用于使信令安全的現(xiàn)有的逐跳安全消息傳送方案與客戶端設(shè)備202-R共享“指針”,隨后所述響應(yīng)者通過向所述服務(wù)器204提供該“指針”來從該服務(wù)器204獲得密鑰。這樣的網(wǎng)絡(luò)協(xié)助協(xié)議的兩個(gè)示例包括:2005年7月的IETF RFC4120,“Kerberos網(wǎng)絡(luò)認(rèn)證服務(wù)”中所描述的Kerberos系統(tǒng),和2011年3月的IETF RFC6043 “在多媒體互聯(lián)網(wǎng)密鑰交換中密鑰分發(fā)的基于票據(jù)模式”中所描述的MIKEY-票據(jù)系統(tǒng),其公開的全部內(nèi)容通過引用的方式被包括于此。應(yīng)當(dāng)了解的是,所述KMS具有安全密鑰的全部知識(shí),并且因此知道兩個(gè)客戶端之間會(huì)話的秘密。[0043](3)使用不對稱公開密鑰協(xié)議的認(rèn)證密鑰交換。在這種類型的協(xié)議中,發(fā)起者和響應(yīng)者每個(gè)都擁有密鑰(私有或公開)對。典型的示例包括使用它們的私有密鑰來認(rèn)證而公開密鑰來彼此尋址,以及用于密鑰交換的公開密鑰。圖3的協(xié)議300示出IBAKE(基于身份的認(rèn)證密鑰交換)協(xié)議以及不對稱公開密鑰方法的使用。所述IBAKE協(xié)議在2009年2月17日提交的序號(hào)為12/372,22的美國專利申請中被描述,其公開的全部內(nèi)容通過引用的方式被包含于此。
[0044]如在圖3的協(xié)議300中所示,IBAKE協(xié)議定義在兩個(gè)端點(diǎn):發(fā)起者A(客戶端302-A)和響應(yīng)者B (客戶端302-B)之間的相互認(rèn)證和密鑰交換。發(fā)起者和所述響應(yīng)者每個(gè)都有一對密鑰,即,他們各自的公開和私有密鑰。如同用公開密鑰加密的情況,公開密鑰被用于加密并且所述私有密鑰被用于解密。標(biāo)準(zhǔn)的公開密鑰方法和基于身份的公開密鑰方法之間的基本差異是:在后面的方法中,公開密鑰對應(yīng)于所述“身份”并且相應(yīng)的私有密鑰由信任的服務(wù)器(被稱為密鑰管理服務(wù)器或KMS)生成。
[0045]示例性協(xié)議的主要概念是發(fā)起者和相應(yīng)者彼此認(rèn)證并且使用由所述密鑰管理服務(wù)器(未示出)提供的私有密鑰生成會(huì)話密鑰并且使用交換的密鑰組件生成會(huì)話密鑰,但是該服務(wù)器不能確定該會(huì)話密鑰。
[0046]參見圖3,發(fā)起者A選擇隨機(jī)秘密“x”并且在向所述響應(yīng)者B發(fā)送“xP”前計(jì)算“xP”值(其中P是有限域上的橢圓曲線上的點(diǎn))。類似地,響應(yīng)者選擇隨機(jī)秘密“y”并且在向所述發(fā)起者A發(fā)送“yP”前計(jì)算“yP”值。使用“x”和“yP”,發(fā)起者計(jì)算“xyP”。類似地,使用“7”和“逆”,所述響應(yīng)者計(jì)算“^?”。這樣允許兩個(gè)主體在用于所述通信會(huì)話的密鑰上達(dá)成一致。然而,密鑰管理服務(wù)器(KMS)有訪問“xP”和“yP”的權(quán)限但是不能計(jì)算“xyP”。
[0047]應(yīng)當(dāng)意識(shí)到的是,在所有上述列舉的(三個(gè))密鑰傳遞/交換協(xié)議中,不依賴于所述通信類型或提供商,有監(jiān)管和/或遵從性要求,所述提供商通過監(jiān)管和/遵從性要求可合法地要求發(fā)現(xiàn)和共享所述端到端安全密鑰(稱為“合法的發(fā)現(xiàn)”)。
[0048]對協(xié)議類型I和2來說,這種要求可相對容易地被滿足。在協(xié)議類型I中(圖1),感興趣的安全密鑰在具有逐跳保護(hù)的網(wǎng)絡(luò)節(jié)點(diǎn)之間被傳輸,并且因此被包括在所述傳輸中的所述網(wǎng)絡(luò)節(jié)點(diǎn)(例如,圖1的網(wǎng)絡(luò)元件104-1、104-2)所知。在協(xié)議類型2中(圖2),會(huì)話密鑰由服務(wù)器(例如,圖2的KMS204)生成并且因此對提供商來說是可獲得的。
[0049]但是對協(xié)議類型3 (圖3)來說,當(dāng)提供商僅是所述密鑰管理事務(wù)處理的使能者(enabler)但不是在該事務(wù)處理中的參與者時(shí),這種合法的發(fā)現(xiàn)問題是特別富有挑戰(zhàn)的。簡言之,問題是發(fā)現(xiàn)端到端安全密鑰,特別是當(dāng)不對稱公開密鑰協(xié)議用于端到端密鑰管理時(shí)。此外,在通信會(huì)話期間,這樣的發(fā)現(xiàn)是需要不顯眼的并且無法察覺的。
[0050]II1.不對稱公開密鑰協(xié)議中的密鑰解決方案[0051]這部分描述在不對稱公開密鑰協(xié)議中用于端到端密鑰管理的密鑰解決方案的現(xiàn)有方法。
[0052](I)通用協(xié)議描述
[0053]這里我們特別關(guān)注于使用迪菲一赫爾曼類型的密鑰交換協(xié)議(參見,例如1999年6月的IETF RFC2631 “迪菲一赫爾曼密鑰協(xié)商方法”,其公開的全部內(nèi)容通過引用的方式被包含于此)。如由迪菲(Diffie)和赫爾曼(Hellman)在他們里程碑式論文(W.Diffie,M.Heilman, “密碼學(xué)中的新方向(New Directions in Cryptography)”,信息理論的 IEEE事務(wù)處理(IEEE Transactions on Information Theory),第 IT-22 卷,1976 年 11 月,第644 - 654頁,其公開的全部內(nèi)容通過引用的方式被包含于此)中經(jīng)典地描述通過在有限域的乘法群上對素?cái)?shù)P求模來描述所述協(xié)議。然而,公知的是,迪菲一赫爾曼協(xié)議可被擴(kuò)展值任何組,但是協(xié)議的安全依賴于組的屬性。
[0054]在這個(gè)協(xié)議中,兩個(gè)端點(diǎn)(A和B)中的每個(gè)公開地選擇已知的值以用于G(生成元)和P (大素?cái)?shù)),使得G是非零整數(shù)的乘法群對大素?cái)?shù)P求模的生成元。
[0055]為執(zhí)行所述協(xié)議,A選擇隨機(jī)秘密X并且計(jì)算a=G~x (mod P)。類似地,B選擇隨機(jī)秘密y并且計(jì)算b=G~y (mod P)。應(yīng)當(dāng)理解的是,秘密x和y是小于P的隨機(jī)正整數(shù)。
[0056]然后,A向B發(fā)送值a,并且B向A發(fā)送值b。
[0057]當(dāng)接收到值b時(shí),A計(jì)算k=b*x(mod P),類似地,當(dāng)接收到值a時(shí),B計(jì)算k=a*y (modP)。容易看到的是,k= (a) *y (mod P) = (b) *x (mod P),并且k是相互計(jì)算的公共會(huì)話密鑰。
[0058](2)迪菲一赫爾曼在IBAKE中的特殊使用
[0059]IBAKE協(xié)議(在圖3中所示)使用有限域上的橢圓曲線上的點(diǎn)的組,并且因此依賴于有限域上的橢圓曲線中的點(diǎn)的組上相應(yīng)的迪菲一赫爾曼問題。每個(gè)端點(diǎn)(例如,A)有已知的公開身份,該身份可由任何其它的端點(diǎn)(例如,B)使用以便創(chuàng)建用于A的公開密鑰(PUB_A)。類似地,知道了 B的公開身份,任何其它的端點(diǎn)能夠創(chuàng)建PUB_B。
[0060]偶爾地并且周期性地,每個(gè)端點(diǎn)(例如,A)聯(lián)系特定的基于網(wǎng)絡(luò)的功能、密鑰管理服務(wù)器(KMS),并且接收與相應(yīng)的公開密鑰(PUB_A)計(jì)算地相關(guān)聯(lián)的特別計(jì)算的私有密鑰(例如,PR_A)。類似地,其它端點(diǎn)執(zhí)行同樣的動(dòng)作。因此,每個(gè)端點(diǎn)持有公開-私有密鑰對,盡管所述公開密鑰是基于端點(diǎn)的身份。
[0061]為執(zhí)行所述協(xié)議,每個(gè)端點(diǎn)選擇隨機(jī)的秘密數(shù)。假設(shè)X是由A選擇的隨機(jī)數(shù),并且假設(shè)y是由B選擇的隨機(jī)數(shù)。
[0062]在第一步驟中,A計(jì)算xP,其中P在橢圓曲線E上公開已知的點(diǎn)(S卩,使用加法定律將P自加X次),使用B的公開密鑰PUB_B加密xP并向B發(fā)送。在這個(gè)步驟中,加密是指在Dan Boneh, Matthew K.Franklin的“來自Weil配對的基于身份的加密(Identity-Based Encryption from the Weil Pairing),,,高級(jí)密石馬學(xué)(Advances inCrypto logy )-CRYPT02001會(huì)議(2001),以及在ffiTF RFC5408和5409中所描述的基于身份的加密,其公開的全部內(nèi)容通過引用的方式被包含于此。
[0063]當(dāng)接收到已加密的消息時(shí),B解密該消息并且獲得xP。
[0064]隨后,B計(jì)算yP,并且使用A的公開密鑰PUB_A加密{xP,yP}對,并且然后將其發(fā)送給A。
[0065]當(dāng)接收到這個(gè)消息時(shí),A解密該消息并且獲得yP。隨后,A使用B的公開密鑰加密yP并且將它發(fā)送回B。
[0066]此后,A和B都計(jì)算k=xyP作為會(huì)話密鑰。更具體地,A通過將接收并且解密的yP加到自身X次來計(jì)算k=xyP。類似地,B通過將接收的并且解密的xP加到自身y次來計(jì)算k=xyP0
[0067](3)用于會(huì)話密鑰的合法發(fā)現(xiàn)的中間人密鑰解決方案
[0068]典型并且眾所周知的用于迪菲一赫爾曼密鑰交換的密鑰發(fā)現(xiàn)方法是基于所謂的“中間人”(MitM)方法。在這種方法中,活躍的中間人C將其自身放置在端點(diǎn)A和B之間的通信鏈路中。中間人C向A呈現(xiàn)自己是B,并且向B呈現(xiàn)自己是A。
[0069]中間人C創(chuàng)建它自己的秘密,X’和y’。當(dāng)C從A接收到a時(shí),C用b’=G~y’(modP)響應(yīng),并且類似地向B發(fā)送a,=G~x,(modP)。
[0070]當(dāng)該交換完成時(shí),A和 C 生成 kl=(G~x(modP))*y’ (mod P) = (G~y’(modP))*x) (modP),而 C 和 B 生成 k2=(G~x’(modP)) *y (mod P) = (G~y (modP)) *x’ (mod P)。因此,通過與 A和B維護(hù)兩個(gè)獨(dú)立的安全會(huì)話,活躍的中間人C能夠解密和重新加密A和B之間的通信。
[0071]然而,對一些復(fù)雜的端點(diǎn)設(shè)備來交換代表相互計(jì)算的密鑰的圖像或者簽名,并且意識(shí)到它們實(shí)際上計(jì)算兩個(gè)不同的密鑰是可能的。這將導(dǎo)致所述MitM功能的發(fā)現(xiàn),其中不希望在合法的發(fā)現(xiàn)會(huì)話密鑰中發(fā)現(xiàn)MitM功能。
[0072](4)通過強(qiáng)制創(chuàng)建秘密的密鑰解決方案
[0073]另一種方法強(qiáng)制端點(diǎn)中的至少一個(gè)(例如,A)來創(chuàng)建秘密(X),其中(X)也被包括在會(huì)話密鑰的合法發(fā)現(xiàn)中的復(fù)雜網(wǎng)絡(luò)節(jié)點(diǎn)所知。在這種方案中,端點(diǎn)A不選擇秘密X,而是等待網(wǎng)絡(luò)來發(fā)送特定參數(shù),例如現(xiàn)時(shí)值(N),并且然后將該現(xiàn)時(shí)值連同另一個(gè)與該網(wǎng)絡(luò)共享的秘密(S)—起哈希(hash)。因此,端點(diǎn)A和特定的網(wǎng)絡(luò)節(jié)點(diǎn)都生成x=H(S,N)。隨后,這個(gè)生成的X在迪菲一赫爾曼交換中被用作指數(shù)。
[0074]可以容易看到的是,特定的網(wǎng)絡(luò)節(jié)點(diǎn)能夠計(jì)算k=(G~y (modP))*x(modP),并且因此知道A和B之間的通信鏈路的秘密密鑰。
[0075]然而,通過期望接收鮮值,端點(diǎn)設(shè)備完全感知為合法地發(fā)現(xiàn)所述會(huì)話密鑰的所述網(wǎng)絡(luò)的存在和目的,這是極其不期望的。特別地,這種密鑰發(fā)現(xiàn)解決方案在通信會(huì)話期間是可由合謀的端點(diǎn)設(shè)備檢測的,并且此外只要有合謀的端點(diǎn)設(shè)備就能工作。
[0076](5)到托管服務(wù)器的密鑰傳遞
[0077]另一種方法是基于從網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送到端點(diǎn)設(shè)備的特別的請求。這個(gè)請求強(qiáng)制所述端點(diǎn)設(shè)備將用于加密A-B通信鏈路的計(jì)算的密鑰k或密鑰k的派生上載到基于網(wǎng)絡(luò)的密鑰托管數(shù)據(jù)庫。這種上載通常在具有建立在端點(diǎn)和密鑰托管(escrow)數(shù)據(jù)庫之間的安全隧道的保護(hù)下完成。
[0078]然而,接收這樣的請求的端點(diǎn)設(shè)備清晰地知道密鑰托管數(shù)據(jù)庫的存在,并且因此為了合法發(fā)現(xiàn)會(huì)話密鑰目的的可能監(jiān)聽安全通信是不期望的。
[0079](6)通過“隨機(jī)秘密”的重新生成的密鑰解決方案
[0080]在2011年4月29日提交的、發(fā)明名稱為“安全關(guān)聯(lián)的發(fā)現(xiàn)”的美國專利申請第13/097,184號(hào)中所描述的方法中,該專利申請公開的全部內(nèi)容通過引用的方式被包含于此,密鑰發(fā)現(xiàn)問題依靠在通信會(huì)話中發(fā)現(xiàn)至少一個(gè)參與者的“隨機(jī)秘密”的提供商。特別地,所述方法工作如下。提供商在客戶端應(yīng)用中嵌入偽隨機(jī)數(shù)生成器(PRG)。運(yùn)營商或應(yīng)用擁有者,例如企業(yè),利用與客戶端身份相關(guān)聯(lián)的秘密數(shù)隨機(jī)種子(S)來預(yù)先配置所述應(yīng)用。這個(gè)隨機(jī)種子通常是隨機(jī)數(shù)或,更具體地是包括至少一個(gè)隨機(jī)數(shù)的一組數(shù)。這種關(guān)聯(lián),即種子和身份,被存儲(chǔ)在由運(yùn)營商或應(yīng)用擁有者(例如企業(yè))管理的服務(wù)器中。當(dāng)應(yīng)用需要生成用于會(huì)話(例如,X)的隨機(jī)數(shù)以便執(zhí)行密鑰交換協(xié)議,例如迪菲一赫爾曼、IBAKE、等等時(shí),調(diào)用PRG。PRG使用種子和確定性的和單調(diào)增加的量,例如時(shí)間戳或外部管理的計(jì)數(shù)器(C),來生成所需的偽隨機(jī)值x。一旦合法的監(jiān)聽被授權(quán),在網(wǎng)絡(luò)中的監(jiān)聽實(shí)體從其他網(wǎng)絡(luò)節(jié)點(diǎn)請求所有的必需信息,而不是從所述端點(diǎn)自身。因此,端點(diǎn)沒有意識(shí)到嘗試的監(jiān)聽。雖然這種方法是不可檢測的,但是在網(wǎng)絡(luò)中該方法包括額外的實(shí)體(即,企業(yè)服務(wù)器)以及在所述客戶中包括特別的軟件來生成/重生成所述“隨機(jī)秘密”。
[0081]IV.改進(jìn)的合法安全關(guān)聯(lián)發(fā)現(xiàn)
[0082]依照示例性實(shí)施例,提供密鑰發(fā)現(xiàn)問題的解決方案,該方案在通信會(huì)話期間依靠在所述兩個(gè)客戶端設(shè)備(端點(diǎn))之間的常規(guī)消息交換期間所交換的現(xiàn)時(shí)值。特別地,所述方法(其將在以下更詳細(xì)地被描述)工作如下。
[0083]如在圖4的基于IBAKE的協(xié)議400中所示,當(dāng)端點(diǎn)(例如,402-A)聯(lián)系KMS (在圖4中未明確示出),并且接收特別計(jì)算的私有密鑰(例如,PR_A)時(shí),該私有密鑰與相應(yīng)的公開密鑰(PUB_A)計(jì)算相關(guān)聯(lián),KMS也包括每個(gè)用戶的根密鑰(RK_A)。這個(gè)根密鑰只被所述KMS和請求所述私有密鑰的所述端點(diǎn)用戶所知。如上述關(guān)于圖3的基于IBAKE協(xié)議所描述的,一旦端點(diǎn)A (這里402-A)需要執(zhí)行該協(xié)議,端點(diǎn)A選擇隨機(jī)秘密X。隨后,端點(diǎn)A使用RK_A和這個(gè)隨機(jī)秘密X生成A_Nonce。換句話說,依照示例性實(shí)施例,A_Nonce代表隨機(jī)秘密數(shù)X的加密值。用于生的示例性方法如下:
[0084]A_Nonce=AESEK A(x)
[0085]其中AES是由美國國家標(biāo)準(zhǔn)技術(shù)研究院(NIST)于2001年11月26日發(fā)布于FIPSPUB197所指定的高級(jí)加密標(biāo)準(zhǔn)算法,其公開的全部內(nèi)容通過引用的方式被包含于此。
[0086]端點(diǎn)A (402-A)隨后將這個(gè)A_Nonce包括在向端點(diǎn)B (在圖4中消息I)發(fā)送的第一消息中。類似地,B (402-B)選擇y并且生成B_Nonce (B_Nonce=AESEK B (y))并且將接收的A_Nonce和這個(gè)生成的B_Nonce包括在向A發(fā)送(在圖4中消息2)的消息中。
[0087]最后,端點(diǎn)A (402-A)將所述接收的B_Nonce包括在第三消息中(在圖4中消息3)。經(jīng)由消息4來執(zhí)行驗(yàn)證。
[0088]應(yīng)當(dāng)了解的是,對于每個(gè)端點(diǎn),從相應(yīng)的端點(diǎn)接收的現(xiàn)時(shí)值的值與所述隨機(jī)數(shù)是不可區(qū)別的,并且因此它被當(dāng)作既不需要處理也不需要識(shí)別的現(xiàn)時(shí)值。
[0089]一旦合法的監(jiān)聽被授權(quán),網(wǎng)絡(luò)中的監(jiān)聽實(shí)體(在圖4中未明確示出)從KMS請求所有必需的信息(即,私有密鑰和根密鑰),其中通信會(huì)話中涉及的端點(diǎn)客戶端不知道所述必需的信息。然后,監(jiān)聽實(shí)體使用所述接收的根密鑰來獲得隨機(jī)秘密,并且然后,使用獲得的隨機(jī)秘密和在迪菲一赫爾曼交換中交換的剩余密鑰組件,監(jiān)聽實(shí)體生成會(huì)話密鑰。
[0090]通常,基于迪菲一赫爾曼的協(xié)議的保密性依賴于客戶端自己擁有的隨機(jī)秘密和由相應(yīng)的端點(diǎn)從其自己擁有的隨機(jī)秘密所生成的組件的值的客戶端知識(shí)。在圖4所示的示例中,端點(diǎn)A (402-A)創(chuàng)建并且為隨機(jī)數(shù)X保持秘密,且端點(diǎn)B (402-B)創(chuàng)建并且為隨機(jī)數(shù)y保持秘密。端點(diǎn)中的每個(gè)處理他們各自的隨機(jī)秘密,具體地將該數(shù)乘以代表在橢圓曲線上的點(diǎn)的P的值。該結(jié)果值xP和yP通過端到端信令來交換。xP和yP兩者的知識(shí)不能幫助重新創(chuàng)建表示為xyP的期望的會(huì)話密鑰。但是,知道它自己擁有的秘密(A的X以及B的y)的每個(gè)端點(diǎn),能夠計(jì)算期望的會(huì)話密鑰。對于端點(diǎn)A,會(huì)話密鑰為k=x*yP,以及對于所述端點(diǎn)B該密鑰為k=y*xP。
[0091]例如,假設(shè)在圖4中端點(diǎn)B (402-B)作為監(jiān)聽的目標(biāo)。因此,法律實(shí)施監(jiān)視代理節(jié)點(diǎn)(LEMF)從KMS獲得RK_B和PR_B。一旦B參與通信,通信網(wǎng)絡(luò)節(jié)點(diǎn)(例如,P/S-CSCF)監(jiān)聽并且向LEMF (監(jiān)聽服務(wù)器)報(bào)告MS消息事件。備選地,LEMF能夠在不使用P/S-CSCF的情況下直接監(jiān)聽在端點(diǎn)之間發(fā)送的所述IMS消息事件。需要注意的是,SIP指會(huì)話發(fā)起協(xié)K(IETF RFC3261,其公開的全部內(nèi)容通過引用的方式被包含于此)并且P/S-CSCF指代理或者服務(wù)呼叫會(huì)話控制功能。LEMF從監(jiān)聽的MS信令提取與加密(即,xP和B_Nonce)相關(guān)的信息,并且使用這個(gè)提取的信息和RK_B和PR_B,LEMF解密消息并且生成會(huì)話密鑰k=xyP。
[0092]具體地,在這個(gè)示例中,LEMF將處理交換的消息I (圖4)。知道端點(diǎn)B的私有密鑰(PR_B)的情況下,LEMF將解密IBE加密的有效載荷,該IBE加密的有效載荷最初由端點(diǎn)A用B的公開密鑰(PUB_B)來加密。LEMF將從這個(gè)有效載荷中獲得xP值。然后,LEMF將處理交換的消息3 (圖4)。知道所述PR_B的情況下,LEMF將解密IBE加密的有效載荷,該IBE加密的有效載荷最初由端點(diǎn)A用B的公開密鑰(PUB_B)進(jìn)行加密。LEMF將從這個(gè)有效載荷中獲得B_Nonce值。然后,LEMF將使用已知的RK_B來解密B_Nonce值,并且獲得值y。最后,知道xP和y的情況下,LEMF將生成會(huì)話密鑰為k=x*yP。
[0093]需要注意的是,LEMF從其它的網(wǎng)絡(luò)節(jié)點(diǎn)請求所有必需的信息,而不是從端點(diǎn)本身。因此,端點(diǎn)沒有意識(shí)到嘗試的監(jiān)聽。此外,這種信息交換(其中監(jiān)聽實(shí)體從KMS獲得信息)在通信會(huì)話的實(shí)際開始前可被執(zhí)行任何次數(shù)。這樣顯著地降低與網(wǎng)絡(luò)元件之間所需的協(xié)調(diào)相關(guān)的復(fù)雜性。
[0094]現(xiàn)在參照圖5,示出根據(jù)圖4的基于IBAKE的實(shí)施例的用于合法發(fā)現(xiàn)包括現(xiàn)時(shí)值交換的會(huì)話密鑰的示例性呼叫流程。需要注意的是,為便于理解和一致性,使用相同的附圖標(biāo)記對所述呼叫流中如在圖4中所示端點(diǎn)元件(402-A和402-B)進(jìn)行編號(hào),并且監(jiān)聽實(shí)體被示為監(jiān)聽服務(wù)器502并且KMS被示為KMS服務(wù)器504。也需要注意的是,本發(fā)明描述的合法安全關(guān)聯(lián)發(fā)現(xiàn)技術(shù)不限制于使用任何的特定協(xié)議,并且因此在這個(gè)實(shí)施例中基于IBAKE協(xié)議被用作示例的目的。
[0095]如在圖5中所示,如以上在圖3的上下文中所描述的,步驟1、2和3代表端點(diǎn)A(402-A)和端點(diǎn)B (402-B)之間交換的典型IBAKE協(xié)議。步驟4是驗(yàn)證消息。如果A或者B的目的是合法監(jiān)聽,那么監(jiān)聽服務(wù)器502監(jiān)視并且記錄這些信令事務(wù)處理。
[0096]在圖5的步驟5和6中,監(jiān)聽服務(wù)器502(其是以上在圖4的說明中所描述的LEMF)從所述KMS504請求用于監(jiān)聽目標(biāo)(例如,B)的私有密鑰(或多個(gè)私有密鑰)和根密鑰。這個(gè)事務(wù)處理可在實(shí)際的IBAKE事件之前被完成。在這種情況下,當(dāng)A和B開始通信時(shí),在監(jiān)聽服務(wù)器502處所述目標(biāo)的(多個(gè))私有密鑰和根密鑰已經(jīng)可獲得。
[0097]備選地,監(jiān)聽服務(wù)器502在端點(diǎn)之間將消息的全部拷貝提供給KMS,并且希望具有用于目標(biāo)端點(diǎn)的所有所需的秘密參數(shù)的知識(shí)的KMS,使用相同的技術(shù)得到會(huì)話密鑰并且將會(huì)話密鑰向所述LEMF返回。
[0098]因此,當(dāng)與在上述引用的序號(hào)為13/097,184的美國專利申請所描述的方法相比時(shí),在圖4和5的上下文中所描述的本發(fā)明的基于現(xiàn)時(shí)值的解決方案有利地不包括企業(yè)服務(wù)器,在客戶端中也不包括的特定軟件以生成/重新生成所述“隨機(jī)秘密”。
[0099]因此,簡而言之本發(fā)明所詳細(xì)描述的內(nèi)容,以上在圖3中所描述的IBAKE協(xié)議中,當(dāng)?shù)谝豢蛻舳?端點(diǎn))從第二客戶端(端點(diǎn))接收yP時(shí),第一客戶不需要知道y。第一客戶端只需要將接收到的yP乘以第一客戶知道并且保密的x。對第二客戶端同樣也是如此,S卩,當(dāng)?shù)诙蛻舳私邮誼p時(shí),第二客戶只需將xP乘以第二客戶知道并且保密的y。在兩邊的這種乘法的結(jié)果是xyP,xyP是會(huì)話密鑰(也稱為安全關(guān)聯(lián))。
[0100]也就是說,在IBAKE協(xié)議中,在IBE加密下xP和yP在兩個(gè)方向上進(jìn)行交換。第一客戶端使用第二客戶端的公開密鑰加密xP。只有第二客戶端能夠?qū)P進(jìn)行解密,這是因?yàn)橹挥械诙蛻舳司哂邢鄳?yīng)于其公開密鑰的私有密鑰。類似地,第二客戶端通過使用第一客戶端的公開密鑰的IBE加密來向第一客戶端發(fā)送密鑰組件yP。只有第一客戶端能解密yP,這是因?yàn)榈谝豢蛻舳擞邢鄳?yīng)于其公開的公開密鑰的私有密鑰。當(dāng)兩個(gè)客戶端向彼此返回所接收的密鑰組件時(shí),他們隱含地認(rèn)證對方。
[0101]有利地,本發(fā)明所描述的示例性實(shí)施例提供在IBAKE協(xié)議(如在圖4和5中所示)中現(xiàn)時(shí)值的使用。也就是說,當(dāng)?shù)谝豢蛻舳藢⑺拿荑€組件xP向第二客戶端發(fā)送時(shí),第一客戶端也發(fā)送隨機(jī)秘密X的加密值。這就是上述所指的A_Nonce。類似地,當(dāng)?shù)诙蛻舳藢⑺拿荑€組件yP向第一客戶端發(fā)送時(shí),第二客戶端也將該密鑰組件與它自己擁有的隨機(jī)秘密y的加密值伴隨在一起。換句話說,在本發(fā)明的協(xié)議中,基于這個(gè)隨機(jī)秘密,隨機(jī)秘密的加密值伴隨在密鑰組件中,并且這種結(jié)合總是通過使用相應(yīng)的對端的公開密鑰進(jìn)行IBE加密。
[0102]因此,為了恢復(fù)會(huì)話密鑰,監(jiān)聽器經(jīng)歷兩種級(jí)別保護(hù):(1)為了解密包括密鑰組件和相關(guān)聯(lián)的現(xiàn)時(shí)值的“密鑰膠囊(keying capsule)”,以及為了接收來自相應(yīng)節(jié)點(diǎn)的其它密鑰組件,獲得目標(biāo)的私有密鑰;以及(2)解密與目標(biāo)的隨機(jī)秘密相關(guān)聯(lián)的現(xiàn)時(shí)值,即恢復(fù)隨機(jī)秘密自身。在具有隨機(jī)秘密或目標(biāo)和其它相應(yīng)客戶端的密鑰組件的情況下,監(jiān)聽器能夠復(fù)制會(huì)話密鑰。
[0103]我們現(xiàn)在轉(zhuǎn)向群設(shè)置(group setting),例如電話會(huì)議環(huán)境。在電話會(huì)議中,一群參與者交換密鑰資料并且商定群密鑰。特別地,迪菲一赫爾曼密鑰交換已經(jīng)被擴(kuò)展到群設(shè)置(參見,例如,Burmester和Desmedt的“安全和有效的會(huì)議密鑰分配系統(tǒng)(A secure andefficient conference key distribution system),,,94 年歐洲力口密(Eurocrypt)會(huì)議錄第LNCS的950卷,第275-286頁,Springerl995,其公開的全部內(nèi)容通過引用的方式被包含于此),并且此外IBAKE已經(jīng)被擴(kuò)展到在群設(shè)置中處理認(rèn)證密鑰交換(參見,例如,2009年8月28日提交的序號(hào)為12/549,907的美國專利申請,其公開的全部內(nèi)容通過引用的方式被包含于此)。需要注意的是,在這個(gè)示例中,短語“群設(shè)置”指多于兩個(gè)的用戶的群,并且協(xié)議允許所有用戶在不安全的環(huán)境中交換信息并且交換如適用于,但不限制于,會(huì)議系統(tǒng)的“群密鑰”。
[0104]圖6示出根據(jù)實(shí)施例的用于在電話會(huì)議環(huán)境中合法的發(fā)現(xiàn)包括現(xiàn)時(shí)值的會(huì)話密鑰交換的方法600。特別地,圖6示出使用IBAKE的群密鑰交換。在這個(gè)設(shè)置中,中央?yún)f(xié)調(diào)服務(wù)器604 (被稱為會(huì)議安全服務(wù)器或會(huì)議服務(wù)器)認(rèn)證并且授權(quán)每個(gè)用戶(設(shè)備602-1到602-N)來參加群密鑰交換。然而,中央?yún)f(xié)調(diào)服務(wù)器604不知道從IBAKE計(jì)算得到的群密鑰。但是,由于遵從性和其它管控要求,會(huì)議提供商通常需要發(fā)現(xiàn)群密鑰。[0105]如圖所示的,每個(gè)用戶單獨(dú)地與會(huì)議服務(wù)器執(zhí)行IBAKE。這允許服務(wù)器來確保在呼叫中只有認(rèn)證和授權(quán)的參與者被允許。隨后,服務(wù)器在呼叫中與每個(gè)參與者共享迪菲一赫爾曼密鑰組件,因此允許每個(gè)參與者計(jì)算另外的密鑰組件并且與其余的參與者(通過服務(wù)器)共享。使用初等群論,可以容易看出,所有參與者能夠計(jì)算相同的群密鑰但是會(huì)議服務(wù)器將不能夠確定S鑰。協(xié)議在圖6中不為606。
[0106]如上所述,基于現(xiàn)時(shí)值的合法的密鑰發(fā)現(xiàn)技術(shù)也可以按簡單的方式被擴(kuò)展為這種設(shè)置。依照這樣的實(shí)施方式,應(yīng)當(dāng)了解的是,與參與者相關(guān)聯(lián)的現(xiàn)時(shí)值如此處所闡述地被生成并且伴隨由參與者生成和傳送的密鑰組件。
[0107]因此,在電話會(huì)議設(shè)置的開始時(shí),每個(gè)參與者與會(huì)議服務(wù)器604交換IBAKE信令。LEMF監(jiān)聽目標(biāo)和會(huì)議服務(wù)器之間的這種信令并且解密由所述目標(biāo)發(fā)送的隨機(jī)秘密。在第二階段,當(dāng)與會(huì)議服務(wù)器交換密鑰組件時(shí),LEMF能夠完整地復(fù)制由目標(biāo)自己完成的所有計(jì)算。因此,LEMF再現(xiàn)會(huì)議會(huì)話密鑰的準(zhǔn)確拷貝。類似地,如果LEMF簡單地將所有信令向KMS轉(zhuǎn)發(fā),那么KMS執(zhí)行該計(jì)算,并且將會(huì)話密鑰向LEMF返回。
[0108]V.示例性計(jì)算系統(tǒng)
[0109]圖7示出根據(jù)示例實(shí)施例的以適合用于在兩個(gè)實(shí)體之間實(shí)施基于現(xiàn)時(shí)值的安全密鑰關(guān)聯(lián)協(xié)議和合法的安全關(guān)聯(lián)發(fā)現(xiàn)的計(jì)算設(shè)備形式的網(wǎng)絡(luò)環(huán)境和通信設(shè)備的通用硬件結(jié)構(gòu)700。
[0110]雖然圖7僅為兩個(gè)示例性實(shí)體示出詳細(xì)的子組件,但是應(yīng)當(dāng)理解的是,其它實(shí)體可具有同樣的配置。因此,按照上述安全密鑰管理協(xié)議和合法的安全關(guān)聯(lián)發(fā)現(xiàn),詳細(xì)示出的兩個(gè)實(shí)體可以是發(fā)起者客戶端設(shè)備402-A (第一主體或A)和響應(yīng)者客戶端設(shè)備402-B (第二主體或B)。然而,監(jiān)聽服務(wù)器(502)、KMS (504)、功能元件、其它的客戶端設(shè)備(主體)和其它服務(wù)器可用如圖7的計(jì)算設(shè)備所示的同樣結(jié)構(gòu)來實(shí)施。因此,通過示例的方式,在圖7中示出監(jiān)聽服務(wù)器720和KMS722,并且被理解為具有如在設(shè)備702和704中所示的同樣的計(jì)算結(jié)構(gòu)。然而,應(yīng)當(dāng)理解的是,為了簡單的目的,所有可參與此處所描述的協(xié)議的計(jì)算設(shè)備(通信設(shè)備)未在圖7中示出。同樣地,在會(huì)議呼叫實(shí)施方式中,會(huì)議參與者(設(shè)備602-1到602-N)和會(huì)議服務(wù)器(604)可使用如在圖7的計(jì)算設(shè)備中所示的同樣結(jié)構(gòu)來實(shí)現(xiàn)。
[0111]如圖所示,被標(biāo)示為702的A的計(jì)算設(shè)備和被標(biāo)示為704的B的計(jì)算設(shè)備經(jīng)由網(wǎng)絡(luò)706進(jìn)行耦合。網(wǎng)絡(luò)可以是任何網(wǎng)絡(luò),其中設(shè)備能夠通過該網(wǎng)絡(luò)進(jìn)行通信,例如,如在上述所描述的實(shí)施例中,網(wǎng)絡(luò)706可包括公開訪問的廣域通信網(wǎng)絡(luò),例如由網(wǎng)絡(luò)運(yùn)營商(例如,Verizon, AT&T、Sprint)所運(yùn)營的移動(dòng)通信網(wǎng)絡(luò)。然而,實(shí)施例不限制于特定類型的網(wǎng)絡(luò)。通常,設(shè)備可以是客戶端機(jī)器。參與本發(fā)明所描述的協(xié)議的主體可使用的客戶端設(shè)備的示例可包括但不限制于,蜂窩電話、智能手機(jī)、桌面電話、個(gè)人數(shù)字助理、便攜計(jì)算機(jī)、個(gè)人計(jì)算機(jī)等。還需記得的是,如上所闡述的,客戶端也可以是計(jì)算設(shè)備(例如,智能手機(jī))上的應(yīng)用。然而,設(shè)備中的一個(gè)或多個(gè)可以是服務(wù)器(例如,監(jiān)聽服務(wù)器,KMS服務(wù)器等)。因此,應(yīng)當(dāng)理解的是,本發(fā)明所描述的協(xié)議和方法不限制于計(jì)算系統(tǒng)分別是客戶端和服務(wù)器的情況,而是相反地可用于包含兩個(gè)網(wǎng)絡(luò)元件的任何計(jì)算設(shè)備。
[0112]對本領(lǐng)域的普通技術(shù)人員將是顯而易見的,服務(wù)器和客戶端可以被實(shí)施為在計(jì)算機(jī)程序代碼控制下運(yùn)行的可編程計(jì)算機(jī)。計(jì)算機(jī)程序代碼將被存儲(chǔ)在計(jì)算機(jī)可讀的存儲(chǔ)媒質(zhì)(例如,存儲(chǔ)器)中并且代碼可由計(jì)算機(jī)的處理器來執(zhí)行。借助本發(fā)明公開內(nèi)容,本領(lǐng)域的技術(shù)人員為了實(shí)施本發(fā)明所描述的協(xié)議,能夠容易地產(chǎn)生合適的計(jì)算機(jī)程序代碼。
[0113]但是,圖7為通過網(wǎng)絡(luò)通信的各個(gè)計(jì)算機(jī)系統(tǒng)概括地示出示例架構(gòu)。如圖所示,設(shè)備702包括I/O設(shè)備708-A、處理器710-A和存儲(chǔ)器712-A。設(shè)備704包括I/O設(shè)備708-B、處理器710-B和存儲(chǔ)器702-B。應(yīng)當(dāng)理解的是,本發(fā)明所使用的術(shù)語“處理器”旨在包括一個(gè)或多個(gè)處理設(shè)備,包括中央處理單元(CPU)或其它處理電路,包括但不限于一個(gè)或多個(gè)信號(hào)處理器、一個(gè)或多個(gè)集成電路等。此外,本發(fā)明所使用的術(shù)語“存儲(chǔ)器”旨在包括與處理器或CPU相關(guān)聯(lián)的存儲(chǔ)器,例如RAM、ROM、固定存儲(chǔ)器設(shè)備(例如,硬盤)、或可移動(dòng)存儲(chǔ)器設(shè)備(例如,磁盤或CDR0M)。同樣地,存儲(chǔ)器是計(jì)算機(jī)可讀存儲(chǔ)媒質(zhì)的一種示例。此外,本發(fā)明所使用的術(shù)語“I/O設(shè)備”旨在包括一個(gè)或多個(gè)用于輸入數(shù)據(jù)到處理單元的輸入設(shè)備(例如,鍵盤、鼠標(biāo)),以及一個(gè)或多個(gè)用于提供與處理單元相關(guān)聯(lián)的結(jié)果的輸出設(shè)備(例如,CRT顯示器)。
[0114]因此,用于執(zhí)行本文所描述的方法的軟件指令或代碼可被儲(chǔ)存在一個(gè)或多個(gè)相關(guān)聯(lián)的存儲(chǔ)設(shè)備中,例如,ROM、固定或可移動(dòng)儲(chǔ)存器,并且,當(dāng)準(zhǔn)備好被使用時(shí),被裝載到RAM并由所述CPU來執(zhí)行。
[0115]雖然示例性的實(shí)施例已在此處參照附圖被描述,但是應(yīng)當(dāng)理解本發(fā)明不限制于那些精確的實(shí)施例,并且多種其它的改變和修改可在不背離本發(fā)明的范圍或精神的前途下由本領(lǐng)域內(nèi)的技術(shù)人員做出。
【權(quán)利要求】
1.一種用于在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成能夠發(fā)現(xiàn)的安全關(guān)聯(lián)的方法,包括: 第一計(jì)算設(shè)備從密鑰管理實(shí)體獲得:(i)被分配給第一計(jì)算設(shè)備的第一私有密鑰,所述第一私有密鑰與第一公開密鑰計(jì)算地關(guān)聯(lián),所述第一公開密鑰與所述第一計(jì)算設(shè)備相關(guān)聯(lián)jp(ii)被分配給第一計(jì)算設(shè)備的第一根密鑰; 第一計(jì)算設(shè)備選擇第一隨機(jī)值并且生成第一現(xiàn)時(shí)值,其中所述第一現(xiàn)時(shí)值是使用所述第一根密鑰對第一隨機(jī)值進(jìn)行加密的結(jié)果; 第一計(jì)算設(shè)備基于所述第一隨機(jī)值生成第一密鑰組件; 第一計(jì)算設(shè)備使用基于身份的加密過程、利用與第二計(jì)算設(shè)備相關(guān)聯(lián)的第二公開密鑰對所述第一現(xiàn)時(shí)值和第一密鑰組件進(jìn)行加密;并且 第一計(jì)算設(shè)備向第二計(jì)算設(shè)備發(fā)送加密的第一現(xiàn)時(shí)值和加密的第一密鑰組件,以便與第二計(jì)算設(shè)備建立安全關(guān)聯(lián),其中第三計(jì)算設(shè)備能夠發(fā)現(xiàn)所述安全關(guān)聯(lián),其中所述第一計(jì)算設(shè)備和第二計(jì)算設(shè)備不知道所述安全關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述方法,還包括第一計(jì)算設(shè)備從第二計(jì)算設(shè)備依次接收第一現(xiàn)時(shí)值、第二現(xiàn)時(shí)值、第一密鑰組件和第二密鑰組件,其中使用基于身份的加密過程、利用與第一計(jì)算設(shè)備相關(guān)聯(lián)的第一公開密鑰對所述第一現(xiàn)時(shí)值、所述第二現(xiàn)時(shí)值、所述第一密鑰組件和所述第二密鑰組件進(jìn)行加密,并且其中在第二計(jì)算設(shè)備處生成所述第二現(xiàn)時(shí)值和第二密鑰組件。
3.根據(jù)權(quán)利要求2所述方法,其中所述第二現(xiàn)時(shí)值是對由第二計(jì)算設(shè)備選擇的第二隨機(jī)值進(jìn)行加密的結(jié)果,其中所述加密使用第二根密鑰來加密所述第二隨機(jī)值,第二計(jì)算設(shè)備從將所述第二根密鑰分配給第二計(jì)算設(shè)備的密鑰關(guān)聯(lián)實(shí)體獲得第二根密鑰。
4.根據(jù)權(quán)利要求3所述方法,其中第二計(jì)算設(shè)備基于第二隨機(jī)值生成第二密鑰組件。
5.根據(jù)權(quán)利要求2所述方法,還包括第一計(jì)算設(shè)備向第二計(jì)算設(shè)備發(fā)送回第二現(xiàn)時(shí)值和第二密鑰組件,其中使用基于身份的加密過程、利用與第二計(jì)算設(shè)備相關(guān)聯(lián)的第二公開密鑰對第二現(xiàn)時(shí)值和第二密鑰組件進(jìn)行加密。
6.根據(jù)權(quán)利要求5所述方法,其中第一計(jì)算設(shè)備和第二計(jì)算設(shè)備計(jì)算相同的會(huì)話密鑰,以供第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間的隨后通信中使用。
7.根據(jù)權(quán)利要求6所述方法,其中會(huì)話密鑰代表由第三計(jì)算設(shè)備能夠發(fā)現(xiàn)的安全關(guān)聯(lián)中的至少一部分。
8.一種用于發(fā)現(xiàn)在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成的安全關(guān)聯(lián)的方法,包括: 第三計(jì)算設(shè)備獲得在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間傳送的一個(gè)或多個(gè)消息; 在知道與第二計(jì)算設(shè)備相關(guān)聯(lián)的私有密鑰的情況下,第三計(jì)算設(shè)備對來自第一計(jì)算設(shè)備的一個(gè)或多個(gè)獲得的消息中的至少一個(gè)進(jìn)行解密并且獲得:(i)由第一計(jì)算設(shè)備生成的第一密鑰組件jP(ii)由第二計(jì)算設(shè)備生成的現(xiàn)時(shí)值,所述現(xiàn)時(shí)值是對由第二計(jì)算設(shè)備選擇的隨機(jī)值進(jìn)行加密的結(jié)果,所述加密使用被唯一地分配給第二計(jì)算設(shè)備的根密鑰; 在知道第二計(jì)算設(shè)備的根密鑰的情況下,第三計(jì)算設(shè)備解密所述現(xiàn)時(shí)值以便獲得由第二計(jì)算設(shè)備選擇的隨機(jī)值;并且 在知道 由第二計(jì)算設(shè)備選擇的隨機(jī)值和由第一計(jì)算設(shè)備所生成的第一密鑰組件的情況下,第三計(jì)算設(shè)備發(fā)現(xiàn)在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間建立的安全關(guān)聯(lián),其中所述第一計(jì)算設(shè)備和第二計(jì)算設(shè)備不知道所述安全關(guān)聯(lián)。
9.一種用于在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成能夠發(fā)現(xiàn)的安全關(guān)聯(lián)的裝置,包括: 存儲(chǔ)器;和 處理器,其被耦合到所述存儲(chǔ)器并且被配置為促使第一計(jì)算設(shè)備: 從密鑰關(guān)聯(lián)實(shí)體獲得:(i)被分配給第一計(jì)算設(shè)備的第一私有密鑰,所述第一私有密鑰與第一公開密鑰計(jì)算地關(guān)聯(lián),所述第一公開密鑰與所述第一計(jì)算設(shè)備相關(guān)聯(lián)jP(ii)被分配給第一計(jì)算設(shè)備的第一根密鑰; 選擇第一隨機(jī)值并且生成第一現(xiàn)時(shí)值,其中所述第一現(xiàn)時(shí)值是使用第一根密鑰對第一隨機(jī)值進(jìn)行加密的結(jié)果; 基于第一隨機(jī)值生成第一密鑰組件; 使用基于身份的加密過程、利用與第二計(jì)算設(shè)備相關(guān)聯(lián)的第二公開密鑰對第一現(xiàn)時(shí)值和第一密鑰組件進(jìn)行加密;并且 向第二計(jì)算設(shè)備發(fā)送加密的第一現(xiàn)時(shí)值和加密的第一密鑰組件,以便與第二計(jì)算設(shè)備建立安全關(guān)聯(lián),其中第三計(jì)算設(shè)備能夠發(fā)現(xiàn)所述安全關(guān)聯(lián),其中所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備不知道所述安全關(guān)聯(lián)。
10.一種用于發(fā)現(xiàn)在第一 計(jì)算設(shè)備和第二計(jì)算設(shè)備之間形成的安全關(guān)聯(lián)的裝置,包 括: 存儲(chǔ)器;以及 處理器,其被耦合到所述存儲(chǔ)器并且被配置為促使第三計(jì)算設(shè)備: 獲得在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間傳送的一個(gè)或多個(gè)消息; 在知道與第二計(jì)算設(shè)備相關(guān)聯(lián)的私有密鑰的情況下,對來自第一計(jì)算設(shè)備的一個(gè)或多個(gè)獲得的消息中的至少一個(gè)進(jìn)行解密并且獲得:(i)由第一計(jì)算設(shè)備所生成的第一密鑰組件jP(ii)由所述第二計(jì)算設(shè)備所生成的現(xiàn)時(shí)值,所述現(xiàn)時(shí)值是對由第二計(jì)算設(shè)備選擇的隨機(jī)值進(jìn)行加密的結(jié)果,所述加密使用被唯一地分配給第二計(jì)算設(shè)備的根密鑰; 在知道第二計(jì)算設(shè)備的根密鑰的情況下,解密所述現(xiàn)時(shí)值以便獲得由第二計(jì)算設(shè)備選擇的隨機(jī)值;并且 在知道由第二計(jì)算設(shè)備選擇的隨機(jī)值和由第一計(jì)算設(shè)備生成的第一密鑰組件的情況下,發(fā)現(xiàn)在第一計(jì)算設(shè)備和第二計(jì)算設(shè)備之間建立的安全關(guān)聯(lián),其中所述第一計(jì)算設(shè)備和第二計(jì)算設(shè)備不知道所述安全關(guān)聯(lián)。
【文檔編號(hào)】H04L9/08GK103534975SQ201280022167
【公開日】2014年1月22日 申請日期:2012年4月27日 優(yōu)先權(quán)日:2011年5月11日
【發(fā)明者】V·卡庫萊夫, S·B·米茲科夫斯基 申請人:阿爾卡特朗訊公司