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

分層洋蔥環(huán)路由方法

文檔序號:7945716閱讀:398來源:國知局
專利名稱:分層洋蔥環(huán)路由方法
技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,涉及到網(wǎng)絡(luò)中路由協(xié)議的安全方法,具體是分層洋蔥環(huán) 路由方法,通過使用密碼學(xué)和冗余機(jī)制來保護(hù)網(wǎng)絡(luò)隱私不受全局性和侵略性的攻擊。
背景技術(shù)
在無線Mesh網(wǎng)絡(luò)中,有一些活躍節(jié)點(diǎn),它們會進(jìn)行一些機(jī)密的商業(yè)活動。為了不讓外 界察覺到,這些活躍節(jié)點(diǎn)必須進(jìn)行匿名通信,匿名通信要求1)不讓外界知道會話的內(nèi)容; 2)不讓外界知道誰發(fā)起這次會話。這種保護(hù)對于網(wǎng)絡(luò)安全通信是非常重要的。但是,目前的 匿名通信現(xiàn)狀要么無法阻止手段狡猾的攻擊;要么是以浪費(fèi)大量的帶寬為代價(jià)換取一定級別 的匿名性。
文獻(xiàn)"在Mesh網(wǎng)絡(luò)中達(dá)到隱私保護(hù)"(Achieving Privacy in Mesh Networks", Proc. of the SASN'06, pp.13 - 22, Oct., 2006)。提出了一種基于洋蔥路由器的環(huán)形安全通信模式。改方案 的主要思想是在一個簡單的環(huán)結(jié)構(gòu)中,為了抵御全局性攻擊,設(shè)計(jì)一個環(huán)形的洋蔥路由協(xié) 議,使通信開始于網(wǎng)關(guān),也終于網(wǎng)關(guān)。所有的通信方式都要按同一個方向進(jìn)行,要么順時針, 要么逆時針。這樣就算外部攻擊者進(jìn)行通信量分析,也無法分析出哪個節(jié)點(diǎn)是初始節(jié)點(diǎn)和目 的節(jié)點(diǎn)。其次就算在路由環(huán)中有惡意節(jié)點(diǎn)并且知道拓?fù)浣Y(jié)構(gòu),也無法追蹤出初始節(jié)點(diǎn)和目的 節(jié)點(diǎn)。因?yàn)樗荒芨櫝鲆粋€環(huán)形的路徑,在環(huán)形路徑中,敵手無法分析出誰是初始節(jié)點(diǎn), 誰是目的節(jié)點(diǎn)。但是該方案又引起了一種新型的攻擊,稱為交集攻擊。例如一個Mesh節(jié)點(diǎn) 通過環(huán)形路徑與Internet相連接的會話, 一段時間后,這個Mesh節(jié)點(diǎn)又訪問同一個Internet 地址,但是它是通過另一個環(huán)來進(jìn)行會話的。這時如果敵手監(jiān)聽網(wǎng)關(guān),發(fā)現(xiàn)這是一個非常特 殊的地址,基于觀察,敵手可以得出一個結(jié)論,會話發(fā)起者也就是初始節(jié)點(diǎn),很可能是這兩 個環(huán)中的交集,那么這個通信的匿名性就會受到威協(xié)。另外,該方案的環(huán)形路徑只能通過網(wǎng) 關(guān)建立,并且所有的通信過程都是從網(wǎng)關(guān)開始的,這樣會給網(wǎng)關(guān)帶來很大的計(jì)算負(fù)荷。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有Mesh網(wǎng)絡(luò)存在的交集攻擊問題,同時為了保證環(huán)通信的有效性,提供了一種分層洋蔥環(huán)路由方法,它可以有效的抵抗交集攻擊,提高網(wǎng)絡(luò) 通信安全,并且有效減輕網(wǎng)關(guān)的負(fù)擔(dān),降低網(wǎng)關(guān)的路由表記錄量,更好利用網(wǎng)絡(luò)資源,減少 延遲。
本發(fā)明為了在Mesh網(wǎng)絡(luò)進(jìn)行安全的匿名通信,把整個通信過程分為三個部分環(huán)的初 始化,環(huán)間通信和通信結(jié)束。在無線Mesh網(wǎng)絡(luò)中,把節(jié)點(diǎn)分為三類網(wǎng)關(guān),可信任節(jié)點(diǎn), 普通節(jié)點(diǎn),OP節(jié)點(diǎn)(OnionProxy)和網(wǎng)關(guān)G是誘導(dǎo)節(jié)點(diǎn),它們每隔一段時間向它附近的OP節(jié)
點(diǎn)發(fā)送一個誘導(dǎo)信息載體(dummy包)。OP節(jié)點(diǎn)在環(huán)的初始化過程中起到了第一層路由和第 二層路由的選擇作用,在以后的通信過程中,它的作用和普通節(jié)點(diǎn)巧相同。為了便于理解, 將匿名集和分層路由的概念作以介紹-
匿名集設(shè)R為網(wǎng)絡(luò)中所有OP節(jié)點(diǎn)和網(wǎng)關(guān)G組成的集合,則稱滿足如下條件 a必須包括元素G;
b集合中的所有元素是以拓?fù)浣Y(jié)構(gòu)在網(wǎng)絡(luò)中形成哈密爾頓回路的R的子集為匿名集。對 這些匿名集進(jìn)行標(biāo)號。在網(wǎng)絡(luò)中,網(wǎng)關(guān)G和OP節(jié)點(diǎn)共享這些有編號的匿名集。
分層路由本發(fā)明把路由分為兩層。第一層路由洋蔥環(huán)路由助、議中,稱由匿名集中元 素形成的路徑為第一層路由,也就是由可信節(jié)點(diǎn)和網(wǎng)關(guān)組成的路徑。第一層路由主要由不相 鄰的可信節(jié)點(diǎn)組成環(huán)形。第二層路由在可信節(jié)點(diǎn)之間由普通節(jié)點(diǎn)填充后的構(gòu)成的環(huán)路稱為 第二層路由,也稱為下一層路由。第二層路由是在初始化過程中由OP節(jié)點(diǎn)和網(wǎng)關(guān)隨機(jī)選擇 的。它主要是進(jìn)行對路徑的填充。 一、環(huán)的初始化
本發(fā)明把環(huán)的初始化分為以下幾個步驟 第l歩封裝過程
首先OP節(jié)點(diǎn)(即匿名集中第一個元素)選擇第一層路由,也就是有標(biāo)號的匿名集,
按照匿名集中節(jié)點(diǎn)的順序封裝洋蔥包,在其后附加一個dvimniy包。
包格式如下
{build},五—[(RI, /t功,OP2), [(RI, 、2, G), £一 (RI, dummy ;
{build}:包頭,表示建環(huán)信息,告訴節(jié)點(diǎn)要進(jìn)行環(huán)的初始化;
i^:公鑰加密,用于封裝洋蔥包;0P1節(jié)點(diǎn)用自己的公鑰5—p,加密最外層包,即環(huán) 號RI、自己的會話密鑰、。,、下一條地址OP2,以及匿名集中第二個節(jié)點(diǎn)封裝的第二層洋蔥包。當(dāng)OP2節(jié)點(diǎn)收到這個洋蔥包時,就可以確定下一跳發(fā)往哪兒。以此類推。
RI:環(huán)號,在網(wǎng)絡(luò)中可能同時有很多環(huán)進(jìn)行通信,為了保證環(huán)號的不重復(fù)性,RI由 匿名集號和建環(huán)時間組成。
會話密鑰,節(jié)點(diǎn)Z與網(wǎng)關(guān)G的會話密鑰;是各個節(jié)點(diǎn)在此環(huán)通信時的會話密鑰,
會話密鑰是根據(jù)環(huán)的建立而建立的,當(dāng)環(huán)通信結(jié)束時,此次會話密鑰的使命就完成了, 下次通信要重新建立會話密鑰。
"表示時間戳,用來檢測消息的實(shí)時性;
dummy:誘導(dǎo)信息,可以由任意非重要的信息組成。
然后OP節(jié)點(diǎn)再選擇到匿名集中到第二個元素的第二層路由,嚴(yán)格按照第二層路由 的順序封裝洋蔥包,并且分配好此次通信過程中環(huán)中上行鏈路的一次性會話密鑰(隨機(jī)數(shù)
^ 1,夂,&2,…,、2)。
這些分配好的一次性會話密鑰是要告訴網(wǎng)關(guān)G的,這樣網(wǎng)關(guān)就知道了上行鏈路的具 體路徑,而下行鏈路的一次性密鑰由網(wǎng)關(guān)分配。
從匿名集中第一個節(jié)點(diǎn)發(fā)送到第二個節(jié)點(diǎn)的包格式如下
(buikU,i^,[(RI,、,F(xiàn)2),五w[(RI,/t2,F0,…,五—p2((RI,^,G), ^(RI,人;,H…,、2,O)]],d畫my
巧網(wǎng)絡(luò)中的普通節(jié)點(diǎn)。
/C,.: 一次性會話密鑰
當(dāng)OPl節(jié)點(diǎn)發(fā)送建環(huán)信息時,就封裝好洋蔥包,洋蔥包是一層層的。dummy表示誘
導(dǎo)信息,用節(jié)點(diǎn)巧的公鑰加密第一層包,包里包括環(huán)號RI,會話密鑰&和下一跳節(jié)點(diǎn)《 的IP地址。以此類推。最內(nèi)層包由網(wǎng)關(guān)的公鑰封裝所有上行鏈路的節(jié)點(diǎn)的會話密鑰 、,,H...,、2,時間戳f和環(huán)號RI組成的。
將上述包格式簡化如下-
{build},—(i^,(i^2, ,,,(£—2(5^(m,)),diimmy,其中"-{RIM—A, V ,,、2};
環(huán)中的所有OP節(jié)點(diǎn)都是如此進(jìn)行封裝洋蔥包的,例如OP2和網(wǎng)關(guān)G。 當(dāng)匿名集中的第二個節(jié)點(diǎn)OP2接收到初始化信息時,它同理第一個元素的進(jìn)行路徑選 擇和封裝洋蔥包,但是直接轉(zhuǎn)發(fā)dummy包。如下{build}^— (.. .(~。p3),£,碟)))), £二2(...《(dummy)),其中m2={、2入,,…,0
公鑰解密。第2步信息轉(zhuǎn)發(fā)過程
在信息轉(zhuǎn)發(fā)過程中,環(huán)中的沒有數(shù)據(jù)要發(fā)送的普通巧節(jié)點(diǎn)只進(jìn)行解密這個洋蔥包和dummy包,然后把解密后的消息發(fā)給下一個節(jié)點(diǎn);如下{build} (... (£—2 (五扭—,))),《,(dummy);第3步會話接入請求過程
當(dāng)普通節(jié)點(diǎn)《想進(jìn)行通信時,用接入請求信息來替代層層解密的dummy包;
{build} ,&(,+,)(五鐘+2)(…~g 《(request);第4步網(wǎng)關(guān)處理過程
當(dāng)網(wǎng)關(guān)G收到從0P1節(jié)點(diǎn)發(fā)過來的包,就確定了會話發(fā)起者。如果網(wǎng)關(guān)同意這個請求,它根據(jù)環(huán)號和匿名集來確定另一半環(huán)路徑。網(wǎng)關(guān)G嚴(yán)格封裝一個洋蔥包發(fā)送給會話發(fā)起者。這個洋蔥包包含了從會話發(fā)起者到距其最近的OP節(jié)點(diǎn)或網(wǎng)關(guān)的上行鏈路的所有會話密鑰。這樣同意信息就可以從網(wǎng)關(guān)到達(dá)會話發(fā)起者進(jìn)行通信。包格式如下
{buiid} 。..五—(-.,(&#;,,人,g畫t))));
在會話接入請求中遵循擦除機(jī)制,如果在環(huán)中有兩個節(jié)點(diǎn)想同時進(jìn)行會話,那么后一個節(jié)點(diǎn)的請求信息將會擦掉前一個節(jié)點(diǎn)的請求信息。而在這個環(huán)中前一個節(jié)點(diǎn)不會得到同意信息,只能等待下一個環(huán)的載體到來時,重新發(fā)送請求。二、環(huán)間通信
在環(huán)初始化之后,網(wǎng)關(guān)G就確定了會話發(fā)起者,并且已經(jīng)把部分路徑的會話密鑰發(fā)送給了它。這時如果會話發(fā)起者正確的收到網(wǎng)關(guān)G所發(fā)送過來的包,還是以分層會話方式與網(wǎng)關(guān)G通信。在環(huán)間通信過程中,OP節(jié)點(diǎn)或網(wǎng)關(guān)G用會話密鑰加密洋蔥包,這樣可以大大減少計(jì)算量,并且加解密速度快。每次建立環(huán)時,都要重新分配會話密鑰,這樣也可以減少敵手篡改洋蔥包的機(jī)會。因?yàn)槿绻麛呈种懒苏麄€環(huán)形的路徑,它就可以用
公鑰封裝洋蔥包來冒充環(huán)中的節(jié)點(diǎn)。節(jié)點(diǎn)巧用會話密鑰封裝一個到距其最近的OP節(jié)點(diǎn)或
網(wǎng)關(guān)G洋蔥包,與其進(jìn)行會話。當(dāng)距其最近的OP節(jié)點(diǎn)收到包,同理選擇第二層路由與發(fā)解密后的洋蔥包。
會話發(fā)起者到網(wǎng)關(guān)G的通信過程如下
《—《+1 : {RI} (&(,+2) (■., (£紐(data,ack》))); 《+1 —《+2: {RI}, A(,+2)(…(U&(A,(data,ack)))));
F。一 OP : {RI}A .(data,aCk)))));
OP —F。P+, : {RI}^(—)(A(—)(…(&(五5,.(data,ack)))));
4—G :則,^(^(data,ack));
(RI)是包頭,它就表示了環(huán)已經(jīng)建立好了,開始進(jìn)行通信。五,表示用私鑰加密?!阺, 表示用節(jié)點(diǎn)《的私鑰加密。data是發(fā)送信息內(nèi)容。ack表示正確收到包后發(fā)送的一個消息
認(rèn)證碼,用來證明通信雙方確實(shí)收到了包。
當(dāng)網(wǎng)關(guān)G收到這個載體包后,它用自己的私鑰和節(jié)點(diǎn)S的公鑰解密這個包,來確定
這個包是發(fā)給自己的和這個包是節(jié)點(diǎn)《發(fā)送過來的。當(dāng)網(wǎng)關(guān)G收到消息,它計(jì)算ack值,
如果雙方ack的值一樣,證明它們正確的收到包,然后進(jìn)行以后的通信;如果不一樣那么 就是沒有正確收到包。
網(wǎng)關(guān)G根據(jù)環(huán)號和匿名集封裝一個到節(jié)點(diǎn)《的包,包格式如下
{RI} (data))))。
網(wǎng)關(guān)G到節(jié)點(diǎn)巧通信過程如下
G《{RI} & (;+)( ,. (£。pl (data))))));
&^F ,+1 : {RI}(4(data))));
OP"巧則AH.(^(data))));
《{RI},,sg(data》;三、通信結(jié)束
通信一段時間之后,如果雙方都沒有數(shù)據(jù)要發(fā)送時,那么網(wǎng)關(guān)G就封裝一個到OP節(jié)點(diǎn) 的空內(nèi)容的洋蔥包,證明了通信結(jié)束。
但還有一種情況就是網(wǎng)關(guān)G沒有數(shù)據(jù)給會話發(fā)起者,而會話發(fā)起者還有數(shù)據(jù)要發(fā)送給網(wǎng) 關(guān)。本發(fā)明保證了在通信過程中網(wǎng)關(guān)G發(fā)送的信息一定到達(dá)會話發(fā)起者。所以會話發(fā)起者一 直可以發(fā)送數(shù)據(jù)到網(wǎng)關(guān)通過環(huán)。因?yàn)闀掗_始于OP節(jié)點(diǎn),終結(jié)于OP節(jié)點(diǎn)。所以當(dāng)會話發(fā)起 者沒有信息要發(fā)送時,這時會話發(fā)起者就發(fā)送一個空內(nèi)容的包給網(wǎng)關(guān)G,這時網(wǎng)關(guān)就知道信 息發(fā)送完了,這時再封裝一個到OP節(jié)點(diǎn)的空內(nèi)容的洋蔥包,證明通信結(jié)束。也就是說初始 化后,當(dāng)OP節(jié)點(diǎn)收到一個到自己的包時,或網(wǎng)G收到空內(nèi)容的包時,就證明通信結(jié)束。
但是也可能會發(fā)生一種情況,就是一個環(huán)內(nèi)有兩個會話發(fā)起者。如果遇到這種情況,后 一個會話發(fā)起者總是會加密已經(jīng)被前一個初始節(jié)點(diǎn)加密過的dummy信息,來與網(wǎng)關(guān)G進(jìn)行會
話。而前面一個會話發(fā)起者只能等待下一個環(huán)進(jìn)行通話。這雖然會造成時延,但是網(wǎng)絡(luò)中同 時會有其他環(huán)進(jìn)行通信。
本發(fā)明與現(xiàn)有技術(shù)相比較具有如下有益效果
① 本發(fā)明通過使用分層洋蔥環(huán)通信協(xié)議,匿名集的OP節(jié)點(diǎn)和網(wǎng)關(guān)共同參與到路由選
擇過程中,可以有效的混淆路徑阻止交集攻擊。
② OP節(jié)點(diǎn)或網(wǎng)關(guān)用會話密鑰加密洋蔥包,這樣可以大大減少計(jì)算量,并且加解密速
度快。每次建立環(huán)時,都要重新分配會話密鑰,這樣也可以減少敵手篡改洋蔥包的機(jī)會。
③ 采用分層洋蔥路由算法實(shí)現(xiàn)了路由合并功能,大大降低了網(wǎng)關(guān)對路由表的記錄量, 有效減輕網(wǎng)關(guān)的負(fù)擔(dān),并且可以加速建環(huán)過程,更好地利用網(wǎng)絡(luò)資源,減少延遲。
@安全性方面,從直觀上看洋蔥路由數(shù)減少,但是安全強(qiáng)度是建立在公鑰安全基礎(chǔ)上 的,與節(jié)點(diǎn)數(shù)的多少無關(guān)。故安全強(qiáng)度并未減少,相反隱藏路由的效果更好。


圖l.本發(fā)明的分層洋蔥環(huán)形拓?fù)浣Y(jié)構(gòu)
圖2.本發(fā)明優(yōu)選實(shí)施例的簡單網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 實(shí)施實(shí)例
本發(fā)明的分層洋蔥環(huán)如圖l所示。在網(wǎng)絡(luò)建成時,網(wǎng)關(guān)G就記錄了網(wǎng)絡(luò)中的可信節(jié)點(diǎn) (網(wǎng)絡(luò)中的OP節(jié)點(diǎn))。如圖1虛線所示,網(wǎng)關(guān)G和OP就組成了環(huán)形的路徑。如圖1所示,0P1節(jié)點(diǎn)是初始節(jié)點(diǎn),它選擇匿名集(OPl,OP2,G),稱為第一層路由。 當(dāng)洋蔥包開始進(jìn)行傳輸時,由于包中指出的下一個節(jié)點(diǎn)是OP2節(jié)點(diǎn),且OP2節(jié)點(diǎn)與OPl 節(jié)點(diǎn)不是相鄰節(jié)點(diǎn),則OP1節(jié)點(diǎn)就建立新的連接,假設(shè)為(OPl,A,…,OP2》,稱此路由為
第二層路由,即相當(dāng)于下一層路由。當(dāng)洋蔥包傳到OP2節(jié)點(diǎn)時,第二層路由終止,返回 到上一層路由,即重新進(jìn)入第一層路由。
下面結(jié)合附圖2的優(yōu)選實(shí)施例將描述一個完整的分層洋蔥環(huán)通信過程。
如圖2所示,假設(shè)OP3節(jié)點(diǎn)選擇的第一層路由是環(huán)RI:(OP3,OP2,W,第二層路徑是
(OP3,《,《,OP2),那么OP3節(jié)點(diǎn)就嚴(yán)格按照第二層路由的順序封裝成洋蔥包。 第1步封裝過程
OP3節(jié)點(diǎn)先選擇第一層路由,也就是有標(biāo)號的匿名集,按照匿名集中節(jié)點(diǎn)的順序封裝好 洋蔥包,在其后附加一個dummy包.包格式如下
{build},£—3[(RU。p2),五—2[(RUg),^g(RI力)]],dummy ;
然后,OP3節(jié)點(diǎn)選擇到匿名集中第二個節(jié)點(diǎn)的第二層路ttUOP3,F4,《,OP2r嚴(yán)格按照第 二層路由的順序封裝洋蔥包,并且分配好此次通信過程中環(huán)中上行鏈路的一次性會話密鑰
從匿名集中第一個元素發(fā)送到第二個元素的包格式如下
一i叫A,3[(RU一),^4[(RI,/C4,巧),i^5[(RI,^^2),…,
五一2 ((RI, 、), ^ (RI," 、' H 、2 ))]]],du腿y ;
簡化包格式如下
{build},—3(~4(~5(i —2(£te("!)))),diimmy,其中= {RI,aop,,H、2}。
第2步信息轉(zhuǎn)發(fā)過程
在傳輸過程中,環(huán)中的沒有數(shù)據(jù)要發(fā)送的節(jié)點(diǎn)只進(jìn)行解密這個洋蔥包和dummy包,然后
把解密后的消息發(fā)給下一個節(jié)點(diǎn);如下
F。p3 —《{build} A" (&p5 (E—2 (附i ))》,dummy;
F4 — F5:{build},&5CB峙2(&(^))),&4(dummy)。
第3步會話接入請求過程當(dāng)節(jié)點(diǎn)F5想進(jìn)行通信時,用接入請求信息request來替代層層解密的dummy包;
《p2 : {bUild},£—2(&(m,)),^5(r叫uest); 尸一4巧(bnild〉,&6(^(^(^))),五—2(&5(request)); F6—F7 : {buildL&OBJm,)),^^—2(&5(request)》; 尸74& : (build),&(m,),&7(&6(五—2(&5(request))。 第4步網(wǎng)關(guān)處理過程
當(dāng)網(wǎng)關(guān)G收到由OP2節(jié)點(diǎn)發(fā)送過來的包,并且知道節(jié)點(diǎn)《想進(jìn)行通話。如果同意了這個
請求,它也同理根據(jù)環(huán)號和匿名集來確定到OP3節(jié)點(diǎn)的另一半環(huán)路徑,假設(shè)所選的路徑為 (G,《,OP3)。網(wǎng)關(guān)把節(jié)點(diǎn)《到網(wǎng)關(guān)上行鏈路所經(jīng)過節(jié)點(diǎn)的會話密鑰U^,&,、)發(fā)送給節(jié)點(diǎn)
F5。它將嚴(yán)格封裝一個洋蔥包給節(jié)點(diǎn)&。這時同意信息就可以從網(wǎng)關(guān)通過節(jié)點(diǎn)i^, OP3, F4
到達(dá)節(jié)點(diǎn)《進(jìn)行通信。網(wǎng)關(guān)封裝包的簡化格式如下
{build},^(i^3(、4(i^5(i^(;"2))))),其中"'2 = {&2, W'gnmt}。
FG—F3 - {bU1ld}Ap3(KW£sg(m2)))));
: {bmld},£—3(~4(~5(^—2)))); ^3—F4 : {build},一(^5(&(附2)));
F4—尸5 : {biuld},& 2))。
在環(huán)初始化之后,網(wǎng)關(guān)就確定了會話發(fā)起者是節(jié)點(diǎn)《,并且已經(jīng)把部分路徑的會話密鑰 發(fā)送給了它。這時如果《正確的收到網(wǎng)關(guān)所發(fā)送過來的包,還是以分層的方式進(jìn)行會話與網(wǎng) 關(guān)進(jìn)行通信。節(jié)點(diǎn)《用會話密鑰封裝一個到OP2節(jié)點(diǎn)的洋蔥包,與其進(jìn)行會話。當(dāng)OP2節(jié) 點(diǎn)收到從節(jié)點(diǎn)g發(fā)過來的包,它根據(jù)環(huán)號確認(rèn)第二層路由并與匿名集中下一個節(jié)點(diǎn)網(wǎng)關(guān)G進(jìn) 行通信。
洋蔥環(huán)通信過程如下(用一次性會話密鑰加密) F5 — ; :{RI},五—2 (《4 (data,ack)));
《{RI}AU£ a,aCk)》);F6~>F7 : {RI},&7(~0^4(data,ack))); 尸7—FG : {RI},£4g(^4(data,ack));
當(dāng)網(wǎng)關(guān)收到這個載體包后,它用自己的私鑰和節(jié)點(diǎn)《的公鑰解密這個包,來確定這個包 是發(fā)給自己的和這個包是節(jié)點(diǎn)《發(fā)送過來的。當(dāng)網(wǎng)關(guān)收到包時,它計(jì)算ack值,如果雙方ack
的值一樣,證明它們正確的收到包,然后進(jìn)行以后的通信;如果不一樣就是沒有正確收到包。 網(wǎng)關(guān)封裝一個到節(jié)點(diǎn)《的包,格式如下{RI},~3(£—3(~4(~5(data)))))。
—F4 :則,W^(data))); 尸4—,5 : {RI},A a))。
權(quán)利要求
1、一種分層洋蔥環(huán)路由方法,其特征在于將無線Mesh網(wǎng)絡(luò)中的節(jié)點(diǎn)分為三類網(wǎng)關(guān)G,可信任節(jié)點(diǎn)OP和普通節(jié)點(diǎn)Fi,OP節(jié)點(diǎn)和網(wǎng)關(guān)G是誘導(dǎo)節(jié)點(diǎn),OP節(jié)點(diǎn)在環(huán)的初始化過程中起選擇路由的作用,所有OP節(jié)點(diǎn)和網(wǎng)關(guān)G的集合構(gòu)成匿名集;把網(wǎng)絡(luò)的洋蔥路由分為兩層環(huán)路,第一層路由由匿名集的不相鄰可信節(jié)點(diǎn)OP和網(wǎng)關(guān)G組成的環(huán)形路徑;第二層路由在可信節(jié)點(diǎn)OP之間由普通節(jié)點(diǎn)Fi填充構(gòu)成的環(huán)路,也稱為下一層路由;第二層路由在初始化過程中由OP節(jié)點(diǎn)和網(wǎng)關(guān)隨機(jī)選擇,通過洋蔥環(huán)路由的分層環(huán)路實(shí)現(xiàn)Mesh網(wǎng)絡(luò)匿名安全通信。
2、 根據(jù)權(quán)利要求l所述的分層洋蔥環(huán)路由方法,其特征在于采用分層洋蔥環(huán)路由進(jìn) 行匿名通信首先進(jìn)行環(huán)的初始化,所述環(huán)的初始化過程包括如下步驟-第l步封裝過程首先OP節(jié)點(diǎn)選擇第一層路由,也就是有標(biāo)號的匿名集,按照匿名集中節(jié)點(diǎn)的順序封裝洋蔥包,并在其后附加一個dummy包,封裝的洋蔥包格式如下 {bmld}, ~。pl [(RI, ^, OP2),五峙2[(RI, 、2, G), (RI, du腿y ; {bmld}:包頭,表示建環(huán)信息,告訴節(jié)點(diǎn)要進(jìn)行環(huán)的初始化;公鑰加密,用于封裝洋蔥包;OP1節(jié)點(diǎn)用自己的公鑰i^—加密最外層包,即環(huán)號RI、自己的會話密鑰/^,、下一條地址OP2,以及匿名集中第二個節(jié)點(diǎn)封裝的第二層洋蔥包,這樣當(dāng)OP2節(jié)點(diǎn)收到這個洋蔥包時,就可以確定下一跳發(fā)往地址,以此類推; RI:環(huán)號,由匿名集號和建環(huán)時間構(gòu)成; A:節(jié)點(diǎn)/與網(wǎng)關(guān)的會話密鑰;"表示時間戳,用來檢測消息的實(shí)時性; dummy:誘導(dǎo)信息;然后OP節(jié)點(diǎn)再選擇到匿名集中第二個元素的第二層路由,按照第二層路由的順序封裝洋蔥包,并且分配此次通信過程中環(huán)中上行鏈路的一次性會話密鑰/t—,^^,…,/t^;將分配好的一次性會話密鑰告訴網(wǎng)關(guān),讓網(wǎng)關(guān)知道上行鏈路路徑,而下行鏈路的一次性 密鑰由網(wǎng)關(guān)分配;從匿名集中第一個節(jié)點(diǎn)發(fā)送到第二個節(jié)點(diǎn)的包格式如下-(build〉,五^[(RI,^,F2),五^[(RI,、,F3),…,E—p2((RI,A;2,G),五&,(RI, ,、,、,…,&印2,0)]],dmnmy巧網(wǎng)絡(luò)中的普通節(jié)點(diǎn),將包的簡化格式如下 {builds—"五w(&2,■ ,(£—2(^g(^)),dummy'其中附dRJ,a^A, V",、2};環(huán)中的所有OP節(jié)點(diǎn)都是如此進(jìn)行封裝洋蔥包的,例如OP2和網(wǎng)關(guān)G。 當(dāng)匿名集中的第二個節(jié)點(diǎn)OP2接收到初始化信息時,它同理第一個元素的進(jìn)行路徑 選擇和封裝洋蔥包,但是直接轉(zhuǎn)發(fā)dummy包如下《bui叫^"(…(^: 3(&g(m3)^^—)))),《—(.'《,(dummy)),其中附2={、2人人+1, ^, 公鑰解密; 第2步信息轉(zhuǎn)發(fā)過程在信息轉(zhuǎn)發(fā)過程中,路由環(huán)中沒有數(shù)據(jù)發(fā)送的普通巧節(jié)點(diǎn)只解密收到的洋蔥包和dummy包,然后把解密后的消息發(fā)給下一個節(jié)點(diǎn)如下 {build} ,Ap2 ( (五—2 (,))),《,(dummy);第3步會話接入請求過程當(dāng)普通節(jié)點(diǎn)《想進(jìn)行通信時,用接入請求信息替代層層解密的dummy包如下{buM} (^(!+2) ( .五* (附))),《,(request);第4步網(wǎng)關(guān)處理過程 當(dāng)網(wǎng)關(guān)收到從0P1節(jié)點(diǎn)發(fā)過來的包,就確定了會話發(fā)起者,如果網(wǎng)關(guān)同意這個請求, 它根據(jù)環(huán)號和匿名集來確定另一半環(huán)路徑也就是從網(wǎng)關(guān)到會話發(fā)起者的下行鏈路,網(wǎng)關(guān)封裝 一個洋蔥包發(fā)送給會話發(fā)起者,這個洋蔥包包含從會話發(fā)起者到距其最近的OP節(jié)點(diǎn)或網(wǎng)關(guān) 的上行鏈路的所有會話密鑰,這樣同意請求信息就從網(wǎng)關(guān)到達(dá)會話發(fā)起者進(jìn)行通信,包格式如下{build} ,£—(…(…化,…,、,g認(rèn)t))))。
3、根據(jù)權(quán)利要求2所述的分層洋蔥環(huán)路由方法,其特征在于在會話接入請求過程, 如果路由環(huán)中有兩個節(jié)點(diǎn)在同時請求會話,后一個節(jié)點(diǎn)的請求信息將會擦掉前一個節(jié)點(diǎn)的請 求信息,前一個節(jié)點(diǎn)只能等待下一個環(huán)的載體到來時,重新發(fā)送請求。
4、根據(jù)權(quán)利要求1所述的分層洋蔥環(huán)路由方法,其特征在于采用分層洋蔥環(huán)路由進(jìn)行環(huán)間通信包括會話發(fā)起者到網(wǎng)關(guān)的通信過程和網(wǎng)關(guān)到節(jié)點(diǎn)巧通信過程,OP節(jié)點(diǎn)或網(wǎng)關(guān)用會話密鑰加密洋蔥包,每次建立環(huán)時,都要重新分配會話密鑰,節(jié)點(diǎn)《用會話密鑰封裝一個到距其最近的OP節(jié)點(diǎn)或網(wǎng)關(guān)洋蔥包,與其進(jìn)行會話。當(dāng)距其最近的OP節(jié)點(diǎn)收到包,同理 選擇第二層路由與匿名集中下一個元素進(jìn)行通信,除了網(wǎng)關(guān)和會話發(fā)起者,環(huán)中的每個節(jié)點(diǎn) 都只進(jìn)行轉(zhuǎn)發(fā)解密后的洋蔥包,會話發(fā)起者到網(wǎng)關(guān)的通信過程如下f.—巧+1 : {RI} (&(,+2) (... (£鄉(xiāng)(data,ack))))); 4 ~> &2{RI}, ^(,+2) (... (£鄉(xiāng)((data,ack)))));Fopi—0P : {RI},Ui^(&(data,aCk)))》;OP —F, : {RI},^(—(A(—)(…(i^(i^(data,ack)))));其中,(RI)是包頭,它表示環(huán)已經(jīng)建立,開始進(jìn)行通信,《i表示用節(jié)點(diǎn)巧的私鑰加密,data是發(fā)送信息內(nèi)容,ack表示正確收到包后發(fā)送的消息認(rèn)證碼,用來證明通信雙方確實(shí)收 到了包;當(dāng)網(wǎng)關(guān)收到這個載體包后,用自己的私鑰和節(jié)點(diǎn)《的公鑰解密這個包,來確定這個包是 發(fā)給自己的和這個包是節(jié)點(diǎn)巧發(fā)送過來的,并計(jì)算ack值,如果雙方ack的值不相同,證明它們沒有正確收到包;反之,如果雙方ack的值相同,網(wǎng)關(guān)就可以與會話發(fā)起者進(jìn)行通信, 這時網(wǎng)關(guān)根據(jù)環(huán)號和匿名集封裝一個到節(jié)點(diǎn)^的包(RO,Ag(A—(i^.0^(data))》;網(wǎng)關(guān)到節(jié)點(diǎn)巧通信過程如下G —: (RI),H')(.K,w(data腦;: {RI}A(m+1)(data))》;OP1 —巧(RIL&(…(A,.(&(data))));巧(叫A,(&(data))。
5、 根據(jù)權(quán)利要求4所述的分層洋蔥環(huán)路由方法,其特征在于當(dāng)一個環(huán)內(nèi)有兩個會話發(fā)起者時,后一個會話發(fā)起者會加密已經(jīng)被前一個初始節(jié)點(diǎn)加密過的dummy信息,來與網(wǎng)關(guān)進(jìn)行會話,而前面一個會話發(fā)起者只能等待下一個環(huán)進(jìn)行通話,這雖然會造成時延,但是 網(wǎng)絡(luò)中同時會有其他環(huán)進(jìn)行通信。
6、 根據(jù)權(quán)利要求1所述的分層洋蔥環(huán)路由方法,其特征在于在通信過程中如果雙方 都沒有數(shù)據(jù)要發(fā)送,會話發(fā)起者就發(fā)送一個空內(nèi)容的洋蔥包給網(wǎng)關(guān),網(wǎng)關(guān)就封裝一個到OP 節(jié)點(diǎn)的空內(nèi)容的洋蔥包,結(jié)束通信。
全文摘要
本發(fā)明公開一種分層洋蔥環(huán)路由方法,將無線Mesh網(wǎng)絡(luò)中的節(jié)點(diǎn)分為三類網(wǎng)關(guān),可信任節(jié)點(diǎn)和普通節(jié)點(diǎn),OP節(jié)點(diǎn)和網(wǎng)關(guān)是誘導(dǎo)節(jié)點(diǎn),OP節(jié)點(diǎn)在環(huán)的初始化過程中起選擇路由的作用,所有OP節(jié)點(diǎn)和網(wǎng)關(guān)的集合構(gòu)成匿名集;把網(wǎng)絡(luò)的洋蔥路由分為兩層環(huán)路,第一層路由由匿名集的不相鄰可信節(jié)點(diǎn)OP和網(wǎng)關(guān)組成的環(huán)形路徑;第二層路由在可信節(jié)點(diǎn)OP之間由普通節(jié)點(diǎn)F<sub>i</sub>填充構(gòu)成的環(huán)路,第二層路由在初始化過程中由OP節(jié)點(diǎn)和網(wǎng)關(guān)隨機(jī)選擇,通過洋蔥環(huán)路由的分層環(huán)路實(shí)現(xiàn)Mesh網(wǎng)絡(luò)匿名安全通信。本發(fā)明使用分層洋蔥環(huán)通信協(xié)議,匿名集的OP節(jié)點(diǎn)和網(wǎng)關(guān)共同參與路由選擇,有效混淆路徑阻止交集攻擊。減少計(jì)算量和減輕網(wǎng)關(guān)的負(fù)擔(dān),加速建環(huán)過程,更好地利用網(wǎng)絡(luò)資源減少延遲。
文檔編號H04W12/00GK101635918SQ200910023640
公開日2010年1月27日 申請日期2009年8月19日 優(yōu)先權(quán)日2009年8月19日
發(fā)明者劉思伯, 龐遼軍, 茹 李, 李慧賢, 焦李成, 裴慶祺, 趙曉輝 申請人:西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1