張 志, 張巧麗
(中南財(cái)經(jīng)政法大學(xué) 信息與安全工程學(xué)院,武漢430073)
作為物聯(lián)網(wǎng)的重要組成部分, 無線傳感器網(wǎng)絡(luò)(WSNs)廣泛應(yīng)用于軍事監(jiān)控、環(huán)境監(jiān)測(cè)、自然災(zāi)害預(yù)警與救援、國(guó)土安全、工業(yè)制造、醫(yī)療衛(wèi)生和城市交通等各種領(lǐng)域[1].
相對(duì)于傳統(tǒng)通信網(wǎng)絡(luò)技術(shù), 無線傳感器網(wǎng)絡(luò)技術(shù)已經(jīng)得到了飛速的增長(zhǎng). 但無線傳感器網(wǎng)絡(luò)中的敏感數(shù)據(jù)只能通過無線媒介進(jìn)行協(xié)作, 而無線媒介的典型特征就是共享與不可靠. 如何保證無線傳感器網(wǎng)絡(luò)中敏感數(shù)據(jù)的安全通信是一個(gè)亟待解決的難題. 在用戶、傳感器節(jié)點(diǎn)以及網(wǎng)關(guān)之間通過認(rèn)證及密鑰協(xié)商方案產(chǎn)生后續(xù)加密通信的會(huì)話密鑰,可以解決WSNs中的安全問題.
近年來,許多學(xué)者對(duì)安全認(rèn)證及密鑰協(xié)商方案進(jìn)行了分析[2-6].2016年, Wong等[2]提出一種輕量級(jí)用戶認(rèn)證協(xié)議. 后來, Das等[3]指出Wong等的方案不能抵抗相同登錄名和用戶信息被盜攻擊, 首次提出基于智能卡和口令的雙因素認(rèn)證方案. 2010年, Khan和Alghathbar[4]發(fā)現(xiàn)Das等的方案不能抵抗內(nèi)部特權(quán)和網(wǎng)關(guān)節(jié)點(diǎn)旁路攻擊, 并對(duì)其做出改進(jìn). 同年, Chen和Shih[5]也發(fā)現(xiàn)Das等的方案不滿足安全的相互認(rèn)證, 并提出一種改進(jìn)方案. 后來, Vaidya[7]指出Das等的方案, Khan和Alghathbar等的方案以及Chen和Shih的方案存在相同的缺陷, 即丟失智能卡攻擊, 傳感器節(jié)點(diǎn)假冒攻擊等, 并提出改進(jìn)方案, 但改進(jìn)方案存在用戶假冒攻擊和網(wǎng)關(guān)節(jié)點(diǎn)旁路攻擊. 最近, Chang等[6]提出一種雙因素用戶認(rèn)證及密鑰協(xié)商方案, 并聲稱他們的方案可以抵制離線密碼猜測(cè)攻擊, 以及提供會(huì)話密鑰安全(下稱Chang方案). 然而, 分析了Chang方案之后發(fā)現(xiàn)存在一些安全缺陷, 如離線密碼猜測(cè)攻擊, 用戶仿冒攻擊, 前向安全問題, 不安全的驗(yàn)證信息及未滿足用戶匿名等.
本文提出了一種改進(jìn)的基于無線傳感器網(wǎng)絡(luò)的匿名認(rèn)證與密鑰協(xié)商方案, 該方案解決了Chang方案的安全缺陷,并且提供安全的會(huì)話密鑰.
本文主要分析Chang方案存在的安全缺陷, 提出一種改進(jìn)方案, 并對(duì)改進(jìn)方案進(jìn)行BAN邏輯[7]證明, 安全性分析和性能分析. 結(jié)果表明改進(jìn)方案可以有效抵御重放攻擊, 離線密碼猜測(cè)攻擊, 用戶假冒攻擊, 傳感器節(jié)點(diǎn)假冒攻擊以及滿足前向會(huì)話密鑰的安全性. 同時(shí)還保證了用戶匿名性和會(huì)話密鑰的安全.
表1 相關(guān)參數(shù)Tab.1 Related parameters
Chang方案存在安全缺陷. 在給出安全性分析之前, 先介紹攻擊者模型:假設(shè)攻擊者A能夠控制整個(gè)通信網(wǎng)絡(luò), 且擁有以下能力: 攻擊者可以讀取、修改、插入、刪除、重放和延遲公共網(wǎng)絡(luò)中傳遞的消息; 攻擊者可以獲取用戶的口令, 竊取用戶智能卡并提取其存儲(chǔ)的秘密值, 但兩者不能同時(shí)兼具; 攻擊者可以獲取傳感器節(jié)點(diǎn)sj并提取利用其中的秘密值[8]. 相關(guān)參數(shù)見表1.
(1) 攻擊者A竊取合法用戶的智能卡, 通過側(cè)信道攻擊[9]獲取智能卡信息{IDs,Ai,Bi,Ci,TIDi,h(·),XPWi}.
(2) 攻擊者A從雙向認(rèn)證階段竊取登錄請(qǐng)求{DIDi,MUi,G,TS1,TIDi}.
由以上步驟分析, Chang方案易遭受離線密碼猜測(cè)攻擊.
(1) 攻擊者A竊取合法用戶的智能卡, 提取信息{IDs,Ai,Bi,Ci,TIDi,h(·),XPWi}.
(2) 攻擊者A從相互認(rèn)證階段竊取用戶登錄請(qǐng)求{DIDi,MUi,G,TS1,TIDi}.
(3) 通過離線密碼猜測(cè)攻擊, 攻擊者A可以獲取用戶的口令PWi.
TS1).
由以上步驟分析, Chang方案易遭受用戶仿冒攻擊.
在Chang方案中, 登錄信息{IDi,PWi}中用戶IDi的以明文形式在公共的信道中傳輸. 考慮到多數(shù)用戶為了方便口令的記憶, 常采用相同的口令. 一旦用戶身份IDi泄露, 很容易遭受到攻擊者的攻擊. 所以, 安全的無線傳感器方案需要支持用戶匿名[10,11].
假設(shè)合法用戶是攻擊者, 則用戶利用側(cè)信道攻擊[9]獲取智能卡上信息{IDs,Ai,Bi,Ci,TIDi,h(·),XPWi}. 若攻擊者A設(shè)法竊取了在公共信道上傳輸?shù)南DIDi,MUi,G,TS1,TIDi}, 并竊取傳感器節(jié)點(diǎn)的認(rèn)證消息{yi,MG,Ui,TS4}, 那么攻擊者A可以恢復(fù)出Ui的所有秘密值:
Kj=yi⊕h(Ki);
Ks=f(DIDi,Kj).
由于Chang方案未在注冊(cè)階段, 即網(wǎng)關(guān)節(jié)點(diǎn)GWN和用戶Ui、傳感器節(jié)點(diǎn)Sj分別產(chǎn)生各自的時(shí)間戳, 檢查時(shí)間戳的新鮮度, 故容易遭受重放攻擊[8].
新方案是一種改進(jìn)方案以解決Chang方案中的安全缺陷. 該方案滿足Ui、GWN與Sj之間的安全認(rèn)證, 并建立安全會(huì)話密鑰. 新方案由注冊(cè)階段、登錄階段、認(rèn)證及密鑰協(xié)商階段和口令更改階段四部分組成.
假設(shè)用戶Ui已分享PWi給網(wǎng)關(guān)節(jié)點(diǎn)GWN, 并且用戶信息{IDi,h(PWi)}存儲(chǔ)在GWN, 以下步驟完成用戶注冊(cè):
h(PWi‖IDi‖RNr))和HPWi=h(PWi‖IDi‖RNr)⊕h(T1‖h(PWi)‖A‖A′).Ui將注冊(cè)消息{IDi,VIi,HPWi,A,TS1}通過一個(gè)安全信道發(fā)送給GWN.
‖A‖A″).GWN將信息{Bi,Ci,h(·)}存儲(chǔ)到智能卡上, 并通過安全信道發(fā)送給用戶.
傳感器網(wǎng)絡(luò)中的每個(gè)傳感器節(jié)點(diǎn)Sj也必須在網(wǎng)關(guān)節(jié)點(diǎn)GWN處進(jìn)行注冊(cè),即傳感器節(jié)點(diǎn)Sj與GWN共同商定一個(gè)安全的密鑰XSj=h(k‖SIDj).GWN將SIDj對(duì)應(yīng)的XSj存儲(chǔ)在服務(wù)器數(shù)據(jù)庫中,其中SIDj表示傳感器節(jié)點(diǎn)的身份.
如果Ui想要獲取傳感器網(wǎng)絡(luò)收集的信息, 需要把智能卡插入終端, 并輸入身份IDi和口令PWi, 智能卡驗(yàn)證用戶身份. 具體步驟如下:
(2) 智能卡計(jì)算Ki=h(XSi‖TS4‖RNr),DIDi=IDi⊕h(XSi‖TS4),Mui,G=h(h(IDi‖TS4)⊕XSi),PKSi=Ki⊕h(XSi‖TS4).
(3) 用戶Ui將登錄請(qǐng)求{DIDi,MUi,G,PKSi,TS4}通過公共信道傳給GWN.
(4) 網(wǎng)關(guān)節(jié)點(diǎn)GWN將登錄請(qǐng)求轉(zhuǎn)發(fā)給距離最近的可用的傳感器節(jié)點(diǎn)Sj.
在這個(gè)階段,Ui,Sj和GWN通過以下步驟完成相互認(rèn)證, 并在Ui和Sj之間生成會(huì)話密鑰Ks. 具體步驟如下:
(2) 網(wǎng)關(guān)節(jié)點(diǎn)GWN計(jì)算Ki=PKSi⊕h(XSi‖TS4),XSj=h(SIDj‖K),MG,Sj=h(IDi‖XSj‖
TS5),DIDGWN=IDi⊕h(DIDi‖XSj‖TS5)和PKSGWN=Ki⊕h(XSj‖TS5), 并將信息{DIDi,DIDGWN,PKSGWN,MG,Sj,TS5}通過安全信道發(fā)送給傳感器節(jié)點(diǎn)Sj.
(4) 傳感器節(jié)點(diǎn)Sj計(jì)算Kj=h(XSj‖TS5),Ki=PSKGWN⊕h(XSj‖TS5),Ks=f(Ki,Kj),Zi=h(Kj‖IDi‖SIDj‖TS6)和PKSj=Kj⊕h(Ki‖TS6), 并將會(huì)話信息{SIDj,Zi,PKSj,TS6}發(fā)送給用戶Ui.
(6) 用戶Ui計(jì)算會(huì)話密鑰Ks=f(Ki,Kj).
利用BAN邏輯[7]對(duì)改進(jìn)方案進(jìn)行證明. 結(jié)果表明新提出方案滿足在用戶和傳感器節(jié)點(diǎn)之間提供會(huì)話密鑰.
(1) 新提出方案目標(biāo)的形式化描述
(2) 對(duì)新提出方案的初始化假設(shè)
A1:Ui|≡#(TS4);
A2:Ui|≡(h(XSi‖TS4‖RNr));
A3:Ui|≡#(TS6);
A7:GWN|≡#(TS4);
A10:Sj|≡#(TS5);
(3) 對(duì)新提出方案的形式化描述
(4) 對(duì)新提出方案的邏輯推理及證明
通過Msg1, 可以得到:
通過A8, S1和消息含義規(guī)則, 得到:
通過A7, S2和消息新鮮性規(guī)則, 得到:
通過S3和信念規(guī)則, 得到:
通過Msg2., 得到:
通過A12,S6和消息含義規(guī)則, 得到:
通過A10,S6和消息新鮮性規(guī)則, 得到:
通過S8和信念規(guī)則, 得到:
通過A13,S9和管轄規(guī)則, 得到:
(Goal8)
通過A15,S11和管轄規(guī)則, 得到:
(Goal7)
通過A12,S9和管轄規(guī)則, 得到:
根據(jù)Ks=f(Ki,Kj),得到:
(Goal4)
通過A14,S14和管轄規(guī)則, 得到:
(Goal3)
通過Msg3.,得到:
通過A8,S16和消息信念規(guī)則, 得到:
通過A3,S17和消息新鮮性規(guī)則, 得到:
(Goal6)
通過A6,S18和管轄規(guī)則, 得到:
(Goal5)
通過A3,S17和消息新鮮性規(guī)則, 得到:
根據(jù)Ks=f(ki,kj),得到:
通過A5,S21和管轄規(guī)則, 得到:
(Goal1)
由以上可得,新提出方案滿足(Goal1),(Goal2),(Goal3),(Goal4),(Goal5),(Goal6),(Goal7)和(Goal8)目標(biāo), 即在用戶Ui和傳感器節(jié)點(diǎn)Sj之間共享密鑰Ks和用戶身份IDi.
本節(jié)表明, 新提出方案不僅可以克服Chang方案的缺陷, 還可以抵抗其他攻擊.
3.2.1 相互認(rèn)證
攻擊者A不能獲得用戶私鑰XSi,就不能產(chǎn)生合法的Bi=h(XSi‖h(h(PWi)‖A‖A″). 網(wǎng)關(guān)節(jié)點(diǎn)GWN通過檢驗(yàn)Bi的正確性來驗(yàn)證用戶Ui的合法性. 在網(wǎng)關(guān)節(jié)點(diǎn)GWN的作用下, 傳感器節(jié)點(diǎn)Sj通過檢驗(yàn)MG,Sj的正確性來驗(yàn)證用戶Ui的合法性. 此時(shí),Ui通過檢驗(yàn)Zi正確性來驗(yàn)證Sj的合法性. 因此, 新提出方案滿足相互認(rèn)證.
3.2.2 用戶匿名性
用戶IDi隱藏在IDi=DIDi⊕h(XSi‖TS4),DIDGWN=IDi⊕h(DIDi‖XSi‖TS5). 如果沒有Ui的私鑰XSi或者GWN的私鑰k, 攻擊者A就無法從以上信息中提取出用戶的真實(shí)身份. 因此, 新提出方案滿足用戶匿名.
3.2.3 會(huì)話密鑰
在新提出方案中, 用戶Ui和傳感器節(jié)點(diǎn)Sj都計(jì)算為未來通信的會(huì)話密鑰Ks=f(Ki,Kj). 因此, 新提出方案提供會(huì)話密鑰.
3.2.4 離線密碼猜測(cè)攻擊
假設(shè)攻擊者A可以竊取用戶注冊(cè)階段發(fā)送的認(rèn)證請(qǐng)求{IDi,VIi,HPWi,A,TS1}, 其中A=gamodp,A′=
yamodp=gakmodp,VIi=h(T1‖h(PWi)‖A‖A′‖
3.2.5 用戶假冒攻擊
3.2.6 抵抗傳感器節(jié)點(diǎn)假冒攻擊
假設(shè)攻擊者A竊取傳感器節(jié)點(diǎn)注冊(cè)階段的信息{SIDj,VIj,B,TS2}和{REGj,MG,Sj,TS3}. 其中,B=gbmodp,B′=ybmodp=gbkmodp,VIj=h(TS2‖h(PWj)‖B‖B′),XSj=h(k‖SIDj),MG,Sj=h(XSj‖h(TS3‖h(PWj)‖B‖B″),REGj=XSj⊕h(TS3‖h(PWj)‖B‖B″). 攻擊者根據(jù)離線字典攻擊來猜測(cè)密碼PWj, A必須根據(jù)B=gbmodp來計(jì)算B′=ybmodp=gbkmodp,那么他將面對(duì)離散對(duì)數(shù)問題. 因此, 他無法獲得Sj的密碼. 通過類似的分析方法, 發(fā)現(xiàn)攻擊者無法獲得Sj的私鑰XSj. 因此, 新提出方案可以抵抗傳感器節(jié)點(diǎn)假冒攻擊.
3.2.7 修改攻擊
3.2.8 中間人攻擊
從上述討論中得知, 新提出方案滿足Ui,Sj和GWN之間的相互認(rèn)證. 因此, 新提出方案可以抵御中間人攻擊.
3.2.9 重放攻擊
在新提出方案的每個(gè)階段的信息中都加入時(shí)間戳, 那么用戶Ui,Sj和GWN通過檢查時(shí)間戳的新鮮度來判斷消息的重放. 因此, 新提出方案可以抵抗重放攻擊.
本節(jié)將新提出方案與Chang方案進(jìn)行安全性分析.具體情況如表2所示.
表2 安全性分析
容易得出Chang方案不滿足安全的相互認(rèn)證、用戶匿名及提供安全的會(huì)話密鑰,同時(shí)不能抵抗離線密碼猜測(cè)攻擊、用戶仿冒攻擊、修改攻擊、中間人攻擊、重放攻擊. 而新提出方案滿足表2描述的所有安全需求,具有更高的安全性.
從計(jì)算開銷和執(zhí)行時(shí)間的角度, 本節(jié)將新提出方案與Chang方案進(jìn)行比較.其中,THash表示執(zhí)行單向散列函數(shù)操作,執(zhí)行時(shí)間為0.0005s.TXor表示執(zhí)行XOR操作,由于執(zhí)行時(shí)間非常短,故在測(cè)量中不考慮XOR操作的執(zhí)行時(shí)間.新提出方案與Chang方案具體情況如表3所示.
表3 性能對(duì)比
從表3可以看出,Chang方案、新提出方案總計(jì)算開銷分別為42THash+21TXor,42THash+24TXor,并觀察到Chang方案及新提出方案的執(zhí)行時(shí)間均為0.021s.從計(jì)算開銷和執(zhí)行時(shí)間來看,新提出方案與Chang方案的計(jì)算開銷和執(zhí)行時(shí)間幾乎相同.綜上所述,新提出方案在滿足Chang方案安全缺陷的同時(shí),計(jì)算開銷和執(zhí)行時(shí)間方面也有不錯(cuò)的表現(xiàn).
Chang等提出的一種基于無線傳感器網(wǎng)絡(luò)認(rèn)證和密鑰協(xié)商方案, 并聲稱它可以抵御各種攻擊, 但分析發(fā)現(xiàn), 它不能提供匿名保護(hù), 易遭受離線密碼猜測(cè)攻擊、用戶假冒攻擊、傳感器節(jié)點(diǎn)假冒攻擊和未滿足前向安全等. 因此, 本文提出一種改進(jìn)的基于無線傳感器網(wǎng)絡(luò)匿名認(rèn)證與密鑰協(xié)商方案. 通過BAN邏輯[7]證明和性能分析, 新提出的方案不僅可以克服Chang方案的缺陷, 還能防范各種攻擊, 更適合為無線傳感器網(wǎng)絡(luò)環(huán)境下的各種應(yīng)用提供安全防護(hù).