專利名稱:多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法。
背景技術(shù):
在無線傳感器網(wǎng)絡(luò)中,目前的針對(duì)結(jié)點(diǎn)間的身份認(rèn)證方法,絕大多數(shù)使用非對(duì)稱密鑰算法實(shí)現(xiàn)點(diǎn)到點(diǎn)之間的直接身份認(rèn)證。先是每個(gè)結(jié)點(diǎn)存有一份私鑰,然后利用公鑰發(fā)現(xiàn)機(jī)制獲取目標(biāo)結(jié)點(diǎn)的公鑰,之后通過公鑰與私鑰是否配對(duì)的方法來實(shí)現(xiàn)結(jié)點(diǎn)的身份認(rèn)證。盡管人們不停地優(yōu)化該過程,但非對(duì)稱加密算法的特質(zhì)決定了該方法十分消耗結(jié)點(diǎn)能量。針對(duì)多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò),目前還沒有專門的身份認(rèn)證方法,使用通用的身份認(rèn)證方法將帶來巨大的能量消耗,尤其是簇頭結(jié)點(diǎn)能量消耗巨大,會(huì)嚴(yán)重影響網(wǎng)絡(luò)的存活時(shí)間。因此,當(dāng)下需要迫切解決的一個(gè)技術(shù)問題就是如何能夠提出一種有效的措施,以解決現(xiàn)有技術(shù)中存在的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,可以在多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效地實(shí)現(xiàn)全網(wǎng)必要的身份認(rèn)證, 以最少的能量開銷保障了全網(wǎng)結(jié)點(diǎn)的身份安全。為了解決上述技術(shù)問題,本發(fā)明提供了一種多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,包括由基站為所有結(jié)點(diǎn)建立認(rèn)證密鑰并分發(fā)至各結(jié)點(diǎn)中,基站處存儲(chǔ)所有結(jié)點(diǎn)的認(rèn)證密鑰;由底層簇內(nèi)結(jié)點(diǎn)向上逐層發(fā)起認(rèn)證請(qǐng)求,各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站;基站通過各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息; 下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息, 該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止;未獲得反饋消息的結(jié)點(diǎn)啟動(dòng)局部再認(rèn)證流程。進(jìn)一步地,所述的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,其特征在于,所述由基站為所有結(jié)點(diǎn)建立認(rèn)證密鑰并分發(fā)至各結(jié)點(diǎn)中,基站處存儲(chǔ)所有結(jié)點(diǎn)的認(rèn)證密鑰具體包括以下步驟基站讀取結(jié)點(diǎn)的id,為保證不同結(jié)點(diǎn)的認(rèn)證密鑰沒有關(guān)聯(lián)性,使用隨機(jī)值產(chǎn)生器 Rand產(chǎn)生一個(gè)隨機(jī)密鑰,作為Kid ;
3
基站保存id與Kid的對(duì)應(yīng)關(guān)系id => Kid,針對(duì)id建立B-Tree索引,以方便快速根據(jù)id查找Kid;基站將Kid寫入結(jié)點(diǎn)中,此時(shí)結(jié)點(diǎn)保存了數(shù)據(jù){id IKiJ0進(jìn)一步地,所述未獲得反饋消息的結(jié)點(diǎn)啟動(dòng)局部再認(rèn)證流程包括以下步驟重新進(jìn)行本級(jí)簇的簇頭結(jié)點(diǎn)的選舉;將緩存的認(rèn)證信息再次發(fā)給新簇頭結(jié)點(diǎn),各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站;基站通過各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息; 下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息, 該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止;多次重復(fù)仍然失敗時(shí),則下一級(jí)結(jié)點(diǎn)將發(fā)起簇頭選舉,產(chǎn)生新的簇頭和上一級(jí)簇頭,并重復(fù)認(rèn)證流程。進(jìn)一步地,由于每一級(jí)的超時(shí)時(shí)間至少大于上一級(jí)的兩倍,因此新的簇頭如果認(rèn)證通過,則不影響整體認(rèn)證流程的進(jìn)行。綜上,本發(fā)明提供的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法以對(duì)稱加密算法為基礎(chǔ),通過基站來傳遞身份信息,針對(duì)多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)的特點(diǎn),所有結(jié)點(diǎn)只需要完成和其簇頭結(jié)點(diǎn)的雙向身份認(rèn)證即可,從而避免了不必要的認(rèn)證過程,采用本發(fā)明,可以在多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效地實(shí)現(xiàn)全網(wǎng)必要的身份認(rèn)證,以最少的能量開銷保障了全網(wǎng)結(jié)點(diǎn)的身份安全。
圖I是本發(fā)明的具體實(shí)施方式
中所述的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法的流程示意圖;圖2是本發(fā)明的具體實(shí)施方式
中所述的密鑰預(yù)分配方案示意圖;圖3是本發(fā)明的具體實(shí)施方式
中所述的基站收到的認(rèn)證請(qǐng)求結(jié)構(gòu)示意圖;圖4是本發(fā)明的具體實(shí)施方式
中所述的全網(wǎng)身份認(rèn)證流程示意圖;圖5是本發(fā)明的具體實(shí)施方式
中所述的身份認(rèn)證實(shí)施場(chǎng)景示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。整個(gè)技術(shù)方案包含三個(gè)階段密鑰預(yù)分配階段、全網(wǎng)身份認(rèn)證階段、局部再認(rèn)證階段。首先,在結(jié)點(diǎn)部署前為各結(jié)點(diǎn)分配唯一的認(rèn)證密鑰,并在基站中存儲(chǔ)。之后,在多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)形成后,進(jìn)行全網(wǎng)身份認(rèn)證,該階段結(jié)合認(rèn)證信息的相似性可以很好地進(jìn)行數(shù)據(jù)壓縮和融合,減少通信能耗。最后,針對(duì)全網(wǎng)身份認(rèn)證未通過的簇頭,對(duì)應(yīng)的簇內(nèi)進(jìn)行新的簇頭選舉,并進(jìn)行局部再認(rèn)證,該過程可以重復(fù),直到排除所有身份虛假的結(jié)點(diǎn)。具體參見圖I給出的流程示意圖,所述方法包括步驟S101,由底層簇內(nèi)結(jié)點(diǎn)向上逐層發(fā)起認(rèn)證請(qǐng)求,各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站;
步驟S102,基站通過各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息;下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息,該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止;步驟S103,未獲得反饋消息的結(jié)點(diǎn)啟動(dòng)局部再認(rèn)證流程。I.密鑰預(yù)分配階段結(jié)點(diǎn)密鑰預(yù)分配過程如圖2所示,由基站為所有結(jié)點(diǎn)建立認(rèn)證密鑰并分發(fā)至各結(jié)點(diǎn)中,基站處存儲(chǔ)所有結(jié)點(diǎn)的認(rèn)證密鑰。具體步驟如下基站讀取結(jié)點(diǎn)的id,為保證不同結(jié)點(diǎn)的認(rèn)證密鑰沒有關(guān)聯(lián)性,使用隨機(jī)值產(chǎn)生器 Rand產(chǎn)生一個(gè)隨機(jī)密鑰,作為Kid?;颈4鎖d與Kid的對(duì)應(yīng)關(guān)系id => Kid,針對(duì)id建立B-Tree索引,以方便快速根據(jù)id查找Kid?;緦id寫入結(jié)點(diǎn)中,此時(shí)結(jié)點(diǎn)保存了數(shù)據(jù){id|Kid}。以上步驟在所有結(jié)點(diǎn)中進(jìn)行后,則每個(gè)結(jié)點(diǎn)擁有了一個(gè)獨(dú)特的且無關(guān)聯(lián)的密鑰, 服務(wù)器掌握所有結(jié)點(diǎn)的密鑰信息。2.全網(wǎng)身份認(rèn)證階段在該階段,多級(jí)分簇網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)已經(jīng)形成,結(jié)點(diǎn)間尚未進(jìn)行身份認(rèn)證,結(jié)點(diǎn)間的通信還在以非安全形式進(jìn)行。此時(shí),由底層簇內(nèi)結(jié)點(diǎn)向上逐層發(fā)起認(rèn)證請(qǐng)求,各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站?;就ㄟ^各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息。下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息,該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止。該過程如圖4所示。整個(gè)過程上傳和下發(fā)的數(shù)據(jù)協(xié)議格式如下{id I Certificateid | Data}該階段的具體步驟如下I. I由底層的普通結(jié)點(diǎn)向簇頭結(jié)點(diǎn)匯聚認(rèn)證請(qǐng)求,請(qǐng)求的具體數(shù)據(jù)內(nèi)容如下id {id}該結(jié)點(diǎn)的唯一標(biāo)識(shí)id,該部分?jǐn)?shù)據(jù)為明文形式。Certificateid {PKid( id |rand|hash(Data) ) }該部分把結(jié)點(diǎn)id, —個(gè)隨機(jī)值rand(該值需要記錄下來以校驗(yàn)與反饋信息的一致性),和數(shù)據(jù)域的哈希值hash (Data)連接在一起后,用結(jié)點(diǎn)的密鑰Kid加密。Data {}最底層的簇內(nèi)結(jié)點(diǎn),該部分內(nèi)容為空。I. 2簇頭結(jié)點(diǎn)匯集所有來自簇內(nèi)結(jié)點(diǎn)的認(rèn)證請(qǐng)求后,產(chǎn)生自己的認(rèn)證請(qǐng)求,并把簇內(nèi)結(jié)點(diǎn)的認(rèn)證請(qǐng)求壓縮后存在數(shù)據(jù)的Data部分,計(jì)算hash (Data)并生成自己的認(rèn)證請(qǐng)求。 之后簇頭結(jié)點(diǎn)把數(shù)據(jù)繼續(xù)向上一級(jí)簇頭發(fā)送,同時(shí)緩存該數(shù)據(jù)直到收到合法的反饋消息。 該過程在各級(jí)簇頭結(jié)點(diǎn)進(jìn)行,直到數(shù)據(jù)到達(dá)基站。簇頭發(fā)送的數(shù)據(jù)中,id和Certificateid 部分與普通結(jié)點(diǎn)的相同,Data部分為
5
Data {Compress(List(subdata))}遞歸的結(jié)構(gòu),存儲(chǔ)壓縮后的數(shù)據(jù),該部分內(nèi)容解壓縮后為來自下層數(shù)據(jù)的認(rèn)證請(qǐng)求。I. 3基站獲取的認(rèn)證請(qǐng)求經(jīng)逐級(jí)解壓縮后為圖3所示的樹狀結(jié)構(gòu),基站遍歷該樹中的所有結(jié)點(diǎn),并對(duì)其進(jìn)行身份認(rèn)證,具體流程如下(I)根據(jù)結(jié)點(diǎn)id在密鑰庫(kù)中查詢其密鑰Kid。(2)使用 Kid 解密 Certificateid 數(shù)據(jù),獲得{id rand | hash (Data)}檢查數(shù)據(jù)中的id與結(jié)點(diǎn)聲稱的id是否一致,如果一致則該結(jié)點(diǎn)通過身份認(rèn)證,否則無法通過。(3)如果該結(jié)點(diǎn)通過身份認(rèn)證,對(duì)其Data計(jì)算哈希值,并與上面的hash (Data)做比較,如果一致說明下一層結(jié)點(diǎn)的數(shù)據(jù)是完整的,則解壓縮Data域,并對(duì)其中結(jié)點(diǎn)重復(fù)認(rèn)證步驟。I. 4基站根據(jù)通過身份認(rèn)證的結(jié)點(diǎn)的信息,生成反饋消息,數(shù)據(jù)內(nèi)容如下id: {id}目標(biāo)結(jié)點(diǎn)的id目標(biāo)結(jié)點(diǎn)的唯一標(biāo)識(shí)id,該部分?jǐn)?shù)據(jù)為明文形式。Certificateid [PKid ( id I copyrand | GK I GZCsui, | hash (Data) ) }該部分把結(jié)點(diǎn)id,認(rèn)證請(qǐng)求中隨機(jī)值的拷貝copyrand,所在簇組密鑰GK,下級(jí)簇組密鑰GKsub和數(shù)據(jù)域的哈希值hash (Data)連接在一起后,用目標(biāo)結(jié)點(diǎn)的密鑰Kid加密。Data {Compress (List (subdata))}遞歸的結(jié)構(gòu),存儲(chǔ)壓縮后的數(shù)據(jù),該部分內(nèi)容解壓縮后為反饋給目標(biāo)結(jié)點(diǎn)下層各結(jié)點(diǎn)的響應(yīng)數(shù)據(jù)。I. 5各級(jí)簇頭結(jié)點(diǎn)接收到來自基站的反饋數(shù)據(jù)后,執(zhí)行以下步驟(I)若超出預(yù)設(shè)的超時(shí)時(shí)間Tti_ut沒有獲得反饋,則跳至步驟(4),若收到反饋數(shù)據(jù),則使用預(yù)存的密鑰Kid解密Certificateid數(shù)據(jù),獲得
權(quán)利要求
1.一種多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,包括由基站為所有結(jié)點(diǎn)建立認(rèn)證密鑰并分發(fā)至各結(jié)點(diǎn)中,基站處存儲(chǔ)所有結(jié)點(diǎn)的認(rèn)證密鑰;由底層簇內(nèi)結(jié)點(diǎn)向上逐層發(fā)起認(rèn)證請(qǐng)求,各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站;基站通過各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息;下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息,該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止;未獲得反饋消息的結(jié)點(diǎn)啟動(dòng)局部再認(rèn)證流程。
2.根據(jù)權(quán)利要求I所述的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,其特征在于,所述由基站為所有結(jié)點(diǎn)建立認(rèn)證密鑰并分發(fā)至各結(jié)點(diǎn)中,基站處存儲(chǔ)所有結(jié)點(diǎn)的認(rèn)證密鑰具體包括以下步驟基站讀取結(jié)點(diǎn)的id,為保證不同結(jié)點(diǎn)的認(rèn)證密鑰沒有關(guān)聯(lián)性,使用隨機(jī)值產(chǎn)生器Rand 產(chǎn)生一個(gè)隨機(jī)密鑰,作為Kid ;基站保存id與Kid的對(duì)應(yīng)關(guān)系id => Kid,針對(duì)id建立B-Tree索引,以方便快速根據(jù)id查找Kid;基站將Kid寫入結(jié)點(diǎn)中,此時(shí)結(jié)點(diǎn)保存了數(shù)據(jù)Ud|Kid}。
3.根據(jù)權(quán)利要求I所述的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,其特征在于,所述未獲得反饋消息的結(jié)點(diǎn)啟動(dòng)局部再認(rèn)證流程包括以下步驟重新進(jìn)行本級(jí)簇的簇頭結(jié)點(diǎn)的選舉;將緩存的認(rèn)證信息再次發(fā)給新簇頭結(jié)點(diǎn),各級(jí)簇頭依次匯集認(rèn)證請(qǐng)求信息并壓縮與融合后向上級(jí)匯集,知道認(rèn)證請(qǐng)求包匯集至基站;基站通過各結(jié)點(diǎn)的認(rèn)證密鑰對(duì)結(jié)點(diǎn)身份進(jìn)行識(shí)別,并將識(shí)別結(jié)果逐級(jí)下發(fā),各級(jí)簇頭結(jié)點(diǎn)通過反饋信息識(shí)別簇內(nèi)結(jié)點(diǎn)身份,并繼續(xù)向合法結(jié)點(diǎn)下發(fā)來自基站的反饋信息;下級(jí)結(jié)點(diǎn)收到反饋信息后,檢查其簇頭結(jié)點(diǎn)的合法性,之后檢查下級(jí)結(jié)點(diǎn)并下發(fā)反饋信息,該過程重復(fù)進(jìn)行,直到底層簇內(nèi)結(jié)點(diǎn)時(shí)停止;多次重復(fù)仍然失敗時(shí),則下一級(jí)結(jié)點(diǎn)將發(fā)起簇頭選舉,產(chǎn)生新的簇頭和上一級(jí)簇頭,并重復(fù)認(rèn)證流程。
4.根據(jù)權(quán)利要求3所述的多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,其特征在于,由于每一級(jí)的超時(shí)時(shí)間至少大于上一級(jí)的兩倍,因此新的簇頭如果認(rèn)證通過,則不影響整體認(rèn)證流程的進(jìn)行。
全文摘要
本發(fā)明提供了一種多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效的身份認(rèn)證方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,本方法以對(duì)稱加密算法為基礎(chǔ),通過基站來傳遞身份信息,針對(duì)多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)的特點(diǎn),所有結(jié)點(diǎn)只需要完成和其簇頭結(jié)點(diǎn)的雙向身份認(rèn)證即可,從而避免了不必要的認(rèn)證過程,采用本發(fā)明,可以在多級(jí)分簇?zé)o線傳感器網(wǎng)絡(luò)中能量高效地實(shí)現(xiàn)全網(wǎng)必要的身份認(rèn)證,以最少的能量開銷保障了全網(wǎng)結(jié)點(diǎn)的身份安全。
文檔編號(hào)H04W12/06GK102612035SQ20121010921
公開日2012年7月25日 申請(qǐng)日期2012年4月13日 優(yōu)先權(quán)日2012年4月13日
發(fā)明者何涇沙, 張婷, 張旸 申請(qǐng)人:北京工業(yè)大學(xué)