何文才 李 娜 劉培鶴 繆浩健 孫亞飛
1(西安電子科技大學通信工程學院 陜西 西安 710071)2(北京電子科技學院通信工程系 北京 100070)
近年來,WSN作為物聯網的底層網絡隨著物聯網的迅猛崛起也得到了快速的發展。WSN中節點相關參數的更新就是小數據分發[1]。由于要經常調整WSN節點的相關數據,因此,在無線傳感器網絡中小數據分發的安全機制是十分重要的。
在無線傳感器網絡中,sink節點組成了該網絡的骨干網,如果將系統的主密鑰保存在單獨的某個節點,那么該骨干網十分容易由于惡意節點的攻擊而導致癱瘓。Ibriq等[2]提出了一種高效的層次密鑰模型,但是,一些節點必須在表中保留每個節點的信息來支持節點的移動。Das M L[3]第一個提出了基于智能卡和口令的用戶認證方案,但是該方案中存在了諸如離線字典攻擊以及節點捕獲攻擊等。Arikumar等[4]指出了Das M L提出方案的不足,同時,提出一種雙向認證的方案,但是,該方案中當共享密鑰被破解時,整個網絡就會喪失所有的抵御能力。Fantacci等[5]提出了一種新的模型,該模型使用分布式節點認證,不需要把認證中心設置為基站。但是該方案存在一定不足,比如,計算和通信的開支會隨著認證請求的增加而增加。為解決這一問題,Han等[6]提出了一種方案,該方案可以實現高效率認證,但是在節點初始化過程中,該方案存在認證效率低,通信開銷比較大的問題。
本文針對上述方案的缺陷,提出使用門限思想進行無線傳感器網絡骨干網的組網,將該系統主密鑰的秘密份額交給多簇頭節點掌握。然后根據門限秘密共享的機制建立安全系數高的骨干網[7]。在骨干網中接入普通節點時,本方案使用結合TCP SYN-Cookie原理的雙向認證技術,用以抵御惡意節點攻擊。在數據傳輸安全方面,采用輕量級加密算法LED。本文的重點在于所提出來的安全方案,并且結合實際的傳感器節點測試,對WSN中數據分發安全方案進行研究。
SYN Cookie原理是由D.J. Bernstain和Eric Schenk提出的,該技術是對TCP/IP協議中服務器端的三次握手過程做一些修改,達到抵御半連接攻擊這一目的[8]。其基本原理是:在三次握手過程中,當服務器端接收到客戶端發來的TCP SYN包之后,服務器端返回給客戶端一個TCP SYN+ACK包,同時,服務器端不分配一個特定的數據區,而是根據客戶端發送過來的SYN包計算出一個cookie值。該cookie值是服務器端要回應給客戶端的SYN ACK數據包的初始序列號。當客戶端返回給服務器端一個ACK數據包時,按照包頭信息來獲取cookie值,和回復的確認序列號相比,也就是和初始序列號+1相比,若相等,那么說明該連接不存在惡意服務攻擊。同時,服務器為本次請求提供資源分配并建立連接,從而抵御DDOS攻擊。
本次連接中的狀態信息是cookie值計算中一個重要的參數,該狀態信息是無法被攻擊者所仿造的。計算一個服務器端所接收到SYN包的摘要為:
mac=Mac(AM,k)
(1)
式中:Mac(·)是密碼學中的一個消息認證函數,帶密鑰的hash函數,k是服務器的私鑰,將消息摘要作為服務器端序列號發送給客戶端。
AM=SOURCEIP‖SOURCEPORT‖
DSTIP‖DSTPORT‖t‖MSSIND
把ACK包的ack_seq-1,得到原來計算的cookie。把ACK包的seq-1,得到SYN段的seq。
cookie=cookie_hash(saddr,daddr,sport,
dport,0,0)+seq+(t1<<24)+
(cookie_hash(saddr,daddr,sport,
dport,t1,1)+mssind)%24
(2)
SYN-Cookie過程如圖1所示。

圖1 SYN-Cookie過程
本方案使用LED輕量級加密算法對數據進行加密處理,來提高方案的安全性。在2011年的CHES會議上,Guo等[9]提出了該輕量級加密算法LED,該加密算法是一種典型的適用于資源受限的加密算法。其分組長度為64 bit,支持64/128 bit的密鑰長度,加密輪數為32輪。LED輕量級加密算法采用的是AES-like結構,該結構的安全界限有理論保障。AES-like結構需要進行多輪的迭代,每一次的迭代過程為:首先進行密鑰的“異或”,然后進行密鑰的代換,接著是進行移位行,最后進行混淆列。其中,代換是非線性變換,多由S盒組成。S盒和線性變換的行移位于列混淆組合起來的運算迭代多輪,便可以實現香農提出的擴散和混淆的設計原則[10]。
本文選取LED加密算法來對數據進行加密處理,同時使用結合TCP SYN-Cookie原理的雙向認證以及密鑰協商技術,研究并且設計了一種WSN中小數據分發的安全方案。在無線傳感器網絡中,中間人攻擊這一問題是十分棘手的問題,為了解決這一問題,本文使用可信第三方頒發的證書和產生隨機數增加臨時密鑰算法并且結合TCP SYN-Cookie技術來實現雙向認證和密鑰協商。與其他方案相比,本方案具較高的安全性,同時計算存儲以及內存存儲容量小、效率高,更加適合資源受限的無線傳感器網絡。本方案由三部分組成,分別是注冊、登錄以及雙向認證和密鑰協商。本方案的簡單流程如圖2所示。

圖2 方案總體流程圖
用戶要訪問WSN時,首先要在GWN進行注冊。注冊階段的步驟如下所示:

(3)
其中,n是用戶選取的隨機數。
第二步:網關節點GWN接收到來自用戶的信息之后,通過以下計算公式將安全參數Ku和M、網關節點的身份標識信息IDGW以及函數H(·)寫入智能卡中,并且通過可靠的信道發給用戶。
(4)
其中,x是網關節點的秘密信息。
最后,通過式(5)計算后將{N,W,h(·)}存入智能卡。
(5)
用戶想要獲取WSN中的數據,就必須將智能卡放入終端,同時輸入用戶標識信息IDi和口令PWi,然后通過式(6)計算來驗證W*與智能卡上的W,若二者數據相同,則該用戶是合法的,否則退出。
(6)

(7)
其中,a為一個隨機數,T1是時間戳。
注冊過程示意圖如圖3所示。

圖3 注冊過程

第一步:傳感器節點先對時間戳T1進行驗證,通過驗證之后,傳感器節點根據所接收到的登錄信息生成set-cookie,然后將相應結果發給用戶,用戶再次發起請求。傳感器節點接收到用戶的對SYN ACK的確認包之后,從該ACK包中取出確認號。判斷
ack-1=cookie_hash(saddr,daddr,sport,dport,0,0)-seq
是否成立,若成立,則繼續,否則,拒絕請求。
第二步:計算:
(8)


(9)
如果驗證成立,則繼續下面步驟,否則,停止。
第四步:GWN進行下面計算之后,將消息{E,F,T3}以及SYN數據包發送給傳感器節點。其中,T3是當前的時間戳。
(10)
第五步:傳感器節點接收到來自網關節點的數據之后,先判斷時間戳的新鮮性,若新鮮,按照第一步的方法進行驗證該網關是否存在惡意攻擊。排除存在惡意攻擊這一可能之后判斷等式VerkGS(A‖B‖C‖D‖T3,F)=1是否成立,如果等式成立,則說明GWN是合法的。
第六步:傳感器節點通過下面的計算得到會話密鑰SK,然后將時間戳T4等信息{B,E,P,T3,T4}以及SYN包發送給用戶。
(11)
第七步:用戶接收到消息之后,先對驗證T4的新鮮性,驗證通過之后,再進行第一步的驗證。驗證了該網關節點不存在惡意攻擊之后,驗證VerKU(A‖B‖C‖T3,E)=1是否成立來判斷網關節點是否為合法的。如果等式成立,那么繼續;否則,終止。
第八步:用戶通過下面的計算,來驗證P*=P是否成立,若成立,則得出會話密鑰為SK。
(12)
雙向認證以及密鑰協商的流程圖如圖4所示。

圖4 雙向認證和密鑰協商過程
在經過雙向認證以及密鑰協商之后,將產生的密鑰SK作為LED輕量級加密算法的密鑰。加密過程是對64 bit數據分組交替地運用輪密鑰加roundAdd和步函數,輪密鑰加是通過“異或”的方式,將密鑰引入狀態,步函數用來完成主要的變換,通過多輪運算之后就能得到密文數據分組。

(mi×4,mi×4+1,mi×4+2,mi×4+3):=S(ni)=
S(mi×4,mi×4+1,mi×4+2,mi×4+3)
(13)
S盒可表示為:

n01234567S(n)C56B90ADn89ABCDEFS(n)3EF84712
ShiftRow是把中間狀態視為4×4的矩陣:
(14)
當i=0,1,2,3時,把矩陣的第i行循環左移i個nibble的位置;MixColumnsSerial是把矩陣連續進行4次左乘,其中不可約多項式為X4+X+1,具體如下所示:
(15)
取輪密鑰:將主密鑰看成nibble的序列k0,k1,…,kl,并且把第i個子密鑰KSi表示成nibble矩陣,如下所示:
取密鑰的操作表示為:
(16)
加密過程的偽代碼如下所示:
for (i=0;i≤s-1;i++)
{
roundAdd(STATE,Ki);
Step(STATE);
}
roundAdd(STATE,Ks)
WSN采用無線傳輸的方式,使用的傳輸信道是不安全的,本文中提出的方案可以使該網絡進行通信的對象得到本次通信所使用的密鑰,采取“一次一密”的方式。小數據分發過程中的數據只需要保密數小時,攻擊者想要在短時間內獲取密鑰的機會是不可能的。同時,本方案也采用了結合SYN Cookie技術的雙向認證,能夠有效地抵御惡意攻擊、用戶仿冒攻擊、網關攻擊以及智能卡泄露攻擊。
LED輕量級密碼密碼算法的安全界限有理論保證,其擁有對相關密鑰差分攻擊的可證明安全性。所以可得出:每兩步中肯定有一步計算過程中差分不為0,對于n步的路徑,至少有[n/2]·25個活躍S盒,概率上界是2-[s/2]·50。
表1為在安全性方面,給出了本文所提出方案與其他方案的對比。其中,PIA表示特權內部人攻擊;UIA表示用戶仿冒攻擊,GIA表示網關攻擊,SRA表示智能卡泄露攻擊,SK表示有會話密鑰產生;“√”表示能夠抵抗此類攻擊;“×”表示不能抵抗攻擊。從表1中,我們可以得到:本方案相對于Das[3]方案、He[11]方案、Yoo[12]方案以及Yeh[13]方案能夠抵抗更多種諸如特權內部人攻擊、用戶仿冒攻擊、網關攻擊以及智能卡泄露攻擊,同時,本方案還能夠產生會話密鑰SK,保證“一次一密”。

表1 方案抵御攻擊對比
無線傳感器網絡處于惡劣的環境中,其存儲以及能源受到嚴格的限制,因此,設計WSN安全方案時,必須考慮到存儲開銷。Yeh等[13]提出的方案中,網關節點需要保存所有用戶的公鑰,在本方案中,智能卡只需要保存GSN的身份標識數據,GSN只需要保存自己的私鑰以及公鑰,每個傳感器節點也只需要保存公鑰就好,大大縮小了存儲空間。同時,本方案中所使用的加密算法是LED輕量級加密算法,該加密算法不需要使用私鑰,簡單高效。
接著,本文分別對幾種輕量級分組加密算法在不同的明文長度下所需的內存空間進行整理和總結,整理總結結果如表2所示。

表2 三種加密方式不同明文長度下所需內存空間
在其他比如基于ECC認證的安全方案中,需要進行多次的點乘操作以及橢圓曲線的運算,相比于其他同類的安全方案,本方案只需要若干哈希函數以及Mac(·)函數,大大減少了點乘的操作次數,這在很大程度上減少了計算開銷。對于數據加密算法部分的計算開銷,下面分別使用LED輕量級分組加密算法,TWINE輕量級分組加密算法以及AES傳統加密算法進行加密64 bit、128 bit、256 bit、512 bit以及1 024 bit明文,然后繪制出加密明文長度與加密時間比較圖。如圖5所示。

圖5 三種加密算法在相應明文長度下加密時間比較圖
由圖5可以得出:在加密小數據時,輕量級加密算法LED和TWINE的加密時間幾乎是傳統加密算法AES的十分之一,LED和TWINE的加密時間相差不大。同時,由于無線傳感器網絡具有特殊的資源,所以要選擇功耗小的加密算法,實現LED所需等效門數(GE)為1 040;而實現TWINE所需等效門數(GE)為1 503[14]。那么,對于無線傳感器網絡中小數據分發安全機制這一問題,采用LED加密算法最為適宜。因此,本方案具有更高的計算效率,更加適合資源受限的無線傳感器網絡。
無線傳感器網絡是一個資源受到嚴格限制的分布式網絡,它是由包含了傳感器、數據處理單元和通信模塊的節點組建而成的。無線傳感器網絡中小數據分發是指對傳感器節點上相關參數進行修改或者傳送一些命令,其安全性關系到整個無線傳感器網絡。本文通過將TCP SYN Cookie和雙向認證技術進行合理有效地結合起來,設計一種WSN小數據分發的安全方案。經過分析和與同量級的方案進行對比,本文提出的方案不僅可以保證小數據分發的安全性,同時也滿足無線傳感器網絡的環境資源限制。但是,在雙向認證部分需要進行多次對Cookie值進行驗證,占據了一部分CPU,接下來需要對這部分的算法進行優化,以獲得更加高效的安全方案。
[1] 陳得鵬. 無線傳感器網絡數據分發協議安全研究[D]. 上海:華東師范大學, 2016.
[2] Ibriq J,Mahgoub I.A Hierarchical Key Establishment Scheme forWireless Sensor Networks[C]// International Conference on Advanced Information NETWORKING and Applications. IEEE, 2007:210-219.
[3] Das M L.Two-factor user authentication in wireless sensor networks[J].Wireless Communications,2009,8(3):1086-1090
[4] Arikumar K S, Thirumoorthy K. Improved user authentication in Wireless Sensor Networks[C]// International Conference on Emerging Trends in Electrical and Computer Technology. IEEE, 2011:1010-1015.
[5] Fantacci R, Chiti F, Maccari L. Fast distributed bi-directional authentication for wireless sensor networks[J]. Security and Communication Networks, 2008, 1(1): 17-24.
[6] Han K, Shon T, Kim K. Efficient mobile sensor authentication in smart home and WPAN[J]. IEEE Transactions on Consumer Elec-tronics, 2010, 56(2): 591-596.
[7] 王潮, 胡廣躍, 張煥國. 無線傳感器網絡的輕量級安全體系研究[J]. 通信學報, 2012, 33(2):30-35.
[8] Zuquete A. Improving the functionality of syn cookies[C]// ACM Sigspatial International Workshop on Crowdsourced and Volunteered Geographic Information. 2013:31-38.
[9] Guo J, Peyrin T, Poschmann A, et al. The LED Block Cipher[C]// International Conference on Cryptographic Hardware and Embedded Systems. Springer-Verlag, 2011:326-341.
[10] 郭淳, 徐興坤. LED 輕量級分組密碼設計的研究與改進探討[J].電力信息與通信技術,2014,12(9):15-19.
[11] He D, Chen C, Chan S, et al. SDRP:A Secure and Distributed Reprogramming Protocol for Wireless Sensor Networks[J]. IEEE Transactions on Industrial Electronics, 2012, 59(11):4155-4163.
[12] Yoo S G, Park K Y, Kim J. A Security-Performance-Balanced User Authentication Scheme for Wireless Sensor Networks[J]. International Journal of Distributed Sensor Networks,2012, 2012(382810):624-627.
[13] Yeh H L, Chen T H,Liu P C, et al. Asecured authentication protocol for wireless sensor networks using elliptic curves cryptography[J]. Sensors, 2011,11(5): 4767-4779.
[14] Manifavas C, Hatzivasilis G, Fvasrakis K, et al. Lightweight Cryptography for Embedded Systems ? A Comparative Analysis[C]// Revised Selected Papers of the, International Workshop on Data Privacy Management and Autonomous Spontaneous Security.Springer-Verlag New York,Inc.2013:333-349.