張凌浩,梁暉輝,鄧 東,劉洋洋,唐 超,常政威,桂盛霖*
(1.國網(wǎng)四川省電力公司電力科學研究院 成都 610072;2.電力物聯(lián)網(wǎng)四川省重點實驗室 成都 610031;3.電子科技大學計算機科學與工程學院 成都 611731)
隨著人們對智能生活的追求,物聯(lián)網(wǎng)在醫(yī)療[1]、家居[2]、農(nóng)業(yè)[3]、戰(zhàn)場監(jiān)視[4]等領域得到廣泛應用。作為物聯(lián)網(wǎng)的重要組成部分,無線傳感器網(wǎng)絡引起了工業(yè)界和學術界越來越多的關注[5]。無線傳感器網(wǎng)絡(wireless sensor network, WSN)由大量的傳感器節(jié)點互聯(lián)組成,常部署在無人看管或惡劣環(huán)境中用于執(zhí)行各類感知環(huán)境的任務,由此使得無線傳感器網(wǎng)絡容易遭受各種攻擊。因此,在高安全需求的WSN 場景下,如醫(yī)療及戰(zhàn)場監(jiān)視,面對更加強大的敵手攻擊能力,要求協(xié)議能具備更多的安全屬性。如何針對強大的敵手能力以及傳感器節(jié)點計算和存儲資源受限問題,設計出一個適用于高安全場景下的面向網(wǎng)關的身份認證協(xié)議亟需解決。
一個典型的面向網(wǎng)關的無線傳感器網(wǎng)絡模型[6]包括三類參與方:傳感器節(jié)點、網(wǎng)關和用戶。傳感器節(jié)點通過其所屬的網(wǎng)關節(jié)點(GWN)連接到互聯(lián)網(wǎng),用戶通過訪問GWN 讀取其管理的傳感器節(jié)點的數(shù)據(jù)。該模型下,用戶、GWN 以及節(jié)點間均通過公共信道發(fā)送消息,并且攻擊者可監(jiān)聽或者更改公共信道上傳遞的消息。按照認證用戶身份所使用的因素個數(shù)可分為單因素[7]、雙因素[8]和三因素[9],通常含有兩個及以上的認證因素被稱為多因素協(xié)議。單因素協(xié)議僅僅使用用戶密碼作為用戶身份認證,由于用戶密碼信息具有低熵性,使得用戶密碼容易被猜測破解[10]。雙因素協(xié)議在前者基礎上增加了智能卡作為用戶身份認證的第二個要素。隨后考慮到用戶智能卡易丟失,三因素協(xié)議繼續(xù)引入了用戶生物特性作為用戶身份認證的第三個要素。由于每個用戶的生物特征是獨一無二的,相比雙因素協(xié)議更能保證網(wǎng)絡安全,因此三因素協(xié)議常常被應用在高安全場景下。
目前雙因素和三因素協(xié)議所考慮的安全模型存在一定差異,主要體現(xiàn)在敵手能力的強弱以及評價標準是否全面。因此在不同的安全模型下,已有文獻所提出的協(xié)議安全性存在較大差異。
文獻[11]針對文獻[12]中方案存在離線字典猜測攻擊、前向安全等問題提出自己的雙因素協(xié)議并用BAN 邏輯證明了其安全性,隨后被文獻[13]指出其存在內(nèi)部攻擊、智能卡丟失攻擊、前向安全性問題。此外,文獻[13]還指出文獻[14]的方案與文獻[12]存在相同的缺陷,并針對文獻[14]和文獻[11]存在的安全缺陷給出了解決思路。文獻[15]將傳感器節(jié)點區(qū)分為簇頭和簇成員兩類并提出雙因素認證協(xié)議,但不能抵御KSSTI 攻擊。
隨著生物技術的快速發(fā)展,為了提升身份認證的安全性,引入了生物特征,使得三因素協(xié)議得到廣泛的關注。文獻[16]提出了一種三因素認證協(xié)議,并指出了文獻[17]的協(xié)議不能抵抗KSSTI(known session-specific temporary information)攻擊且節(jié)點之間需要時鐘同步,不適用于無線傳感器網(wǎng)絡等問題。文獻[18]指出文獻[19]無后向安全性、存在KSSTI 攻擊、也不適合無線傳感器網(wǎng)絡環(huán)境等缺點,但本文發(fā)現(xiàn)文獻[18]所提出的改進協(xié)議仍然存在中間人攻擊等安全漏洞。文獻[20]分別針對文獻[21]和文獻[22]的協(xié)議存在離線字典攻擊、前向安全、內(nèi)部攻擊等問題提出增強型方案,但其方案執(zhí)行過程中所有成員共計需要6 次公鑰乘操作,計算量相比其他方案偏高。文獻[23]指出文獻[24]存在離線字典攻擊、前向安全等問題,并提出了改進方案,然而其方案不能滿足本文所考慮的更強安全模型下的安全性。
基于上述分析,可以看出已有文獻若放置于后期提出的更高安全性的安全模型下會存在不足或問題。因此本文經(jīng)過對已有安全模型的系統(tǒng)性分析和整理,選擇目前最新的安全模型[6,25]開展研究,設計滿足其評價標準的三因素高效身份認證協(xié)議。如何面對更加強大的敵手能力構(gòu)建高效安全的身份認證協(xié)議是保證高安全WSN 應用場景安全性的基礎問題。本文的貢獻包括以下3 個方面。
1)通過分析文獻[16],指出其協(xié)議無法抵抗注冊合法用戶攻擊,從而引發(fā)傳感器秘鑰泄露、用戶欺騙攻擊、用戶偽裝攻擊等問題;通過分析文獻[20],指出其協(xié)議存在KSSTI 攻擊。
2)本文基于最新的安全模型[6,25],在其評價標準中增加抵抗KSSTI 攻擊和注冊合法用戶攻擊,進一步增強了其評價標準,提高協(xié)議的安全等級。
3)與文獻[15,21,22]的三方共享會話密鑰模式不同,本文的會話秘鑰協(xié)商僅限于用戶和傳感器節(jié)點兩方,在用戶和傳感器節(jié)點兩端分別使用臨時公私鑰實現(xiàn)前向安全屬性;BAN 邏輯證明和啟發(fā)式分析表明,本文協(xié)議能夠?qū)崿F(xiàn)雙向認證、安全的協(xié)商會話秘鑰以及抵抗各類已知攻擊;與相關協(xié)議相比該協(xié)議不僅可以滿足增強后的安全模型的評價標準,計算量和通信量也適中,因此適用于高安全WSN 場景下的應用。
對于一個用戶身份認證協(xié)議,即使用于生成會話SK 的臨時秘密泄露,如各方用于直接計算SK的隨機數(shù)泄露,仍能保證SK 的安全,則稱其能抵抗KSSTI 攻擊。另外,在實際場景中,攻擊者極有可能注冊成為合法用戶與節(jié)點進行通信,由此獲取系統(tǒng)中其他會話中的秘密信息,如文獻[15,20]均存在此類注冊合法用戶攻擊問題。由此可見若未考慮上述兩種攻擊,協(xié)議將不能保證生成會話秘鑰的安全性。因此本文對文獻[6,25]提出的安全模型做出增強,將KSSTI 攻擊和注冊合法用戶攻擊加入其評價標準中。
外網(wǎng)用戶訪問網(wǎng)內(nèi)傳感器節(jié)點的場景中攻擊者具有如下能力:
C1: 攻擊者能夠在公開信道中任意監(jiān)聽、截獲、注入實體間交互的信息;
C2: 攻擊者知道用戶ID 空間DID和密碼空間Dpw,可以窮舉該空間中的所有元素;
C3: 在n因素保證安全的協(xié)議中,攻擊者可以獲得任意n-1 因素;
C4: 攻擊者能夠得到之前協(xié)商的所有對稱秘鑰;
C5: 在評估前向安全時攻擊者能夠得到所有的長期秘密;
C6: 攻擊者可以攻擊部分節(jié)點獲取其全部的秘密;
C7: 攻擊者能夠注冊成合法用戶或合法節(jié)點同網(wǎng)內(nèi)實體交互。
本節(jié)給出本文所使用的評價標準,該標準包含11 條評價指標,其中將KSSTI 攻擊加入到S4條,新增S11 抗注冊合法用戶攻擊,具體如下。
S1: 無口令驗證表,要求網(wǎng)關和傳感器節(jié)點上不應該存儲用戶信息相關的驗證表;
S2: 口令友好性,要求用戶能在本地更改用戶口令;
S3: 口令安全性,用戶口令不能被內(nèi)部特權管理員獲取或計算出來;
S4: 抗各類已知攻擊,協(xié)議能夠抵抗仿冒攻擊、離線字典猜測攻擊、重放攻擊、中間人攻擊、平行會話攻擊、驗證表丟失攻擊、節(jié)點捕獲攻擊、網(wǎng)關繞過攻擊、未知密鑰共享攻擊和已知密鑰攻擊、KSSTI 攻擊、智能卡丟失攻擊;
S5: 可修復性,要求協(xié)議支持智能卡撤銷及傳感器節(jié)點動態(tài)加入;
S6: 建立會話秘鑰,協(xié)商完成后用戶與傳感器節(jié)點之間建立會話秘鑰;
S7: 無時鐘同步,避免因時鐘同步產(chǎn)生的延遲影響系統(tǒng)的運行;
S8: 雙向認證,通信的雙方需要相互認證身份的合法性;
S9: 用戶匿名性,要求協(xié)議能保證用戶的不可追蹤性;
S10: 前向安全屬性,要求協(xié)議的長期秘密暴露對之前協(xié)商的會話安全性無影響;
S11: 抗注冊合法用戶攻擊,攻擊者無法通過注冊合法用戶來提高攻擊優(yōu)勢。
本文用到的符號及其含義如表1 所示。
表1 符號描述
1) 注冊合法用戶攻擊
A注冊完合法用戶后,通過在登錄認證過程中截取{M8,M9,M10,M11},由此可計算KGWN-S=M8⊕IDi。A訪問每個傳感器節(jié)點則可以獲取所有SNj和GWN 之間的共享秘密參數(shù)KGWN-S以及SIDj,進而發(fā)起步驟2)~5)所述攻擊。
2) 用戶欺騙攻擊
KSSTI 攻擊主要用于當計算SK 的秘密參數(shù)僅只有臨時秘密參數(shù)時,因此在協(xié)議設計時SK 的參數(shù)需要同時具備長期秘密值和臨時秘密值才可避免此類攻擊。
1) 場景1 的KSSTI 攻擊
從前面的分析可看出,文獻[16]的協(xié)議存在內(nèi)部攻擊、注冊合法用戶攻擊、無前向安全性等缺點;文獻[20]的協(xié)議存在KSSTI 攻擊,如果提出的認證協(xié)議能夠?qū)崿F(xiàn)以下G1 和G2 目標。,則表示正確地實現(xiàn)了相互認證與會話密鑰協(xié)商。
本文將從以下6 個方面著重考慮滿足S3、S4中的離線字典攻擊、KSSTI 攻擊和S9、S10 和S11 標準的協(xié)議構(gòu)建方法。
1) 更換存入智能卡中的隨機數(shù)使協(xié)議滿足S3。
2) 智能卡對用戶驗證合法性時使用Fuzzyverifier 和Honey words[25]方法保證攻擊者無法進行離線字典猜測攻擊,也不能進行在線字典猜測攻擊。
3) 向SNj傳遞Ui秘密的相關信息,如下文協(xié)議中的Si;向Ui傳遞SNj秘密的相關信息,如下文協(xié)議中的Sj??梢钥闯鯯i,Sj不能直接保證隨機數(shù)暴露的情況下SK 的安全性,進而抵抗KSSTI攻擊。
4) 采用更換用戶標識符的方法使協(xié)議滿足S9。
5)Ui和SNj之間利用Diffie-Hellman 問題構(gòu)建對稱秘鑰,使協(xié)議滿足S10。
6) GWN 和SNj之間傳遞消息的驗證秘密值隨用戶的不同而變化,以此防止注冊用戶攻擊,使協(xié)議滿足S11,進而防止用戶欺騙攻擊和用戶偽裝攻擊。
GWN 選 定 秘 密 值XGWN,E(Fp),P,h(·),公 開E(Fp),P,h(·),保存XGWN。
GWN 為節(jié)點選定獨特的SIDj,計算KGWN-S=h(SIDj||XGWN),在傳感器節(jié)點中存儲{SIDj,KGWN-S}。
圖1 用戶注冊
圖2 用戶登錄及認證
本節(jié)將用BAN 邏輯對協(xié)議正確性進行驗證。協(xié)議的正確性指的是協(xié)議執(zhí)行完后,用戶Ui和傳感器節(jié)點SNj共享一個新鮮的會話密鑰SK。BAN邏輯用到的符號和規(guī)則定義如表2 所示。為了便于使用BAN 邏輯對協(xié)議進行分析,現(xiàn)將協(xié)議的消息理想化為如下消息。
如果提出的認證協(xié)議能夠?qū)崿F(xiàn)以下目標,那么所提協(xié)議正確實現(xiàn)了相互認證與會話密鑰協(xié)商。
BAN 邏輯形式化分析如下。
從消息1,得到:
根據(jù)式(1)、A1、應用消息含義規(guī)則,得到:
根據(jù)式(2)、A2、應用隨機數(shù)驗證規(guī)則,得到:
根據(jù)式(3)、A3、應用仲裁規(guī)則,得到:
從消息2,得到:
根據(jù)式(5)、A4、應用消息含義規(guī)則,得到:
根據(jù)式(6)、A5、應用隨機數(shù)驗證規(guī)則,得到:
根據(jù)式(7)、A6、應用仲裁規(guī)則,得到:
根據(jù)式(8)、應用信念規(guī)則,得到:
從消息3,得到:
根據(jù)式(11)、A8、應用消息含義規(guī)則,得到:
根據(jù)式(12)、A9、應用隨機數(shù)驗證規(guī)則,得到:
根據(jù)式(13)、A10、應用仲裁規(guī)則,得到:
從消息4,得到:
根據(jù)式(15)、A10、應用消息含義規(guī)則,得到:
根據(jù)式(16)、A11、應用隨機數(shù)驗證規(guī)則,得到:
根據(jù)式(17)、A12、應用仲裁規(guī)則,得到:
根據(jù)式(18),應用信念規(guī)則,得到:
從式(10)和式(20)可以看出該文協(xié)議滿足安全目標,用戶Ui和傳感器節(jié)點SNj都相信彼此之間共享一個新鮮的會話密鑰SK。
用戶匿名性要求攻擊者無法根據(jù)交互信息得到用戶的ID 或無法從多個會話中分析出屬于某個用戶產(chǎn)生的會話。用戶和SNj協(xié)商過程產(chǎn)生的交互信息和用戶ID 相關的消息為PID 和M2,攻擊者在缺少Xi的情況下無法從M2中解析出PIDnew,故無法通過PIDnew解析ID 的相關信息。由于單向函數(shù)h的存在,攻擊者在得到PID 后無法反向解析出ID等信息。另一方面,攻擊者在一次會話中能監(jiān)聽到用戶當前所用PID,但在缺少Xi的情況下,無法解析用戶下次使用的PIDnew,故攻擊者無法分辨同一用戶使用的兩次PID。故本協(xié)議具有用戶匿名性。
本協(xié)議基于DH 問題設計用戶和SNj的對稱秘鑰產(chǎn)生過程。本協(xié)議中SK=h(M1||M7||K1||SIDj||rg||Si||S j),攻擊者在得到所有長期秘密后,可以解析出M1、M7、SIDj、rg、Si、Sj信 息。由 于 存 在Diffie-Hellman 問題,在缺少臨時秘密ri和rj的情況下,攻擊者無法計算出K1。由于單向哈希函數(shù)h的存在,在不知道K1的情況下無法解析SK,故本協(xié)議具有前向安全屬性。
攻擊者在注冊階段得到用戶的(PIDi,RPWi′),若攻擊者又獲得了用戶的智能卡以及生物特征Bioi,則只能通過RPWi′猜測用戶的密碼。攻擊者在密碼空間DPW中猜測PW*后,通過計算驗證PW*猜測是否正確。由于智能卡在注冊完成后,已將b′替換成了b,使攻擊者無法通過智能卡得到b′,也不能通過RPWi′猜測用戶的密碼,故本協(xié)議能抵御內(nèi)部攻擊。
在該攻擊中,攻擊者通過注冊合法用戶訪問傳感器節(jié)點的方法試圖破解其他用戶和該傳感器節(jié)點協(xié)商的秘鑰或其他有用信息,該種攻擊是否有效主要看攻擊者能否通過協(xié)商獲取GWN 和SNj之間認證的秘密的相關信息。在本協(xié)議中,攻擊者注冊成合法用戶,同SNj協(xié)商后,獲得當前合法用戶所能得到的消息(如rg),并竊聽信道傳輸?shù)膬?nèi)容(如M4),計算但由于單向哈希函數(shù)h的存在無法進一步計算出KGWN-S。本協(xié)議中,每次協(xié)商KGWN-S連接用戶產(chǎn)生的臨時消息M1后,通過哈希函數(shù)產(chǎn)生加密消息的秘鑰,故不同的用戶協(xié)商過程中,GWN 用以加密和SNj之間秘密的秘鑰h(KGWN-S||M1)是不同的,攻擊者無法通過此種攻擊計算出任何能破解其他合法用戶協(xié)商的有用信息,故本協(xié)議能夠抵抗注冊合法用戶攻擊。
從安全性和性能兩方面對相關協(xié)議進行對比分析,結(jié)果如表3 和表4 所示。表3 對比了幾種相關協(xié)議的安全性,“是”表示能夠滿足對應的安全屬性或者能夠抵抗對應的攻擊,可以看出該文協(xié)議能夠克服已有文獻的安全風險。表4 進行了計算量和通信量的對比,其中將該文協(xié)議與對比協(xié)議所使用的各參數(shù)長度及密碼學原語進行如下統(tǒng)一:時間戳和身份標識的比特串長度均為128 bit,哈希原語為SHA-128(記為Th)、橢圓曲線標量乘原語為ECC-160(記為Tm)、生物特征恢復函數(shù)原語為Rep(.)[26](記為TR)、對稱加解密為AES-128(記為TS)。在進行計算量對比時, ⊕和||操作時間忽略不計,上述原語Th、Tm、TR、TS在1 024 MB RAM 的 Intel Pentium4 2 600 MHz 處理器上執(zhí)行一次所花費的時間為Th=0.5 ms、Tm=63.08 ms、TR≈Tm、TS=8.7 ms[27-28]。經(jīng)過對比表明,該文協(xié)議在保證更高安全等級的同時,計算量與其他協(xié)議相比適中,這是因為協(xié)議使用了橢圓曲線標量乘,而橢圓曲線標量乘的計算開銷要明顯高于哈希運算及對稱加密。此外,在通信量上與其他協(xié)議相比適中。
表3 相關協(xié)議安全性對比分析
表4 相關協(xié)議性能對比
本文指出文獻[16]協(xié)議不能抵抗合法用戶攻擊、用戶欺騙攻擊、用戶偽裝攻擊、離線字典攻擊等安全性問題。為確保高安全場景下WSN 的安全通信,該文將KSSTI 攻擊和注冊合法用戶攻擊加入安全模型,提出了一種三因素安全增強身份認證協(xié)議,實現(xiàn)了用戶和傳感器節(jié)點兩端的安全會話密鑰協(xié)商。最后采用了BAN 邏輯和非形式化分析的方法對所提協(xié)議進行安全分析,結(jié)果表明本文協(xié)議能夠滿足該增強安全模型中的所有評價標準。與已有相關文獻相比,本文給出的增強安全模型安全等級更高。此外,本文協(xié)議計算量和通信量適中,適合應用在對安全等級要求更高的場景中。