王松偉,陳建華
(武漢大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,武漢 430072)(*通信作者電子郵箱wangsw_ecc@163.com)
隨著互聯(lián)網(wǎng)各種應(yīng)用需求的快速增長,網(wǎng)絡(luò)廣泛應(yīng)用于商業(yè)、交通、政務(wù)、娛樂、醫(yī)療等領(lǐng)域,如醫(yī)生通過遠程醫(yī)療信息系統(tǒng)可以給患者提供方便快捷的電子醫(yī)療服務(wù),同時由于網(wǎng)絡(luò)的開放性,病人的醫(yī)療記錄等隱私需要保護以避免信息泄露。為了保護用戶的安全和隱私,近年來海內(nèi)外學(xué)者提出了一系列協(xié)議。比如,基于口令的單因子認證協(xié)議[1],基于口令+智能卡的雙因子認證協(xié)議[2],基于口令+智能卡+生物特征的多因子認證協(xié)議[3]。
2013年Guo等[4]提出了一個基于智能卡的認證協(xié)議,隨后Hao等[5]指出其不能保護用戶匿名性,并提出了一個新的認證協(xié)議。但是Lee[6]和Jiang等[7]指出Hao等[5]不能抵抗智能卡丟失攻擊和Bergamo攻擊[8]等問題。2014年,Xu等[9]提出了一個基于橢圓曲線的遠程用戶認證方案。隨后,Mishra[10]指出Xu協(xié)議[9]在登錄和認證階段存在設(shè)計漏洞,接著2015年Amin等[11]發(fā)現(xiàn)Xu方案[9]口令修改效率低下,并提出一個新的協(xié)議。2016年Zhang等[3]提出了一種基于混沌映射的認證密鑰協(xié)商協(xié)議,接著王彩芬等[12]通過分析Zhang等[3]方案,發(fā)現(xiàn)并不能抵抗內(nèi)部攻擊。Park等[13]提出的基于橢圓曲線的三因子認證協(xié)議,也被發(fā)現(xiàn)無法提供用戶匿名性且存在字典攻擊;Jung等[14]提出的匿名認證協(xié)議則無法保護用戶匿名性,存在字典攻擊、內(nèi)部攻擊且不具備前向安全性;Jiang等[15]提出的三因子認證協(xié)議也無法保護用戶匿名性,不能提供前向安全性且存在字典攻擊。針對以上問題,Wang等[16-18]指出設(shè)計實現(xiàn)用戶匿名性或多因子安全性的身份認證協(xié)議,必須采用公鑰密碼技術(shù)。傳統(tǒng)的公鑰密碼技術(shù)主要基于以下數(shù)學(xué)難題:大整數(shù)因子分解難題、離散對數(shù)難題、橢圓曲線離散對數(shù)難題。由于切比雪夫多項式混沌映射相比傳統(tǒng)公鑰算法具有較高的計算效率,2017年Li等[19]提出了一個更安全的基于混沌映射的醫(yī)療信息系統(tǒng)遠程用戶認證方案。
本文簡單回顧文獻[19]的方案并指出其不能抵抗用戶冒充攻擊,容易遭受拒絕服務(wù)攻擊,且無法確保用戶身份唯一性。本文提出了一個基于混沌映射的三因子認證密鑰協(xié)商協(xié)議方案,最后對協(xié)議進行安全性分析和性能分析,并與已有協(xié)議進行比較,表明本文協(xié)議更加安全高效和實用。
定義1 切比雪夫多項式[20]。設(shè)n為正整數(shù),x∈[-1,1],n階切比雪夫多項式Tn(x)定義如下:
Tn(x)=cos(n×arccos(x))
(1)
此外,切比雪夫多項式還有一種等價的遞歸定義如下:
Tn(x)=2xTn-1(x)-Tn-2(x)
(2)
其中:n≥2,T0(x)=1,T1(x)=x。
性質(zhì)1 半群性質(zhì)[8]:
Tr(Ts(x))=Trs(x)=Tsr(x)=Ts(Tr(x));r,s∈N
(3)
2008年,Zhang[21]證明了切比雪夫多項式在區(qū)間(-∞,+∞)上仍然具有半群特性。
定義2 擴展切比雪夫多項式。設(shè)n為正整數(shù),x∈(-∞,+∞),則定義在區(qū)間(-∞,+∞)上的n階擴展切比雪夫多項式Tn(x)為:
Tn(x)=cos(n×arccos(x)) modp
(4)
其等價的遞歸定義:
Tn(x)=2xTn-1(x)-Tn-2(x)(modp)
(5)
其中:n≥2且p是一個大素數(shù)。這里T0(x)=1,T1(x)=xmodp。顯然,式(5)同樣具有半群性質(zhì),即:
Tr(Ts(x))≡Trs(x)≡Tsr(x)≡Ts(Tr(x))(modp);
r,s∈N
(6)
多項式時間內(nèi)求解以下問題是困難的[21]:
問題1 混沌映射離散對數(shù)問題。給定x,p,以及y=Tr(x)(modp),找到一個正整數(shù)r,使得Tr(x)(modp)≡y。
問題2 混沌映射計算Diffie-Hellman問題:給定p,x,以及Tr(x)(modp)和Ts(x)(modp),找到一個正整數(shù)y,使得Trs(x)(modp)≡y。
生物特征如指紋、臉、虹膜、掌紋等,具有普遍性、唯一性、穩(wěn)定性、識別率高和不可復(fù)制等特性,因而成為個人身份鑒別與識別的重要依據(jù),在密碼協(xié)議中得到廣泛應(yīng)用[13-15,22]。 Dodis等[23]提出的模糊提取器很好地解決了生物特征應(yīng)用中的難題;當兩次輸入的BIO′和BIO相差不大時,模糊提取器可以輸出一個一致的隨機字符串σ。服務(wù)器等設(shè)備只需存儲隨機字符串σ,而無需存儲用戶生物特征。
模糊提取器可用算法函數(shù)〈Gen,Rep〉表示:Gen是一個隨機數(shù)生成算法函數(shù)Gen(BIO)=(σ,θ),當輸入生物特征BIO時,Gen將輸出一個隨機字符串σ和一個輔助隨機字符串θ,其中:σ為安全參數(shù);Rep是一個隨機恢復(fù)算法函數(shù)σ=Rep(BIO′,θ)。模糊提取器在接收到一個誤差允許范圍內(nèi)的生物特征BIO′以及相應(yīng)的隨機輔助字符串θ時,若dis(BIO′,BIO)≤ε,則恢復(fù)出對應(yīng)的字符串σ,其中:dis(BIO′,BIO)≤ε表示BIO′和BIO的距離不超過一個給定的區(qū)間ε。
本章對Li協(xié)議[19]作一個簡單的回顧。
表1 Li協(xié)議[19]中到的符號說明Tab. 1 Symbol description of Li protocol[19]
1)用戶Ui選取身份IDi和口令PWi,通過安全信道發(fā)送IDi給服務(wù)器S。
2)服務(wù)器生成隨機數(shù)ei并計算CIDi=h(IDi,ei),B0=h(CIDi,s),通過安全通道發(fā)送B0,CIDi給Ui。
3)用戶選取隨機數(shù)bi,計算HPWi=h(PWi,bi),B1=B0?h(IDi,HPWi),B2=h(IDi,PWi)?bi,并將數(shù)據(jù)(B1,B2,CIDi)存儲到移動設(shè)備中。
1)用戶Ui輸入用戶名IDi和密碼PWi,計算bi=B2?h(IDi,PWi),HPWi=h(PWi,bi)。
2)用戶選取隨機數(shù)u、ri,計算C1=B1?h(IDi,HPWi)?ri,C2=Tu(x),C3=h(ri)?IDi,C4=h(IDi,CIDi,ri,C2,C3),通過公共信道發(fā)送M1={CIDi,C1,C2,C3,C4}給S。
在實際中,很有可能兩個不同用戶選擇了相同的身份,按照Li方案[19],這兩個用戶都可以注冊成功,而且也都是合法用戶,也可以登錄同一個服務(wù)器,然而服務(wù)器卻無法區(qū)分他們,這可能會產(chǎn)生嚴重問題。
圖1 新協(xié)議的認證過程Fig.1 Certification process of new protocol
本文提出了一個新的基于擴展混沌映射的三因子認證協(xié)議。新協(xié)議包括:注冊、登錄認證、口令修改以及注銷等四個階段。相關(guān)符號的含義如表2所示。
表2 本文協(xié)議中的符號說明Tab. 2 Symbol description of the proposed protocol
1)用戶Ui選取身份IDi和口令PWi,通過安全信道傳送IDi、生物信息BIOi給服務(wù)器S。
2)服務(wù)器收到用戶注冊請求之后,首先查找IDi是否已存在,若存在,表明該ID已經(jīng)被注冊,拒絕用戶注冊請求;若不存在,將生物信息輸入到模糊提取器得到一個隨機字符串σ和一個輔助隨機字符串θ,即Gen(BIOi)=(σ,θ)。S選取隨機數(shù)ei,并計算B0=h(IDi,s),CIDi=h(B0,ei),通過安全信道發(fā)送消息B0,CIDi,θ,Rep(·),p給Ui,其中p為素數(shù),同時在后臺數(shù)據(jù)庫添加(IDi,CIDi),將BIOi刪除。
由于C2=Tu(ri) modp和C4=Tv(ri) modp,則有
sks≡Tv(C2)≡Tv(Tu(ri))≡Tvu(ri)≡
Tuv(ri)≡Tu(Tv(ri))≡Tu(C4)≡skumodp
所以本文方案是正確的。
當用戶不再使用該服務(wù)時,Ui可以向服務(wù)器申請注銷其賬號,服務(wù)器在驗證了用戶Ui的身份之后,在用戶數(shù)據(jù)庫中找到其IDi,然后將(IDi,CIDi)從數(shù)據(jù)庫中刪除即可。
定義方案安全性分析的安全假設(shè)如下:
假設(shè)1 攻擊者可以截獲公開信道上的信息,且能夠?qū)π畔⑦M行修改和重放,攻擊者獲得用戶的設(shè)備后可以利用能量分析等方法(Kocher等[24]、Messerges等[25]、Brier等[26])獲取設(shè)備中存儲的數(shù)據(jù)。
假設(shè)2 服務(wù)器的主密鑰s、哈希函數(shù)是安全的,即攻擊者在多項式時間內(nèi)無法解決這些問題。
在以上安全假設(shè)下,下面分析本文方案的安全性:新協(xié)議給每個用戶分配動態(tài)身份保護用戶匿名性,所以這里假設(shè)攻擊者已經(jīng)鎖定了目標用戶。
1)抵抗Bergamo攻擊:Bergamo攻擊[8]中,攻擊者必須得到x,Tr(x)和Tk(x)三個元素,才能發(fā)動有效攻擊。本文協(xié)議采用擴展的切比雪夫多項式,采用了模運算,而且x∈(-∞,+∞)能夠效避免三角函數(shù)的周期性。
4)抗口令猜測攻擊:本文協(xié)議沒有在線對用戶口令驗證,而是驗證用戶與服務(wù)器共享的秘密值攻擊者選擇在線攻擊時,當停止會話次數(shù)達到預(yù)先定義的閾值,賬號會被鎖定,所以,本文協(xié)議可以抵抗在線猜測攻擊。對于離線猜測攻擊,假設(shè)攻擊者獲得了用戶的設(shè)備,即使攻擊者可以同時猜測用戶的身份和口令,由于B3=h(σ,IDi?PWi)modn,攻擊者卻無法驗證猜測口令的正確性。
6)抗設(shè)備丟失攻擊:假設(shè)攻擊者獲得Ui的設(shè)備,并通過能量分析獲得設(shè)備中的信息(B1,B2,B3,CIDi,θ,Rep(·),p),由以上分析可知,攻擊者并不能得到用戶的口令,也無法偽造用戶的生物信息。
7)抗重放攻擊和冒充攻擊:本文協(xié)議中用戶每次均采用動態(tài)身份登錄,攻擊者直接重放以前經(jīng)過雙方認證的消息很容易被識破,攻擊者只能冒充合法用戶或者服務(wù)器嘗試構(gòu)造正確的消息進行攻擊。
(a)攻擊者M冒充用戶:假設(shè)攻擊者獲得了用戶的移動設(shè)備并獲得用戶的CIDi,然后冒充用戶。因為C1、C2、C3都與隨機數(shù)ri有關(guān),因此攻擊者若要冒充用戶,必須構(gòu)造C1、C2、C3,攻擊者無法獲得用戶的口令,更不可能獲得服務(wù)器密鑰s,所以很難偽造出C1。
(b)攻擊者M冒充服務(wù)器:因為用戶每次登錄選擇不同的隨機數(shù)ri,顯然直接重放消息M2={C4,C5,C6}無效,攻擊者只能嘗試構(gòu)造C4、C5、C6,攻擊者必須先計算出ri,而ri=h(IDi,s)?C1,攻擊者不可能獲得服務(wù)器密鑰s,所以很難偽造出正確的ri。
8)中間人攻擊:由以上分析可知,攻擊者無法計算相關(guān)消息,簡單的消息重放很容易被識破,更不可能計算出共享會話密鑰。
9)完美前向安全性:本文協(xié)議雙方協(xié)商的會話密鑰為sks≡Tuv(ri)≡Tv(Tu(ri))≡Tu(Tv(ri)) modp,假設(shè)攻擊者獲得系統(tǒng)密鑰和用戶的口令,通過公開信道截獲到會話密鑰的兩個元素Tu(ri) modp和Tv(ri) modp然而攻擊者在不知道隨機數(shù)u或v的情況下,計算Tuv(ri)面臨擴展切比雪夫多項式的數(shù)學(xué)難題,若攻擊者先由Tu(ri) modp和Tv(ri) modp計算出u或v也面臨擴展切比雪夫多項式的數(shù)學(xué)難題。
10)已知會話密鑰安全性:已知會話密鑰安全性是指通信雙方產(chǎn)生的會話密鑰之間應(yīng)該相互獨立。本文協(xié)議會話密鑰sks≡Tuv(ri)≡Tv(Tu(ri))≡Tu(Tv(ri)) modp,其中u和v是用戶和服務(wù)器選取的一次性隨機數(shù),所以即使攻擊者獲得了某一次的會話密鑰sk,他也不可能計算出下一次的會話密鑰sk′。
本節(jié)將新協(xié)議同Xu協(xié)議[9]、Mishra協(xié)議[10]、Amin協(xié)議[11]、Zhang協(xié)議[3]、Li協(xié)議[19]進行比較。
從表3的分析結(jié)果來看,本文協(xié)議方案在功能上明顯優(yōu)于其他的認證協(xié)議方案。
表4對比了計算效率,符號含義如下:Th表示計算一次哈希函數(shù)值所需時間;Tc表示計算一次切比雪夫多項式所需時間;Ta表示計算一次橢圓曲線點加所需時間;Te表示計算一次橢圓曲線點乘所需時間;Ts表示進行一次對稱加密(或解密)所需時間。
依據(jù)文獻[27]可知:Te>Ta?Th,Tc≈70Ts≈175Th,Ts≈2.5Th。由于協(xié)議的主要運算在登錄和認證階段,所以表中僅使用這兩個階段進行性能比較。從表4的結(jié)果來看,本文方案僅需4Tc+15Th,雖然文獻[10]方案比本文方案要快,但文獻[10]不能抵抗重放攻擊、設(shè)備丟失攻擊及中間人攻擊,很顯然本文方案計算性能明顯優(yōu)于其他方案。
表3 不同協(xié)議的功能對比Tab. 3 Functional comparison of different protocols
表4 不同協(xié)議的計算效率對比Tab. 4 Computational efficiency comparison of different protocols
通過分析Li方案,指出其不能抵抗用戶冒充攻擊,容易遭受拒絕服務(wù)攻擊等缺陷。本文提出了一個三因子認證密鑰協(xié)商協(xié)議,通過使用擴展混沌映射,采用三次握手技術(shù)實現(xiàn)異步認證,保護用戶匿名性和身份唯一性,安全性分析和性能分析結(jié)果表明,新協(xié)議不僅可以抵抗常見攻擊,滿足必要的安全需求,還具有較高的計算效率,因此,新協(xié)議具有更高的實用性。