無線傳感器網絡中一種基于共享密鑰的節(jié)點鑒別機制
摘要:在無線傳感器網絡中,信息的傳輸需要保證通信雙方的節(jié)點是本次通信的節(jié)點,而不是網絡中的其他節(jié)點或者一些惡意節(jié)點,這就需要對通信雙方的身份進行身份鑒別。提出了一種基于共享密鑰的節(jié)點鑒別機制,實現了網內節(jié)點間在通信前確認彼此身份的合法性和有效性。分析表明,該方案有效抵御了傳感器網絡中一些常見的安全威脅,例如女巫攻擊等。同時,該方案還具有很強的攻擊容忍性。
關鍵詞:無線傳感器網絡;共享密鑰;Hash算法;節(jié)點鑒別
0 引言
在無線傳感器網絡中,信息的傳輸都是通過點到點的傳輸,因此要特別保證信息在傳輸過程中的安全性以及私密性,防止惡意節(jié)點在信息傳送過程中中途攔截或者冒充網絡中的正常節(jié)點,與其他節(jié)點進行通信,從而非法獲取網絡中的信息,甚至利用丟棄數據,自私性不轉發(fā)等手段破壞節(jié)點之間的正常通信。因此,在節(jié)點進行數據傳輸之前,有必要做好必要的安全措施。一方面需要對節(jié)點之間傳送的數據進行保護,不能以明文形式進行傳輸。當節(jié)點之間進行信息傳送時,可以使用全網密鑰對信息進行加密,并且使用共享密鑰實現安全通信。另一方面,需要保證通信雙方的節(jié)點是本次通信的節(jié)點,而不是網絡中的其他節(jié)點或者一些惡意節(jié)點,這就需要對通信雙方的身份進行鑒別。
針對傳感器網絡的實際需要以及現有的安全技術,本文提出了一種基于共享密鑰的節(jié)點鑒別機制,該方案主要利用網絡中節(jié)點之間共享的密鑰,實現了節(jié)點之間的身份鑒別。
1 方案設計
假設在傳感器網絡中,節(jié)點A需要與節(jié)點B進行通信,則節(jié)點A與節(jié)點B首先要對彼此身份進行鑒別,鑒別過程如下:
(1)首先,節(jié)點A向節(jié)點B發(fā)送鑒別請求消息Auth Request開始與節(jié)點B進行鑒別。鑒別請求消息中還包括節(jié)點A產生的一個隨機數RA以及節(jié)點A的身份標識符IDA和目的節(jié)點的身份標識IDB。
(2)節(jié)點B收到節(jié)點A的請求后,首先通過IDA查找自己的密鑰列表中是否保存了與節(jié)點A對應的對偶密鑰,若不存在,則終止鑒別;若存在,則產生隨機數RB,并利用密鑰列表中與節(jié)點A預共享的密鑰SAB,根據IDA,IDB,RA,RB計算:
MACAB=HASH(SAB,IDA‖IDB ‖RA ‖RB)
其中,IDA和IDB分別是節(jié)點A和節(jié)點B的身份標識;MACAB為節(jié)點A與節(jié)點B之間的消息鑒別密鑰。然后,節(jié)點B利用MACAB在本地計算消息鑒別碼:
MAC1=HASH(MACAB,RA ‖RB)
然后構造消息RA ‖RB ‖MAC1發(fā)送給節(jié)點A。
(3)節(jié)點A收到節(jié)點B的消息后,首先檢查消息中的隨機數RA是否與自己在第(1)步中發(fā)送的隨機數RA一致,若不一致,終止鑒別;若一致,節(jié)點A計算:
MACAB=HASH(SAB,IDA‖IDB‖RA‖RB)
然后利用MACAB在本地計算消息鑒別碼:
MAC2=HASH(SAB,RA‖RB)
如果MAC2≠MAC1,節(jié)點A終止鑒別;如果MAC2=MAC1,則節(jié)點A對節(jié)點B鑒別成功,并計算MAC3=HASH(MACAB,RB),將RB‖MAC3發(fā)送給節(jié)點B。
(4)節(jié)點B收到節(jié)點A的消息后,檢查隨機數RB是否與自己在第(2)步中發(fā)送給節(jié)點A的隨機數RB一致,若不一致,終止鑒別;若一致,節(jié)點B本地計算消息鑒別碼:
MAC4=HASH(MACAB,RB)
如果MAC4≠MAC3,節(jié)點B終止鑒別;如果MAC4=MAC3,則節(jié)點B對節(jié)點A鑒別成功。
然后計算:MAC5=HASH(MACAB,RA),并發(fā)送確認消息RA‖MAC5給節(jié)點A,用于通知節(jié)點A可以進行通信。
(5)節(jié)點A收到節(jié)點B的確認消息,節(jié)點A計算MAC6=HASH(MACAB,RA),如果MAC6≠MAC5,鑒別失敗,終止鑒別;如果MAC6=MAC5,節(jié)點A開始與節(jié)點B進行會話。
評論