魏煜皓 魏雪峰
摘 要:密鑰安全和節(jié)點(diǎn)能量受限是無(wú)線傳感器網(wǎng)絡(luò)中密鑰管理要考慮的問(wèn)題。為有效改善節(jié)點(diǎn)密鑰存儲(chǔ)開銷和通信能耗開銷,通過(guò)結(jié)合圓錐曲線密碼和單項(xiàng)散列函數(shù),給出一種雙簇頭無(wú)線傳感器網(wǎng)絡(luò)密鑰管理方案。該方案中主簇頭節(jié)點(diǎn)負(fù)責(zé)安全收集和簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)傳輸,副簇頭節(jié)點(diǎn)則負(fù)責(zé)簇內(nèi)密鑰管理工作。性能分析結(jié)果表明:該方案能夠保證節(jié)點(diǎn)的高連同率和強(qiáng)抗捕獲性,較低的存儲(chǔ)開銷和通信能耗開銷,以及良好的可擴(kuò)展性,可在實(shí)際的網(wǎng)絡(luò)環(huán)境中廣泛應(yīng)用。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò);圓錐曲線密碼;密鑰管理;雙簇頭
中圖分類號(hào):TP212.9;TN918.82 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)04-0076-03
Exploration of a Key Management Scheme for Double Cluster Head
Wireless Sensor Networks
WEI Yuhao1,WEI Xuefeng2
(1.Zhumadian Senior Middle School of Henan,Zhumadian 463000,China;
2.School of Information Engineering,Huanghuai University,Zhumadian 463000,China)
Abstract:The security of key and the limited energy of nodes should be considered in key management of wireless sensor networks simultaneity. In order to improve the consumption of key storage and communication energy,a key management scheme of dual cluster heads for wireless sensor networks was proposed by combining conic curve cryptography and hash functions. The main cluster heads were responsible for safely collecting and transmitting the data information,and the assistant cluster heads take charge of the key management of the nodes. The performance analysis results show that the scheme can ensure the node’s high rate of integration and strong anti-capture,low storage and communication energy consumption,and good scalability,and can be widely used in the actual network environment.
Keywords:wireless sensor network;conic curve cryptography;key management;dual cluster heads
0 引 言
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)是一種分布式傳感網(wǎng)絡(luò),它是由一到數(shù)個(gè)無(wú)線數(shù)據(jù)接收器和大量傳感器節(jié)點(diǎn)組成的網(wǎng)絡(luò)系統(tǒng),各組件之間的通信采用無(wú)線通信方式,跟互聯(lián)網(wǎng)進(jìn)行有線或無(wú)線方式的連接。每個(gè)傳感器連續(xù)傳輸傳感器的讀取值,并將讀取值傳輸?shù)綗o(wú)線數(shù)據(jù)收集器進(jìn)行進(jìn)一步處理。因此,大量的數(shù)據(jù)將同時(shí)在無(wú)線傳感網(wǎng)絡(luò)中傳輸,導(dǎo)致網(wǎng)絡(luò)擁塞和傳感器消耗大量的電力,無(wú)線傳感網(wǎng)絡(luò)中的無(wú)線傳感,會(huì)造成數(shù)據(jù)安全漏洞,進(jìn)而減損整個(gè)網(wǎng)絡(luò)的使用時(shí)效。為了克服這個(gè)問(wèn)題,本文在無(wú)線傳感器網(wǎng)絡(luò)中基于圓錐曲線密碼算法,采用雙簇頭的分簇拓?fù)浣Y(jié)構(gòu)形式,主簇頭是負(fù)責(zé)安全收集及傳輸簇內(nèi)節(jié)點(diǎn)采集的數(shù)據(jù),而副簇頭則對(duì)簇內(nèi)節(jié)點(diǎn)的密鑰進(jìn)行有效管理,可以降低網(wǎng)絡(luò)能耗,提高整個(gè)網(wǎng)絡(luò)的使用時(shí)效。因此,本文通過(guò)采用雙簇頭結(jié)構(gòu),結(jié)合圓錐曲線密碼和單向散列函數(shù),提出一種雙簇頭無(wú)線傳感器網(wǎng)絡(luò)密鑰管理方案。該方案有效實(shí)現(xiàn)了密鑰的生成與分發(fā)、密鑰更新和回收以及節(jié)點(diǎn)連通率和抗捕獲性等性能,進(jìn)而實(shí)現(xiàn)密鑰安全與均衡能耗相結(jié)合的目標(biāo),可較好的用于無(wú)線傳感器網(wǎng)絡(luò)中。
1 密鑰管理方案
1.1 數(shù)據(jù)安全技術(shù)分析
針對(duì)數(shù)據(jù)傳遞方法,存在以下幾個(gè)安全漏洞:
若是數(shù)據(jù)以明文的形式傳遞,攻擊者可以很容易就竊聽到傳遞中的數(shù)據(jù),甚至利用Man-in-the-MiddleAttack攻擊竄改傳遞中的資料。在無(wú)線感測(cè)網(wǎng)絡(luò)下,加/解密方法會(huì)導(dǎo)致:
(1)加/解密會(huì)消耗額外的電能,導(dǎo)致單一傳感器或整個(gè)傳感器網(wǎng)絡(luò)的使用時(shí)間變短。
(2)使用加/解密的雙方都要存有一把或一把以上的加/解密密鑰,這使得每一個(gè)傳感器都必須有夠大的空間來(lái)儲(chǔ)存這些密鑰。但由于傳感器硬件的限制,有足夠大的儲(chǔ)存空間來(lái)儲(chǔ)存數(shù)以千萬(wàn)計(jì)的密鑰是很不容易實(shí)現(xiàn)的。即使可以增加硬件上的內(nèi)存,越大的內(nèi)存代表需要更多的電能來(lái)運(yùn)作,這樣也造成單一傳感器或整個(gè)傳感器網(wǎng)絡(luò)的使用時(shí)效變短。
(3)若是整個(gè)無(wú)線傳感器網(wǎng)絡(luò)共同使用一把金鑰來(lái)做資料加/解密,攻擊者就可以一邊偵測(cè)傳感器的讀值,然后記錄它傳出來(lái)的加密讀值,由于共同使用一把密鑰,相同的傳感器讀值會(huì)得到相同對(duì)應(yīng)的加密讀值,所以,攻擊者只需去記錄所有的傳感器讀值及加密讀值的配對(duì),就可以在不知道密鑰及不解密的情形得知某一個(gè)傳感器送出什么樣的讀值。這導(dǎo)致數(shù)據(jù)沒(méi)有隱私性。
若是數(shù)據(jù)以密文的形式傳遞,雖然攻擊者無(wú)法解密得出傳感器的讀值,但攻擊者可以在正常傳感器的附近去布建擁有一樣傳感器的惡意傳感器,通過(guò)這一方法攻擊者便可以知道正常傳感器的讀值及相對(duì)應(yīng)的密文,在記錄一段時(shí)間后,攻擊者就可以在不解開密文的情形下,憑借著比對(duì)密文,就可以得知傳感器的讀值。一直不斷的更新加/解密密鑰可以解決這個(gè)問(wèn)題,但這個(gè)方法會(huì)導(dǎo)致以下兩個(gè)方面的問(wèn)題:
(1)一直不斷的更新加/解密密鑰導(dǎo)致傳感器需要更多的儲(chǔ)存空間,更多的儲(chǔ)存空間導(dǎo)致消耗更多的電源。
(2)由于加/解密密鑰必須一直更新,因此,如何做好密鑰更新在無(wú)線傳感器網(wǎng)絡(luò)中是一大問(wèn)題。
1.2 初始化參數(shù)
(1)在有限域GF(p)上構(gòu)造安全圓錐曲線C,其中p為大素?cái)?shù),選取C上一點(diǎn)Q作為基點(diǎn),其階為大素?cái)?shù)q;
(2)基于圓錐曲線密碼算法,隨機(jī)的選取xij∈GF(p),構(gòu)造m×n的私鑰種子矩陣XPR,其中1≤i≤m,1≤j≤n,;
(3)根據(jù)私鑰種子矩陣XPR生成對(duì)應(yīng)的公鑰種子矩陣XPK,其中yij=xijQ,1≤i≤m,1≤j≤n;
(4)選取兩個(gè)單向散列函數(shù),H1:{0,1}*→{0,1}l×n,其中;H2:{0,1}*→{0,1}n;
(5)基站存儲(chǔ)系統(tǒng)參數(shù)(C,Q,p,q,H1,H2,XPR,XPK),并利用參數(shù)(C,Q,p,q,H2)初始化節(jié)點(diǎn);
(6)為每個(gè)初始化節(jié)點(diǎn)分配一個(gè)唯一的ID標(biāo)識(shí),ID∈{0,1}*,創(chuàng)建一個(gè)ID鏈表以存儲(chǔ)所有節(jié)點(diǎn)的ID信息,基于節(jié)點(diǎn)信息生成節(jié)點(diǎn)種子密鑰對(duì)。
1.3 生成密鑰對(duì)
(1)首先A通過(guò)GPS模塊收集自身位置信息LA及當(dāng)前時(shí)間TA,然后生成密鑰參數(shù)KPA={TPA‖LA‖TA},其中TPA是A的類型標(biāo)識(shí),包括主簇頭、副簇頭、Sink節(jié)點(diǎn)和普通節(jié)點(diǎn);
(2)計(jì)算密鑰參數(shù)散列值H2(KPA)=kpA1…kpAi…kpAn,其中kpAi是H2(KPA)的第i比特;
(3)根據(jù)A的公私鑰種子對(duì)(SeedXA,SeedYA),計(jì)算A的私鑰和公鑰,其中kpAi∈H2(KPA),,,并保存其自身公私鑰對(duì)(PRA,PKA)。
1.4 節(jié)點(diǎn)加/解密
假設(shè)普通節(jié)點(diǎn)A需要與主簇頭MCH進(jìn)行安全通信,發(fā)送信息為MS,按圓錐曲線密碼體制進(jìn)行安全通信,具體步驟如下:
(1)A將信息MS編碼成圓錐曲線C上一個(gè)明文點(diǎn)P,然后計(jì)算H1(IDMCH‖IDA)=h;
(2)A將明文點(diǎn)P加密成圓錐曲線C上加密點(diǎn)C= P+h·PKMCH,并發(fā)送給MCH;
(3)MCH解密A發(fā)送的消息;
(4)MCH解碼點(diǎn)P得到MS,并向A發(fā)送消息收到通知。
1.5 建簇與節(jié)點(diǎn)注冊(cè)
網(wǎng)絡(luò)建簇主要由副簇頭ACH負(fù)責(zé)協(xié)調(diào)完成簇的建立,具體步驟如下:
(1)ACH首先廣播消息PublicACH-1={TK1,IDACH,PKACH,T1},其中TK1是ACH的聲明信息,IDACH為ACH的身份標(biāo)識(shí),PKACH為ACH的公鑰,T1表示當(dāng)前時(shí)刻;
(2)A比較接收到的廣播消息強(qiáng)度,選擇響應(yīng)消息強(qiáng)度最大的副簇頭部節(jié)點(diǎn),并發(fā)送請(qǐng)求加入此簇的消息。RequestA=PKACH(TK2‖TPA‖IDA‖PKA‖STA‖T2);
(3)ACH收到A的入簇申請(qǐng)后,首先要檢判斷是否滿足入簇條件T2-T1<ΔT,其中ΔT是ACH可以接受的延時(shí)時(shí)長(zhǎng);
(4)ACH收到Sink節(jié)點(diǎn)申請(qǐng)成為主簇頭的消息后,即向基站發(fā)送驗(yàn)證申請(qǐng)RequestACH-1=PKBS(TK3‖IDACH‖PKACH‖IDACH‖PKMCH‖T3);
(5)基站解密ACH發(fā)送的驗(yàn)證申請(qǐng),并在簇頭鏈表中找到TK3中簇對(duì)應(yīng)的預(yù)分配主副簇頭ID;
(6)ACH解密基站發(fā)信息后,先驗(yàn)證基站的ID和TK4,若驗(yàn)證通過(guò),則在簇內(nèi)廣播信息PublicACH-2={TK5,IDMCH,PKMCH,T5}。
1.6 新節(jié)點(diǎn)加入/舊節(jié)點(diǎn)退出
網(wǎng)絡(luò)中如果靠近基站的簇內(nèi)節(jié)點(diǎn),轉(zhuǎn)發(fā)數(shù)據(jù)量較多,容易造成節(jié)點(diǎn)能量消耗過(guò)快甚至節(jié)點(diǎn)死亡,則節(jié)點(diǎn)將退出網(wǎng)絡(luò)。因此基站BS不時(shí)地選擇在網(wǎng)絡(luò)中的這些簇中添加新的節(jié)點(diǎn),以保持網(wǎng)絡(luò)的正常運(yùn)行。具體步驟如下:
(1)假設(shè)需要向網(wǎng)絡(luò)部署一個(gè)新的節(jié)點(diǎn)B。在部署之前,BS向新節(jié)點(diǎn)分配一個(gè)唯一的節(jié)點(diǎn)標(biāo)識(shí)IDB,然后初始化節(jié)點(diǎn)系統(tǒng)的相應(yīng)參數(shù),即公共密鑰和私鑰的種子對(duì)(PRB,PKB),節(jié)點(diǎn)的驗(yàn)證信息TKB和簇的副簇頭存儲(chǔ)在節(jié)點(diǎn)中。部署后,節(jié)點(diǎn)首先生成自身的公私密鑰對(duì)(PRB,PKB),等待簇ACH檢測(cè),ACH發(fā)現(xiàn)B后即向其發(fā)送HelloACH=(TK13,IDACH,PKACH,T13);
(2)B收到ACH發(fā)送的HelloACH信息后,先檢驗(yàn)IDACH的真實(shí)性,隨后B加密自身節(jié)點(diǎn)信息向ACH發(fā)送入簇申請(qǐng)RequestB=PKACH(TK14‖TPB‖IDB‖PKB‖STB‖T14);
(3)ACH收到B的入簇申請(qǐng)信息RequestB后,即向BS發(fā)送驗(yàn)證B的申請(qǐng)消息RequestACH-2=PKBS(TK15‖IDACH‖ IDB‖TKB‖TB‖T15);
(4)BS解密RequestACH-2并驗(yàn)證ACH和B的身份標(biāo)識(shí)IDACH和IDB及信息TKB。若驗(yàn)證都通過(guò),則BS更新節(jié)點(diǎn)注冊(cè)信息鏈表,并回復(fù)ACH驗(yàn)證結(jié)果ResultBS-3=PKACH(TK16‖IDBS‖T16);
(5)ACH解密驗(yàn)證結(jié)果后,添加B節(jié)點(diǎn)注冊(cè)信息鏈表,記錄相應(yīng)的節(jié)點(diǎn)信息,發(fā)送歡迎入簇信息WelcomeACH=PKB(TK17‖IDACH‖T17),啟動(dòng)節(jié)點(diǎn)密鑰更新。然后ACH對(duì)更新后的集群節(jié)點(diǎn)注冊(cè)信息鏈表進(jìn)行加密,發(fā)送到主簇頭和基站,完成新節(jié)點(diǎn)的添加。如果新節(jié)點(diǎn)是接收Sink節(jié)點(diǎn),則更新簇頭;
(6)當(dāng)網(wǎng)絡(luò)工作一段時(shí)間后,某些工作頻率較高的節(jié)點(diǎn)可能耗盡能量或低于某個(gè)閾值或被捕獲,這些節(jié)點(diǎn)將被強(qiáng)制退出。如果是普通節(jié)點(diǎn),ACH可將節(jié)點(diǎn)加入黑名單,刪除節(jié)點(diǎn)注冊(cè)信息鏈列表中的相關(guān)信息,在簇中進(jìn)行廣播。簇中的節(jié)點(diǎn)密鑰更新已啟動(dòng),集群中的其他節(jié)點(diǎn)不再與其通信。如果MCH、ACH直接將其添加到黑名單中,那么簇內(nèi)的普通節(jié)點(diǎn)將不再與之通信,并啟動(dòng)集群頭更新。如果BS檢測(cè)到ACH異常,則直接向該簇廣播廢除ACH通知,由MCH發(fā)起簇內(nèi)簇頭更新。
2 性能分析
為驗(yàn)證所給DCHC3密鑰管理方案的優(yōu)越性,對(duì)存儲(chǔ)開銷和能耗開銷進(jìn)行性能分析。
2.1 存儲(chǔ)開銷
假設(shè)每個(gè)簇中至多有M個(gè)節(jié)點(diǎn),所給DCHC3密鑰管理方案在密鑰對(duì)生成前,大部分計(jì)算工作是基站PKG完成,每個(gè)階段需要的密鑰信息存儲(chǔ)量都比較小。簇頭將存儲(chǔ)所有簇內(nèi)節(jié)點(diǎn)的ID和公鑰,而其它節(jié)點(diǎn)只需存儲(chǔ)其自身的ID、公私密鑰對(duì)和種子密鑰對(duì),則密鑰信息的總數(shù)就會(huì)提前存儲(chǔ)R=2(M-1)+2·3M=8M-2。每個(gè)節(jié)點(diǎn)平均存儲(chǔ)的密鑰信息數(shù)為8,不會(huì)隨節(jié)點(diǎn)數(shù)增加或減少。所給方案在密鑰信息存儲(chǔ)開銷上具有優(yōu)勢(shì)。
2.2 通信能耗
由于更新節(jié)點(diǎn)密鑰所產(chǎn)生的通信消耗主要和網(wǎng)絡(luò)規(guī)模相關(guān)。隨著網(wǎng)絡(luò)規(guī)模增大,對(duì)于所給DCHC3密鑰管理方案的通信能耗,經(jīng)過(guò)驗(yàn)證,在更新密鑰或新節(jié)點(diǎn)加入時(shí),負(fù)責(zé)發(fā)布密鑰更新通知的主要是通過(guò)副簇頭,所以不論網(wǎng)絡(luò)規(guī)模如何變化,不會(huì)增加其它額外的通信開銷,從而節(jié)省了節(jié)點(diǎn)的能量消耗。
3 結(jié) 論
由于無(wú)線傳感器網(wǎng)絡(luò)沒(méi)有固定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),而且每個(gè)傳感器都可以任意部署,因此,無(wú)線傳感器網(wǎng)絡(luò)容易構(gòu)建,但很難進(jìn)行數(shù)據(jù)傳輸。目前的資料聚集方法有著許多的安全漏洞,再加上無(wú)線傳感器的硬件限制,使得資料聚集方法很難同時(shí)滿足數(shù)據(jù)的安全性及隱私性。本研究所給DCHC3密鑰管理方案的預(yù)分配密鑰種子對(duì)始終保持不變,由于采用身份加密,且密鑰生成大多是在基站中進(jìn)行,在通信前只向副簇頭發(fā)送通信請(qǐng)求,副簇頭統(tǒng)一協(xié)調(diào),相互分配節(jié)點(diǎn)標(biāo)識(shí)和公鑰,降低了節(jié)點(diǎn)的存儲(chǔ)開銷,減少了通信能耗。同時(shí),副簇頭具有節(jié)點(diǎn)監(jiān)測(cè)的功能,它可以實(shí)時(shí)獲得節(jié)點(diǎn)的能量狀態(tài),更好地更新簇頭,使簇內(nèi)網(wǎng)絡(luò)更加穩(wěn)定、安全,運(yùn)行時(shí)間更長(zhǎng)。
參考文獻(xiàn):
[1] 周大偉,魏國(guó)珩,張煥國(guó).基于無(wú)證書公鑰體制的層簇式WSN密鑰管理方案 [J].北京工業(yè)大學(xué)學(xué)報(bào),2016,42(5):707-712.
[2] 危蓉,趙德正.基于身份的無(wú)線傳感器網(wǎng)絡(luò)層簇式密鑰管理方案 [J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2015,48(4):580-583+590.
[3] 陳昊,黃海平.基于節(jié)點(diǎn)間信任評(píng)估算法的無(wú)線傳感器網(wǎng)絡(luò)密鑰管理方案 [J].計(jì)算機(jī)科學(xué),2015,42(S1):395-398.
[4] 李蘭英,易春煥,孫建達(dá),等.基于單位的無(wú)線傳感器網(wǎng)絡(luò)密鑰管理方案 [J].計(jì)算機(jī)工程與應(yīng)用.2015(2):94-98.
作者簡(jiǎn)介:魏雪峰(1973-),男,漢族,河南遂平人,教授,碩士,研究方向:智能計(jì)算。