WSNs中基于三因素節點(diǎn)評估的安全認證方案
2.3 登錄階段
本文引用地址:http://dyxdggzs.com/article/276364.htm 當用戶(hù)插入智能卡并輸入自己的用戶(hù)名和密碼
并發(fā)送請求給網(wǎng)關(guān)節點(diǎn)來(lái)請求服務(wù)時(shí),用戶(hù)的智能卡需要進(jìn)行如下的認證過(guò)程:
(1)Ui插入智能卡并輸入用戶(hù)名和密碼
,并向網(wǎng)關(guān)節點(diǎn)發(fā)出登錄請求。
(2)智能卡計算和
,然后檢驗
是否等于Ni。如果相等,用戶(hù)的合法身份就會(huì )得到確認并進(jìn)行下面的步驟;否則,拒絕用戶(hù)的登錄請求。
(3)智能卡計算DIDi=h(PW||IDi) h(Ti ||x),這里的Ti是用戶(hù)當前的時(shí)間戳。Ci =h( Ni||x||Ti )。
(4)Ui→GW:用戶(hù)把{DIDi,Ci,Ti,x,h(.)}傳給網(wǎng)關(guān)節點(diǎn)。
2.4 認證階段
網(wǎng)關(guān)節點(diǎn)GW在Tg收到{DIDi,Ci,Ti,x,h(.)}后,會(huì )進(jìn)行如下操作來(lái)驗證Ui的身份:
(1)驗證Tg-Ti是否不大于ΔT。如果時(shí),網(wǎng)關(guān)節點(diǎn)進(jìn)行下面的步驟;否則網(wǎng)關(guān)節點(diǎn)拒絕用戶(hù)的請求。這里,ΔT表示期望的傳輸延時(shí)時(shí)間間隔。
(2)計算。通過(guò)使用
=DIDi
h(Ti||x)
h(x),
=h(
||x||Ti )來(lái)進(jìn)行計算。
(3)認證Ci是否等于。如果Ci =
,網(wǎng)關(guān)節點(diǎn)就接受用戶(hù)的登錄請求;否則拒絕用戶(hù)的請求。
(4)GW→Sn:{DIDi,,Ei,h(.),x,Cg}。網(wǎng)關(guān)節點(diǎn)查詢(xún)網(wǎng)絡(luò )中節點(diǎn)的信任度找到Sn,然后計算
,
,并通過(guò)公共信道傳送{DIDi,
,Ei,h(.),x,Cg}給傳感器節點(diǎn)Sn。T是網(wǎng)關(guān)節點(diǎn)發(fā)送請求時(shí)的時(shí)間戳。Sn是經(jīng)過(guò)節點(diǎn)信任度計算后得出的可信節點(diǎn)中,最鄰近的網(wǎng)關(guān)節點(diǎn)的傳感器節點(diǎn)。λ是GW節點(diǎn)產(chǎn)生的隨機數[12]。
(5)GW→Ui:{Cg,λ,h(.),x}。網(wǎng)絡(luò )節點(diǎn)通過(guò)公共信道傳送{Cg,λ ,h(.),x}給用戶(hù)Ui。
(6)傳感器節點(diǎn)Sn檢查T和Ei。傳感器節點(diǎn)Sn在Tn時(shí)刻收到{DIDi, ,Ei,h(.),x}后,首先驗證Tn -
是否不大于ΔT,如果滿(mǎn)足執行后面步驟;否則拒絕用戶(hù)的請求。然后再驗證Ei是否等于h(DIDi ||Sn||x||
)。如果等于,Sn發(fā)送{Sn}給用戶(hù)Ui來(lái)回復用戶(hù)的請求;否則拒絕用戶(hù)的請求。
2.5 交互認證階段
用戶(hù)收到{Cg,λ,h(.),x}和{Sn}以后,會(huì )執行如下步驟:
Ui檢查Cg。用戶(hù)首先驗證Cg是否等于h(DIDi ||Sn||x||λ)。如果等于,用戶(hù)和傳感器使用Cg作為會(huì )話(huà)密鑰進(jìn)行通信;否則驗證失敗。
2.6 密碼更改階段
為了更改用戶(hù)密碼,用戶(hù)插入智能卡后先輸入原來(lái)的IDi和PWi來(lái)確認用戶(hù)的身份,再輸入新密碼。步驟如下:
(1)用戶(hù)智能卡驗證密碼。用戶(hù)智能卡計算PW是否等于h(PWB),如果相等,可以進(jìn)行下面的步驟;否則拒絕修改密碼。
(2)智能卡計算 ,
,并用PW*和
代替智能卡中的PW和Ni[13] 。
3 安全及性能分析
3.1 安全性分析
(1)抵抗重放攻擊。在認證階段,需要保證Tg-Ti≤ΔT和Tn -≤ΔT,而ΔT是經(jīng)過(guò)反復試驗所得出的有效時(shí)間間隔,這可以很好保證網(wǎng)絡(luò )免受攻擊者的重放攻擊。
(2)抵制內部攻擊。一個(gè)有特權的內部攻擊者能夠截獲用戶(hù)Ui的不加處理的用戶(hù)名和密碼,并模仿用戶(hù)來(lái)獲取網(wǎng)絡(luò )服務(wù)[14]。而本方案在注冊階段用PW=h(PWiB)來(lái)代替PWi放到安全通道傳輸。這種方法可以防止密鑰被攻擊者截獲。所以,本方案可以抵御內部攻擊。
(3)防止偽裝攻擊。用戶(hù)若想模仿一個(gè)合法用戶(hù)登錄到WSNs上,必須要有DIDi來(lái)認證其合法性。然而,DIDi=h(PW||IDi)h(Ti||x)是通過(guò)單向哈希函數得到的,而攻擊者由于無(wú)法得到IDi,x,PW,從而無(wú)法得到DIDi和Ci。這有效地保護了網(wǎng)絡(luò )免受偽裝攻擊。
(4)交互認證。交互認證是用來(lái)驗證用戶(hù)、網(wǎng)關(guān)節點(diǎn)、傳感器節點(diǎn)三者身份有效性的一個(gè)很重要的方法[15]。首先本方案用節點(diǎn)信任度來(lái)計算每個(gè)節點(diǎn)的信任度,保證通信過(guò)程中,用戶(hù)和網(wǎng)關(guān)節點(diǎn)只與可信的傳感器節點(diǎn)進(jìn)行通信,從而保證了認證過(guò)程的安全。其次,在用戶(hù)Ui登錄網(wǎng)關(guān)節點(diǎn)后,網(wǎng)關(guān)節點(diǎn)會(huì )通過(guò)計算Ni=h(PW||IDi)h(x)來(lái)驗證用戶(hù)身份的合法性。然后,在認證階段,網(wǎng)關(guān)節點(diǎn)發(fā)送{DIDi,
,Ei,h(.),x,Cg}給傳感器節點(diǎn)Sn,發(fā)送{Cg,λ,h(.),x}給用戶(hù)Ui,這樣,用戶(hù)Ui可以通過(guò)Cg=h(DIDi||Sn||x||λ)來(lái)認證網(wǎng)關(guān)節點(diǎn)和Sn。最后,傳感器節點(diǎn)Sn可以通過(guò)Ei=h(DIDi||Sn||x||
)來(lái)認證網(wǎng)關(guān)節點(diǎn)。這樣,本方案可以有效地實(shí)現用戶(hù)、網(wǎng)關(guān)節點(diǎn)和傳感器節點(diǎn)三者的交互認證。
(5)安全地更改密碼。本方案可以讓用戶(hù)及時(shí)更新密碼,即用戶(hù)只要通過(guò)認證,就可以用PW*和來(lái)替換用戶(hù)智能卡里的PW和Ni。
表2 給出了本方案與Watro等的方案、Wong等方案、Das等方案在安全性上的對比。通過(guò)對比從而發(fā)現本方案比其它的方案更安全。
3.2 性能分析
為了把本方案與其它相關(guān)方案作性能對比,本文評估它們的計算花費、通信花費、存儲花費和節點(diǎn)能量花費。
(1)計算花費
首先需要定義各計算花費的符號表示,th表示哈希函數的計算時(shí)間,ttr表示節點(diǎn)信任度的計算時(shí)間,tPU表示公鑰的計算時(shí)間,tPR表示私鑰的計算時(shí)間。需要注意的是,tPU和tPR遠高于th。在認證階段,Watro等提出的方案的計算花費為,Wong等提出的方案的計算花費為4th,Das等提出的方案的計算花費為5th,本方案的計算花費為
。
本方案與Watro等提出的方案相比,Watro等提出的方案在認證階段需要兩個(gè)公鑰計算時(shí)間和兩個(gè)私鑰計算時(shí)間,并且它使用復雜的Diffie- Hellman和RSA來(lái)進(jìn)行計算,而論文所提出的方案除了計算哈希函數外,還需要計算節點(diǎn)信任度,而信任度計算的復雜性不高,有著(zhù)很高的優(yōu)越性。
然而,與其余的兩個(gè)方案相比,本方案的計算時(shí)間會(huì )高于它們。但是,其余兩種方案都存在安全問(wèn)題,而本方案可以解決它們沒(méi)解決的安全問(wèn)題,從而提供比它們更好的安全性。
(2)通信花費
本文提出的方案每進(jìn)行一個(gè)成功的認證,需要進(jìn)行四次信息交換,而其它的三個(gè)認證方案分別需要兩次、四次和三次信息交換。盡管Watro等提出的方案需要很少的信息交換,但是此方案的計算花費很大,并不適用于資源有限的無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),而提出的方案的信息量要少于其他的三個(gè)方案。
評論