?

高效的無線傳感器網絡交叉加密認證方案

2014-10-14 09:28任洪慶寧菲菲
計算機與現代化 2014年9期
關鍵詞:解密密鑰消息

任洪慶,寧菲菲

(平頂山學院軟件學院,河南 平頂山 467000)

0 引言

無線傳感器網絡作為物聯網的重要組成部分,在環境檢測、醫療衛生、智能家居、國防軍事等領域都具有廣闊的應用前景[1]。2003年的MIT新技術評論認為無線傳感器網絡是改變世界的10大技術之一。2009年,溫家寶總理倡導“感知中國”,進一步推進了對無線傳感器網絡的研究[2]。然而,無線傳感器網絡具有資源受限、分布式、自組織、多跳和以數據為中心等特征,且往往部署在無人值守、不易控制的復雜環境中,導致其隱私保護數據受到了嚴重的挑戰。無線傳感器網絡中的隱私保護技術主要分為數據擾動技術[3-4]、數據匿名化技術[5-6]和數據加密技術[7-8],而數據加密技術是目前研究的熱點之一,也正是本文要研究的內容。

在無線傳感器加密方面,已有許多學者進行了研究[9-15]。文獻[9-10]中,Claude Castelluccia提出了基于對稱密鑰密碼系統的交叉加密方案,但是對于每個節點而言,加、解密的次數太多增大了網絡的負擔。在文獻[11]中,Claude Castelluccia等人為節省帶寬,在加密時用模加法代替異或操作,并與簡單的數據聚合方法相結合,設計了一種加密數據的聚合傳輸方案。在文獻[12]中,Kaskaloglu K等人設計了一套基于門限的廣播加密方案。該方案在可以適當減少節點執行廣播加密操作的通信開銷,但是由于它使用的是公鑰密碼系統,因而節點的計算量較大。在文獻[13-14]中的基于身份標識的加密方案,采用的也都是公鑰密碼系統。文獻[15]是一種無線傳感器網絡的交叉加密方案,該方案基于逐跳加密的策略,并采用一種交叉的加密方式,此方案不但能保證網絡中數據傳輸的安全,而且每個節點的相對計算負擔較小。但是,該方案只是對加密做了改進,卻沒有提供認證,并不能驗證數據的完整性。

本文在文獻[9-10,15]的框架下,提出一種高效的交叉加密認證方案(Efficient Authenticated Interleaved Encryption Scheme,EAIES)。該方案不但可以減少加、解密的層數,而且可為中間的相鄰節點提供消息認證。除此之外,中間節點在對消息認證時,引入了投票式方法,當發現有錯誤MAC時并不立即丟棄消息,而是當錯誤MAC數達到一定值時才丟棄消息,從而大大降低了消息丟失率。

1 高效的交叉加密認證方案(EAIES)

1.1 標記

本文用到的標記和術語說明如下:

Ns:源節點。

Nd:目標節點。

Ni:從源節點到目標節點的所有途徑節點,i=1,2,…。

ivi,j:節點Ni發消息給節點Nj時為消息加密所選的初始化向量,對于每條消息來說是唯一的。

ki,j:節點 Ni與節點 Nj的共享密鑰。

Enc(k,m):一種可交換的用密鑰k對消息m的流密碼加密算法。如異或操作或模加法操作。

Dec(k,m):與 Enc(k,m)相對應的解密算法。H(k,C):使用密鑰k對密文C生成消息散列碼(MAC)的一個函數。

Tf:安全的錯誤MAC閾值。

1.2 安全目標和假設

1.2.1 安全目標

本方案的目標是保證任一源節點和目標節點在沒有共享密鑰的前提下能夠保密地進行消息傳送,并且相鄰的中間節點和目標節點都可以對收到的消息進行認證。并且,中間節點在對消息認證時,本文引入了投票式方法,當發現有錯誤MAC時并不立即丟棄消息,而是當錯誤MAC數達到一預先設定值時才丟棄消息,從而大大降低消息丟失的概率。而且本方案必須能夠抵抗主動攻擊和被動攻擊。

1.2.2 假設

本文協議假設網絡中每一節點Ni都存有2類共享密鑰:一類是與它一跳內的節點Nj的共享密鑰(如圖 1 中與 N1,N2,N3共享的密鑰 ks,1,ks,2,ks,3),另一類是與它有2跳距離的節點共享密鑰(如圖1中與N4,N5,N3共享的密鑰 ks,4,ks,5),并且該節點與其 2跳節點的共享密鑰對與中間節點來說是不可知的。密鑰分配過程可以在網絡部署時進行,具體方法在此不再贅述?,F在假設某一節點Ns要經過中間d-1跳節點秘密地發送消息給節點Nd。

圖1 密鑰持有模型圖

1.3 方案細節

為了便于理解,該部分按單播方式進行描述,多播和廣播方式在此基礎上很容易實現,而且在后面的例子中會論述廣播情況下的工作方式。

本文提出的方案按如下方式工作:

源節點Ns的操作:

1)首先將錯誤MAC數T設置為0,然后選取2個隨機數 nonces,1,nonces,2,并計算 ivs,1=h(nonces,1||Nd||N0)和 ivs,2=h(nonces,2||Nd||Ns)。

2)產生密文 Cs=Enc(ivs,1,ks,1,Enc(ivs,2,ks,2,m||R(m,len)),R(.)是一冗余函數,len 是消息的長度。

3)利用與其相鄰節點 N1的共享密鑰 ks,1計算MACs,1=H(ks,1,Cs)。

4)源節點發送消息 ms={MACs,1,T,Nd,Ns,nonces,1,nonces,2,Cs}給 N1。

源節點的直接相鄰節點N1收到Ns發來的消息ms={MACs,1,T,Nd,Ns,nonces,1,nonces,2,Cs}后,按如下步驟操作:

1)計 算 MAC's,1=H(ks,1,Cs)并 與 收 到 的MACs,1比較,若相等,執行下一步;若不等,計算 T=T+1并檢查T是否大于Tf,若大于則丟棄消息,否則執行下一步。

2)計算 ivs,1=h(nonces,1||Nd||Ns)和 t1=Dec(ivs,1,ks,1,Cs)。

3)選取1個隨機數 nonce1,3,并計算iv1,3=h(nonce1,3||Nd||Ns),產生密文 C1=Enc(iv1,3,k1,3,t1)。

4)利用與其下一跳相鄰節點N2共享的密鑰k1,2計算 MAC1,2=H(k1,2,C1)。

5)將消息 m1={MAC1,2,T,Nd,Ns,iv0,2,iv1,3,C1}發送給下一跳節點N2。

普通中間節點Ni收到上一跳節點Ni-1發來的消息 mi-1={MACi-1,i,T,Nd,Ns,noncei-2,i,noncei-1,i+1,Ci-1}按如下步驟操作:

1)計算 MAC'i-1,i=H(ki-1,i,Ci-1)并與收到的MACi-1,i比較,若相等,執行下一步;若不等,計算 T=T+1并檢查T是否大于Tf,若大于則丟棄消息,否則執行下一步。

2)計算 ivi-2,i=h(noncei-2,i||Nd||N0)和 ti=Dec(ivi-2,i,ki-2,i,Ci-1)。

3)選取一個隨機數 noncei,i+2,并計算 ivi,i+2=h(noncei,i+2||Nd||Ns)。產生密文 Ci=Enc(ivi,i+2,ki,i+2,ti)。

4)利用與其下一跳相鄰節點Ni+1的共享密鑰ki,i+1計算 MACi,i+1=H(ki,i+1,Ci)。

5)將消息 mi={MACi,i+1,T,Nd,Ns,noncei-1,i+1,noncei,i+2,Ci}發送給下一跳節點 N2。

若Ni檢測到其下一跳節點Ni+1即為目標節點Nd,則令Ci=ti,并用與其下一跳相鄰節點Ni+1的共享密鑰 ki,i+1計算 MACi,i+1=H(ki,i+1,Ci),產生消息mi={MACi,i+1,T,Nd,Ns,noncei-1,i+1,Ci}發送給目標節點Nd。

目標節點Nd收到其上一跳節點Nd-1發來的消息的操作 md-1={MACd-1,d,T,Nd,Ns,nonced-2,d,Cd-1}按如下步驟操作:

1)計算 MAC'd-1,d=H(kd-1,d,Cd-1)并與收到的MACd,1比較,若相等,執行下一步;若不等,計算 T=T+1并檢查T是否大于Tf,若大于則丟棄消息,否則執行下一步。

2)計算 ivi-2,i=h(noncei-2,i||Nd||Ns)和 Dec(ivd-2,d,kd-2,d,Cd-1),得到消息 m'=x||m。

3)檢查消息的完整性。驗證x與R(m,len)是否相等,若是相等,則接受消息;否則丟棄消息。

1.4 例子

圖2 工作方式示例模型圖

為了更好地理解本文提出方案的工作方式,在此給出了一個例子,如圖2所示。源節點Ns要發送消息給目標節點 Nd,{N1,N2,N3,N4}為可能經過的中間節點,假設節點N3遭受到攻擊變壞了。安全的錯誤MAC閾值Tf=2。方案的工作過程如下:

1)與NS有一跳距離的節點有N1和N2兩個,有2跳距離的節點只有一個N3,所以Ns首先選取3個隨機 數 nonces,1,nonces,2,nonces,3并 計 算 ivs,1=h(nonces,1||Nd||Ns),ivs,2=h(nonces,2||Nd||N0),ivs,3=h(nonces,3||Nd||Ns);產 生 密 文 Cs,1=Enc(ivs,1,ks,1,Enc(ivs,3,ks,3,m||R(m,len))和 Cs,2=Enc(ivs,2,ks,2,Enc(ivs,3,ks,3,m||R(m,len));計算 MACs,1=H(ks,1,Cs1)和 MACs,2=H(ks,2,Cs,2);廣 播 消 息 ms,1={MACs,1, T, Nd, Ns,nonces,1,nonces,2,Cs,1}和消息 ms,2={MACs,2,T,Nd,Ns,nonces,2,nonces,3,Cs,2}。

2)N1收到來自 NS消息 ms,1,計算 MAC's,1=H(ks,1,Cs,1)對 收 到 的 消 息 進 行 驗 證,得 MAC's,1=MACs,1,然后計算 ivs,1=h(nonces,1||Nd||Ns)并利用ivs,1和 ks,1對消息解密一次得到 t1。之后選取隨機數nonce1,4并計算 iv1,3=h(nonce1,3||Nd||Ns),產生密文 C1=Enc(ivs,1,ks,1,t1),計算 MAC1,3=H(k1,3,C1),形成消息 m1={MAC1,3,T,Nd,Ns,nonces,3,nonce1,4,C1}并發送給 N3。

3)N2收到來自 NS消息 ms,2后,執行與 N1類似的操作,形成消息 m2={MAC2,3,T,Nd,Ns,nonces,3,nonce2,4,C2}并發送給 N3。

4)假設 N1先于 N2到達,N3先計算 MAC'1,3=H(k1,3,C1)對收到的消息進行驗證,得 MAC'1,3=MAC1,3,然后計算 iv1,3=h(nonce1,3||Nd||Ns)并利用iv1,3和 k1,3對消息解密一次得到 t3,之后選取隨機數nonce3,d并計算 iv3,d=h(nonce3,d||Nd||Ns),產生密文 C3=Enc(iv3,d,k3,d,t3),并故意形成一假的 MAC3,4≠H(k3,d,C3),形成消息 m3={MAC3,4,T,Nd,Ns,nonce1,4,nonce3,d,C1}并發送給 N3。對后到的來自N2的消息進行丟棄。若N2先于N1到達,則對N2執行類似的操作并丟棄來自N1的消息。N3是假設的惡意節點,在此假設該惡意節點也忠實地執行協議,只是在最后故意插入錯誤的MAC。

5)N4收到來自 N3消息 m3,計算 MAC'3,4=H(k3,4,C3),得 MAC'3,4≠MAC3,4,認證失敗,但此時并不立即丟棄消息,而是令T=T+1,由于此時T=1<Tf,所以繼續進行接下去的步驟。然后計算iv1,4=h(nonce1,4||Nd||Ns)并利用 iv1,4和 k1,4對消息解密一次得到 t4=Enc(iv3,d,k3,d,m||R(m,len)),令 C4=t4,并計算 MAC4,d=H(k4,d,C4),形成消息 m4={MAC4,d,T,Nd,Ns,nonce3,d,C4}并發送給 Nd。

6)目標節點 Nd收到來自N4的消息m4后,計算MAC'4,d=H(k4,d,C4),得出與收到的 MAC4,d相等,然后計算 iv3,d=h(nonce3,d||Nd||Ns)并執行解密操作,得到m'=m||x,此時并不立即接受此消息,而是要進行最后的完整性檢查。計算x是否與R(m,len)相等,若相等則接受消息,否則丟棄。

2 安全性和性能分析

本文設計了一種帶有認證功能的無線傳感器網絡交叉加密方案。該方案的安全性是基于可交換的對稱加密算法的安全性。在整個信息傳輸的過程中,能看到消息明文的只有發送者和最終的接收者。中間的每一個節點都分別進行一次解密和一次加密,并且能夠對收到的消息的完整性進行驗證并繼續傳播其結果。該方案能夠克服中間轉發節點能夠看到明文的弊端。并且在對消息的完整性進行認證時,若發現消息認證碼(MAC)不一致,并不立即丟棄,而是積累到一定值時才決定丟棄,從而可降低消息丟失的概率。

2.1 安全性分析

本方案是假定相鄰的2個節點不會共謀,在這種假設下,可以分析方案的安全性如下:

1)對于消息的發送者的第i跳節點Ni來說,它可以收到第i-1跳節點發來的消息Ci-1。按照方案中的方法,此處的 Ci-1=Enc(ivi-1,i+1,ki-1,i+1,Enc(ivi-2,i,ki-2,i,m||R(m,len))。如果它想恢復出明文 m,必須使用密鑰 ki-2,i和 ki-1,i+1對 Ci-1進行解密。但是根據本方案,Ni并不知道Ni-1與Ni+1共享的密鑰ki-1,i+1,因而無法恢復出明文消息m。

2)為了抵抗對網絡中流量進行分析的攻擊,在加密時使用了初始化向量ivi,j,在計算該向量時,使用的是先生成隨機數 noncei,j而后進行的計算,即 ivi,j=h(noncei,j||Nd||Ns),這樣所生成的向量對每一個消息來說是唯一的,所以網絡中的監聽者很難通過分析密文來找到有關密鑰的線索。

3)對于網絡中的非法監聽者來說,由于它不知道密文的2層加密密鑰,也分析不出有關密鑰的線索,所以也無法破解出明文m。

2.2 性能分析

與文獻[9-10]相比,本文方案可以在不額外增加開銷的情況下減少加、解密的次數,除此之外,保存和管理密鑰的代價也較低,所以具有更高的效率。

1)本方案使用的對稱加密技術,與文獻[12-14]中的公鑰加密算法相比,降低了節點進行計算的開銷。

2)本方案中,每個中間節點只進行加、解密操作各一次,與文獻[9-10]相比,減少了加、解密的次數,在不影響安全性的前提下,降低了整個網絡的負擔和計算量。

3)本方案在密鑰保存方面,每個節點只保存與之在2跳以內節點的共享密鑰。與文獻[9-10]相比,在網絡規模很大的情況下,可以大大節省密鑰保存的存儲空間

4)本方案與文獻[15]的方案相比,提供了認證的功能,從而為消息的完整性提供了保證。

3 結束語

本文在已有方案的基礎上,引入帶投票式方法的認證技術,提出一種新的無線傳感器網絡交叉加密認證方案。該方案不但能在每個節點計算量較小的前提下保證網絡中數據傳輸的安全,而且引入了投票式認證策略,可對數據進行完整性驗證,從而使安全性得到了進一步提升。與文獻[9-10]的方案相比,減少了加密的層數,節約了計算量和帶寬;與文獻[15]的相比,增加了認證的功能,為數據的完整性驗證提供了依據,并且在認證時,引入了投票式方法,當發現有錯誤MAC時并不立即丟棄消息,而是當錯誤MAC數達到一定值時才丟棄消息,從而可大大降低消息丟失的概率。

[1]范永健,陳紅,張曉瑩.無線傳感器網絡數據隱私保護技術[J].計算機學報,2012,35(6):1131-1146.

[2]張曉玲,梁煒,于海斌,等.無線傳感器網絡傳輸調度方法綜述[J].通信學報,2012,33(5):143-157.

[3]Agrawal R,Sriknat R.Privacy-preserving data mining[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data(SIGMOD).2000:439-450.

[4]Huang Zhangli,Du Wenliang,Chen Biao.Deriving private information from randomized data[C]//Proceedings of the ACM SIGMOD International Conferences on Management of Data(SIGMOD).2005:37-48.

[5]Sweeney L.Achieving k-anonymity privacy protection using generalization and suppression[J].International Journal on Uncertainly, Fuzziness and Knowledge-based Systems,2002,10(5):571-588.

[6]Li N,Li T.T-closeness:Privacy beyond k-anonymity and l-diversity[C]//Proceedings of the 23rd International Conference on Data Engineering(ICDE).2007:106-115.

[7]Clifton C,Kantarcioglou M,Lin X,et al.Tools for Privacy-Preserving distributed data mining[J].ACM SIGMOD Explorations,2002,4(2):28-34.

[8]Malin B,Airoldi E,Edoho-Eket S,et al.Configurable security protocols for multi-party data analysis with malicious participants[C]//Proceedings of the 21st International Conference on Data Engineering(ICDE).2005:533-544.

[9]Claude Castelluccia.Authenticated Interleaved Encryption[R].Cryptology Print Archive,Report 2006/416,2006.

[10]Claude Castelluccia.Securing very dynamic groups and data aggregation in wireless sensor networks[C]//IEEE International Conference on Mobile Ad-hoc and Sensor Systems.2007,8:1-9.

[11]Claude Castelluccia,Einar Mykletun,Gene Tsudik.Efficient aggregation of encryption data in wireless sensor networks[C]//IEEE International Conference on Mobile and Ubiquitous Systems:Networking and Services.2005:109-117.

[12]Kaskaloglu K,Selcuk A A.Threshold broadcast encryption with reduced complexity[C]//IEEE the 22nd Internation-al Symposium on Computer and Information Sciences.2007:1-4.

[13]Le Trieu Phong,Hiroto Matsuoka,Wakaha Ogata.Stateful Identity-based encryption scheme:Faster encryption and decryption[C]//Proceedings of the 2008 ACM Symposium on Information,Computer and Communications Security.2008:381-388.

[14]Alexandra Boldyreva,Vipul Goyal,Virendra Kumar.Identity-based encryption with efficient revocation[C]//Proceedings of the 15th ACM Conference on Computer and Communications Security(CCS'08).2008:417-426.

[15]付杰,盧建朱,鄭旋.一種改進的高效無線傳感器交叉加密方案[J].計算機工程與應用,2010,46(18):119-121.

猜你喜歡
解密密鑰消息
炫詞解密
解密“一包三改”
密碼系統中密鑰的狀態與保護*
一張圖看5G消息
炫詞解密
一種對稱密鑰的密鑰管理方法及系統
基于ECC的智能家居密鑰管理機制的實現
解密“大調解”
消息
消息
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合