一種基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法
【專(zhuān)利摘要】本發(fā)明提出了一種用于分簇?zé)o線(xiàn)傳感器網(wǎng)絡(luò)的基于隨機(jī)數(shù)的身份認(rèn)證機(jī)制。該方法建立在分簇的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)模型之上,共分為兩個(gè)階段:基站與簇頭的一級(jí)身份認(rèn)證,基站與成員節(jié)點(diǎn)的二級(jí)身份認(rèn)證。基站在與簇頭認(rèn)證不成功的時(shí)候,將不會(huì)進(jìn)行二級(jí)認(rèn)證,而是重新分簇,在確保簇頭可信的前提下才繼續(xù)進(jìn)行與普通節(jié)點(diǎn)的二級(jí)認(rèn)證。從而避免了在不可信簇頭存在的情況下繼續(xù)認(rèn)證帶來(lái)的資源和能量的浪費(fèi)。
【專(zhuān)利說(shuō)明】一種基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,更具體的涉及一種分簇?zé)o線(xiàn)傳感器網(wǎng)絡(luò)安全中的身份認(rèn)證方法。
【背景技術(shù)】
[0002]無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是當(dāng)今國(guó)際上備受關(guān)注的多學(xué)科高度交叉的熱點(diǎn)研究領(lǐng)域,具有深遠(yuǎn)的科學(xué)價(jià)值、研究意義和應(yīng)用前景。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)潛在的市場(chǎng)需求十分巨大,包括軍事國(guó)防、工農(nóng)業(yè)生產(chǎn)、城市管理、生物醫(yī)療、環(huán)境監(jiān)測(cè)、搶險(xiǎn)救災(zāi)、防恐反恐以及危險(xiǎn)區(qū)域的遠(yuǎn)程控制等諸多領(lǐng)域都有著重要的科研潛力和使用價(jià)值。
[0003]無(wú)線(xiàn)傳感器網(wǎng)絡(luò)具有計(jì)算、存儲(chǔ)能力有限,通信帶寬有限,布置區(qū)域的物理安全無(wú)法保證和節(jié)點(diǎn)部署信息無(wú)法預(yù)知等特性,因此容易遭受惡意攻擊。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)安全問(wèn)題也逐漸成為學(xué)者們的研究熱點(diǎn)。實(shí)現(xiàn)傳感器節(jié)點(diǎn)之間有效的身份認(rèn)證,是防范各種攻擊、建立安全機(jī)制的前提。
【發(fā)明內(nèi)容】
[0004]本發(fā)明是建立在分簇?zé)o線(xiàn)傳感器網(wǎng)絡(luò)模型基礎(chǔ)上的。
[0005]本發(fā)明提出一種基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,其特征在于,包括:
[0006]步驟1,基站針對(duì)每個(gè)簇頭節(jié)點(diǎn)的id隨機(jī)產(chǎn)生一個(gè)密鑰,作為每個(gè)簇頭節(jié)點(diǎn)在認(rèn)證時(shí)的身份密鑰,id與身份密鑰是一一對(duì)應(yīng)的;
[0007]步驟2,所述基站與所述簇頭節(jié)點(diǎn)的一級(jí)認(rèn)證,所述簇頭節(jié)點(diǎn)向基站發(fā)送認(rèn)證請(qǐng)求,所述基站對(duì)報(bào)文進(jìn)行解密,并向簇頭節(jié)點(diǎn)回復(fù)報(bào)文,簇頭節(jié)點(diǎn)收到基站回復(fù)的報(bào)文后確認(rèn)消息的合法性;
[0008]步驟3,所述基站與所述簇內(nèi)節(jié)點(diǎn)的二級(jí)身份認(rèn)證;簇頭節(jié)點(diǎn)通過(guò)一級(jí)身份認(rèn)證之后,向簇內(nèi)的成員節(jié)點(diǎn)發(fā)送廣播信息;所述簇頭節(jié)點(diǎn)收集簇內(nèi)所有成員發(fā)送的認(rèn)證請(qǐng)求報(bào)文,向基站發(fā)送二級(jí)認(rèn)證請(qǐng)求;所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送過(guò)來(lái)的二級(jí)請(qǐng)求報(bào)文后,對(duì)報(bào)文進(jìn)行解密;所述基站分別對(duì)信息中的成員節(jié)點(diǎn)進(jìn)行認(rèn)證;如果成員節(jié)點(diǎn)沒(méi)有通過(guò)認(rèn)證,根據(jù)所使用的分簇局部重新分簇;如果未通過(guò)認(rèn)證的簇頭節(jié)點(diǎn)數(shù)量超過(guò)閾值,全網(wǎng)重新分簇;如果成員節(jié)點(diǎn)未通過(guò)認(rèn)證,基站將該成員節(jié)點(diǎn)的id標(biāo)記為非法,同時(shí)此成員節(jié)點(diǎn)無(wú)法獲得與簇頭節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)密鑰,從而無(wú)法參與通信。
[0009]所述步驟I包括如下步驟:
[0010]步驟101,所述基站通過(guò)確認(rèn)id唯一識(shí)別所述簇頭節(jié)點(diǎn)的身份,通過(guò)所述簇頭節(jié)點(diǎn)的身份密鑰解密認(rèn)證報(bào)文;
[0011]步驟102,所述基站保存id與所述身份密鑰的映射關(guān)系。
[0012]所述步驟2包括:
[0013]步驟201,所述簇頭節(jié)點(diǎn)產(chǎn)生一個(gè)隨機(jī)數(shù)并保存,向所述基站發(fā)送認(rèn)證請(qǐng)求;
[0014]步驟202,所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送的請(qǐng)求之后,根據(jù)報(bào)文的id,在id與身份密鑰的關(guān)系映射表中讀取身份密鑰Kautlrid,對(duì)報(bào)文進(jìn)行解密,得到id、認(rèn)證請(qǐng)求信息、隨機(jī)數(shù);
[0015]步驟203,檢查得到的所述簇頭節(jié)點(diǎn)id與報(bào)文頭部的id的一致性,防止節(jié)點(diǎn)偽裝,如果一致,說(shuō)明節(jié)點(diǎn)身份無(wú)誤;基站產(chǎn)生另一個(gè)隨機(jī)數(shù)并保存,并向簇頭節(jié)點(diǎn)發(fā)送報(bào)文;
[0016]步驟204,所述簇頭節(jié)點(diǎn)收到所述基站回復(fù)的報(bào)文后,用其身份密鑰Kautlrid對(duì)報(bào)文進(jìn)行解密,檢查id與自身id的一致性,確認(rèn)消息的合法性;如果一致,檢查隨機(jī)數(shù)與所保存的是否相等,確定本次反饋是針對(duì)上次請(qǐng)求的;如果相等,簇頭節(jié)點(diǎn)保存另一隨機(jī)數(shù),所述簇頭節(jié)點(diǎn)與所述基站的身份認(rèn)證完成。
[0017]所述步驟3包括:
[0018]步驟301,所述簇頭節(jié)點(diǎn)通過(guò)身份認(rèn)證之后,向簇內(nèi)的成員節(jié)點(diǎn)發(fā)送廣播信息;
[0019]步驟302,所述成員節(jié)點(diǎn)收到廣播信息后,產(chǎn)生一個(gè)隨機(jī)數(shù)random3,保存random3,然后向簇頭節(jié)點(diǎn)發(fā)送認(rèn)證請(qǐng)求報(bào)文;
[0020]步驟303,所述簇頭節(jié)點(diǎn)收集簇內(nèi)所有成員發(fā)送的認(rèn)證請(qǐng)求報(bào)文,隨機(jī)生成一個(gè)隨機(jī)數(shù)random4并保存,向所述基站發(fā)送二級(jí)認(rèn)證請(qǐng)求發(fā)送的報(bào)文;
[0021]步驟304,所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送過(guò)來(lái)的二級(jí)請(qǐng)求報(bào)文后,根據(jù)id,在id與身份密鑰的關(guān)系映射表中讀取身份密鑰Kautlrid,對(duì)報(bào)文進(jìn)行解密。解密后,獲得id、另一隨機(jī)數(shù)和Message的哈希值;檢查此id與節(jié)點(diǎn)自稱(chēng)的id是否一致,確認(rèn)節(jié)點(diǎn)身份,防止偽裝;如果一致,檢查另一隨機(jī)數(shù)與所述基站之前所保存的另一隨機(jī)數(shù)是否相等,確保本次報(bào)文的發(fā)送者是已通過(guò)認(rèn)證的簇頭發(fā)送的;保存隨機(jī)數(shù)random4 ;
`[0022]步驟305,所述基站分別對(duì)信息中的成員節(jié)點(diǎn)進(jìn)行認(rèn)證;基站在關(guān)系映射表中讀取與id對(duì)應(yīng)的身份密鑰Kautlrid,解密每一個(gè)Kauth_id(id I Request I random3);若id與節(jié)點(diǎn)生成的id —致,節(jié)點(diǎn)通過(guò)認(rèn)證;若不一致,則認(rèn)證不通過(guò),即將節(jié)點(diǎn)排除在安全網(wǎng)絡(luò)之外;
[0023]步驟306,基站將通過(guò)認(rèn)證的節(jié)點(diǎn)的信息進(jìn)行加工,向簇頭發(fā)送反饋報(bào)文;
[0024]步驟307,簇頭收到基站的消息后,用預(yù)存的密鑰!^-^解密MAC部分的數(shù)據(jù),得到(id|random4 Σ {keys} Hash (Message));為確保消息的合法性,檢查數(shù)據(jù)中的id與自身的id是否一致;檢查隨機(jī)數(shù)random4與自己所保存的random4是否相等;對(duì)Message部分求哈希值,與解密得到的Hash(Message)比較,校驗(yàn)數(shù)據(jù)的完整性;如果均沒(méi)有問(wèn)題,簇頭保存與簇內(nèi)各個(gè)節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)密鑰,拆分Σ {nodes},分別向成員節(jié)點(diǎn)發(fā)送報(bào)文;
[0025]步驟308,成員節(jié)點(diǎn)收到簇頭發(fā)送的反饋報(bào)文后,用預(yù)存的身份密鑰Kautlrid解密Kauth_id (id I Kc_n_x I random3),若得到的隨機(jī)數(shù)random3與保存的隨機(jī)數(shù)相同,說(shuō)明該報(bào)文是針對(duì)二級(jí)身份認(rèn)證的反饋,成員節(jié)點(diǎn)保存它與簇頭的點(diǎn)到點(diǎn)密鑰&_η_χ ;如果簇頭沒(méi)有通過(guò)認(rèn)證,可以根據(jù)所使用的分簇局部重新分簇;如果未通過(guò)認(rèn)證的簇頭數(shù)量過(guò)多,全網(wǎng)重新分簇;如果普通節(jié)點(diǎn)未通過(guò)認(rèn)證,基站將該節(jié)點(diǎn)的id標(biāo)記為非法,同時(shí)此節(jié)點(diǎn)無(wú)法獲得與簇頭的點(diǎn)對(duì)點(diǎn)密鑰,因此無(wú)法參與通信。
[0026]本發(fā)明的有益技術(shù)效果在于:
[0027]存儲(chǔ)開(kāi)銷(xiāo):認(rèn)證過(guò)程只需要存儲(chǔ)一個(gè)隨機(jī)數(shù)和一個(gè)身份密鑰,存儲(chǔ)開(kāi)銷(xiāo)很小。
[0028]計(jì)算開(kāi)銷(xiāo):對(duì)稱(chēng)密鑰與非對(duì)稱(chēng)密鑰相比,具有計(jì)算、通信和存儲(chǔ)開(kāi)銷(xiāo)小、加密速度快、加密效率高的特點(diǎn)。隨機(jī)數(shù)是由隨機(jī)數(shù)生成器生成的,不存在額外的計(jì)算負(fù)擔(dān)。
[0029]通信開(kāi)銷(xiāo):整個(gè)認(rèn)證過(guò)程中,簇頭一共發(fā)送數(shù)據(jù)包4次,接收數(shù)據(jù)包3次;成員節(jié)點(diǎn)一共發(fā)送數(shù)據(jù)包I次,接收數(shù)據(jù)包I次。通信次數(shù)遠(yuǎn)遠(yuǎn)小于傳統(tǒng)點(diǎn)到點(diǎn)認(rèn)證。
[0030]安全性能:安全性能好。如果某個(gè)節(jié)點(diǎn)被捕獲,泄漏的是該節(jié)點(diǎn)的身份密鑰,即與基站的點(diǎn)對(duì)點(diǎn)密鑰。由于每個(gè)節(jié)點(diǎn)與基站的點(diǎn)對(duì)點(diǎn)密鑰是唯一的,且不具有相關(guān)性,一個(gè)密鑰泄露不會(huì)造成其它節(jié)點(diǎn)密鑰的泄露,故不會(huì)造成整個(gè)網(wǎng)絡(luò)的安全造成很大的隱患。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0031]圖1為本發(fā)明的認(rèn)證過(guò)程流程圖。
【具體實(shí)施方式】
[0032]基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證分為兩個(gè)階段:基站與簇頭的一級(jí)身份認(rèn)證;基站與成員節(jié)點(diǎn)的二級(jí)身份認(rèn)證。其中基站與節(jié)點(diǎn)的二級(jí)身份認(rèn)證是通過(guò)簇頭的傳遞實(shí)現(xiàn)的,這個(gè)過(guò)程不僅完成了基站與普通節(jié)點(diǎn)的認(rèn)證,也間接地使簇頭與節(jié)點(diǎn)之間建立了可信關(guān)系。
[0033]初始化:基站針對(duì)每個(gè)節(jié)點(diǎn)的id隨機(jī)產(chǎn)生一個(gè)密鑰,作為每個(gè)節(jié)點(diǎn)在認(rèn)證時(shí)的身份密鑰,id與身份密鑰是一一對(duì)應(yīng)的?;就ㄟ^(guò)確認(rèn)id唯一識(shí)別節(jié)點(diǎn)的身份,通過(guò)節(jié)點(diǎn)的身份密鑰解密認(rèn)證報(bào)文。基站保存id與身份密鑰的映射關(guān)系。這些密鑰是隨機(jī)產(chǎn)生的,因此,認(rèn)為它們是不具有相關(guān)性的。基站將一些參數(shù)提前寫(xiě)入每個(gè)節(jié)點(diǎn)中。節(jié)點(diǎn)中預(yù)先存儲(chǔ)有以下參數(shù):
[0034]
【權(quán)利要求】
1.一種基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,其特征在于,包括: 步驟1,基站針對(duì)每個(gè)簇頭節(jié)點(diǎn)的id隨機(jī)產(chǎn)生一個(gè)密鑰,作為每個(gè)簇頭節(jié)點(diǎn)在認(rèn)證時(shí)的身份密鑰,id與身份密鑰是一一對(duì)應(yīng)的; 步驟2,所述基站與所述簇頭節(jié)點(diǎn)的一級(jí)認(rèn)證,所述簇頭節(jié)點(diǎn)向基站發(fā)送認(rèn)證請(qǐng)求,所述基站對(duì)報(bào)文進(jìn)行解密,并向簇頭節(jié)點(diǎn)回復(fù)報(bào)文,簇頭節(jié)點(diǎn)收到基站回復(fù)的報(bào)文后確認(rèn)消息的合法性; 步驟3,所述基站與所述簇內(nèi)節(jié)點(diǎn)的二級(jí)身份認(rèn)證;簇頭節(jié)點(diǎn)通過(guò)一級(jí)身份認(rèn)證之后,向簇內(nèi)的成員節(jié)點(diǎn)發(fā)送廣播信息;所述簇頭節(jié)點(diǎn)收集簇內(nèi)所有成員發(fā)送的認(rèn)證請(qǐng)求報(bào)文,向基站發(fā)送二級(jí)認(rèn)證請(qǐng)求;所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送過(guò)來(lái)的二級(jí)請(qǐng)求報(bào)文后,對(duì)報(bào)文進(jìn)行解密;所述基站分別對(duì)信息中的成員節(jié)點(diǎn)進(jìn)行認(rèn)證;如果成員節(jié)點(diǎn)沒(méi)有通過(guò)認(rèn)證,根據(jù)所使用的分簇算法局部重新分簇;如果未通過(guò)認(rèn)證的簇頭節(jié)點(diǎn)數(shù)量超過(guò)閾值,全網(wǎng)重新分簇;如果成員節(jié)點(diǎn)未通過(guò)認(rèn)證,基站將該成員節(jié)點(diǎn)的id標(biāo)記為非法,同時(shí)此成員節(jié)點(diǎn)無(wú)法獲得與簇頭節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)密鑰,從而無(wú)法參與通信。
2.如權(quán)利要求1所述的基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,其特征在于:所述步驟I包括如下步驟: 步驟101,所述基站通過(guò)確認(rèn)id唯一識(shí)別所述簇頭節(jié)點(diǎn)的身份,通過(guò)所述簇頭節(jié)點(diǎn)的身份密鑰解密認(rèn)證報(bào)文; 步驟102,所述基站保存id與所述身份密鑰的映射關(guān)系。
3.如權(quán)利要求1所述的基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,其特征在于,所述步驟2包括: 步驟201,所述簇頭節(jié)點(diǎn)產(chǎn)生一個(gè)隨機(jī)數(shù)并保存,向所述基站發(fā)送認(rèn)證請(qǐng)求; 步驟202,所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送的請(qǐng)求之后,根據(jù)報(bào)文的id,在id與身份密鑰的關(guān)系映射表中讀取身份密鑰Kautlrid,對(duì)報(bào)文進(jìn)行解密,得到id、認(rèn)證請(qǐng)求信息、隨機(jī)數(shù);步驟203,檢查得到的所述簇頭節(jié)點(diǎn)id與報(bào)文頭部的id的一致性,防止節(jié)點(diǎn)偽裝,如果一致,說(shuō)明節(jié)點(diǎn)身份無(wú)誤;基站產(chǎn)生另一個(gè)隨機(jī)數(shù)并保存,并向簇頭節(jié)點(diǎn)發(fā)送報(bào)文; 步驟204,所述簇頭節(jié)點(diǎn)收到所述基站回復(fù)的報(bào)文后,用其身份密鑰Kauth-1d對(duì)報(bào)文進(jìn)行解密,檢查id與自身id的一致性,確認(rèn)消息的合法性;如果一致,檢查隨機(jī)數(shù)與所保存的是否相等,確定本次反饋是針對(duì)上次請(qǐng)求的;如果相等,簇頭節(jié)點(diǎn)保存另一隨機(jī)數(shù),所述簇頭節(jié)點(diǎn)與所述基站的身份認(rèn)證完成。
4.如權(quán)利要求1所述的基于隨機(jī)數(shù)的兩級(jí)身份認(rèn)證方法,其特征在于,所述步驟3包括: 步驟301,所述簇頭節(jié)點(diǎn)通過(guò)身份認(rèn)證之后,向簇內(nèi)的成員節(jié)點(diǎn)發(fā)送廣播信息; 步驟302,所述成員節(jié)點(diǎn)收到廣播信息后,產(chǎn)生一個(gè)隨機(jī)數(shù)random3,保存random3,然后向簇頭節(jié)點(diǎn)發(fā)送認(rèn)證請(qǐng)求報(bào)文; 步驟303,所述簇頭節(jié)點(diǎn)收集簇內(nèi)所有成員發(fā)送的認(rèn)證請(qǐng)求報(bào)文,隨機(jī)生成一個(gè)隨機(jī)數(shù)random4并保存,向所述基站發(fā)送二級(jí)認(rèn)證請(qǐng)求發(fā)送的報(bào)文; 步驟304,所述基站收到所述簇頭節(jié)點(diǎn)發(fā)送過(guò)來(lái)的二級(jí)請(qǐng)求報(bào)文后,根據(jù)id,在id與身份密鑰的關(guān)系映射表中讀取身份密鑰Kautlrid,對(duì)報(bào)文進(jìn)行解密。解密后,獲得id、另一隨機(jī)數(shù)和Message的哈希值;檢查此id與節(jié)點(diǎn)自稱(chēng)的id是否一致,確認(rèn)節(jié)點(diǎn)身份,防止偽裝;如果一致,檢查另一隨機(jī)數(shù)與所述基站之前所保存的另一隨機(jī)數(shù)是否相等,確保本次報(bào)文的發(fā)送者是已通過(guò)認(rèn)證的簇頭發(fā)送的;保存隨機(jī)數(shù)random4 ; 步驟305,所述基站分別對(duì)信息中的成員節(jié)點(diǎn)進(jìn)行認(rèn)證;基站在關(guān)系映射表中讀取與id對(duì)應(yīng)的身份密鑰Kauth-1d,解密每一個(gè)Kauth-1d (id | Request | random3);若id與節(jié)點(diǎn)生成的id—致,節(jié)點(diǎn)通過(guò)認(rèn)證;若不一致,則認(rèn)證不通過(guò),即將節(jié)點(diǎn)排除在安全網(wǎng)絡(luò)之外;步驟306,基站將通過(guò)認(rèn)證的節(jié)點(diǎn)的信息進(jìn)行加工,向簇頭發(fā)送反饋報(bào)文; 步驟307,簇頭收到基站的消息后,用預(yù)存的密鑰Kautlrid解密MAC部分的數(shù)據(jù),得到(idrandom4 Σ {keys} Hash (Message));為確保消息的合法性,檢查數(shù)據(jù)中的id與自身的id是否一致;檢查隨機(jī)數(shù)random4與自己所保存的random4是否相等^Message部分求哈希值,與解密得到的Hash(Message)比較,校驗(yàn)數(shù)據(jù)的完整性;如果均沒(méi)有問(wèn)題,簇頭保存與簇內(nèi)各個(gè)節(jié)點(diǎn)的點(diǎn)對(duì)點(diǎn)密鑰,拆分Σ {nodes},分別向成員節(jié)點(diǎn)發(fā)送報(bào)文; 步驟308,成員節(jié)點(diǎn)收到簇頭發(fā)送的反饋報(bào)文后,用預(yù)存的身份密鑰Kauth-1d解密Kauth_id (id I Kc_n_x I random3),若得到的隨機(jī)數(shù)random3與保存的隨機(jī)數(shù)相同,說(shuō)明該報(bào)文是針對(duì)二級(jí)身份認(rèn)證的反饋,成員節(jié)點(diǎn)保存它與簇頭的點(diǎn)到點(diǎn)密鑰&_η_χ ;如果簇頭沒(méi)有通過(guò)認(rèn)證,可以根據(jù)所使用的分簇算法局部重新分簇;如果未通過(guò)認(rèn)證的簇頭數(shù)量過(guò)多,全網(wǎng)重新分簇;如果普通節(jié)點(diǎn)未通過(guò)認(rèn)證,基站將該節(jié)點(diǎn)的id標(biāo)記為非法,同時(shí)此節(jié)點(diǎn)無(wú)法獲得與簇頭的點(diǎn)對(duì)點(diǎn)密鑰,因此無(wú)法參`與通信。
【文檔編號(hào)】H04W12/04GK103856939SQ201410120001
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2014年3月27日 優(yōu)先權(quán)日:2014年3月27日
【發(fā)明者】何涇沙, 李曉璇, 孫妮娜 申請(qǐng)人:北京工業(yè)大學(xué)