一種無線傳感器網(wǎng)絡(luò)密鑰管理方法
【專利摘要】本發(fā)明公開了一種無線傳感器網(wǎng)絡(luò)密鑰管理方法,包括基站根據(jù)設(shè)置的參數(shù)為所有傳感器節(jié)點分配公私鑰對;從所有傳感器節(jié)點中選舉出簇頭節(jié)點;選舉出的簇頭節(jié)點向周圍傳感器節(jié)點發(fā)送信息,周圍傳感器節(jié)點根據(jù)信息選取自己的簇頭節(jié)點,形成簇;基站為每個簇生成簇內(nèi)傳感器節(jié)點的自平衡二叉查找樹(AVL樹);簇內(nèi)傳感器節(jié)點之間根據(jù)AVL樹查詢其他傳感器節(jié)點的信息,交換信息并相互認(rèn)證公鑰合法性,認(rèn)證成功后共享會話密鑰。本發(fā)明利用AVL樹方式存儲公鑰及身份信息,減少了搜索時間及消耗;利用橢圓曲線密碼體系來實現(xiàn)密鑰分配及管理,既能保證網(wǎng)絡(luò)更高的安全性,又能盡量減小計算開銷。
【專利說明】一種無線傳感器網(wǎng)絡(luò)密鑰管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)安全【技術(shù)領(lǐng)域】,特別涉及一種無線傳感器網(wǎng)絡(luò)密鑰管理方法。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)是部署在一定區(qū)域內(nèi)的大量傳感器傳感器節(jié)點組成的,通過無線通信的方式形成一個多跳的自組織網(wǎng)絡(luò)系統(tǒng),一般部署在無人值守的環(huán)境中,甚至是敵方區(qū)域。由于無線傳感器網(wǎng)絡(luò)具有這樣的開放性,致使節(jié)點間的通信容易受到竊聽、篡改或重放,節(jié)點自身易遭捕獲、復(fù)制或偽造等攻擊,所以保證網(wǎng)絡(luò)安全成為無線傳感器網(wǎng)絡(luò)的研究重點之一,密鑰管理則是實現(xiàn)無線傳感器網(wǎng)絡(luò)安全的基礎(chǔ)。由于每個傳感器節(jié)點的計算能力和存儲能力有限,網(wǎng)絡(luò)拓?fù)鋭討B(tài)變化,通信帶寬不足,使得已有的一些標(biāo)準(zhǔn)化的密鑰管理方案,如DifTie-Hellman密鑰交換協(xié)議,基于密鑰分發(fā)中心KDC的方案,公鑰基礎(chǔ)設(shè)施PKI等無法直接應(yīng)用在無線傳感器網(wǎng)絡(luò)上。因此特別需要一種新的無線傳感器網(wǎng)絡(luò)密鑰管理方案來保障網(wǎng)絡(luò)的安全。
【發(fā)明內(nèi)容】
[0003]發(fā)明目的:本發(fā)明旨在提供一種無線傳感器網(wǎng)絡(luò)密鑰管理方法。
[0004]技術(shù)方案:一種無線傳感器網(wǎng)絡(luò)密鑰管理方法,所述方法包括:
[0005](I)基站根據(jù)設(shè)置的參數(shù)為所有傳感器節(jié)點分配公私鑰對;
[0006](2)從所有傳感器節(jié)點中選舉出簇頭節(jié)點;
[0007](3)選舉出的簇頭節(jié)點向周圍傳感器節(jié)點發(fā)送信息,周圍傳感器節(jié)點根據(jù)信息選取自己的簇頭節(jié)點,形成簇;
[0008](4)基站為每個簇生成簇內(nèi)傳感器節(jié)點的AVL樹;
[0009](5)簇內(nèi)傳感器節(jié)點之間根據(jù)AVL樹查詢其他傳感器節(jié)點的信息,交換信息并相互認(rèn)證公鑰合法性,認(rèn)證成功后共享會話密鑰。
[0010]還包括新傳感器節(jié)點加入步驟:新傳感器節(jié)點首先向需加入的簇頭節(jié)點發(fā)送申請消息,簇頭節(jié)點將該消息用自己的私鑰加密后轉(zhuǎn)發(fā)給基站,基站對新傳感器節(jié)點進(jìn)行驗證,驗證通過后將確認(rèn)消息及新的簇內(nèi)節(jié)點AVL樹發(fā)送給簇頭節(jié)點,簇頭節(jié)點將該樹傳輸給簇內(nèi)傳感器節(jié)點,新傳感器節(jié)點與鄰居傳感器節(jié)點協(xié)商共享密鑰。
[0011]還包括傳感器節(jié)點刪除步驟:當(dāng)簇頭節(jié)點檢測到某一傳感器節(jié)點被捕獲或者能量耗盡時,刪除該傳感器節(jié)點,此時簇頭節(jié)點向基站發(fā)送傳感器節(jié)點信息,基站重新生成該簇的AVL樹并發(fā)送給簇頭節(jié)點,簇頭節(jié)點更新簇內(nèi)傳感器節(jié)點AVL樹。
[0012]還包括密鑰更新步驟:在所述步驟(5)中傳感器節(jié)點間協(xié)商共享密鑰后,傳感器節(jié)點設(shè)置密鑰使用周期T,經(jīng)過時間T后,傳感器節(jié)點重復(fù)步驟(5)更新會話密鑰。
[0013]有益效果:本發(fā)明利用自平衡二叉查找樹(AVL樹)方式存儲公鑰及身份信息,減少了搜索時間及消耗。利用橢圓曲線密碼體系來實現(xiàn)密鑰分配及管理,既能保證網(wǎng)絡(luò)更高的安全性,又能盡量減小計算開銷。采用橢圓曲線加密方法,相比于普通公鑰算法,可使用較短的密鑰實現(xiàn)相同的安全性,可更好的適用于對存儲及計算要求較高的無線傳感器網(wǎng)絡(luò)。采用AVL樹存儲傳感器節(jié)點的ID和公鑰值,可大量減少搜索時間,提高系統(tǒng)效率,減少能量消耗。本發(fā)明還設(shè)置了定期密鑰更新,可進(jìn)一步提高網(wǎng)絡(luò)的安全性,且具有較強的可擴展性,允許傳感器節(jié)點的添加及刪除。
【專利附圖】
【附圖說明】
[0014]圖1是本發(fā)明的流程圖;
[0015]圖2是本發(fā)明簇內(nèi)傳感器節(jié)點之間密鑰協(xié)商交互過程示意圖;
[0016]圖3是本發(fā)明AVL樹生成及查詢示意圖。
【具體實施方式】
[0017]下面結(jié)合附圖對本發(fā)明創(chuàng)造做進(jìn)一步詳細(xì)說明。
[0018]1、網(wǎng)絡(luò)形成階段:
[0019]參見圖1,本發(fā)明在網(wǎng)絡(luò)形成階段分為5步。 [0020](1-1)密鑰預(yù)分配:
[0021]基站設(shè)置一定的參數(shù),并為所有節(jié)點(包括所有簇頭節(jié)點和傳感器節(jié)點)分配公鑰Qi和私鑰Si,并存于節(jié)點中?;旧沙跏脊蚕砻荑€Ki,預(yù)置在所有節(jié)點內(nèi)。
[0022](1-2)簇頭節(jié)點選舉:
[0023]為確保數(shù)據(jù)傳輸?shù)母吣芎某杀揪鶆虻姆謹(jǐn)偟剿械膫鞲衅鞴?jié)點上,我們采用LEACH算法從所有的傳感器節(jié)點中選舉出簇頭節(jié)點。具體做法為:每個傳感器節(jié)點依次產(chǎn)生O到I之間的一個隨機數(shù),第一個小于閥值T(n)的傳感器節(jié)點就成為當(dāng)前輪的簇頭節(jié)點。
[0024]閥值T (η)的計算公式為:
'P.-:——// /i E C
[0025]T(η) = < 1- P * {/'mod( [) |
Oothenvise
[0026]其中,η表示傳感器節(jié)點,C是這一輪循環(huán)中未當(dāng)選過簇頭節(jié)點的節(jié)點集合,n e C表示該傳感器節(jié)點未當(dāng)選過簇頭節(jié)點,P是期望的簇頭節(jié)點數(shù)在所有傳感器節(jié)點中占的百分比,r是選舉輪數(shù)。
[0027](1-3)簇形成階段:
[0028]當(dāng)選簇頭的節(jié)點利用初始共享密鑰加密自己的ID和公鑰后向周圍傳感器節(jié)點進(jìn)行廣播,鄰居傳感器節(jié)點接收到消息后,使用初始密鑰進(jìn)行解密得到簇頭的ID和公鑰,然后可根據(jù)信號強度、信噪比等來選擇自己的簇頭節(jié)點,然后將自身ID和公鑰發(fā)送給簇頭節(jié)點,簇頭節(jié)點將其簇內(nèi)所有傳感器節(jié)點信息制表存儲。
[0029](1-4)簇 AVL 樹生成:
[0030]簇頭節(jié)點將簇內(nèi)傳感器節(jié)點的ID和公鑰列表發(fā)送給基站,基站將其制作成AVL樹后返回給各簇頭節(jié)點。簇頭節(jié)點將該樹廣播給簇內(nèi)傳感器節(jié)點。
[0031](1-5)簇內(nèi)傳感器節(jié)點密鑰協(xié)商:[0032]如圖2所示,傳感器節(jié)點A若要與傳感器節(jié)點B通信則在AVL樹表中查詢B的公鑰值,并隨機產(chǎn)生用于通信的會話密鑰Ks,先將Ks和時間戳用A的私鑰加密再和A的ID和公鑰一起用B的公鑰加密后發(fā)送給B。B接收到消息用自己的私鑰解密,并在AVL樹表中驗證A的公鑰合法性,若合法則可以用A的公鑰解密會話密鑰Ks和時間戳,以此來驗證A的身份并且驗證時間戳T來防止重發(fā)攻擊。B使用自己的私鑰加密會話密鑰Ks和時間戳再和自己的ID和公鑰一起使用會話密鑰加密發(fā)送給A,A接收到消息后以同樣的步驟認(rèn)證B的身份。至此A和B完成了相互認(rèn)證,并共享會話密鑰Ks。
【權(quán)利要求】
1.一種無線傳感器網(wǎng)絡(luò)密鑰管理方法,其特征在于,所述方法包括: (1)基站根據(jù)設(shè)置的參數(shù)為所有傳感器節(jié)點分配公私鑰對; (2)從所有傳感器節(jié)點中選舉出簇頭節(jié)點; (3)選舉出的簇頭節(jié)點向周圍傳感器節(jié)點發(fā)送信息,周圍傳感器節(jié)點根據(jù)信息選取自己的簇頭節(jié)點,形成簇; (4)基站為每個簇生成簇內(nèi)傳感器節(jié)點的AVL樹; (5)簇內(nèi)傳感器節(jié)點之間根據(jù)AVL樹查詢其他傳感器節(jié)點的信息,交換信息并相互認(rèn)證公鑰合法性,認(rèn)證成功后共享會話密鑰。
2.根據(jù)權(quán)利要求1所述的無線傳感器網(wǎng)絡(luò)密鑰管理方法,其特征在于,還包括新傳感器節(jié)點加入步驟:新傳感器節(jié)點首先向需加入的簇頭節(jié)點發(fā)送申請消息,簇頭節(jié)點將該消息用自己的私鑰加密后轉(zhuǎn)發(fā)給基站,基站對新傳感器節(jié)點進(jìn)行驗證,驗證通過后將確認(rèn)消息及新的簇內(nèi)節(jié)點AVL樹發(fā)送給簇頭節(jié)點,簇頭節(jié)點將該樹傳輸給簇內(nèi)傳感器節(jié)點,新傳感器節(jié)點與鄰居傳感器節(jié)點協(xié)商共享密鑰。
3.根據(jù)權(quán)利要求1所述的無線傳感器網(wǎng)絡(luò)密鑰管理方法,其特征在于,還包括傳感器節(jié)點刪除步驟:當(dāng)簇頭節(jié)點檢測到某一傳感器節(jié)點被捕獲或者能量耗盡時,刪除該傳感器節(jié)點,此時簇頭節(jié)點向基站發(fā)送傳感器節(jié)點信息,基站重新生成該簇的AVL樹并發(fā)送給簇頭節(jié)點,簇頭節(jié)點更新簇內(nèi)傳感器節(jié)點AVL樹。
4.根據(jù)權(quán)利要求1所述的無線傳感器網(wǎng)絡(luò)密鑰管理方法,其特征在于,還包括密鑰更新步驟:在所述步驟(5)中傳感器節(jié)點間協(xié)商共享密鑰后,傳感器節(jié)點設(shè)置密鑰使用周期T,經(jīng)過時間T后,傳感器節(jié)點重復(fù)步驟(5)更新會話密鑰。
【文檔編號】H04W84/18GK103929744SQ201410134463
【公開日】2014年7月16日 申請日期:2014年4月3日 優(yōu)先權(quán)日:2014年4月3日
【發(fā)明者】秦中元, 張新帥, 黃杰 申請人:東南大學(xué)