耿永軍 陳紅軍 鄭明輝
(河南城建學院計算機科學與工程系1) 平頂山 467036) (湖北民族學院信息學院2) 恩施 445000)
移動自組網有著無線通信、無網絡基礎架構、動態成員變化和異構設備的獨特特性,傳統網絡和移動自組網之間的關鍵差別在于后者缺少對整個網絡進行集中控制和管理的節點.在傳統網絡,中央管理節點負責定義整個網絡的安全服務和策略,并可提前分發密鑰給所有參與通信的網絡用戶.但在移動自組網中設置中央節點會導致單點實效的問題.Kong等[1]提出RSA門限數字簽名來解決成員控制問題,但這些方法沒有提供可驗證的的特性,以至于不能抵抗內部惡意節點的攻擊,并且該方案要求在自組網形成時有可信的第三方初始化整個群組.Zhou和 Hass[2-3]首先提出在自組網形成時將證書頒發中心(CA)分布在整個網絡以避免單點失效,移動自組網中的每個成員擁有一個秘密份額,當一個新成員要加入網絡時,網中多個舊成員通過門限數字簽名的方法給新加入成員頒發成員證書,但是Zhou和Hass沒有將自組網中節點的計算能力、電源、帶寬和存儲資源限制考慮進去.橢圓曲線密碼體制(ECC)在效率上優于前者,更適合于內存和處理能力有限的設備.杜春來[4]和王剛[5]采用 ECC實現移動自組網的組密鑰協商和成員身份認證,但沒有解決內外惡意節點的攻擊和新成員加入問題.本文基于Pederson分布式密鑰產生方案[6-7]采用 ECC提出一個分布式密鑰產生協議,該方案高效且能抵制內外惡意節點的攻擊,并采用門限數字簽名方案給出一個安全的移動自組網的成員控制方案.最后,通過方案的性能和安全性分析得出結論,該成員控制策略非常適合于資源受限的移動自組網.
該密鑰產生協議基于改進的Pederson方案,方案去除需要中央控制節點選擇秘密多項式和分發成員秘密份額,并采用ECC體制提高運算和通信效率.讓A 表示群成員集合,A={u0,u1,…,un-1}.p是個大素數,y2=x3+ax+b(mod p)表示一個橢圓曲線方程,其中a,b∈Zp*,4a3+27b2≠0(mod p),G表示橢圓曲線方程上的一基點G∈E(GF(p)).大素數q是基于有限域Fp的橢圓曲線點構成的群的元素個數,稱為該群的階,q=#E(GF(p)),p+1-2p<q<p+1+2H()是一個安全的單向散列函數,IDi表示群成員Ui的公共成員身份.每個群成員有一個成員身份IDi,群組密鑰產生的步驟如下.
步驟1 每個群組成員ui(0≤i≤n-1)隨機選擇一個t-1次秘密多項式:
fi(x)=ai,0+ai,1x+ … +ai,t-1xt-1mod q ui(0≤i≤n-1)計算fi(IDj)(0≤j≤n-1)和ai,kG(0≤k≤t-1).
每個ui(ui∈A)通過秘密信道分別發送fi(IDj)給uj(0≤j≤n-1)and(j≠i).ui(ui∈A)廣播公共信息ai,kG(0≤k≤t-1)給群組中成員.
步驟2 群組成員uj(uj∈A)從ui(0≤i≤n-1)and(i≠j)收到所有的fi(IDj)和ai,kG(0≤k≤t-1)后,uj(0≤j≤n-1)分別驗證下列等式:

步驟3 假如上面的驗證真正確,uj通過計算下式得到他的秘密份額sj.


成員秘密份額可表示為si=f(IDi).群秘密s=f(0)分布存放在群中所有成員,群公鑰為

任何群中t個成員聯合通過Shamir的秘密共享Lagrange插值多項式[6]可恢復出秘密s.
成員控制方案能確保那些滿足成員控制規則的用戶得到合法成員證書,從而成為合法群組成員,成員控制規則是群組安全策略的一部分.在本文提出基于ECC門限機制的成員控制方案,根據前面產生的群密鑰和公鑰進行簽名和驗證.其中群密鑰s被群組中所有成員通過(t,n)門限機制共享,每個群組成員擁有自己的秘密份額.任一個群組成員通過自己的秘密份額對消息產生部分簽名,群組簽名合成者至少需要t個成員的部分簽名生成對消息的群組簽名.通過這種方法,t個群組成員可代表群組生成新加入成員的群組成員證書.假如群組中成員已經根據基于ECC的Pederson分布式密鑰產生協議擁有一份秘密份額,群組成員控制方案如下.
2.1.1 群組成員頒發新成員證書
步驟1 新成員請求加入群組 新成員un通過發送JOIN_REQ消息給群中成員.un用自己的私鑰簽發自己的請求加入消息M,并將其公鑰一同發給群組中成員.
步驟2 頒發新成員證書的群組成員交換參數 接到JOIN_REQ請求消息的群組成員用請求者的公鑰驗證請求消息的簽名是否有效.假如群組中的成員同意新成員un的入網請求,他就用自己秘密份額的對請求消息M部分簽名回復un.用V={v1,v2,…,vt}表示給新成員頒發證書的集合,l≥t.
每個進行群組簽名的群成員vi(i=1,2,…,l)隨機選取ki(ki∈),且計算

假如vi想要計算k=,他必須知道ki(1≤i≤l)的值,要想從ri(1≤i≤l)得到ki(1≤i≤l)必須先解決橢圓曲線離散對數問題.所以,k值被群組中成員vi(i=1,2,…,l)共享,但任何參加簽名的單個群成員不知k值.
步驟3 新成員證書的頒發 每個參加群簽名的群組成員vi(i=1,2,…,l)計算下面2個方程,本文用{R}x表示橢圓曲線上一點R 的x軸坐標.(本文中,表示Lagrange相關系數):

vi(i=1,2,…,l)發送{C,xi}給新成員作為部分簽名.
新成員接收到不少于t個部分簽名后,他將部分簽名{C,X}合成為對請求消息M 的有效群簽名.

步驟4 新成員證書的驗證 任何群成員可通過群組公鑰y驗證簽名{C,X}.驗證者計算下列方程

驗證者驗證下列等式是否成立.

假如這個驗證成立,意味著新成員un得到一個合法的群成員證書.但是一個新成員得到成員證書是不夠的,新成員也應有自己的秘密份額將來為其他要加入的新成員進行部分簽名,下面為新成員得到成員秘密份額的過程.
2.1.2 新成員秘密份額的獲得
步驟1 假如un成為了一個合法的群成員,他需要有自己的秘密份額sn使自己參加將來新成員加入的裁決協議,每個參加群組簽名者vi(i=1,2,…,l)計算下列等式:

步驟2 vi(i=1,2,…,l)秘密發送Si給新成員.
步驟3 新成員un根據Lagrange插值多項式計算下列方程得到他的秘密份額.

這里存在一個安全問題,L′i是公開的,un能通過Si求出si.文獻[5]中提出了shuffling技術解決該問題.在一個有shuffling技術的方案中,參加簽名的群組中任兩成員交換一個隨機值nonce.ID值大的群成員將把這個nonce當做正值,而另一方將其作為負值.每個參加簽名的成員至少有t-1個這樣的nonce.在vi(i=1,2,…,t)發給新成員部分秘密份額前,他先求出他已知l-1個nonce的和and Si,然后發送一個封裝的=si+ ∑(nonce)部分秘密份額給un.
下面證明本文提出的改進方案滿足抵抗合謀攻擊、偽造攻擊.該改進方案的安全性基于下面兩個困難性假設:大整數分解問題和單向hash函數的不可逆性.先證明該方案的正確性,然后證明其滿足的安全性質.
方案的正確性證明
定理1 該成員控制方案能安全實現新成員的證書頒發,任何群成員可通過群組公鑰y驗證簽名{C,X},只要滿足R=XG+Cy,且C=H(M,{R}x)成立,證書便是合法的.
證明 XG+Cy=R-Cf(0)G+Cf(0)G=R
方案滿足的安全性:
1)該成員控制方案滿足門限機制,且能抵制偽造攻擊 假如至少有t個群組成員同意新成員加入群組,新成員可以得到有效的群成員證書.另一方面,少于t個群組成員同意其加入,新成員則不能得到有效證書.基于上面的密鑰產生協議,可知群組成員秘密份額si=f(IDi)(1≤i≤t).通過Lagrange插值多項式,不少于t個群組成員可用自己秘密份額恢復群組秘密f(0).少于t個群組成員合作根據shamir的秘密共享方案則不能,且攻擊者要從公共信息中得到秘密成員份額,由于橢圓曲線的離散對數難題世人尚沒有解決.所以該攻擊也不成立.
2)該成員控制方案可抵制內部成員的攻擊
假如新成員被接受為合法的群組成員,由于采用了shuffling技術實現部分秘密份額的分發,使得新成員得到自己的秘密份額而得不到其他群組成員的秘密份額.由于隨機nonce對新成員是個秘密,由其封裝的發給新成員后,新成員想通過得到si是困難的,但通過式snew=f(IDnew)可得到自己的秘密成員份額.
從圖1很容易驗證采用Shuffling技術后,un可得到同樣的sn值,且新成員不能得到其他群組成員的秘密份額.


圖1 Shuffling技術實現示意圖

該方案是基于橢圓曲線密碼體制,其用加操作替代乘操作.方案中的q只需要160bits就可獲得RSA 1024bits或DSA 512bits的安全強度.由于同樣的安全強度和更短的密鑰長度,方案實施所需要的內存和網絡帶寬縮小了.下面給出該方案采用PBC開發庫軟件的編程實現,具體運行環境如下:Celeron 1.4GHz+760MRAM+ Windows XP+VC8.0.方案仿真中橢圓曲線參數選取為
有限域P:1514632635174592562243141915 959568687003144559398080982579809
參數a:791107111
參數b:1077150514903
基點 G:(644644487,16367426894330)
群組密鑰s:357321394324624475504410370 0527078272835564256634324140533
群組公鑰y:(30092692644613787357405824 5124271641822522762978019682442886,526316 386840250105483025593133809754064234349343 842898534047)
群組成員數設為4,門限值設為3,由于3個成員進行部分簽名是在分布式環境同時進行,部分簽名開銷只計單個成員為38ms,新成員合成簽名的時間開銷為0ms,新成員驗證簽名時間開銷為47ms.
本文基于Pederson分布式密鑰產生方案采用ECC提出一個分布式密鑰產生協議,該方案高效且采用shuffling技術能抵制內外惡意節點的攻擊,并利用門限數字簽名方案給出一個安全的移動自組網的成員控制方案.最后,通過方案的性能和安全性分析得出結論,該成員控制策略非常適合于資源受限的移動自組網.滿足MANETs的高效要求,也克服現有基于大整數分解和離散對數的無可信中心的門限數字簽名沒有把移動節點計算能力、電源、帶寬和存儲資源限制條件考慮進去的缺陷.
[1]KONG J,ZERFOS P,LUO H,et al.Providing robust and ubiquitous security support for mobile adhoc networks[C]//IEEE ICNP,2001:98-102.
[2]ZHOU L,HAAS.Securing ad hoc networks[J].IEEE Network Magazine,1999(11):112-117.
[3]李成霞.一種ECC快速數字簽名技術的硬件實現[J].武漢理工大學學報,2009,31(19):156-159.
[4]杜春來.在橢圓曲線域中基于身份認證的移動ad hoc密鑰管理框架[J].通信學報,2007,28(12):53-60.
[5]王 剛.移動自組網中安全高效的組密鑰管理方案[J].計算機研究與發展,2010,47(5):911-921.
[6]PEDERSEN T,A threshold cryptosystem without a trusted party[C]//Advances in Cryptology-Eurocrypt'91.LNCS 547,Springer-Verlag,1991:128-132.
[7]SHAMIR A.How to share a secret[J].Communications of the ACM,1979,24(11):612-613.