安全關(guān)聯(lián)的發(fā)現(xiàn)的制作方法
【專利摘要】公開了用于發(fā)現(xiàn)通信環(huán)境中形成的安全關(guān)聯(lián)的技術(shù)。例如,一種用于形成第一計算裝置(例如,第一客戶端)和第二計算裝置(例如,第二客戶端)之間的可發(fā)現(xiàn)安全關(guān)聯(lián)的方法包括以下步驟。第一計算裝置被提供由所述第一計算裝置使用以生成秘密數(shù)的種子,所述秘密數(shù)由所述第一計算裝置使用以計算與第二計算裝置進行安全通信時使用的密鑰。其中所述秘密數(shù)能基于所述種子的知識被重新計算并且所述密鑰能基于所述秘密數(shù)的知識被重新計算,以使得第三計算裝置(例如,攔截服務(wù)器)能使用重新計算的密鑰在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。例如,所述密鑰可以是基于驗證密鑰交換的身份的結(jié)果。
【專利說明】安全關(guān)聯(lián)的發(fā)現(xiàn)
[0001]本申請主張序列號為61/478,153的美國臨時專利申請的優(yōu)先權(quán),該臨時申請于 2011 年 4 月 22 日提交,題為 “Out-of-Band Lawful Discovery of SecurityAssociations”,其公開的全部內(nèi)容在此引入作為參考。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明的本發(fā)明一般涉及通信安全,更具體地,涉及在通信環(huán)境中發(fā)現(xiàn)安全關(guān)聯(lián)的技術(shù)。
【背景技術(shù)】
[0003]互聯(lián)網(wǎng)協(xié)議(IP)通信和電話系統(tǒng)已經(jīng)得到了廣泛的普及。兩個客戶端之間端到端IP通信的早期的例子之一包括即時消息,但很快隨后出現(xiàn)了的基于IP的語音,現(xiàn)在許多供應(yīng)商(例如,網(wǎng)絡(luò)運營商和應(yīng)用提供商)提供端到端基于IP的視頻。然而,考慮到無線移動網(wǎng)絡(luò)接入一直被窄帶電路交換接入網(wǎng)絡(luò)占據(jù)著,這些趨勢在很大程度上受限于有線固定網(wǎng)絡(luò)。然而,最近的4G (第四代)的寬帶無線網(wǎng)絡(luò)為所有形式的基于IP的多媒體端到端通信提供了舞臺,而與接入類型無關(guān)。
[0004]隨著向端到端的IP會話的過渡,市場已經(jīng)在收益方面復(fù)蘇并且也意識到在這些開放的IP網(wǎng)絡(luò)中的安全和隱私性的重要。作為第一步,端到端的加密和驗證的典范,獲得了廣泛的關(guān)注。雖然當(dāng)代網(wǎng)上事務(wù),涉及電子商務(wù)和企業(yè)內(nèi)聯(lián)網(wǎng)訪問已經(jīng)被確保安全端到端通信達(dá)十年之久,確保基于IP會話應(yīng)用的問題已經(jīng)在很大程度上留給了應(yīng)用提供商,例如,SKYPE? (盧森堡的Skype技術(shù)S.A.的商標(biāo))。
[0005]隨著全IP網(wǎng)絡(luò)的來臨,越來越有必要為網(wǎng)絡(luò)運營商或其他人提供語音、視頻和消息服務(wù)以提供安全端到端通信,同時遵守需求以支持合法攔截和安全關(guān)聯(lián)發(fā)現(xiàn)。這種合法攔截和發(fā)現(xiàn)的安全關(guān)聯(lián),可能有必要作執(zhí)法用途,或者只是用于一些非執(zhí)法的目的,由此能夠?qū)追郊?或設(shè)備之間傳輸?shù)募用苄畔⑦M行解密,是有必要或者令人期待的。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的基本原理是提供用于發(fā)現(xiàn)在通信環(huán)境中形成的安全關(guān)聯(lián)的技術(shù)。
[0007]例如,在本發(fā)明的一個方面,一種用于形成第一計算裝置和第二計算裝置之間的可發(fā)現(xiàn)安全關(guān)聯(lián)的方法包括以下步驟。第一計算裝置被提供由所述第一計算裝置使用以生成秘密數(shù)的種子,所述秘密數(shù)由所述第一計算裝置使用以計算與第二計算裝置進行安全通信時使用的密鑰。所述秘密數(shù)能基于所述種子的知識被重新計算并且所述密鑰能基于所述秘密數(shù)的知識被重新計算,以使得第三計算裝置能使用重新計算的密鑰在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。
[0008]通過進一步舉例的方式,在本發(fā)明的第二個方面,一種用于發(fā)現(xiàn)第一計算裝置和第二計算裝置之間形成的安全關(guān)聯(lián)的方法包括以下步驟。第三計算裝置從第四計算裝置獲得秘密數(shù),其中,所述秘密數(shù)與所述第一計算裝置生成的秘密數(shù)相同,其中,所述第一計算裝置基于由所述第四計算裝置向其提供的種子生成秘密數(shù),并且其中所述第一計算裝置使用所述種子生成所述秘密數(shù),并使用所述秘密數(shù)計算與第二計算裝置進行安全通信時的使用的密鑰。第三計算裝置基于所述秘密數(shù)重新計算所述密鑰,以便在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通f目。
[0009]本發(fā)明的說明性原理提供方法以合法發(fā)現(xiàn)安全關(guān)聯(lián),包括但不限于對密鑰和其他加密數(shù)據(jù),對于端到端的加密的會話,使用的技術(shù)特別適用于但不限于依賴于公開鑰密鑰方法進行密鑰管理的系統(tǒng)。例如,本發(fā)明的技術(shù)可以用在根據(jù)實現(xiàn)非對稱相互驗證的密鑰交換和/或任何基于的DifTie-Hellman密鑰交換的系統(tǒng)和協(xié)議。特別是,本發(fā)明的覆蓋過程是檢測不到的,同時滿足各種兼容性要求??梢岳斫?,而本發(fā)明的原理特別適合因特網(wǎng)協(xié)議多媒體子系統(tǒng)(頂S)的環(huán)境中,但是本發(fā)明并不局限于此。也就是說,本發(fā)明原理的一般適用于任何合適的通信系統(tǒng),在該系統(tǒng)中希望提供合法安全關(guān)聯(lián)發(fā)現(xiàn)功能。僅僅作為例子,這樣的本發(fā)明的技術(shù)可應(yīng)用于其它的通信系統(tǒng),這樣的系統(tǒng)是基于MS信令框架或任何其它信令框架的電話會議系統(tǒng)。
【專利附圖】
【附圖說明】
[0010]圖1示出基于密鑰傳輸方法的客戶端。
[0011]圖2示出了網(wǎng)絡(luò)輔助密鑰傳輸方法。
[0012]圖3示出對稱的相互驗證的密鑰交換方法。
[0013]圖4示出基于身份的驗證密鑰交換方法。
[0014]圖5示出中間人密鑰發(fā)現(xiàn)方法。
[0015]圖6示出根據(jù)本發(fā)明的實施例的偽隨機生成器。
[0016]圖7示出根據(jù)本發(fā)明的實施例的利用秘密數(shù)再生的合法的會話密鑰發(fā)現(xiàn)方法。
[0017]圖8示出根據(jù)本發(fā)明的實施例的利用秘密數(shù)再生的合法會話密鑰發(fā)現(xiàn)的呼叫流。
[0018]圖9示出根據(jù)本發(fā)明的實施例在會議呼叫環(huán)境中利用秘密數(shù)再生的合法的會話密鑰發(fā)現(xiàn)方法。
[0019]圖10示出概括的數(shù)據(jù)網(wǎng)絡(luò)硬件體系結(jié)構(gòu)和適于執(zhí)行根據(jù)本發(fā)明實施例的的一個或多個方法和協(xié)議的通信(計算)裝置。
【具體實施方式】
[0020]這里所用的術(shù)語“多媒體通信系統(tǒng)”一般定義為能夠通過媒體面輸送一個或多個包括但不限于基于文本的數(shù)據(jù)、基于圖形的數(shù)據(jù)、基于語音的數(shù)據(jù)和基于視頻的數(shù)據(jù)的媒體類型的任何通信系統(tǒng)
[0021]用在這里的術(shù)語“媒體平面”通常被定義為多媒體通信系統(tǒng)的功能部分,可以使用本發(fā)明的媒體平面的例子包括但不局限于一個或多個類型的媒體在呼叫會話中的兩方或多方之間進行交換。這與“控制平面”是相對的,控制平面是多媒體通信系統(tǒng)的功能部分,根據(jù)控制平面執(zhí)行呼叫協(xié)商/調(diào)度,以建立呼叫會話??梢允褂帽景l(fā)明的技術(shù)的媒體平面應(yīng)用可包括,但不僅限于,基于IP的語音(VoIP)、即時消息(IM)、視頻/音頻IM、視頻分享以及基于IP的視頻??梢岳斫?,媒體平面包含應(yīng)用層業(yè)務(wù)量。然而,本發(fā)明的合法的安全關(guān)聯(lián)的發(fā)現(xiàn)技術(shù),本發(fā)明的技術(shù)可以適用于通信系統(tǒng)的任何平面或?qū)印?br>
[0022]本文所用的術(shù)語“密鑰” 一般定義為加密協(xié)議的輸入,例如,用于但不限于實體驗證、隱私、消息的完整性等。
[0023]這里所用的術(shù)語“安全關(guān)聯(lián)”,一般是指在通信環(huán)境中跨越兩方或兩方以上通信和/或設(shè)備通信的安全定義。在一個實施例中,安全定義可以包括但不限于會話密鑰。
[0024]本文所用的“種子”一詞一般指的是包括至少一個隨機數(shù)的一組數(shù)字。
[0025]本文所用的“客戶機”一般是指通信設(shè)備或一些其它計算系統(tǒng)或設(shè)備,允許一個或多個用戶、當(dāng)事人或?qū)嶓w在通信環(huán)境中,與一個或多個其它通信裝置和其他計算系統(tǒng),例如另一個客戶端進行通信。本文所用的“客戶端”也可能一般指的是在計算裝置上的應(yīng)用程序或其他計算機程序。因此,盡管術(shù)語客戶端可以在下文中指代設(shè)備,應(yīng)當(dāng)理解,術(shù)語“客戶端”并不限于硬件,但也可以是軟件,或者它們的組合。
[0026]這里所用的“通信會話” 一般是指用于兩個設(shè)備之間的通信的目的至少兩個通信設(shè)備或其他計算系統(tǒng)(例如,客戶端)之間的連接。因此,如本文所用的“端至端”通信通常是指從一個裝置(例如,客戶端)到其他裝置(例如,客戶端)的整個連接路徑。此外,所述兩個或更多參與通信會話的客戶端的被稱為“端點設(shè)備”“終端設(shè)備”或簡單的“端點”。然而,本發(fā)明的合法的安全關(guān)聯(lián)的發(fā)現(xiàn)技術(shù)可以被應(yīng)用到任何計算或通信的移動設(shè)備,而不是僅僅一個客戶端。
[0027]本文所用的“應(yīng)用”(或“應(yīng)用程序”),一般是指一個或多個計算機程序,當(dāng)執(zhí)行時,執(zhí)行一個或多個給定的功能。
[0028]本文所用的術(shù)語“合法”通常被定義為滿足一個或多個必須遵守的要求或與政府或私人權(quán)威實體相關(guān)聯(lián)的指導(dǎo)原則。這種權(quán)威實體可能服務(wù)于執(zhí)法功能或者非執(zhí)法功能。也就是說,術(shù)語“合法的”不打算限于法律的實施,而是還可以包括符合非執(zhí)法意義上的遵守。
[0029]為了便于參考,詳細(xì)描述如下劃分。第I節(jié)描述了可應(yīng)用于本發(fā)明原理的示意性的用例和供應(yīng)商。第II部分介紹了現(xiàn)有的端到端的密鑰管理方法。第III節(jié)介紹了現(xiàn)有的主要解決方法。第IV部分描述了根據(jù)本發(fā)明原理的示例性互聯(lián)網(wǎng)協(xié)議(IP)多媒體子系統(tǒng)(IMS)環(huán)境中合法的安全關(guān)聯(lián)發(fā)現(xiàn)解決方案。第V節(jié)描述了根據(jù)本發(fā)明的示例性的原貝U,在電話會議環(huán)境中的合法安全關(guān)聯(lián)發(fā)現(xiàn)解決方案,第VI節(jié)描述用于實現(xiàn)根據(jù)本發(fā)明的一個或多個合法的安全關(guān)聯(lián)的發(fā)現(xiàn)方法的示例性計算系統(tǒng)。
[0030]1.說明性的用例和提供商
[0031]本文所描述的可應(yīng)用于本發(fā)明原理示例性的用例,包括一個端到端的加密的客戶端至客戶端的通信會話。僅通過舉例的方式,而不是旨在以任何方式限制,這樣的用例包括:
[0032]1.基于文本的頂或即時消息應(yīng)用程序。
[0033]2.基于Internet協(xié)議的端到端的多媒體消息的應(yīng)用(包括音頻和/或視頻)。
[0034]3.通過各種數(shù)據(jù)包交換接入網(wǎng)絡(luò)的基于IP的語音,。
[0035]4.通過各種分組交換接入網(wǎng)絡(luò)的基于IP的視頻。
[0036]5.涉及一組參與者的文本會議和多媒體應(yīng)用。[0037]這些說明使用的情況也同樣適用于各種供應(yīng)商。通過舉例的方式,可以將供應(yīng)商分為三類:
[0038]1.服務(wù)提供商可以是企業(yè)(首席信息官或CIO控制轉(zhuǎn)出、管理和應(yīng)用的操作)。注意這里企業(yè)可能是一個公司或政府實體。
[0039]2.服務(wù)提供商可能是應(yīng)用程序提供商(例如,Skype和GoogleTalk等),并跨網(wǎng)絡(luò)和跨類型提供這樣的服務(wù)。
[0040]3.月艮務(wù)提供商可能是網(wǎng)絡(luò)提供商(例如,Verizon無線,AT & T公司,Sprint,T-Mobile 公司,Vodafone 等)。
[0041]根據(jù)本發(fā)明原理的描述的問題和解決方案的示例性范圍也同樣適用于所有的供應(yīng)商,特別是對于端到端的通信類型或應(yīng)用程序不可知的。
[0042]I1.端到端密鑰管理
[0043]給定端到端IP會話,并且希望提供安全的端到端通信,已經(jīng)設(shè)計了端到端密鑰管理方。例如,可以將這些方案劃分為四類:(I)基于客戶端的密鑰傳輸協(xié)議;(2)網(wǎng)絡(luò)輔助密鑰傳輸協(xié)議;(3)對稱相互驗證密鑰交換協(xié)議;以及(4)不對稱相互驗證密鑰交換協(xié)議。
[0044](I)基于客戶端的密鑰傳輸協(xié)議。如圖1所示的協(xié)議100。被稱為“發(fā)起者”(即,啟動特定通信會話的客戶端)的客戶端裝置102-1使用已建立的逐跳安全消息傳送方案,該傳送方案適于確保通過一個或多個網(wǎng)絡(luò)單元104-1,104-2向被稱為”響應(yīng)方“(即,響應(yīng)特定的通信會話的發(fā)起者的客戶端)的客戶端裝置102-R的信號傳輸安全。然后,所有各方在通信會話使用密鑰(或從該密鑰的推導(dǎo)),以確保會議安全。圖1所示的例子基于會話描述協(xié)議(SDP),這是一個用于對安全實時傳輸協(xié)議進行密鑰協(xié)商的協(xié)議,例如,2006年7月公開的會話描述協(xié)議(SDP)互聯(lián)網(wǎng)工程任務(wù)組(IETF)征求意見(RFC) 4568,“SecurityDescriptions for Media Streams, ”,其公開的全部內(nèi)容在此引入作為參考。在這種情況下,客戶端102-1跨網(wǎng)絡(luò)(端到端)發(fā)送SDP提議到客戶端102-R,并且客戶端102-R以SDP應(yīng)答作為響應(yīng),從而建立用于保護特定會話相關(guān)聯(lián)的通信安全安全密鑰。
[0045](2)網(wǎng)絡(luò)輔助密鑰傳輸協(xié)議。如圖2所示的協(xié)議200,圖2中,客戶端裝置202-1 (發(fā)起方)從運營商網(wǎng)絡(luò)中(或數(shù)據(jù)中心)的服務(wù)器204 (密鑰管理服務(wù)器或KMS)請求給定會話密鑰,然后從服務(wù)器204向發(fā)起方傳送密鑰和密鑰“指針”(以標(biāo)簽或令牌的形式)。發(fā)起者然后利用已建立的逐跳的安全關(guān)聯(lián)安全地與客戶端裝置202-R (響應(yīng)方)共享“指針”,這之后,響應(yīng)方通過提出向服務(wù)器204呈現(xiàn)“指針”從其獲得密鑰。網(wǎng)絡(luò)輔助協(xié)議的兩個例子包括2005年7月 IETF RFC4120描述的Kerberos系統(tǒng)在,“Kerberos Network AuthenticationService”,以及 2011 年 3 月 IETF RFC6043 中描述的 MIKEY 標(biāo)簽系統(tǒng)“Ticket-based Modesof Key Distribution in Multimedia Internet Keying”,其公開的全部內(nèi)容在此引入作為參考。
[0046](3)對稱的相互驗證密鑰交換協(xié)議。如圖3所示的協(xié)議300,發(fā)起方(302-A)和響應(yīng)方(302-B)共享對稱密鑰,然后他們使用該密鑰執(zhí)行相互驗證密鑰交換協(xié)議,包括隨機數(shù)字和/或同步計數(shù)器。這種協(xié)議的一個例子在1994Springer出版社的LNCS773,加密’ 93,密碼學(xué)的進展,M.Bellare和P.Rogaway,Entity Authentication and Key Distribution”(作者Ed.D.Stinson)中有所描述,其公開的全部內(nèi)容在此引入作為參考。
[0047](4)驗證密鑰交換使用非對稱公共密鑰協(xié)議。在這種類型的協(xié)議中,發(fā)起方和響應(yīng)各具有一對密鑰(私有和公共的)。典型的例子包括使用他們的私人密鑰來驗證,但公共密鑰互相尋址,以及使用公共密鑰方法用于密鑰交換。圖4的協(xié)議400顯示了 IBAKE(基于身份的驗證密鑰交換)協(xié)議和使用非對稱公共密鑰方法。IBAKE協(xié)議在2009年2月17日提交的、序列號為12/372,242的美國專利申請中進行了描述,其公開的全部內(nèi)容在此引入作為參考。
[0048]如圖4所示的協(xié)議400,IBAKE協(xié)議定義了兩個端點之間的相互驗證和密鑰交換:發(fā)起方A (客戶端402-A)和響應(yīng)方B (客戶端402-B)。無論是發(fā)起者和響應(yīng)方每擁有一對密鑰,分別是公共密鑰和私有密鑰。在公共密鑰加密的情況下,公共密鑰用于加密而和私有密鑰用于解密。標(biāo)準(zhǔn)公共密鑰的方法和基于身份公共密鑰方法之間的根本差別是,在后者中,公共密鑰對應(yīng)的“身份”和相應(yīng)私有密鑰是由受信任的服務(wù)器(稱為密鑰管理服務(wù)器或KMS)生成。
[0049]所示的協(xié)議中的主要概念是,在發(fā)起方和響應(yīng)方彼此進行身份驗證,并使用密鑰管理服務(wù)器(未示出)提供的私有密鑰生成會話密鑰,但服務(wù)器不能確定該會話密鑰
[0050]觀察圖4,發(fā)起方A選擇一個隨機的秘密數(shù)(secret) “x”計算值“xP”(其中P是有限域上的橢圓曲線上的點),然后發(fā)送“xP”至響應(yīng)方B。同樣,響應(yīng)方選擇計算一個隨機的秘密“y”并計算“yP”的值,之后將“yP”發(fā)送給發(fā)起方A。使用“x”和“yP”,發(fā)起方計算“xyP” ;同樣使用“y”和“xP”,響應(yīng)方計算“xyP”。這讓雙方就通信會話的密鑰達(dá)成一致。然而,密鑰管理服務(wù)器(KMS)可以得知“xP”和“yP”,但不能計算“xyP”。
[0051 ] 意識到這一點,在所有上面列舉(四)密鑰傳輸/交換協(xié)議中,獨立于通信類型或供應(yīng)商,存在監(jiān)管和/或合規(guī)性要求,由此,供應(yīng)商可能被要求合法發(fā)現(xiàn)和分享端到端安全密鑰(稱為“合法的發(fā)現(xiàn)”)。
[0052]協(xié)議類型I和2的這個要求可以相對容易地滿足。在協(xié)議類型I (圖1),感興趣的安全密鑰以逐跳保護的方式在網(wǎng)絡(luò)節(jié)點之間的傳輸,并因此被稱為參與傳輸?shù)木W(wǎng)絡(luò)節(jié)點(例如,圖1中的網(wǎng)絡(luò)單元104-1、104-2)所知。在協(xié)議類型2 (圖2)中,會話密鑰由服務(wù)器(例如,圖2的KMS204)生成,因此提供者可得到。
[0053]通常情況下,在協(xié)議類型3 (圖3)中,供應(yīng)商參與置備這些成對的共享秘密數(shù),因此了解這些秘密數(shù)。在這種情況下,提供商相當(dāng)直接地發(fā)現(xiàn)會話密鑰和滿足法律及合規(guī)要求。
[0054]但是當(dāng)提供商只是密鑰管理事務(wù)的推動者,而不是事務(wù)參與者時,這種合法的發(fā)現(xiàn)問題尤其對于協(xié)議第4類(圖4)形成挑戰(zhàn)??傊?,問題是發(fā)現(xiàn)端到端安全密鑰,特別是當(dāng)非對稱的公共密鑰用于端到端密鑰管理時。此外,這樣的發(fā)現(xiàn),需要在通信會話期間不引人注目且檢測不到。
[0055]II1.在不對稱的公開密鑰協(xié)議中的密鑰解決方案
[0056]本節(jié)介紹了現(xiàn)有的用于端到端的密鑰管理協(xié)議的非對稱公共密鑰協(xié)議的密鑰解決方法。
[0057](I)通用協(xié)議說明
[0058]這里我們特別注重利用Diffie-Hellman型密鑰交換(例如,見IETF RFC2631協(xié)議,“Diffie-HeIIman Key Agreement Method, ” 1999 年 6 月,
[0059]其中披露的全部內(nèi)容在此引入作為參考)。在有限域模素數(shù)P的乘法群中,我們描述的協(xié)議典型地由Diffie和Hellman在其里程碑式的論文(W.Diffie, M.Heilman, “NewDirections in Cryptography,,,IEEE Transactions on Information Theory, vol.1T-22, 1976 年 11 月,第 644 - 654,the disclosure of which is incorporated byreference herein in its entiretyIEEE 事務(wù)信息理論,第一卷 IT-221976 年 11 月,PP:644-654中,其公開的全部內(nèi)容在此引入作為參考)。然而,眾所周知的是Diffie-Hellman協(xié)議可以擴展到任何組,但該協(xié)議的安全性依賴于該組的屬性。
[0060]在這個協(xié)議中,兩個端點(A和B)每個為G (生成器)和P (大素數(shù))選擇公開的數(shù)值,G是非零整數(shù)乘法群的生成器模大素數(shù)P。
[0061]要執(zhí)行該協(xié)議,A選擇一個隨機的秘密數(shù)X和計算a=G~x (modP)。同樣,B選擇一個隨機的秘密數(shù)I和計算b=G~y (modP)o但是應(yīng)當(dāng)理解的是,秘密x和y是小于P的隨機正整數(shù)。
[0062]A發(fā)送值a到B,和B的發(fā)送值b到a。
[0063]接收值b時,A計算k=b*x(mod P),同樣,在收到值a時,B計算k=a*y (mod P)。很容易看到,k= (a) *y (mod P) = (b) *x (mod P), k是相互計算的公共會話密鑰
[0064](2) IBAKE 中 Diffie-Hellman 的特殊用途
[0065]IBAKE協(xié)議(在圖4中示出)在有限域上的橢圓曲線上的點的組,因此依賴于有限域上的橢圓曲線的在一組點中的相應(yīng)的Diffie-Hellman問題。每個端點(如A)有一個已知的公開身份,可以被任何其他的端點(如B)使用以為A創(chuàng)建公共密鑰(PUB_A)。同樣,知道B的公開身份,任何其他端點可以創(chuàng)建PUB-B。
[0066]偶爾并定期地,每個端點(如A)接觸特殊的基于網(wǎng)絡(luò)的功能,密鑰管理服務(wù)器(KMS),收到特別計算的私有密鑰(例如,PR_A),該私有密鑰與相應(yīng)的公共密鑰(PUB-A)計算上相關(guān)。同樣,其他端點做同樣的工作。結(jié)果,每個端點具有公-私密鑰對,而公共密鑰是基于端點的身份。
[0067]要執(zhí)行該協(xié)議,每個端點選擇一個隨機的秘密數(shù)。設(shè)X是由A選擇的隨機數(shù),并設(shè)y是由B選擇的隨機數(shù)。
[0068]在第一步驟中,A計算xP,其中P是橢圓曲線E上的公知點(即,使用加法定律P添加到自身X次),使用B的公共密鑰PUB_B對其加密,并把它發(fā)送到B。在這一步中,加密是指基于身份的加密,這在Dan Boneh, Matthew K.Franklin 的“ Identity-Based Encryptionfrom the Weil Pairing” Advances in Cryptology-Proceedings of CRYPT02001 (2001),以及在IETF RFC5408和5409中有描述,其公開的全部內(nèi)容在此引入作為參考。
[0069]收到加密的消息后,B對消息進行解密,并獲得xP。
[0070]隨后B計算yP,使用A的公共密鑰PUB_A加密{xP,yP},接著將其傳輸?shù)紸。
[0071]在收到此消息后,A對消息進行解密,并獲得yP。隨后,A用B的公共密鑰加密yP并將其發(fā)送回至B。
[0072]在此之后,A和B計算k=xyP作為會話密鑰。具體而言,A通過將接收和解密yP加到其自身X次計算k=xyP。同樣,B通過將接收和解密的xP加到其自身X次計算k=xyP
[0073](3)用于合法會話密鑰發(fā)現(xiàn)的中間人密鑰解決方法
[0074]Diffie-Hellman密鑰交換方法的典型的和眾所周知的密鑰發(fā)現(xiàn)基于所謂的“中間人”(MitM)方法。在這種方法中,積極的中介C將其自身至于端點A和B之間的通信鏈路上。中介C將其本身對A呈現(xiàn)為B,對B呈現(xiàn)為A。
[0075]中介C創(chuàng)建自己的秘密數(shù),x’和y’。當(dāng)C從A接收到a時,它以b’ =G~y’(modP)響應(yīng),同樣發(fā)送a,=G~x,(modP)到B。
[0076]當(dāng)交換完成后,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)。結(jié)果,通過維持A和B之間兩個獨立的安全會話保持,積極的中介C能夠解密和重新加密的A和B之間的通信。
[0077]然而,對于一些復(fù)雜的終端裝置,交換無論是圖片或雙方計算的密鑰簽名表示并認(rèn)識到他們實際上是計算了兩個不同的密鑰是可能的。這會導(dǎo)致MitM功能的發(fā)現(xiàn),在合法的會話密鑰發(fā)現(xiàn)中這是不期望的。
[0078]圖5顯示客戶端500-A和502-B使用MitM方法的協(xié)議500。需要注意的,通過攔截控制單元(ICE) 506和攔截網(wǎng)絡(luò)單元(INE) 508來嘗試合法監(jiān)聽(LI ),攔截控制單元(ICE)506攔截兩個端點裝置之間的信令,攔截網(wǎng)絡(luò)單元(INE)508攔截的兩個端點裝置之間的媒體。注意,ICE如何從KMS504獲得必要的私有密鑰(例如,?1?_4和卩1?_8)。然而,正如上面提到的,這樣的LI功能可能會被特定的復(fù)雜端點裝置檢測到。
[0079](4)通過強制創(chuàng)建秘密數(shù)的密鑰解決方法
[0080]另一種方法,強制至少一個端點(例如,A)創(chuàng)建的秘密數(shù)(X),秘密數(shù)(X)對于參與會話密鑰的合法發(fā)現(xiàn)的專門網(wǎng)絡(luò)節(jié)點來說也是可知的。在這個方案中,端點A并沒有選擇秘密數(shù)x,而是等待網(wǎng)絡(luò)發(fā)送如隨機數(shù)(N)的特殊參數(shù)給它,然后哈希這個隨機數(shù)與它與網(wǎng)絡(luò)共享的另一個秘密數(shù)(S)。其結(jié)果是,端點A和專門網(wǎng)絡(luò)節(jié)點都產(chǎn)生x=H(S,N)。隨后,這個產(chǎn)生的X用作Diffie-Hellman交換中的指數(shù)。
[0081]可以很容易地看到,專門網(wǎng)絡(luò)節(jié)點可以計算k=(G~y (modP))*x(mod P),并因此成為A和B之間的通信鏈路的秘密密鑰的暗中參與者(privy)。
[0082]然而,期待收到隨機數(shù),端點裝置充分意識到網(wǎng)絡(luò)合法發(fā)現(xiàn)會話密鑰的出現(xiàn)和意圖,這是非常不可取的。特別是,通過在通信會話期間串通端點裝置以及一些其他工作,該密鑰發(fā)現(xiàn)解決方案是可檢測的,即使只有一個串通的端點裝置。
[0083](5)到托管(Escrow)服務(wù)器的密鑰轉(zhuǎn)移
[0084]還有另一種方法,基于從網(wǎng)絡(luò)節(jié)點發(fā)送到端點裝置的特殊請求。這一請求迫使端點裝置向基于網(wǎng)絡(luò)的密鑰托管數(shù)據(jù)庫上傳計算出的用于對A-B通信鏈路進行加密的密鑰k或其衍生物。上傳通常是在端點和密鑰托管數(shù)據(jù)庫之間建立安全隧道的保護下進行。
[0085]然而,接收這樣的請求的端點裝置清楚地認(rèn)識到密鑰托管數(shù)據(jù)庫的存在,因此,可能出于合法發(fā)現(xiàn)會話密鑰的目的攔截安全通信,這是不期望的。
[0086]IV.改進的合法安全關(guān)聯(lián)發(fā)現(xiàn)
[0087]根據(jù)本發(fā)明的示例性實施例,提供了密鑰發(fā)現(xiàn)問題的解決方案,這依賴于提供商發(fā)現(xiàn)通信會話的至少一個參與者的“隨機秘密數(shù)”。該方法(這將在下文中更詳細(xì)描述)的工作原理具體如下。
[0088]偽隨機數(shù)生成器(PRG)包括在客戶端應(yīng)用程序中(例如,嵌入式)。這可以由提供商完成,但是也可以由另一實體做到,例如,應(yīng)用程序開發(fā)者或作者。在后一種情況的情況下,使得提供商知道包括在客戶端應(yīng)用程序中的PRG。[0089]網(wǎng)絡(luò)運營商或例如企業(yè)的應(yīng)用程序的所有者向應(yīng)用提供與客戶端的身份相關(guān)聯(lián)的秘密隨機種子(S)。此隨機種子通常是一個隨機數(shù),或更一般的是一組數(shù)字,其中包括至少一個隨機數(shù)。種子可以進一步根據(jù)需要經(jīng)常更新,本發(fā)明的解決方案不受所使用的提供的種子或如何經(jīng)常更新種子的方法影響。
[0090]這種關(guān)聯(lián),即種子和身份,存儲在由網(wǎng)絡(luò)運營商或應(yīng)用程序的所有者(例如企業(yè))管理的服務(wù)器中。此外,我們允許種子對于一個給定的身份被更新,如果需要的話,但對客戶端的任何更新都必須在服務(wù)器上執(zhí)行。
[0091]為了執(zhí)行諸如Diffie-Hellman、IBAKE等的密鑰交換協(xié)議,應(yīng)用需要產(chǎn)生用于會話的隨機數(shù)(秘密數(shù))(例如,X)時,PRG被調(diào)用。PRG使用種子和確定性的、單調(diào)增加的量(值),例如時間戳或外部管理計數(shù)器(C),以產(chǎn)生所需的偽隨機值X。但是應(yīng)當(dāng)理解,該值可以是任何單調(diào)遞增的值,例如會話計數(shù)器、時間戳、或一個簡單的計數(shù)器值,該值具有自己的復(fù)位或增量規(guī)則。標(biāo)準(zhǔn)是,在種子的生存期期間,對于同一裝置,它從會話到會話不重復(fù)。
[0092]圖6示出了根據(jù)本發(fā)明的實施例的偽隨機生成器600。在該示例性實施例中,PRG基于SHAl算法,該算法定義在1995年4月的FIPS刊物FIPS180-1,“Secure HashStandard”,其公開的全部內(nèi)容在此引入作為參考。但是應(yīng)當(dāng)理解,本發(fā)明的原理不限于這個特定的算法。
[0093]為了產(chǎn)生偽隨機的X,128位隨機預(yù)配置的種子(S)與專用于SHAl算法的傳統(tǒng)初始向量(IV)進行異或運算(邏輯“異或”功能602)。
[0094]該時間戳或外部管理的單調(diào)遞增計數(shù)器(C),任選地與另一個預(yù)配置的常數(shù)(例如,512位的常數(shù))進行異或運算(604 ),被作為“消息”施加到SHA-1算法的輸入(在606中)。另外從執(zhí)行SHAl產(chǎn)生的160位值s被與Rs+Q mod G功能(在608中)“白化”(“whitened”)以確保s的每一位具有相同的硬度,生成的160位值X (610)被輸出至Diffie-Hellman型協(xié)議。在這里,在R和Q是公知的預(yù)先選定的大多項式,其系數(shù)在二進制字段中,G是多項式(T16°+T5+T2+l)。或者,可以使用任何有限域(不只是一個二進制字段),并可以使用該有限域的任何不可約多項式(不只是上述建議的特定G)。更普遍的是,任何白化函數(shù)都可以使用(不只是線性同余的哈希函數(shù)Rs+Q mod G)提取硬位(hard bits)。
[0095]使用序列號或客戶端的身份跟蹤安全通信客戶端應(yīng)用的每個實例。例如,Alice@abcenterprise.com從“ABC企業(yè)”接收安全通信客戶端軟件的實例,其中包括序列號(或Alice的身份)。提供商跟蹤相關(guān)聯(lián)的預(yù)配置的隨機種子S和例如系統(tǒng)時間的單調(diào)增加的計數(shù)器值C。這將允許提供商重新生成Alice與其他方的密鑰交換會話期間產(chǎn)生的相同的隨機數(shù)。
[0096]當(dāng)發(fā)現(xiàn)有密鑰和攔截談話的合法要求時,提供商開始記錄加密通信會話與之前的密鑰交換會話。然后,脫機服務(wù)器計算發(fā)起方(或響應(yīng)方)在密鑰交換協(xié)議中使用的隨機秘密數(shù)以計算交換的組單元。有利地,這允許,脫機服務(wù)器計算發(fā)起方(和響應(yīng)方)進行了計算的相同的會話密鑰。
[0097]但是應(yīng)當(dāng)理解的是,示于圖6中的PRG僅僅是可以使用的一個實例。作為其他例子,也可以采用其他PRG,例如在3GPP TS33.220中指定的被稱為密鑰導(dǎo)出函數(shù)KDF的PRG,該文獻中公開的全部內(nèi)容在此引入作為參考。還可以使用其他PRG。
[0098]圖7示出了根據(jù)本發(fā)明的實施例的用于會話密鑰與秘密數(shù)重新生成的合法發(fā)現(xiàn)方法700。特別是,本實施例中示出的客戶端裝置702-A和客戶端裝置702-B之間的安全關(guān)聯(lián)的攔截和發(fā)現(xiàn)包括密鑰。
[0099]請注意,如圖所示,企業(yè)服務(wù)器708規(guī)定在每個客戶端裝置(移動終端)中,并且與此并行地,在與所述客戶端裝置相關(guān)聯(lián)的企業(yè)服務(wù)器訂閱中,每個移動裝置種子S —個秘密數(shù)。種子值的可以生存于客戶端訂閱期間,或者基于企業(yè)策略被修改。在客戶端和企業(yè)服務(wù)器置備種子S所采用的方法可以使用多重已知技術(shù)范圍,例如,從工廠編程來引導(dǎo)其他現(xiàn)有的安全驗證到執(zhí)行標(biāo)準(zhǔn)或運營商特定的配置程序。
[0100]另外,如圖所示,攔截實體704(本文中表示為在“攔截網(wǎng)絡(luò)單元”,假定其能訪問信令和媒體)從其他網(wǎng)絡(luò)節(jié)點請求所有必要的信息,但不是從端點裝置(702-A,702-B)本身。因此,端點裝置是不知道企圖攔截的情況。此外,取決于攔截要求,這種信息交換可以大幅提前于通信會話的實際開始時間進行,或在會話結(jié)束后稍后的時間。因此,這個信息交換可能被稱為“離線”,即,不在通信過程中。這大大降低了網(wǎng)絡(luò)單元之間的所需的協(xié)調(diào)(與圖5中示出的MitM解決方案相比)相關(guān)的復(fù)雜度。然而,這種交換或交換的一部分可交替在通信過程中進行。
[0101]因此,如圖所示,攔截實體704從企業(yè)服務(wù)器708請求并獲取與客戶端裝置702-A相關(guān)的重復(fù)的隨機“秘密數(shù)”x (注意的是,術(shù)語秘密數(shù)為了強調(diào)加了引號,即,而X是一個對于其他方來說的秘密數(shù),因此是技術(shù)上的秘密數(shù),X對于企業(yè)服務(wù)器和攔截實體來說不是秘密,這兩者都可以重新產(chǎn)生X)。也就是說,當(dāng)該秘密隨機種子(S)由企業(yè)服務(wù)器708提供到客戶端時,因為客戶端702-A采用與客戶端702-A的身份相關(guān)的秘密隨機種子(S)生成安全密鑰的應(yīng)用是預(yù)配置的(客戶端702-A不知情),企業(yè)服務(wù)器708向攔截單元704提供相同的隨機“秘密數(shù)”x。回想一下,企業(yè)服務(wù)器可能會由應(yīng)用提供商/所有者和/或網(wǎng)絡(luò)運營商維持。還要注意的是,攔截服務(wù)器通過發(fā)送C (記得圖6中的會話計數(shù)器值C,盡管C可以替代地是會話時間戳)和它希望希望監(jiān)測的標(biāo)識符(在這個例子中,ID_A),)從企業(yè)服務(wù)器708請求“秘密數(shù)”X。該標(biāo)識也可以是一訂閱或者與第一計算裝置相關(guān)聯(lián)的用戶身份。
[0102]此外,攔截實體704假定具有與KMS706的安全信任關(guān)系,KMS有義務(wù)在監(jiān)視之下(在這種情況下,客戶端702-A)提供與端點相關(guān)聯(lián)的私有密鑰。在企業(yè)環(huán)境中,這更是合規(guī)問題,而不是監(jiān)管責(zé)任。一旦收到這些參數(shù)(端點私有密鑰和隨機的“秘密數(shù)”x),攔截實體704具有所有必要的信息來重新生成A和B在對業(yè)務(wù)量加密中使用的秘密會話密鑰,在端點不知道的情況下,施加會話密鑰的合法發(fā)現(xiàn)。
[0103]重要的是要注意,KMS或者網(wǎng)絡(luò)運營商/企業(yè)都不能夠自己單獨解密的端點之間的通信流,數(shù)據(jù)保密是受到端到端保護的。KMS706能夠因為它可以訪問到端點702-A和702-B的私有密鑰而解密IBAKE協(xié)議消息的IBE加密有效載荷,這使得它能夠獲得在端點之間的IBAKE消息中交換的xP和yP參數(shù)。但KMS706沒有能力重建所需的xyP會話密鑰,因為它不知道X或y。同樣,運營商/企業(yè)服務(wù)器708可以重新創(chuàng)建X或y,但在沒有端點702-A和702-B的私有密鑰的情況下,沒有能力解密IBAKE消息的IBE加密有效載荷。因此也不能成功重建所需的會話密鑰xyP。只有從KMS706和企業(yè)服務(wù)器708兩者接收參數(shù)執(zhí)行合法發(fā)現(xiàn)會話密鑰的功能實體(即,攔截實體704)可以解密業(yè)務(wù)量。但是,如果兩端點是相同的運營商/企業(yè)用戶,那么企業(yè)服務(wù)器可以簡單地發(fā)現(xiàn)用于會話的X和y的值以發(fā)現(xiàn)會話密鑰而不需要與KMS合作。來自KMS的信息只有在驗證實際上使用了由企業(yè)服務(wù)器計算的X和y的值的端點時是有用的。在這種情況下,要注意,如果這樣的驗證是沒有必要的,則該會話密鑰可以被發(fā)現(xiàn),甚至在沒有記錄信令事務(wù)的情況下,這進一步簡化了的安全關(guān)聯(lián)事務(wù)的合法發(fā)現(xiàn)過程。
[0104]圖8示出了根據(jù)本發(fā)明的IBAKE實施例的采用秘密數(shù)重新生成的會話密鑰合法發(fā)現(xiàn)的呼叫流。請注意,為了便于理解和一致性,在呼叫流程中的附圖標(biāo)記用與圖7相同的附圖標(biāo)記表示。還要注意的是本發(fā)明的安全關(guān)聯(lián)的合法發(fā)現(xiàn)技術(shù)不限于使用任何特定的協(xié)議,因此,在本實施例中的IBAKE協(xié)議(及在下面的圖中9描述的電話會議的實施例)是用于示例性的目的。
[0105]需要注意的是,如圖8所不,步驟1,2, 3代表的是端點A和B之間典型IBAKE協(xié)議交換。這些步驟如上所述。如果A或B被選為合法攔截的對象,攔截服務(wù)器(攔截實體)704通過本發(fā)明的安全關(guān)聯(lián)發(fā)現(xiàn)技術(shù)監(jiān)視和記錄這些信令事務(wù)。
[0106]S卩,在圖8的步驟4和5中,攔截服務(wù)器704從KMS706請求A和B的私有密鑰。當(dāng)A和B成為攔截目標(biāo)時,此項事務(wù)可以大幅提前于實際IBAKE事件來做。在這種情況下,當(dāng)A和B開始通信時,A和B的公共密鑰和私有密鑰已經(jīng)在攔截服務(wù)器處可得。
[0107]步驟6和7也可以在實際的A-B通信會話之前,期間和之后隨時執(zhí)行。例如,如果通信會話由攔截服務(wù)器以加密形式的記錄,攔截服務(wù)器向企業(yè)服務(wù)器708提供與特定會話相關(guān)的C值(時間戳或計數(shù)器),并接收與該會話相關(guān)的X。然后,它可以如所示的計算k并解密A和B之間的通信。
[0108]現(xiàn)在,進一步說明當(dāng)端點A和B不僅是不同的運營商/企業(yè)的用戶也可以使用不同的提供私有密鑰的KMS的情況下如何實現(xiàn)攔截。也就是說,為了攔截包括目標(biāo)客戶端A的會話,在圖8的步驟4和5中,攔截服務(wù)器704從與客戶端A相關(guān)的KMS706請求的私有密鑰。當(dāng)A成為攔截的目標(biāo)時,可大幅提前于實際IBAKE事件來做此工作。
[0109]步驟6和7在攔截服務(wù)器704和與客戶端A相關(guān)的企業(yè)服務(wù)器708的之間執(zhí)行,攔截服務(wù)器接收與該會話相關(guān)的X。
[0110]當(dāng)客戶端B是攔截目標(biāo)的情況下,在圖8的步驟4和5中,攔截服務(wù)器704從與客戶端B相關(guān)的KMS706請求B的私有密鑰。在圖8的步驟6和圖7中,攔截服務(wù)器704從與客戶端B相關(guān)的企業(yè)服務(wù)器708獲得y。
[0111]然后,攔截服務(wù)器可以解密在圖8的步驟3中發(fā)送的信息,并取得客戶端A發(fā)送的xP參數(shù)。知道了 y和xP的值,如圖所示,然后攔截服務(wù)器計算k并解密A和B之間的通信。
[0112]V.組設(shè)置中改進的合法安全關(guān)聯(lián)發(fā)現(xiàn)
[0113]我們現(xiàn)在轉(zhuǎn)到如電話會議環(huán)境的組設(shè)置。在會議呼叫中,一組參與者交換密鑰材料就并一組密鑰達(dá)成一致。特別地,DifTie-Hellman密鑰交換已經(jīng)擴展到組設(shè)置(參見,例如,Burmester 和 Desmedt, “A secure and efficient conference key distributionsystem”,論文集’ 94EUR0CRYPT,卷950LNCS,第275-286頁,1995年斯普林格,其公開的全部內(nèi)容在此引入作為參考),另外IBAKE已經(jīng)被擴展到組設(shè)置中的地址驗證密鑰交換(參見,例如,2009年8月28日提交的、由序列號12/549,907標(biāo)識的美國專利申請,其公開的全部內(nèi)容在此引入作為參考)。注意,短語“組設(shè)置”在這個例子中是用戶多于二的一組用戶,并且協(xié)議允許所有用戶在不安全的環(huán)境中交換信息和交流“組密鑰”(如適用),但不限于會議系統(tǒng)。[0114]圖9示出根據(jù)本發(fā)明的實施例的會議呼叫環(huán)境中的采用秘密數(shù)重新生成的合法會話密鑰發(fā)現(xiàn)方法900。具體地,圖9示出使用IBAKE的組密鑰交換。在此設(shè)置中,中央?yún)f(xié)調(diào)服務(wù)器904 (稱為會議安全服務(wù)器)驗證和授權(quán)每個用戶(裝置902-1至902-N)參與組密鑰交換。然而,從IBAKE計算導(dǎo)致的組密鑰不知道中央?yún)f(xié)調(diào)服務(wù)器904。但是,由于合規(guī)及其他監(jiān)管規(guī)定,往往要求會議提供商發(fā)現(xiàn)組密鑰。
[0115]如圖所示,每個用戶單獨與會議服務(wù)器執(zhí)行IBAKE。這使得服務(wù)器確保在呼叫中只有經(jīng)過身份驗證和授權(quán)的參與者被允許。在此之后,服務(wù)器與呼叫者的每一方共享Diffie-Hellman密鑰組成成分,從而讓每個參與者計算額外的密鑰組成部分并且和其余的參與者(通過服務(wù)器)一起分享。利用基本的組理論,它可以很容易看出,所有參與者都可以計算出相同的組密鑰,但會議服務(wù)器將無法確定密鑰。該協(xié)議被描述為圖9的906。
[0116]如上文第IV節(jié)描述的本發(fā)明的合法密鑰發(fā)現(xiàn)技術(shù),也在此設(shè)置簡單的方式進行擴展。如上所述,網(wǎng)絡(luò)運營商或企業(yè)或應(yīng)用提供商可以使用端點客戶端(902-1至902-N)上運行的應(yīng)用程序中包括的相同的偽隨機數(shù)生成器的副本來生成隨機的秘密數(shù),并因此發(fā)現(xiàn)計算組密鑰。這是從這樣的事實得出的:使用相同的偽隨機數(shù)生成器并發(fā)現(xiàn)調(diào)用生成器的所使用的參數(shù),允許攔截服務(wù)器(在這種情況下,會議服務(wù)器904或其他攔截實體)重新創(chuàng)建在協(xié)議中使用的一個或多個隨機數(shù)來計算組密鑰。詳細(xì)的計算在基本組理論中是一個簡單的練習(xí)。
[0117]V1.示例性計算系統(tǒng)
[0118]圖10示出了概括的網(wǎng)絡(luò)環(huán)境的硬件體系結(jié)構(gòu)1000和計算裝置形式的通信裝置,這些計算裝置適于根據(jù)本發(fā)明實施兩個實體之間的秘密密鑰管理協(xié)議和合法的安全關(guān)聯(lián)發(fā)現(xiàn)。
[0119]雖然圖圖10示出詳細(xì)的子組件只有兩個圖示的實體,但是應(yīng)當(dāng)理解的是,具有相同配置的其他實體也是可以的。因此,就上文描述的安全密鑰管理協(xié)議和合法安全會話發(fā)現(xiàn)來說,詳細(xì)示出的這兩個實體可以是發(fā)起方客戶端裝置702-A (第一方或A)和響應(yīng)方客戶端裝置702-B (第二方或B)。然而,KMS (706)、會議服務(wù)器(904)、攔截服務(wù)器(704)、、功能單元,附加的客戶端裝置(或成員)和額外的服務(wù)器(708)可以實現(xiàn)為與圖10所示的計算裝置具有相同體系結(jié)構(gòu)。因此,通過舉例的方式,攔截服務(wù)器1020、企業(yè)服務(wù)器1022和KMS1024在圖10中示出并且被理解為與所示的裝置1002和1004具有相同的計算架構(gòu)。然而,可以理解的是,為了簡單起見,可能參與本發(fā)明的協(xié)議的所有計算裝置(通信裝置)中未在圖10中示出。
[0120]如圖所示,A的計算裝置1002和B的指定的計算裝置1004經(jīng)由網(wǎng)絡(luò)1006耦合。橫跨該裝置能夠進行通信,例如,在上述的實施例中,網(wǎng)絡(luò)1006可以包括可公開訪問的廣域通信網(wǎng)絡(luò),諸如由網(wǎng)絡(luò)運營商(例如,Verizon公司,AT & T公司,斯普林特公司)等運行的蜂窩通信網(wǎng)絡(luò)。然而,本發(fā)明并不限于特定類型的網(wǎng)絡(luò)。通常情況下,這些裝置可以是客戶機??墒芷冈诒疚乃龅膮f(xié)議由各方共同參與的客戶端裝置的例子可以包括但不限于蜂窩電話、智能電話、桌面電話、個人數(shù)字助理、筆記本電腦,個人電腦等。如上所述,客戶端也可以是在計算裝置上(例如,智能電話)的應(yīng)用程序。然而,一個或多個裝置可以是服務(wù)器(例如,攔截服務(wù)器,企業(yè)服務(wù)器,KMS服務(wù)器等)。因此,應(yīng)該理解,本發(fā)明的方法和協(xié)議不限于計算系統(tǒng)是客戶機和服務(wù)器的情況,相反的是適用于包括兩個網(wǎng)絡(luò)單元的任何計算裝置。[0121]對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員顯而易見的是,服務(wù)器和客戶機可以被實現(xiàn)為計算機程序代碼的控制下的編程計算機。計算機程序代碼將被存儲在計算機可讀存儲介質(zhì)(例如,存儲器)中,并且代碼由計算機的處理器將執(zhí)行。鑒于本本發(fā)明的公開,本領(lǐng)域技術(shù)人員可以容易地產(chǎn)生適當(dāng)?shù)挠嬎銠C程序代碼,以實現(xiàn)本文所描述的協(xié)議。
[0122]盡管如此,圖10概括地地示出每個計算機系統(tǒng)通過網(wǎng)絡(luò)進行通信的一個示例性的體系結(jié)構(gòu)。如圖所示,1002裝置包括I/O裝置1008-A,處理器1010,存儲器1012-A。裝置1004包括I/O裝置1008-B1010-B處理器,存儲器1012-B。應(yīng)當(dāng)理解的是,本文所用的術(shù)語“處理器”包括一個或多個處理裝置,包括一個中央處理單元(CPU)或其它處理電路,包括但不限于一個或多個信號處理器,一個或多個集成電路,等。此外,本文所用的術(shù)語“存儲器”意在包括與一個處理器或CPU,如RAM,ROM,固定存儲的移動裝置(例如,硬盤驅(qū)動器),或移動存儲裝置(例如磁盤或CD-ROM的內(nèi)存)。此外,存儲器是計算機可讀存儲介質(zhì)的一個例子。此外,術(shù)語“I/O裝置”在本文中是指包括一個或多個輸入裝置(如鍵盤,鼠標(biāo))用于將數(shù)據(jù)輸入到處理單元,以及一個或多個輸出裝置(例如,CRT顯示),用于提供與所述處理單元相關(guān)聯(lián)的結(jié)果。
[0123]因此,本文所描述的用于執(zhí)行本發(fā)明方法的軟件指令或代碼可以被存儲在一個或多個相關(guān)聯(lián)的存儲器裝置,例如,ROM、固定或可移動存儲器,并準(zhǔn)備好被使用時,加載到RAM時,由CPU執(zhí)行的。
[0124]雖然這里已經(jīng)參考附圖描述了本發(fā)明的說明性實施例,應(yīng)該理解,本發(fā)明并不限定于這些具體的實施例,在本領(lǐng)域中,在不脫離本發(fā)明的范圍或精神的情況下,可以由本領(lǐng)域技術(shù)人員作出各種其它的改變和修改。
【權(quán)利要求】
1.一種用于形成第一計算裝置和第二計算裝置之間的可發(fā)現(xiàn)安全關(guān)聯(lián)的方法,包括: 第一計算裝置被提供由所述第一計算裝置使用以生成秘密數(shù)的種子,所述秘密數(shù)由所述第一計算裝置使用以計算與第二計算裝置進行安全通信時使用的密鑰,其中所述秘密數(shù)能基于所述種子的知識被重新計算并且所述密鑰能基于所述秘密數(shù)的知識被重新計算,以使得第三計算裝置能使用重新計算的密鑰在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。
2.根據(jù)權(quán)利要求1的方法,其中所述第一計算裝置獲取包括偽隨機數(shù)生成器的應(yīng)用程序。
3.根據(jù)權(quán)利要求2的方法,其中所述第一計算裝置從第四計算裝置獲得應(yīng)用程序。
4.根據(jù)權(quán)利要求2所述的方法,其中所述應(yīng)用程序被提供所述種子,并且所述種子與關(guān)聯(lián)到第一計算裝置的標(biāo)識符相關(guān)。
5.根據(jù)權(quán)利要求1所述的方法,其中所述應(yīng)用程序調(diào)用所述偽隨機生成器以基于所述種子生成所述秘密數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述種子包括一組數(shù)字,所述一組數(shù)字包括至少一個隨機數(shù)。
7.一種用于發(fā)現(xiàn)第一計算裝置和第二計算裝置之間形成的安全關(guān)聯(lián)的方法,包括: 第三計算裝置從第四計算裝置獲得秘密數(shù),其中,所述秘密數(shù)與所述第一計算裝置生成的秘密數(shù)相同,其中,所述第一計算裝置基于由所述第四計算裝置向其提供的種子生成秘密數(shù),并且其中所述第一計算裝置使用所述種子生成所述秘密數(shù),并使用所述秘密數(shù)計算與第二計算裝置進行安全通信時使用的密鑰; 第三計算裝置基于所述秘密數(shù)重新計算所述密鑰,以便在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。
8.根據(jù)權(quán)利要求7所述的方法,其中所述第三計算裝置向第四計算裝置提供與關(guān)聯(lián)到第一計算裝置的身份相關(guān)的值,以使得第四計算裝置返回所述第三計算裝置需要的所述秘密數(shù)以重新計算所述密鑰,以便攔截所述第一計算裝置和所述第二計算裝置之間的通信。
9.一種用于形成第一計算裝置和第二計算裝置之間的可發(fā)現(xiàn)安全關(guān)聯(lián)的設(shè)備,包括: 存儲器;以及 耦合到所述存儲器的處理器,所述處理器被配置為使得第一計算裝置被提供由所述第一計算裝置使用以生成秘密數(shù)的種子,所述秘密數(shù)由所述第一計算裝置使用以計算與第二計算裝置進行安全通信時使用的密鑰,其中所述秘密數(shù)能基于所述種子的知識被重新計算并且所述密鑰能基于所述秘密數(shù)的知識被重新計算,以使得第三計算裝置能使用重新計算的密鑰在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。
10.一種用于發(fā)現(xiàn)第一計算裝置和第二計算裝置之間形成的安全關(guān)聯(lián)的方法,包括: 存儲器;以及 耦合到所述存儲器的處理器,所述處理器被配置為使得第三計算裝置從第四計算裝置獲得秘密數(shù),其中,所述秘密數(shù)與所述第一計算裝置生成的秘密數(shù)相同,其中,所述第一計算裝置基于由所述第四計算裝置向其提供的種子生成秘密數(shù),并且其中所述第一計算裝置使用所述種子生成所述秘密數(shù),并使用所述秘密數(shù)計算與第二計算裝置進行安全通信時的使用的密鑰, 這樣第三計算裝置基于所述秘密數(shù)重新計算所述密鑰,以便在所述第一計算裝置和所述第二計算裝置不知情的情況下攔截所述第一計算裝置和所述第二計算裝置之間的通信。
【文檔編號】H04L9/08GK103493427SQ201280019692
【公開日】2014年1月1日 申請日期:2012年4月3日 優(yōu)先權(quán)日:2011年4月22日
【發(fā)明者】G·S·桑達(dá)拉姆, S·B·米茲科夫斯基 申請人:阿爾卡特朗訊公司