亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

使用配對(duì)函數(shù)在各方之間的通信中確保保密的方法和設(shè)備的制作方法

文檔序號(hào):7636798閱讀:252來源:國(guó)知局
專利名稱:使用配對(duì)函數(shù)在各方之間的通信中確保保密的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于在各方之間的通信中確保保密(privacy)的方 法和設(shè)備,特別是(盡管不是必須地)涉及一種用于防止對(duì)一方的移動(dòng) 進(jìn)行跟蹤的方法和設(shè)備。
背景技術(shù)
在其中用戶終端和/或用戶是可移動(dòng)的通信系統(tǒng)中,出于保密以及可 能的法律原因,防止對(duì)用戶和設(shè)備的未經(jīng)授權(quán)的跟蹤是重要的。在防止 跟蹤的過程中,主要的挑戰(zhàn)是避免使用長(zhǎng)期的或容易相關(guān)的信息(比如 標(biāo)識(shí)符、數(shù)據(jù)或其他值),所述信息構(gòu)成顯式"標(biāo)識(shí)符"或者以其他方 式允許識(shí)別用戶,并且使得有可能在實(shí)體從一個(gè)地點(diǎn)移動(dòng)到另一個(gè)地點(diǎn) 時(shí)跟隨該相同實(shí)體(其中"地點(diǎn)"可以是地理的(即物理的)或邏輯的 (例如網(wǎng)絡(luò)地址))。下面使用的術(shù)語"標(biāo)識(shí)符"包含所有可能性。這 里,"地點(diǎn)"可以是物理的(地理的)或邏輯的(例如網(wǎng)絡(luò)地址)。一 些電信機(jī)制已經(jīng)將此納入考慮,并且可以使用頻繁地和/或隨機(jī)地改變的 標(biāo)識(shí)符。在GSM中,所謂的TIMSI,即臨時(shí)IMS1 (國(guó)際移動(dòng)用戶標(biāo)識(shí) 符)被用來隱藏真實(shí)的IMSI。然而, 一般來說,除非在整個(gè)協(xié)議棧中都 實(shí)施這種技術(shù),否則這種技術(shù)是沒用的。例如,雖然無線LAN認(rèn)證機(jī) 制可以采用"假名"[EAP-SIM, IETF draft-haverinen-pppext-eap-sim-14.txt;以及EAP-AKA, IETF draft-arkko-pppext-eap-aka-14.txt]或者甚至 對(duì)其他人完全隱藏認(rèn)證交換[PEAP, IETF draft-josefsson-pppext-eap-tls-eap-10.txt],但是只要在較低層處使用固定的鏈路層標(biāo)識(shí)符(例如MAC 地址),這樣做就沒有什么價(jià)值。所述問題以許多形式存在。 一個(gè)特別明顯的例子是傳輸明文的人類 可讀的用戶身份,比如NAI [IETF RFC 2486]。對(duì)于穩(wěn)定的但是"無意義 的"標(biāo)識(shí)符的傳輸出現(xiàn)類似的問題,比如IP地址[PRIVACYADDR; IETF RFC 3041]。 一個(gè)不大為人所知的問題是,即便是完全獨(dú)立于任何實(shí)際 的"標(biāo)識(shí)符,,的數(shù)據(jù)也可以被用來跟蹤用戶。例如,如果SPI值沒有發(fā) 生改變,那么即使IP地址不再是相同的,IPSec SPI [IPSEC, IETF RFC 2401]也可能揭示出在一個(gè)地點(diǎn)處的節(jié)點(diǎn)與隨后出現(xiàn)在另一個(gè)位置處的 節(jié)點(diǎn)是相同的節(jié)點(diǎn);例如,在32比特的SPI的情況下,如果SPI:s是相 同的,那么其不是相同用戶的幾率大約是40億分之一。(如果使用NAT-T 或MOBIKE,則IP地址可以改變。)這對(duì)于IKE SPI是特別成問題的, 因?yàn)樵谠撨^程中不揭示先前的SPI的情況下沒有高效地重新協(xié)商IKE SPI的可能性。對(duì)于IPSecSPI來說,該問題不大嚴(yán)重,因?yàn)榭梢栽贗KE SA的保護(hù)下重新協(xié)商SPI,從而對(duì)外界隱藏所述改變。然而,仍然存在 這樣的問題保密增強(qiáng)措施有時(shí)可能會(huì)被意外的因素摧毀。相同的問題出現(xiàn)在某些認(rèn)證機(jī)制中。出于認(rèn)證的目的,兩種流4亍的 技術(shù)是使用公共密鑰密碼術(shù)和所謂的散列鏈。公共密鑰的問題在于,即 使所述密鑰沒有被綁定到一個(gè)身份,它也會(huì)留下用戶的"蹤跡",這是 因?yàn)槿魏稳硕伎梢岳盟龉裁荑€來驗(yàn)證真實(shí)性。類似地,通過應(yīng)用 所述散列,可以容易地在正向上鏈接散列鏈。即使對(duì)于每個(gè)分組改變的數(shù)據(jù)也可以被用來跟蹤用戶。例如,在一 些情況下,即使不存在其他穩(wěn)定的標(biāo)識(shí)符,TCP或IPSec序列號(hào)也可能 足以識(shí)別設(shè)備。只要所述序列號(hào)空間足夠大并且節(jié)點(diǎn)散布的程度足夠 高,那么在一個(gè)地點(diǎn)處給出序列號(hào)N并且不久之后在另一個(gè)地點(diǎn)處給出 N+l (或與其接近的東西)的節(jié)點(diǎn)很有可能是相同的節(jié)點(diǎn)。用來處理這些問題的現(xiàn)有技術(shù)包括-把標(biāo)識(shí)符和其他通信隱藏在受保護(hù)的一個(gè)或多個(gè)隧道內(nèi),比如 TLS或IPSec。這一解決方案的缺陷在于,在所述"隧道"外部,其他 標(biāo)識(shí)符常常仍然保持可見。-使用"假名",如在GSM和一些EAP方法中所做的那樣。在這種技術(shù)中,使用一個(gè)標(biāo)識(shí)符來登錄一個(gè)服務(wù),并且該服務(wù)返回一個(gè)加密 的令牌,客戶端可以解密該加密的令牌并且將其用作標(biāo)識(shí)符以用于下次登錄到所述服務(wù)。這種方案的缺陷在于,必須返回新的假名,這增加了 必要的信令的數(shù)量。無論如何,這種解決方案可能并不是在所有情況下 都是可行的。例如,按照這種方式保護(hù)序列號(hào)在TCP中將是可能的,因 為存在ACK,但是在IPSec中將是困難的,因?yàn)樵谛枰l(fā)送新的分組之 前,在返回方向上可能沒有通信量。無論任何,在可以發(fā)送第二分組之 前等待新的假名都會(huì)是低效的。-在傳統(tǒng)上使用序列號(hào)的場(chǎng)合可以考慮除去序列號(hào)(從而除去可鏈 接性)。然而,在現(xiàn)有技術(shù)下,這不是一個(gè)普遍可行的選項(xiàng),因?yàn)檫@樣 做產(chǎn)生了發(fā)送方/接收方同步問題,至少在與諸如IP之類的不可靠數(shù)據(jù) 傳輸機(jī)制一起使用時(shí)是這樣的。-對(duì)于公共密鑰和散列鏈, 一種可以用來改進(jìn)保密的方法是頻繁地 生成新的公共密鑰/散列鏈。然而,這樣做的計(jì)算量非常大。所述問題概括來說就是,描述對(duì)數(shù)椐分組的處理(例如安全性處 理)的元數(shù)據(jù)可以被用來攻擊保密。發(fā)明內(nèi)容本發(fā)明的一個(gè)目的是克服或者至少減輕上面提到的缺點(diǎn)。這一目的 和其他目的的實(shí)現(xiàn)是通過使用從一個(gè)偽隨機(jī)序列中選擇的值來表示這樣的值所述值雖然本身不是用戶標(biāo)識(shí)符,但是其在一次通信或一系列 通信中是相對(duì)長(zhǎng)壽的(long-lived),或者其改變方式可以被第三方預(yù)測(cè)到。根據(jù)本發(fā)明的第一方面,提供一種通過在共享密鑰k的第一方與至 少一個(gè)第二方之間傳送的有序消息序列M[x(l),D(l)]、 M[x(2),D(2)]等等 中隱藏描述消息處理的元數(shù)據(jù)x(i)來改進(jìn)保密的方法,其中D(i)表示凈 荷數(shù)據(jù),該方法包括所述第一方和所述第二方同意基于共享密鑰k、至少把x(i)映射到 y(i)的Fk的偽隨機(jī)映射;所述第一方通過在每個(gè)消息M(x(i),D(i))中用y(i)替換x(i)來修改所 述消息;所述第一方發(fā)送所述修改后的消息,同時(shí)保持其原始順序;在接收到消息M(y(m),D)時(shí),第二方使用映射Gk來檢索所接收的值 的位置m和所述原始值x(m)。在本發(fā)明的某些實(shí)施例中,所述方法包括所述第二方利用其所接 受的值的窗口[N,,Ni+t],所述窗口尺寸t是預(yù)定義的,并且其中所述映射 Gk是通過把所述映射Fk應(yīng)用于所述窗口中的至少一個(gè)Nm值并且把結(jié)果 與所述y(m)進(jìn)行比較來計(jì)算的。優(yōu)選地,Gk是Fk的逆,并且檢索所述原始值x(i)的步驟是通過計(jì)算 Gk(y(i))來執(zhí)行的。在序列中的位置與所述原始值x之間可能存在已知的關(guān)系r,從而
使得i》x(r(i))。在某些實(shí)施例中,r(i)=i。每一方可以使用一個(gè)計(jì)數(shù)器或所同意的算術(shù)函數(shù)r來為能夠生成所 述偽隨機(jī)值序列的函數(shù)生成輸入值,每個(gè)計(jì)數(shù)器值或函數(shù)結(jié)果r(i)根據(jù) Fk:{r(i),x(i)} -〉 y(i)而產(chǎn)生所述偽隨機(jī)序列中的相應(yīng)值。 | 在本發(fā)明的某些實(shí)施例中,元數(shù)據(jù)x(i)是單調(diào)遞增的序。 在本發(fā)明的某些實(shí)施例中,元數(shù)據(jù)x(i)描述對(duì)消息M(i)的安全性處理。根據(jù)本發(fā)明的第二方面,提供一種在第一方與一個(gè)或多個(gè)第二方通 過通信網(wǎng)絡(luò)的通信中確保保密的方法,該方法包括使得相同的偽隨機(jī)值序列可用于第一方和第二方當(dāng)中的每一方,并 且保持所述序列或所述各值與這樣一個(gè)值之間的映射,該值被接收由第 一方發(fā)送的消息的 一方使用來處理該消息或其內(nèi)容;在將在所述第一方與第二方之間發(fā)送的消息中,使用來自所述序列 的值來替換該序列被映射到的所述值;并且在所述接收方或每一個(gè)接收方處,基于被替入的值來識(shí)別被替換掉 的值,并且相應(yīng)地處理所述消息,其中,所使用的來自所述序列的值被逐個(gè)消息地改變或者被周期性 地改變。根據(jù)本發(fā)明的某些方面,所述序列被映射到的值可以被視為"元數(shù) 據(jù),,,也就是用來標(biāo)識(shí)數(shù)據(jù)的數(shù)據(jù)。所述值可能是相對(duì)長(zhǎng)壽的,或者其 改變方式可能被第三方預(yù)測(cè)到。本發(fā)明的實(shí)施例對(duì)第三方隱藏所述一個(gè) 或多個(gè)真實(shí)值,所述第三方可能正在"窺探"在各方之間發(fā)送的消息。所述序列被映射到的值可以是被動(dòng)態(tài)地分配給一方或通信的值。該 值可以;故臨時(shí)分配給一方或通信會(huì)話。所映射的值可能按照可預(yù)測(cè)的方式改變,即按照第三方可能能夠把 不同的值與同一方相關(guān)聯(lián)的方式改變。所述序列被映射到的值可能是以下各項(xiàng)的其中之一 -IKE或IPSec SPI-MAC (介質(zhì)接入控制)地址-IP地址-IPv6地址的4矣口標(biāo)識(shí)符部分 -端口號(hào)-密碼密鑰(例如,在一些情況下使用相同的密鑰兩次可能會(huì)產(chǎn)生 一個(gè)可利用的鏈接)-散列鏈(散列鏈中的連續(xù)值是非??涉溄拥?,但是使用new_value =PRF(h(old_value) I P)將除去到外界的這種鏈接。在這種情況下,實(shí)現(xiàn) 相同結(jié)果的另 一個(gè)^^式將是new—value =PRF(old_value | P)。-序列號(hào)一這里,標(biāo)識(shí)符Ni將對(duì)應(yīng)于序列號(hào)i;將按照與當(dāng)前處理 序列號(hào)相同的方式來進(jìn)行窗口處理。優(yōu)選地,使得相同的偽隨機(jī)值序列可用于第一方和第二方當(dāng)中的每 一方的所述步驟包括向所述各方以及能夠生成偽隨機(jī)數(shù)序列的函數(shù)提 供共享秘密。每一方通過使用所述共享秘密和相應(yīng)的值序列(例如一個(gè) 算術(shù)級(jí)數(shù)或者一個(gè)已知的有限狀態(tài)機(jī)、LFSR等等的連續(xù)輸出)作為到 所述函數(shù)的輸入來生成所迷偽隨機(jī)序列??梢园凑招枰⑶以谛枰獣r(shí)每 次生成所述偽隨機(jī)序列的 一個(gè)值,或者可以生成一組值以供將來使用。在本發(fā)明的 一個(gè)替換實(shí)施例中,可以由第三方生成一個(gè)偽隨機(jī)值序 列,并且由該第三方將其提供給所述第一方和第二方當(dāng)中的一個(gè)或二者 /全部。所述偽隨機(jī)序列的各值優(yōu)選地由發(fā)送方按照預(yù)定義的順序使用,或 者從有限范圍的序列值中選擇。該范圍可以在使用了 一個(gè)或多個(gè)值后移 位。接收方具有關(guān)于所述標(biāo)識(shí)符將被使用的順序的知識(shí)(例如通過使用 帶外信令生成先前同意的策略),以及/或者關(guān)于從中選擇標(biāo)識(shí)符的窗口 的知識(shí)。每一方可以使用一個(gè)計(jì)數(shù)器或所同意的算術(shù)函數(shù)來生成用于一個(gè) 能夠生成所述偽隨機(jī)值序列的函數(shù)的輸入值,每一個(gè)計(jì)數(shù)器值或函數(shù)結(jié) 果產(chǎn)生所述偽隨機(jī)序列中的相應(yīng)值。在生成所述偽隨機(jī)輸出之前,可以 由所述函數(shù)按照可預(yù)測(cè)的方式來修改所述計(jì)數(shù)器值或結(jié)果,例如對(duì)其進(jìn) 行乘法或除法。計(jì)數(shù)器可以按照任何適當(dāng)?shù)姆绞竭M(jìn)行計(jì)數(shù)。優(yōu)選地,所述函數(shù)是一個(gè)偽隨機(jī)函數(shù)。然而,其他函數(shù)也可能能夠 生成合適的偽隨機(jī)序列(其中包括分組密碼函數(shù)),并且可以被替換地 使用。所述函數(shù)的輸出可以被直接用作所述第 一方的標(biāo)識(shí)符??蛇x擇地, 該輸出可以被進(jìn)一 步處理以便生成所述標(biāo)識(shí)符。所述序列的各值可以被第一方按順序使用,以便在與第二方的相繼
通信中標(biāo)識(shí)其自身??蛇x擇地,所述各值可以被無序地使用,但是例如 在某一預(yù)定義的范圍內(nèi)。優(yōu)選地,所述方法包括在第二方處定義可接受的第一方值的窗口 , 該窗口對(duì)應(yīng)于一個(gè)計(jì)數(shù)器值范圍。該窗口的下端可以基于已經(jīng)接收的值 而被定義,從而使得所述窗口在接收到所有在前值之后移動(dòng)到所述序列 中的下一個(gè)值。可以:f安照需要并且在需要時(shí)在第一方和第二方處生成所述值,例如 恰好在發(fā)送從第 一方到第二方的通信之前,以及在第二方處接收到通信 之后。(不需要同時(shí)遞增兩方處的計(jì)數(shù)器。)可選擇地,所述兩方的其 中之一或二者可以預(yù)先生成一組標(biāo)識(shí)符以供將來使用。在本發(fā)明的一個(gè)實(shí)施例中,所述方法被用來根據(jù)IPv6生成密碼生成 地址(CGA)。更特別地,通過使用所述計(jì)數(shù)器值作為到所述接口標(biāo)識(shí) 符生成過程的輸入來生成CGA地址的^妄口標(biāo)識(shí)符部分。值序列中的單個(gè)值可以被使用多次而不是僅僅一次,其中基于預(yù)定 義的因素使用下 一 個(gè)值,例如當(dāng)發(fā)送側(cè)移動(dòng)到新的位置時(shí)或者當(dāng)它從接 收方接收到使用所述下一個(gè)值的分組時(shí)。所述各值可以被用來在接收端對(duì)所述分組進(jìn)行多路分解,以便例如'本發(fā)明可:被采用來隱i/替換,iPSec或IKE中的SPI號(hào)和其他標(biāo)識(shí)付。本發(fā)明可以被采用在諸如WLAN、 GSM之類的網(wǎng)絡(luò)接入機(jī)制中或 者被采用在諸如EAP之類的認(rèn)證方法中。在本發(fā)明的一些實(shí)施方式中,可以為諸如NAT之類的第三方提供 生成所述值序列所需的信息。該第三方可以與除了通信節(jié)點(diǎn)之外的各方 共享所述序列,以用于合法攔截或其他目的。根據(jù)本發(fā)明的第三方面,提供一種操作移動(dòng)終端或網(wǎng)絡(luò)節(jié)點(diǎn)的方 法,該方法包括使得一個(gè)偽隨機(jī)值序列可用于所述終端或節(jié)點(diǎn),并且保持所述序列 或所述各值與這樣一個(gè)值之間的映射,該值被接收由所述終端或節(jié)點(diǎn)發(fā) 送的消息的一方使用來處理該消息或其內(nèi)容;并且在將在所述終端或節(jié)點(diǎn)與第二方之間發(fā)送的有序消息序列當(dāng)中的 每一個(gè)消息之中,使用來自所述偽隨機(jī)序列的相應(yīng)值來替換該序列被映
射到的所述值。根據(jù)本發(fā)明的第四方面,提供一種操作移動(dòng)終端或網(wǎng)絡(luò)節(jié)點(diǎn)的方法,該方法包括使得一個(gè)偽隨機(jī)值序列可用于所述終端或節(jié)點(diǎn),并且保持所述序列 或所述各值與這樣一個(gè)值之間的映射,該值被接收由所述終端或節(jié)點(diǎn)發(fā)送的消息的一方使用來處理該消息或其內(nèi)容;并且對(duì)于在所述終端或節(jié)點(diǎn)處從第二方接收到的有序消息序列當(dāng)中的 每一個(gè)消息,把包含在該消息中的序列值映射到所述所映射的值,并且 使用該映射的值來處理該消息或其內(nèi)容。根據(jù)本發(fā)明的第五方面,提供一種生成公共密鑰序列以便用在各方之間的安全通信中的方法,該方法包括 向第 一方和第二方提供第 一公共密鑰;在第一方與第二方之間同意共享秘密;向第一方和第二方提供用于利用所述第一公共密鑰和所述共享秘密生成另外的公共密鑰的序列的裝置,從而使得所述序列的各值具有偽隨^/L性質(zhì);并且使用所述序列的各公共密鑰來確保所述各方之間的通信的安全。 作為這種公共密鑰序列的一個(gè)例子,考慮"基本"密鑰y二g、(在基于離散對(duì)數(shù)的方案中),其中通過把y自乘到從所述偽隨機(jī)序列獲得的冪來獲得各連續(xù)密鑰。


圖1示意性地示出了在安全通信過程中所涉及到的各方;圖2是示出了安全通信過程中的各步驟的流程圖;圖3示意性地示出了在包括第三方的安全通信過程中所涉及到的各方;圖4示意性地示出了在其中需要合法攔截的安全通信過程中所涉及 到的各方;以及圖5是示出了使用IPSec的安全通信過程中的各步驟的流程圖。
具體實(shí)施方式
現(xiàn)在將參考一個(gè)一般性的通信系統(tǒng)來說明本發(fā)明,在該通信系統(tǒng)中,兩方希望通過通信網(wǎng)絡(luò)彼此通信。所述各方可以是用戶終端或基于 網(wǎng)絡(luò)的裝置,或者可以是二者的組合。所述通信包括多個(gè)被多路復(fù)用的 通信,其中的每個(gè)通信包括描述或指示該通信應(yīng)當(dāng)被處理的方式的"元 數(shù)據(jù),,。這種數(shù)據(jù)可以涉及安全性處理,并且可以被用來導(dǎo)出各通信之 間的時(shí)間關(guān)系以及/或者通信與物理或邏輯實(shí)體之間的空間關(guān)系。 一種示 例性時(shí)間關(guān)系可以從 一 個(gè)序列號(hào)確定,而 一 種示例性空間關(guān)系則可以從一個(gè)身份確定,該身份標(biāo)識(shí)用戶、發(fā)送了該通信的網(wǎng)絡(luò)實(shí)體、或者諸如 端口號(hào)之類的邏輯實(shí)體。所述各方(或"對(duì)等體")同意將被使用的特定值序列。這樣做的 最容易的方式是同意一個(gè)公共偽隨機(jī)函數(shù),所述各對(duì)等體將使用該公共 偽隨機(jī)函數(shù)來導(dǎo)出下一個(gè)值。這不要求在每個(gè)分組基礎(chǔ)上的信令。所述對(duì)等體使用它們接受的值窗口;這樣,分組丟失不會(huì)破壞同步。更具體來說,所述各對(duì)等體同意 一些秘密參數(shù)P作為它們的連接建 立的一部分。舉例來說,在IKE中,P可以基于從建立IKE SA產(chǎn)生的主密鑰來導(dǎo)出。這不一定要求超出現(xiàn)有協(xié)議的任何通信,只要所述各對(duì) 等體知道兩端都支持該方案即可。例如,P可以被設(shè)置為h("保密"I主密鑰)。參見圖1和圖2。下一個(gè)步驟是使用諸如偽隨機(jī)函數(shù)(PRF)之類的序列生成函數(shù)來 導(dǎo)出多個(gè)類隨機(jī)值。到該函數(shù)的輸入是所述秘密參數(shù)P。例如,第一值 可以是PRF("l"IP),第二值可以是PRF("2"IP),后面依此類推。這里, "n"表示自然數(shù)n到一個(gè)值的映射"n、r(n)。如果P本身是一個(gè)可變參 數(shù),比如序列號(hào),則所添加的序列號(hào)'T, 、 "2"等等可能是不必要的。 一種替換方案可以是使用函數(shù)valueJHF(P, anchor—ID | "j"), 其中,F(xiàn)是可逆的一對(duì)一函數(shù)(PRF通常不是),例如是分組密碼,而j 是序列號(hào)。所述anchor—ID可以是"真實(shí),,身份,比如真實(shí)的用戶名。 這種做法背后的動(dòng)機(jī)是,合法的、可信的用戶(其共享P)于是將按照 一種簡(jiǎn)單且高效的方式進(jìn)行"回溯"并且找到所述anchor—ID。在該實(shí) 施例中,接收方可以高效地從value J重建j,這意味著接收方可以容易 地確定所接收的消息的原始順序(以及其他內(nèi)容)。如果F不是一對(duì)一 的(這可能將是更普遍的情況),則接收方仍然可以(以高的概率)高 效地重建所述原始順序,正如接下來將描述的那樣。 發(fā)送對(duì)等體使用序列中的每個(gè)值。如果迄今為止直到N,的值都被見 過的話,則接收對(duì)等體使用其所接受的值窗口,比方說值Nw、 Ni+2、…、 Ni+32。如果所討論的應(yīng)用允許或者甚至要求這樣的話,所述各值在所述 窗口內(nèi)可以被無序地使用。例如,在IPSec中這將是所需要的。在其他 應(yīng)用中,較低層(比如TCP)可能已經(jīng)確保所有值都被使用在序列中, 并且沒有值被跳過。所接受的序列值的窗口被用來確定所接收的值在所述序列中的位 置。隨后使用一個(gè)映射函數(shù)來檢索已經(jīng)被替換掉的原始值。當(dāng)在所述窗 口內(nèi)的所述位置與所述原始值之間存在已知的關(guān)系時(shí),所述映射函數(shù)優(yōu) 選地被選擇成使得它是一對(duì)一的(因此是唯一可逆的)。所述位置不需 要直接確定所述原始值。然而, 一旦確定了所述位置,可以在執(zhí)行所述 逆映射之前首先應(yīng)用一個(gè)映射"位置"。例如,在接收到v(它具有PRF(j IP)的形式)之后,接收方最初不知道j。然而,通過對(duì)于上述窗口中的 所有Ni評(píng)估PRF(Ni I P),接收方將很有可能找到作為滿足下式的Ni的 正確的j:PRF(Ni I P)=v。唯一 的問題將是在所述窗口中是否存在映射到相同值的兩個(gè)不同 的Ni、 Nk。但是,假定所述PRF產(chǎn)生尺寸為t比特的輸出并且所述窗 口的尺寸為w,則這種沖突的概率預(yù)計(jì)大約是w2—t。比方說對(duì)于w=t=32, 該概率僅僅是大約十億分之一。作為另一個(gè)例子,假設(shè)數(shù)據(jù)會(huì)話以50 分組每秒運(yùn)行。在預(yù)期到甚至單個(gè)沖突錯(cuò)誤之前,這種數(shù)據(jù)會(huì)話可以持 續(xù)大約一個(gè)月。注意,該方案可以被用于任何類型的值或者可能揭示與所述裝置或 用戶的身份相關(guān)的信息的其他元數(shù)據(jù)。例如 -MAC (介質(zhì)接入控制)地址 -IP地址-IPv6地址的4妄口標(biāo)識(shí)符部分 -端口號(hào)-IKE或IPSec SPI-密碼密鑰(例如,在一些情況下使用相同的密鑰兩次可能會(huì)產(chǎn)生 一個(gè)可利用的鏈接)-散列鏈(散列鏈中的連續(xù)值是非??涉溄拥?,但是使用 new—value=PRF(h(old—value) | P)將除去到外界的這種鏈接。在這種情況 下,實(shí)現(xiàn)相同結(jié)果的另 一個(gè)公式將是new—value=PRF(old—value | P)。-序列號(hào)一這里,標(biāo)識(shí)符Ni將對(duì)應(yīng)于序列號(hào)i;將按照與當(dāng)前處理 序列號(hào)相同的方式來進(jìn)行窗口處理。在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述值/元數(shù)據(jù)被用來在接收端對(duì)所 接收的分組進(jìn)行多路分解。例如,IP地址和TCP/UDP端口號(hào)被用來在 接收方處對(duì)分組進(jìn)行多路分解,以便把它們傳遞到正確的接收過程。類 似地,IPSecSPI被用來對(duì)所述分組進(jìn)行多路分解,以便把它們導(dǎo)向正確 的安全性關(guān)聯(lián)以用于進(jìn)行密碼處理。實(shí)施該實(shí)施例的一種所建議的方式 是利用一個(gè)短的預(yù)先計(jì)算的生成值列表來替換保存所述標(biāo)識(shí)符的變 量。當(dāng)使用散列表來進(jìn)行多路分解時(shí),所有的所述生成值都被插入到所 述散列表中。在本發(fā)明的另一個(gè)實(shí)施例中,所述值具有一些密碼語義。例如,在 IPv6中,所謂的密碼生成地址(CGA)具有一個(gè)接口標(biāo)識(shí)符部分,其是 作為公共密碼密鑰和一些其他參數(shù)的散列而生成的。本發(fā)明可以應(yīng)用于 CGA,這是通過在所述其他參數(shù)中包括一個(gè)序列計(jì)數(shù)器,并且使用所生 成的接口標(biāo)識(shí)符序列來替換單個(gè)穩(wěn)定的接口標(biāo)識(shí)符。在本發(fā)明的另一個(gè)實(shí)施例中,除了原始發(fā)送方和最終接收方之外, 把所生成的所述序列傳送給其他各通信方。例如,可以向IP網(wǎng)絡(luò)地址轉(zhuǎn) 換器(NAT)或其他中介裝置揭示所述序列,這是通過把生成所述序列 所需的參數(shù)安全地發(fā)送給其他各通信方(參見圖3)。在本發(fā)明的另一個(gè)實(shí)施例中,所述序列或者由第三方生成或者被揭 示給第三方,從而使得該第三方在后面又可以把該序列揭示給其他方。 這例如對(duì)于執(zhí)行合法攔截可能是有用的。舉例來說, 一個(gè)運(yùn)營(yíng)商控制的 節(jié)點(diǎn)可以生成用于兩個(gè)通信節(jié)點(diǎn)的值和共享秘密的序列,并且利用安全 性關(guān)聯(lián)將其安全地傳送給所述兩個(gè)節(jié)點(diǎn),其中該安全性關(guān)聯(lián)是在建立它 們的訂購(gòu)時(shí)所建立的。如果隨后需要合法攔截,則該運(yùn)營(yíng)商的節(jié)點(diǎn)可以 向一個(gè)能夠捕荻分組流的節(jié)點(diǎn)揭示所述值序列,并且向希望執(zhí)行所述合 法攔截操作的政府機(jī)構(gòu)揭示所述共享秘密序列(參見圖4)。本發(fā)明可以被用來提供超保密的通信。 一種可能的應(yīng)用是在主機(jī)身 份協(xié)議(HIP)中,或者用于4G鏈路層協(xié)議和WLAN協(xié)議。如上所述,本發(fā)明的一種特定應(yīng)用是在IPSec中,其打算為IP和上 層協(xié)議(例如TCP或UDP)提供安全性。IPSec利用安全性關(guān)聯(lián)(SA) 數(shù)據(jù)庫(kù)把密鑰和安全性服務(wù)關(guān)聯(lián)到通信量。在IPSec協(xié)議報(bào)頭中包括被 稱作安全性參數(shù)索引(SPI)的索引,并且該索引指向所述SA數(shù)據(jù)庫(kù)中 的特定SA。 SPI通常將被分配給特定的用戶或終端以供長(zhǎng)期使用。所述 SPI必須被明文地包括在IPSec報(bào)頭中,因此這樣就存在一個(gè)弱點(diǎn),該 弱點(diǎn)可能被惡意的第三方利用來跟蹤用戶移動(dòng)。通過把所述SPI映射到 一個(gè)偽隨機(jī)值序列并且利用一個(gè)改變的序列值來替換IPSec報(bào)頭中的 SPI,該弱點(diǎn)被消除。一般來說,對(duì)于每個(gè)消息選擇新的序列值。將認(rèn)識(shí)到,在各通信方 之間每個(gè)方向上建立一個(gè)SA,這種機(jī)制將被單獨(dú)地應(yīng)用于每個(gè)SA。圖 5是說明該過程的流程圖。由于IPSec報(bào)頭還包括再次可能代表弱點(diǎn)的序列號(hào),因此所述序列 號(hào)還可以被映射到一個(gè)偽隨機(jī)序列。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在不背離本發(fā)明的范圍的情況下可以對(duì) 上述實(shí)施例進(jìn)行各種修改。
權(quán)利要求
1、一種通過在共享密鑰k的第一方與至少一個(gè)第二方之間傳送的有序消息序列M[x(1),D(1)]、M[x(2),D(2)]等等中隱藏描述消息處理的元數(shù)據(jù)x(i)來改進(jìn)保密的方法,其中D(i)表示凈荷數(shù)據(jù),該方法包括所述第一方和所述第二方同意基于共享密鑰k、至少把x(i)映射到y(tǒng)(i)的Fk的偽隨機(jī)映射;所述第一方通過在每個(gè)消息M(x(i),D(i))中用y(i)替換x(i)來修改所述消息;所述第一方發(fā)送所述修改后的消息,同時(shí)保持其原始順序;在接收到消息M(y(m),D)時(shí),第二方使用映射Gk來檢索所接收的值的位置m和所述原始值x(m)。
2、 根據(jù)權(quán)利要求1所述的方法,包括所述第二方利用其所接受的 值的窗口[Nt,Ni+t],所述窗口尺寸t是預(yù)定義的,并且其中所述映射Gk 是通過把所述映射Fk應(yīng)用于所述窗口中的至少一個(gè)Nm值并且把結(jié)果與 所述y(m)進(jìn)行比較來計(jì)算的。
3、 根據(jù)權(quán)利要求1所述的方法,其中,Gk是Fk的逆,并且檢索所 述原始值x(i)的所述步驟是通過計(jì)算Gk(y(i))來執(zhí)行的。
4、 根據(jù)權(quán)利要求l、 2或3所述的方法,其中,在序列中的位置與 原始值x之間存在已知的關(guān)系r,從而使得i》x(r(i))。
5、 根據(jù)權(quán)利要求4所述的方法,其中,r(i)=i。
6、 根據(jù)在前權(quán)利要求中任何一項(xiàng)所述的方法,其中,每一方使用 計(jì)數(shù)器或所同意的算術(shù)函數(shù)r來為能夠生成所述偽隨機(jī)值序列的函數(shù)生 成輸入值,每個(gè)計(jì)數(shù)器值或函數(shù)結(jié)果r(i)根據(jù)Fk:{r(i),x(i)} -〉 y(i)產(chǎn)生所 述偽隨才幾序列中的相應(yīng)值。
7、 根據(jù)權(quán)利要求6所述的方法,其中,x(i)在整個(gè)所述消息序列中是恒定的。
8、 根據(jù)在前權(quán)利要求中任何一項(xiàng)所述的方法,其中,所述元數(shù)據(jù) x(i)是單調(diào)遞增的序列。
9、 根據(jù)在前權(quán)利要求中任何一項(xiàng)所述的方法,其中,所述元數(shù)據(jù) x(i)描述對(duì)消息M(i)的安全性處理。
10、 一種在第一方與一個(gè)或多個(gè)第二方通過通信網(wǎng)絡(luò)的通信中確保 保密的方法,該方法包括使得相同的偽隨機(jī)值序列可用于第一方和第二方當(dāng)中的每一方,并 且保持所迷序列或所述各值與這樣一個(gè)值之間的映射,該值被接收由第一方發(fā)送的消息的 一方使用來處理該消息或其內(nèi)容;在將在所述第一方與第二方之間發(fā)送的消息中,使用來自所述序列 的值來替換該序列被映射到的所述值;并且在所述接收方或每一個(gè)接收方處,基于被替入的值來識(shí)別被替換掉 的值,并且相應(yīng)地處理所述消息,其中,所使用的來自所述序列的值被逐個(gè)消息地改變或者被周期性 地改變。
11、 根據(jù)權(quán)利要求10所述的方法,其中,所述第二方通過驗(yàn)證包 含在通信中的序列值處在連續(xù)偽隨機(jī)值的窗口內(nèi)來認(rèn)證所述第一方。
12、 根據(jù)權(quán)利要求10或11所述的方法,其中,使得所述相同的偽 隨機(jī)值序列可用于所述第一方和第二方當(dāng)中的每一方的所述步驟包 括在所述每一方處使用共享秘密作為到能夠生成偽隨機(jī)值序列的函數(shù) 的輸入。
13、 根據(jù)權(quán)利要求10到12中任何一項(xiàng)所述的方法,其中,所述值 序列是散列鏈中的連續(xù)值的序列。
14、 根據(jù)權(quán)利要求10到13中任何一項(xiàng)所述的方法,其中,所述被 替換掉的值不是一方的永久身份,而是被動(dòng)態(tài)地和/或臨時(shí)地分配給一方。
15、 根據(jù)權(quán)利要求10到14中任何一項(xiàng)所述的方法,其中,所述被 替換掉的值是在各消息之間改變的值,其改變方式能夠被第三方預(yù)測(cè)到。
16、 根據(jù)權(quán)利要求10到15中任何一項(xiàng)所述的方法,其中,所述被 替換掉的值是IKE或IPSec安全性參數(shù)索引。
17、 根據(jù)權(quán)利要求10到15中任何一項(xiàng)所述的方法,其中,所述被替換掉的值是以下各項(xiàng)的其中之一 -MAC (介質(zhì)接入控制)地址 -IP地址-IPv6地址的4妻口標(biāo)識(shí)符部分 -端口號(hào) -密碼密鑰-散列鏈;以及 -序列號(hào)。
18、 根據(jù)權(quán)利要求10所述的方法,包括在第三方處生成偽隨機(jī) 值序列,并且把該序列提供給所述第一方和第二方當(dāng)中的一個(gè)或二者/ 全部。
19、 根據(jù)權(quán)利要求10到16中任何一項(xiàng)所述的方法,其中,每一方 使用計(jì)數(shù)器或所同意的算術(shù)函數(shù)來為能夠生成所述偽隨機(jī)值序列的函 數(shù)生成輸入值,每個(gè)計(jì)數(shù)器值或函數(shù)結(jié)果產(chǎn)生所述偽隨機(jī)序列中的相應(yīng)值。
20、 根據(jù)權(quán)利要求19所述的方法,包括在每一個(gè)第二方處定義可接受的第 一方值的窗口 ,該窗口對(duì)應(yīng)于一個(gè)計(jì)數(shù)器值范圍。
21、 根據(jù)權(quán)利要求10到20中任何一項(xiàng)所述的方法,其中,所述被
22、 一種操作移動(dòng)終端或網(wǎng)絡(luò)節(jié)點(diǎn)的方法,該方法包括 使得偽隨機(jī)值序列可用于所述終端或節(jié)點(diǎn),并且保持所述序列或所述各值與這樣一個(gè)值之間的映射,該值被接收由所述終端或節(jié)點(diǎn)發(fā)送的 消息的一方使用來處理該消息或其內(nèi)容;并且在將在所迷終端或節(jié)點(diǎn)與第二方之間發(fā)送的有序消息序列當(dāng)中的 每一個(gè)消息之中,使用來自所述偽隨機(jī)序列的相應(yīng)值來替換該序列被映 射到的所述值。
23、 一種操作移動(dòng)終端或網(wǎng)絡(luò)節(jié)點(diǎn)的方法,該方法包括 使得偽隨機(jī)值序列可用于所述終端或節(jié)點(diǎn),并且保持所述序列或所述各值與這樣一個(gè)值之間的映射,該值被接收由所述終端或節(jié)點(diǎn)發(fā)送的 消息的一方使用來處理該消息或其內(nèi)容;并且對(duì)于在所述終端或節(jié)點(diǎn)處從第二方接收到的有序消息序列當(dāng)中的 每一個(gè)消息,把包含在該消息中的序列值映射到所述所映射的值,并且 使用該映射的值來處理該消息或其內(nèi)容。
24、 一種生成公共密鑰序列以便用在各方之間的安全通信中的方法,該方法包括向第一方和第二方提供第一公共密鑰; 在第一方與第二方之間同意共享秘密;向第一方和第二方提供用于利用所述第一公共密鑰和所述共享秘密生成另外的公共密鑰的序列的裝置,從而使得所述序列的各值具有偽隨機(jī)性質(zhì);并且使用所述序列的各公共密鑰來確保所述各方之間的通信的安全。
全文摘要
一種通過在共享密鑰k的第一方與至少一個(gè)第二方之間傳送的有序消息序列M[x(1),D(1)]、M[x(2),D(2)]等等中隱藏描述消息處理的元數(shù)據(jù)x(i)來改進(jìn)保密的方法,其中D(i)表示凈荷數(shù)據(jù)。該方法包括所述第一方和所述第二方同意基于共享密鑰k、至少把x(i)映射到y(tǒng)(i)的F<sub>k</sub>的偽隨機(jī)映射;以及所述第一方通過在每個(gè)消息M(x(i),D(i))中用y(i)替換x(i)來修改所述消息。所述第一方然后發(fā)送所述修改后的消息,同時(shí)保持其原始順序,并且在接收到消息M(y(m),D)時(shí),第二方使用映射G<sub>k</sub>來檢索所接收的值的位置m和所述原始值x(m)。
文檔編號(hào)H04L12/56GK101156348SQ200680011824
公開日2008年4月2日 申請(qǐng)日期2006年2月10日 優(yōu)先權(quán)日2005年2月11日
發(fā)明者J·阿科, M·奈斯隆德, P·尼坎德 申請(qǐng)人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1