國佃利
(中國電子信息產業集團有限公司第六研究所,北京 100083)
隨著信息技術的快速發展,移動設備(手機、掌上電腦、筆記本電腦)廣泛應用到各種網絡服務(電子銀行、電子商務、電子政務)中,大量的敏感數據在公共信道中進行傳輸,由于網絡的開放性,涉及用戶財產及隱私的數據面臨巨大的安全風險。身份認證機制能夠保護數據完整性、機密性和可用性。此外,它可以鑒別用戶是否具有對系統資源訪問和使用的權限,進而防止非授權用戶非法獲取網絡資源,保障系統和數據安全。近幾年,網絡信息泄露時間頻發,人們極其關注個人的隱私保護。基于動態身份的認證與密鑰協商方案通過更新登錄請求中的用戶身份保護了用戶隱私,并實現了服務器與匿名用戶間的身份認證與密鑰協商[1-3]。
基于混沌映射的加密機制通過切比雪夫多項式創新性地實現了密鑰交換協議[4-5],且無需處理耗時的模指數運算或橢圓曲線中標量乘法運算,運算效率比其他基于因式分解和離散對數問題的傳統公鑰系統都要高,引起了研究人員的廣泛關注。因此許多基于切比雪夫混沌映射的身份認證與密鑰協商方案廣泛地應用于網絡安全管理協議中。盡管基于切比雪夫混沌映射的密鑰交換協議在效率上存在較大優勢,但是由于其自身固有的運算機制,該協議存在一個比較嚴重的安全問題,敵手通過一個給定的密文即可恢復出明文消息[6]。因此,大多數基于混沌映射的身份認證與密鑰協商方案均存在較為嚴重的安全風險[7-9]。
本文分析了基于切比雪夫混沌映射的密鑰交換協議及其存在的安全問題,隨后利用每個用戶獨有的秘密值代替了統一的密鑰來計算工作密鑰,因此避免了由切比雪夫混沌密碼系統固有缺陷帶來的安全問題。隨后提出了一個新的基于混沌映射的身份認證與密鑰協商方案,實現了用戶匿名性與不可追蹤性。與最近的相關方案相比,該方案無論在效率還是安全性方面均具備優勢。此外,通過BAN-logic證明了該方案能夠滿足用戶與服務器間的認證性[10]。
令n為一個整數,x∈[-1,1]是一個變量。n階的切比雪夫多項式Tn(x)定義為Tn(x)= cos(n×arccosx)。切比雪夫多項式Tn(x)=cos(n×arccosx)的遞推公式如下所示:
T0(x)=1,
T1(x)=x,
T2(x)=2x2-1,
…,
Tn+1(x)=2xTn(x)-Tn-1(x),n≥1。
切比雪夫多項式滿足半群性質,因此對于p,q∈N,Tp(Tq(x))=Tq(Tp(x))。
Tp(Tq(x))=cos(p×arccos(cos(q×arccosx)))
=cos(pq×arccosx)
=Tpq(x)
=Tq(Tp(x))
下面介紹攻擊者如何利用一個給定的密文恢復出消息[6]。Alice利用(x,Ts(x))作為自己的公鑰,s作為自己的私鑰。之后Bob將利用Alice的公鑰消息M進行加密,并且發送給她。首先Bob選取隨機數r,并計算Tr(x),Tr·s(x)=Tr(Ts(x)),C=M·Tr·s(x)。最后Bob將密文(Tr(x),C)發送給Alice。
然而,如果獲取了公鑰(x,Ts(x))和密文(Tr(x),C),敵手可以通過以下步驟恢復出消息M。
(1)計算r′∈P使得Tr′(x)=Tr(x),其中
(2)比較Tr′s(x)=Tr′(Ts(x))。

顯然該攻擊是可行的:
Tr·s(x)=Ts·r(x)=Ts(Tr(x))
=Ts(Tr′(x))=Ts·r′(x)
=Tr′·s(x)。
基于切比雪夫混沌映射提出了一個新的適用于移動網絡下的動態身份認證與密鑰協商方案。該方案包括四個主要部分:注冊階段、登錄階段、驗證階段、口令更新階段。
(1)用戶ui選取自己的身份IDi與口令pwi,并生成隨機數k。接著計算hpwi=h(pwi∥k),隨后將身份IDi與隱藏口令pwi的秘密值hpwi通過安全信道發送至服務器S進行注冊。
(2)服務器S接收到用戶ui的注冊請求{IDi,hpwi}后,S計算Hi=h(s∥IDi),fi=h(hpwi∥IDi)和gi=Efi(Hi∥Ts(sin(Hi))),并將已經計算好的gi通過安全信道發送給用戶ui。
(3)用戶ui將隨機數k與gi存儲到自己的移動設備中。
用戶ui輸入自己的身份身份IDi與口令pwi,隨后移動設備生成隨機數a,并獲取時間戳t1,計算hpwi=h(pwi∥k),fi=h(hpwi∥IDi),(Hi∥Ts(sin(Hi)))=Dfi(gi),C=Ta(sin(Hi)),Key=Ta(Ts(sin(Hi))),KIDi=Key⊕IDi,V=h(t1∥Key)。隨后移動設備將登錄請求{C,KIDi,V,t1}發送到服務器S。
(1) 服務器接收到用戶ui的登錄請求{C,KIDi,V,t1}后,S首先驗證時間戳t1是否有效,如果該時間戳已過期,S直接終止該會話;否則,繼續執行步驟(2)。
(2)S計算Key=Ts(C)=Ts(Ta(sin(Hi))),IDi=KIDi⊕Key,V′=h(t1∥Key),并驗證V′是否與登錄請求中的V相等。如果相等,那么登錄用戶ui是一個合法的授權用戶;否則,認定該登錄請求是非法的。服務器S繼續計算會話密鑰λ=h(Key∥t1∥t2)與驗證信息w=h(Key∥C∥Hi∥t1∥t2),其中t2是一個新的時間戳。隨后將回復信息{w,t2}發送給Ua。
(3)收到回復信息后,用戶ui同樣驗證時間戳t2的有效性。如果驗證失敗,ui結束此次回話;否則,認定該消息是合法的。ui繼續計算w′=h(Key∥IDi∥Hi∥t2)并驗證w′?=w。如果等式成立,用戶ui鑒定服務器S是可信的,并完成相互認證;否則,ui放棄此次登錄。

BAN-logic[10]是目前使用最廣泛的一種形式化分析密碼協議的方法,其通過形式化的方法分析認證方案,并證明任一協議參與方能夠鑒別其他參與方的合法性。在這一部分,通過BAN-logic證明用戶與服務器間滿足相互認證性質。以下是BAN-logic形式化分析方法中用到的符號:
(2)#(X):消息X在有效期內;
(6)(X,Y):消息X或Y是消息(X,Y)中的一部分;
(7)
(8){X}Y:消息X在密鑰Y作用下利用對稱密碼進行加密;


BAN-logic主要的邏輯推理假定:
以下是BAN-logic證明方案安全性的目標:
以下是該方案中信息交互的理想化形式:
Message 1:ui→S:(C,KIDi,t1,
Message 2:S→Ui:(t2,
由于系統處理的是射頻信號,故需要注意布線時的阻抗問題,本設計采用T-G-G-B(頂層-地-地-底層)的層疊結構,通過調整線寬及層間距達到阻抗匹配。對于高速信號走線,由于趨膚效應造成走線周圍具有電磁場,容易造成相鄰線材的耦合干擾。為使走線間耦合干擾達到可以忽略,布線時需要滿足3W原則(走線中心間隔滿足3倍線寬)。
為了進一步分析該方案,做出以下假設:
A.3:ui|≡#(t2)
A.4:S|≡#(t1)
A.5:S|≡ui?(t1,Key)
A.6:ui|≡S?(Key,IDi,t1,t2)
A.7:S|≡t2
A.8:ui|≡t1
基于以上假設和規則,運用BAN-logic證明方案的具體過程如下:
根據消息1得到:
S?(C,KIDi,t1,
根據消息判定規則得到:
S?
根據假設A.2 和消息本義規則得到:
S|≡ui|~(t1,Key)。
根據假設A.4和消息有效性規則得到:
S|≡#(t1,Key)。
根據S|≡ui|~(t1,Key)和消息驗證規則得到:
S|≡ui|≡(t1,Key)。
根據假設A.5和消息判定規得到:
S|≡(t1,Key)。
根據消息判定規則得到:
S|≡Key,S|≡t1。
根據λ=h(Key,t1,t2)和假設 A.7得到:
根據Message 2得到:
ui?(t2,
根據消息判定規則得到:
ui?
根據假設A.1 和消息本義規則得到:
ui|≡S|:(Key,IDi,t1,t2)。
根據假設A.3 和消息有效性規則得到:
ui|≡#(Key,IDi,t1,t2)。
根據ui|≡S|:(Key,IDi,t1,t2)和消息驗證規則得到:
ui|≡S|≡(Key,IDi,t1,t2)。
根據假設A.6 和消息判定規則得到:
ui|≡(Key,IDi,t1,t2)。
根據消息判定規則得到:
ui|≡Key,ui|≡t2。
根據λ=h(Key,t1,t2)和假設A.8得到:
在安全性與效率上比較了新提出的方案與之前相關方案[7-9]。在安全屬性上的比對結果與在效率上比對結果如表2和表3所示。為了方便表達,定義下列符號為:Th:計算一次單向哈希函數所需的時間;Tsym:計算一次對稱加密所需要的時間;Te:計算一次模指數運算所需要的時間;Tc:計算一次切比雪夫多項式所需要的時間。

表2 安全性比較

表3 效率比較
在表2中,改進方案可以滿足所有的安全屬性,而其他方案或多或少存在一些問題。通過表3,改進方案要比其他方案效率更好,并且能夠提供更好的安全性。
本文首先分析了基于切比雪夫混沌映射的密鑰協商方案及其存在的固有的安全風險,通過一個唯一的密鑰代替了一個統一的密鑰創新性地解決了上述安全問題。隨后提出了一個安全性更好的身份認證與密鑰協商方案。特別指出的是,本文利用BAN-logic證明了該方案能夠實現參與方間的相互認證。與之前相關方案對比,此方案更適用于移動網絡環境中。