無線傳感器網(wǎng)絡(luò)中一種基于共享密鑰的節(jié)點(diǎn)鑒別機(jī)制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:在無線傳感器網(wǎng)絡(luò)中,信息的傳輸需要保證通信雙方的節(jié)點(diǎn)是本次通信的節(jié)點(diǎn),而不是網(wǎng)絡(luò)中的其他節(jié)點(diǎn)或者一些惡意節(jié)點(diǎn),這就需要對(duì)通信雙方的身份進(jìn)行身份鑒別。提出了一種基于共享密鑰的節(jié)點(diǎn)鑒別機(jī)制,實(shí)現(xiàn)了網(wǎng)內(nèi)節(jié)點(diǎn)間在通信前確認(rèn)彼此身份的合法性和有效性。分析表明,該方案有效抵御了傳感器網(wǎng)絡(luò)中一些常見的安全威脅,例如女巫攻擊等。同時(shí),該方案還具有很強(qiáng)的攻擊容忍性。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);共享密鑰;Hash算法;節(jié)點(diǎn)鑒別
0 引言
在無線傳感器網(wǎng)絡(luò)中,信息的傳輸都是通過點(diǎn)到點(diǎn)的傳輸,因此要特別保證信息在傳輸過程中的安全性以及私密性,防止惡意節(jié)點(diǎn)在信息傳送過程中中途攔截或者冒充網(wǎng)絡(luò)中的正常節(jié)點(diǎn),與其他節(jié)點(diǎn)進(jìn)行通信,從而非法獲取網(wǎng)絡(luò)中的信息,甚至利用丟棄數(shù)據(jù),自私性不轉(zhuǎn)發(fā)等手段破壞節(jié)點(diǎn)之間的正常通信。因此,在節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸之前,有必要做好必要的安全措施。一方面需要對(duì)節(jié)點(diǎn)之間傳送的數(shù)據(jù)進(jìn)行保護(hù),不能以明文形式進(jìn)行傳輸。當(dāng)節(jié)點(diǎn)之間進(jìn)行信息傳送時(shí),可以使用全網(wǎng)密鑰對(duì)信息進(jìn)行加密,并且使用共享密鑰實(shí)現(xiàn)安全通信。另一方面,需要保證通信雙方的節(jié)點(diǎn)是本次通信的節(jié)點(diǎn),而不是網(wǎng)絡(luò)中的其他節(jié)點(diǎn)或者一些惡意節(jié)點(diǎn),這就需要對(duì)通信雙方的身份進(jìn)行鑒別。
針對(duì)傳感器網(wǎng)絡(luò)的實(shí)際需要以及現(xiàn)有的安全技術(shù),本文提出了一種基于共享密鑰的節(jié)點(diǎn)鑒別機(jī)制,該方案主要利用網(wǎng)絡(luò)中節(jié)點(diǎn)之間共享的密鑰,實(shí)現(xiàn)了節(jié)點(diǎn)之間的身份鑒別。
1 方案設(shè)計(jì)
假設(shè)在傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)A需要與節(jié)點(diǎn)B進(jìn)行通信,則節(jié)點(diǎn)A與節(jié)點(diǎn)B首先要對(duì)彼此身份進(jìn)行鑒別,鑒別過程如下:
(1)首先,節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送鑒別請(qǐng)求消息Auth Request開始與節(jié)點(diǎn)B進(jìn)行鑒別。鑒別請(qǐng)求消息中還包括節(jié)點(diǎn)A產(chǎn)生的一個(gè)隨機(jī)數(shù)RA以及節(jié)點(diǎn)A的身份標(biāo)識(shí)符IDA和目的節(jié)點(diǎn)的身份標(biāo)識(shí)IDB。
(2)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的請(qǐng)求后,首先通過IDA查找自己的密鑰列表中是否保存了與節(jié)點(diǎn)A對(duì)應(yīng)的對(duì)偶密鑰,若不存在,則終止鑒別;若存在,則產(chǎn)生隨機(jī)數(shù)RB,并利用密鑰列表中與節(jié)點(diǎn)A預(yù)共享的密鑰SAB,根據(jù)IDA,IDB,RA,RB計(jì)算:
MACAB=HASH(SAB,IDA‖IDB ‖RA ‖RB)
其中,IDA和IDB分別是節(jié)點(diǎn)A和節(jié)點(diǎn)B的身份標(biāo)識(shí);MACAB為節(jié)點(diǎn)A與節(jié)點(diǎn)B之間的消息鑒別密鑰。然后,節(jié)點(diǎn)B利用MACAB在本地計(jì)算消息鑒別碼:
MAC1=HASH(MACAB,RA ‖RB)
然后構(gòu)造消息RA ‖RB ‖MAC1發(fā)送給節(jié)點(diǎn)A。
(3)節(jié)點(diǎn)A收到節(jié)點(diǎn)B的消息后,首先檢查消息中的隨機(jī)數(shù)RA是否與自己在第(1)步中發(fā)送的隨機(jī)數(shù)RA一致,若不一致,終止鑒別;若一致,節(jié)點(diǎn)A計(jì)算:
MACAB=HASH(SAB,IDA‖IDB‖RA‖RB)
然后利用MACAB在本地計(jì)算消息鑒別碼:
MAC2=HASH(SAB,RA‖RB)
如果MAC2≠MAC1,節(jié)點(diǎn)A終止鑒別;如果MAC2=MAC1,則節(jié)點(diǎn)A對(duì)節(jié)點(diǎn)B鑒別成功,并計(jì)算MAC3=HASH(MACAB,RB),將RB‖MAC3發(fā)送給節(jié)點(diǎn)B。
(4)節(jié)點(diǎn)B收到節(jié)點(diǎn)A的消息后,檢查隨機(jī)數(shù)RB是否與自己在第(2)步中發(fā)送給節(jié)點(diǎn)A的隨機(jī)數(shù)RB一致,若不一致,終止鑒別;若一致,節(jié)點(diǎn)B本地計(jì)算消息鑒別碼:
MAC4=HASH(MACAB,RB)
如果MAC4≠MAC3,節(jié)點(diǎn)B終止鑒別;如果MAC4=MAC3,則節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)A鑒別成功。
然后計(jì)算:MAC5=HASH(MACAB,RA),并發(fā)送確認(rèn)消息RA‖MAC5給節(jié)點(diǎn)A,用于通知節(jié)點(diǎn)A可以進(jìn)行通信。
(5)節(jié)點(diǎn)A收到節(jié)點(diǎn)B的確認(rèn)消息,節(jié)點(diǎn)A計(jì)算MAC6=HASH(MACAB,RA),如果MAC6≠MAC5,鑒別失敗,終止鑒別;如果MAC6=MAC5,節(jié)點(diǎn)A開始與節(jié)點(diǎn)B進(jìn)行會(huì)話。
具體鑒別流程如圖1所示。
2 算法分析
2.1 安全性分析
從安全性角度,對(duì)于本方案,節(jié)點(diǎn)在數(shù)據(jù)傳輸前,首先通過發(fā)送自己的身份標(biāo)識(shí)ID給目的節(jié)點(diǎn),而不是直接發(fā)送共享密鑰,目的節(jié)點(diǎn)通過源節(jié)點(diǎn)發(fā)送的ID,再?gòu)淖约旱拿荑€列表中找到與源節(jié)點(diǎn)的共享密鑰,這樣就防止了密鑰在傳輸過程中被攻擊者非法截獲的可能,并且也可以通過源節(jié)點(diǎn)發(fā)送的ID來判斷是否有其他非法節(jié)點(diǎn)冒充;同時(shí)目的節(jié)點(diǎn)再利用節(jié)點(diǎn)之間的共享密鑰經(jīng)過加密以后生成消息校驗(yàn)碼,再發(fā)送給源節(jié)點(diǎn)。源節(jié)點(diǎn)接收到消息校驗(yàn)碼以后,也可以通過共享密鑰生成校驗(yàn)碼,而對(duì)于其他節(jié)點(diǎn)來說,由于不知道兩個(gè)節(jié)點(diǎn)間的共享密鑰,因此不能生成相同的校驗(yàn)碼,源節(jié)點(diǎn)就可以驗(yàn)證目的節(jié)點(diǎn)就是自己所要進(jìn)行通信的節(jié)點(diǎn);而目的節(jié)點(diǎn)也同樣可以通過只有兩個(gè)節(jié)點(diǎn)才知道的共享密鑰生成的校驗(yàn)碼對(duì)源節(jié)點(diǎn)進(jìn)行認(rèn)證。通信雙方對(duì)彼此的身份進(jìn)行確認(rèn)以后,兩個(gè)節(jié)點(diǎn)就可以放心地進(jìn)行下一步通信。有效抵御了傳感器網(wǎng)絡(luò)中一些常見的安全威脅,例如女巫攻擊等。
同時(shí),方案還具有很強(qiáng)的攻擊容忍性,任何節(jié)點(diǎn)被破壞或俘獲以后,都不會(huì)影響其他未被俘獲節(jié)點(diǎn)的通信安全。
2.2 性能分析
從性能角度看,在計(jì)算效率方面,方案采用了單向Hash算法,相比于非對(duì)稱密碼體制下的節(jié)點(diǎn)鑒別和密鑰協(xié)商協(xié)議,該協(xié)議的計(jì)算量要小得多。而且每個(gè)通信節(jié)點(diǎn)最多只需要進(jìn)行3次Hash運(yùn)算,Hash算法也可以根據(jù)網(wǎng)絡(luò)的實(shí)際情況進(jìn)行選擇;在通信負(fù)載方面,一次協(xié)議運(yùn)算只需2條消息交互,相比于其他的節(jié)點(diǎn)鑒別機(jī)制,該協(xié)議的通信負(fù)載也比較低;從節(jié)點(diǎn)存儲(chǔ)方面,節(jié)點(diǎn)需要存儲(chǔ)一張密鑰表和目的節(jié)點(diǎn)的ID;在方案的擴(kuò)展性上,新節(jié)點(diǎn)在加入網(wǎng)絡(luò)時(shí)就會(huì)從密鑰池中隨機(jī)分配到q個(gè)密鑰,新節(jié)點(diǎn)只需要與網(wǎng)絡(luò)節(jié)點(diǎn)建立了共享密鑰,就能實(shí)現(xiàn)節(jié)點(diǎn)的鑒別。
3 結(jié)論
本文設(shè)計(jì)了一種基于共享密鑰的節(jié)點(diǎn)鑒別機(jī)制。該方案利用節(jié)點(diǎn)之間擁有的共享密鑰和節(jié)點(diǎn)ID以及生成的隨機(jī)數(shù)生成一個(gè)MAC值,節(jié)點(diǎn)之間通過各自生成一個(gè)MAC值與對(duì)方生成并發(fā)送的MAC值進(jìn)行比較,相等則表示鑒別成功。該方案在信息交互和計(jì)算量方面都表現(xiàn)較優(yōu),成功實(shí)現(xiàn)了節(jié)點(diǎn)在正常通信之前的身份鑒別,為節(jié)點(diǎn)之間下一步的安全通信工作提供了保障。