張 萌,劉秋紅,宮繼兵
(1.唐山工業職業技術學院 電子信息系,河北 唐山 063299;2.燕山大學 信息科學與工程學院,河北 秦皇島 066004)
為了保障用戶與服務器間的通信安全,研究人員針對單服務器提出大量驗證方案[1-4]。然而,隨著分布式環境的普及,多服務器協作已成必然趨勢。因此,針對多服務器的用戶身份驗證方案是現在研究的重點。
該方面的研究有些值得借鑒和學習。如Kuo等[5]證明了基于口令認證協議的缺陷,并提出的增加協議安全性方法。Wang等[6]針對已有方案的缺點,提出了一種改進的基于動態ID的多服務器遠程用戶認證方案。為了提高身份驗證的安全性,生物特征憑借其難以偽造復制、不會丟失、猜解或遺忘等優秀特性得到應用[7,8]。Chuang等[9]利用橢圓曲線密碼體制,提出一種基于生物特征的多服務器方案,但未提供第三因子安全性,不能抵御智能卡丟失、用戶冒名和內部攻擊。Mishra等[10]提出一種基于生物特征隱私的改進方案,但該方案受到智能卡丟失攻擊時,會導致其不能抵御冒名攻擊。Qu等[11]提出一種基于切比雪夫多形式的生物特征、智能卡、口令三因素身份認證方案。He等[12]提出基于模糊提取器和三因素的多服務器身份認證方案,但不能抵御臨時會話信息攻擊和錯誤口令驗證的危害。
針對上述各種安全性問題,本文基于生物特征,利用Chebyshev混沌映射和模糊提取器,提出一種改進的多服務器輕量級身份驗證安全方案,其中,輕量級驗證是指驗證所需的資源較少,本文將在下面的分析中說明所提方案的復雜度較低、執行時間較少;另外,也具有對低層硬件的依賴性較弱的特點,即滿足基本通信要求,不同于重量級需要特殊硬件設備和大量資源。本文的主要工作總結如下:①使用模糊提取器實現更合理的生物特征模式匹配;②使用Chebyshev混沌映射建立包含前向保密性的會話密鑰;③提出一種多服務器身份驗證方案,提高方案的安全性和效率。
本節對Chebyshev混沌映射和模糊提取器進行簡要介紹。所用的符合說明見表1。

表1 符號說明
Chebyshev混沌映射[13]Tm(y):[-1,1]→[-1,1],其中Tm(y)=cos(m·cos-1(y)),該式遵循遞推關系:Tm(y)=2yTm-1(y)-Tm-2(y),m≥2,T0(y)=1,T1(y)=y。


本文基于生物特征,提出一種多服務器身份驗證方案。該方案包括5個過程:服務器注冊、用戶注冊、登錄、身份驗證和密碼更改。
服務器Sj將一個注冊請求發送到RC。RC生成一個較大的素數p,并且通過互聯網密鑰交換協議將密鑰Ksr和p發送到服務器。在進行用戶身份驗證過程,該服務器使用密鑰Ksr。
用戶在安全信道上,執行如下過程以成為合法用戶,具體如下:
(1)Ui選擇一個隨機數ei計算(h(Pwi)⊕ei);然后,通過一個安全信道將{(h(Pwi)⊕ei),IDi}發送到RC。


在登錄過程中,如果輸入錯誤的標識符(IDi,Pwi,Bioi),智能卡SCi將檢測到一個未授權用戶。為了成功通過驗證,SCi計算啟動身份驗證過程所需的信息,具體步驟如下:
(1)Ui插入智能卡SCi,鍵入IDi和Pwi,在一個包含模糊提取器的設備上掃描其生物特征Bioi*,并得到Bioi*=Rep(Bioi*,PBioi)。


該過程包括為建立雙向身份驗證而進行的信息傳遞,使服務器和用戶之間達成一致的會話密鑰,具體過程如下:
(1)SCi將信息{Di,Mi1,Mi2}發送到服務器Sj。


(4)Sj將應答消息{SIDj,di,Mj1,Mj2}發送到SCi。



Ui可以在沒有任何Sj或RC幫助的情況下完成密碼更改,具體過程如下:
(1)Ui將SCi插入讀卡器,鍵入IDi和Pwi,在一個帶模糊提取器的設備上掃描其生物體征Bioi*,并得到RBioi*=Rep(Bioi*,PBioi)。

(3)通過驗證后,SCi允許Ui選擇并輸入新密碼Pwinew。

本節首先使用BAN邏輯證明所提方案的正確性,然后分析方案在抵御已知攻擊時的性能和時間復雜性,最后與其它方案進行比較。
本文使用BAN邏輯[15]對提出方案的正確性進行證明。BAN邏輯包括3個基本項:命題{X,Y}、主體{P,Q}和加密密鑰K。BAN邏輯分析中使用的符號見表2。

表2 BAN邏輯分析中使用的符號
BAN邏輯的規則如下:
根據BAN邏輯的程序,所提方案需實現如下目標:




為使用BAN邏輯,所提方案需轉換為如下理想化形式。
(1)消息1

(2)消息2

(3)消息3

(4)消息4

為了對提出的方案進行分析,本文做出如下初始狀態假設
(1)A1:Sj|≡#(zi);
(2)A2:Ui|≡#(zj);
(3)A3:Ui|≡#(ninew);




基于BAN邏輯規則和假設,對所提方案的理想化形式進行分析。





Tzjzi(vi) modp=skji=sk=skij=Tzizj(vi) modp可以得到第一個目標:

由消息2可知:R7:Ui?ui,ninew,IDi,,





Tzjzi(vi) modp=skji=sk=skij=Tzizj(vi)modp可以得到第二個目標:





對R16應用相信規則,可以得到第三個目標:





對R20應用相信規則,得到第四個目標:

3.2.1 提供用戶匿名性

3.2.2 抵御智能卡丟失攻擊

3.2.3 抵御離線密碼猜測攻擊
Ui和Sj之間交換的所有認證消息均獨立于用戶密碼,因此Att無法通過在網絡中對這些消息進行竊聽而獲得Ui的Pwi。該密碼僅可能從智能卡中獲得,而上文已經證明Att無法從丟失的智能卡中得到Ui的Pwi。
3.2.4 抵御重放攻擊

3.2.5 提供前向保密性

3.2.6 抵御用戶和服務器冒名攻擊

3.2.7 提供生物特征模板保護
用戶生物特征信息的泄露將會帶來災難性的后果,因為生物特征具有唯一性,其無法像密碼一樣進行更改,也無法像智能卡一樣重新發放。但即使攻擊者得到Ui的SCi并從中提取出Ci,也不能在沒有Pwi和vi情況下從Ci=h(Pwi)⊕RBioi⊕vi中得到RBioi。此外,SCi沒有以明文或密文形式存儲Bioi。
3.2.8 提供雙向身份驗證

為了說明本文提出方案的良好性能,將其安全性和時間復雜度與其它3種已有方案進行比較。實驗平臺為GPU:Intel Pentium 4 2.60 GHz,2.0 GB RAM。為了方便對時間復雜度進行分析,定義不同操作標識符:fh表示進行一次單向散列操作;ff表示進行一次模糊提取器操作;fch表示進行一次Chebyshev混沌映射操作;femp表示進行一次橢圓曲線點乘函數操作;fmd表示進行一次MD5哈希操作;fccm表示進行一次切比雪夫映射操作;fs表示進行一次對稱加解密操作。
表3給出本文方案各個過程的時間復雜度,總時間復雜度14fh+5fch+2ff。表4給出各種方案的時間復雜度和具體執行時間,表5顯示不同方案的安全性情況。對比表4和表5可以看出,文獻[10]所耗時間最短,但安全性能較低,對智能卡和用戶的各種攻擊抵御性較差。文獻[11]對智能卡攻擊抵御性能有所提高,但仍不能抵御冒名攻擊;文獻[12]改善冒名攻擊抵御性能,但未提供雙向身份驗證和智能卡持有者確認功能。雖然該兩種方案,在一定程度上提高了身份驗證安全性,但付出的時間代價較高。本文方案對各種安全性能進一步優化,同時時間復雜度適中,更適用于實際網絡環境。

表3 本文方案各過程時間復雜度

表4 各方案時間復雜度和執行時間

表5 各方案的安全性
本文利用Chebyshev混沌映射和模糊提取器,基于生物特征提出一種用于多服務器環境的身份驗證方案,該方案使用模糊提取器實現更合理的生物特征模式匹配,并使用Chebyshev混沌映射建立包含前向保密性的會話密鑰。同時,提出的方案進一步改善了用戶匿名性和不可追蹤性。利用基于BAN邏輯的形式化安全分析證明所提方案能夠抵御各種已知攻擊。通過與已有方案的比較分析,本文方案能夠以適當的時間復雜度,實現更高的保密性和安全性,在多服務器環境系統中具有較高的實用價值。