張 平 賈亦巧 王杰昌 付主木
1(河南科技大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院 河南 洛陽(yáng) 471023) 2(鄭州大學(xué)體育學(xué)院計(jì)算機(jī)教研室 河南 鄭州 450044) 3(河南科技大學(xué)信息工程學(xué)院 河南 洛陽(yáng) 471023)
伴隨移動(dòng)通信與網(wǎng)絡(luò)技術(shù)的飛躍,現(xiàn)如今,諸多的業(yè)務(wù)活動(dòng)都依靠網(wǎng)絡(luò)進(jìn)行,如社交通信、移動(dòng)支付與線上購(gòu)物等。網(wǎng)絡(luò)的確使人們的工作生活變得高效便捷,但同時(shí)也引發(fā)了一些安全隱患,使得信息安全與隱私保護(hù)成為了社會(huì)普遍關(guān)注的問題。因此,提升客戶在使用網(wǎng)絡(luò)時(shí)的安全性與隱私性具有極其重要的研究?jī)r(jià)值,如何保證客戶與服務(wù)提供方之間進(jìn)行安全的匿名認(rèn)證與密鑰協(xié)商成為亟須解決的問題。
作為密碼學(xué)中廣泛使用的協(xié)議,認(rèn)證與密鑰協(xié)商協(xié)議可使通信方之間建立共享會(huì)話密鑰,并以此實(shí)現(xiàn)開放網(wǎng)絡(luò)中的安全通信[1]。Diffie等[2]提出兩方的密鑰協(xié)商協(xié)議;Shamir[3]提出基于身份的密碼體制;Boneh等[4]依據(jù)雙線性對(duì)理論提出基于身份的加密協(xié)議。之后,研究者們不斷提出基于身份與雙線性對(duì)的認(rèn)證密鑰協(xié)商協(xié)議[5-7],但雙線性映射存在運(yùn)算速度較慢[8-9]等問題。為提升計(jì)算效率,部分基于身份和橢圓曲線加密理論的認(rèn)證協(xié)議[10-15]被提出,但其中大都沒有考慮客戶的匿名性。
近年來(lái),將不易遺忘、關(guān)聯(lián)度大且便于提取的生物特征作為認(rèn)證要素的生物認(rèn)證技術(shù)正蓬勃發(fā)展[16-20]。因此,本文嘗試將智能卡、口令與生物認(rèn)證相結(jié)合,提出一個(gè)新的基于智能卡的匿名認(rèn)證與密鑰協(xié)商協(xié)議,并基于橢圓曲線上的計(jì)算性Diffie-Hellman假設(shè)(CDH假設(shè)),結(jié)合eCK安全模型[18]與隨機(jī)預(yù)言機(jī)模型證明了協(xié)議具有前向安全、會(huì)話臨時(shí)秘密泄露安全、抗重放攻擊、抗主動(dòng)攻擊、抗偽造攻擊、抗中間人攻擊、抗內(nèi)部特權(quán)人員攻擊、抗密鑰泄露偽裝、抗智能卡丟失攻擊等安全屬性。相較于現(xiàn)有協(xié)議,本文協(xié)議不但具有良好的安全性,也具有較高的通信效率與實(shí)用性。
Hash函數(shù)是一種可將任意長(zhǎng)的消息M映射為較短且定長(zhǎng)值的公開函數(shù)。抗碰撞的單向Hash函數(shù)H(·)滿足以下性質(zhì)[21]:
性質(zhì)1已知M,易計(jì)算h=H(M)。
性質(zhì)2已知H′,求使得H(M)=h的M在計(jì)算上不可行。
性質(zhì)3已知M,找到M′(M′≠M(fèi)),使得H(M′)=H(M)在計(jì)算上不可行。
性質(zhì)4找到M與M′(M′≠M(fèi)),使得H(M′)=H(M)在計(jì)算上不可行。
(1)Corrupt(IDC)查詢:S返回客戶C(身份為IDC)的私鑰給A(模擬前向安全性)。
(5)SmartcardReveal(IDC,smartcard):S返回客戶C擁有的智能卡中的信息給A(模擬智能卡丟失攻擊)。
(6)BiometricReveal(IDC,t)查詢:S返回客戶C對(duì)應(yīng)的生物特征信息給A。
最后,A輸出對(duì)Test查詢中b的猜測(cè)值b′,若有b′=b,則A贏得游戲,定義其獲勝的優(yōu)勢(shì)概率為:
式中:k為安全參數(shù)。
定義3匿名認(rèn)證與密鑰協(xié)商協(xié)議在滿足以下兩個(gè)條件時(shí)為安全協(xié)議:
(2) 任意概率多項(xiàng)式時(shí)間內(nèi),敵手A獲勝的優(yōu)勢(shì)概率AdvA(k)可忽略。
生物特征具有穩(wěn)定性,便于提取且占據(jù)較少空間[23]。此外,生物特征與客戶之間具有極大關(guān)聯(lián)度,難以被偽造或者截獲,這種唯一性便于證明客戶的真實(shí)身份。與僅基于口令相比,借助生物特征識(shí)別的身份認(rèn)證是一種更加可靠的認(rèn)證方式。
本文主要用到的符號(hào)的含義如表1所示。
表1 主要符號(hào)含義
協(xié)議包括初始化、注冊(cè)、認(rèn)證協(xié)商、口令變更和智能卡權(quán)限回收5個(gè)階段,其中所提及的部分符號(hào)含義見表1。
SP選擇安全且抗碰撞的單向Hash函數(shù):
H2:{0,1}*×{0,1}*→{0,1}l
(2)SP檢查IDC是否已存在于數(shù)據(jù)庫(kù),若為首次注冊(cè),設(shè)定其注冊(cè)參數(shù)NC=0,若為再次注冊(cè),則設(shè)定為NC=1。SP儲(chǔ)存注冊(cè)信息I=(IDC‖T‖NC)于數(shù)據(jù)庫(kù),其中T為當(dāng)前時(shí)間戳。
YC=yCP,FC=H1(IDC,YC),dC=yC+xFC
YSP=ySPP,FSP=H1(IDSP,YSP),dSP=ySP+xFSP
AIDC=H(IDC‖IDSP‖x)
IDAC=H(AIDC‖CPWC‖t)
MC=H(IDC‖CPWC‖t)
其中:YC與dC作為C的公鑰與私鑰;YSP與dSP作為SP的公鑰與私鑰;AIDC為加密身份信息;IDAC為賬戶索引;MC為智能卡驗(yàn)證信息。
(4)SP為C創(chuàng)建賬戶(IDAC,IDC,account)并將之秘密保存(account中含有客戶的交易信息及要求的服務(wù)類型等信息),同時(shí)為C分配一個(gè)智能卡:
smartcard={AIDC,IDSP,MC,FC,YC,dC}
(1)C插入智能卡至移動(dòng)設(shè)備,提取生物特征t,輸入IDC、CPWC與t。之后,智能卡對(duì)合法客戶進(jìn)行認(rèn)證,即計(jì)算CPWC=H(μ‖PWC),并驗(yàn)證:
假若等式不成立,則立即結(jié)束認(rèn)證;否則,可繼續(xù)進(jìn)行下列操作。
RC=rP,R=rPKSP,U=H(IDSP‖R‖TC)
D=H(AIDC‖CPWC‖t)⊕H(R‖U)
其中:RC為共享秘密;U為驗(yàn)證信息;(R,D)為新的客戶簽名。C→SP:m1=(D,YC,RC,TC),其中m1為服務(wù)請(qǐng)求。
(3)SP接收m1后,對(duì)TC的有效性進(jìn)行檢驗(yàn),假若無(wú)效,則立即結(jié)束認(rèn)證;否則,可繼續(xù)執(zhí)行下列操作。
(4)SP計(jì)算:
R=xRC,U=H(IDSP‖R‖TC)
IDAC=D⊕H(R‖U)
并在數(shù)據(jù)庫(kù)中進(jìn)行檢索,若與IDC對(duì)應(yīng)的客戶不存在,則立即結(jié)束認(rèn)證;否則,便可找到客戶信息,即說(shuō)明客戶通過(guò)了服務(wù)提供方的驗(yàn)證。
(7)C接收m2,計(jì)算共享秘密KC1=rPS+dCRSP、KC2=dCPS、KC3=rRSP(其中PS=YSP+FSPPKSP),以及會(huì)話密鑰SKCS=H2(IDC‖IDSP‖RC‖RSP,KC1‖KC2‖KC3)。
上述認(rèn)證協(xié)商的過(guò)程如圖1所示。
圖1 協(xié)議的認(rèn)證協(xié)商過(guò)程
合法客戶C插入智能卡至移動(dòng)設(shè)備,提取特征信息t,輸入IDC、PWC與t,申請(qǐng)進(jìn)行口令更改。智能卡進(jìn)行下列操作:
C申請(qǐng)對(duì)智能卡權(quán)限進(jìn)行回收,SP進(jìn)行下列操作:
(1) 通過(guò)索引IDAC查找對(duì)應(yīng)客戶的IDC。
協(xié)議的正確性可由如下等式證明:
(1)
KC2=dCPS=dCdSPP=dSPPC=KS2
(2)
(3)
由式(1)-式(3)可得SKSC=SKCS,即得到相同會(huì)話密鑰。
定理1在橢圓曲線上的CDH假設(shè)成立的條件下,本文所提的匿名認(rèn)證與密鑰協(xié)商協(xié)議是安全的。
(4)Corrupt(IDi)查詢:S收到該查詢后,若存在元組(IDi,di,Yi)∈Lc(其中di=yi+xFi),則返回di;否則,進(jìn)行H1(IDi,*)查詢獲得元組(IDi,*,Fi),隨后:
① 若有i=J,則計(jì)算Yi=aP-FiPKSP,并將(IDi,⊥,Yi)插入Lc,報(bào)錯(cuò)終止(E1)。
S收到該查詢后:
④ 設(shè)置f=1。
③ 否則,若有di≠⊥,計(jì)算:
若有di=⊥,計(jì)算:
(8)SmartcardReveal(IDi,smartcard):S收到該查詢后,若存在IDi的智能卡信息,則返回smartcard;否則,S返回⊥。
(9)BiometricReveal(IDi,t)查詢:S收到該查詢后,若存在IDi的生物特征信息,則返回t;否則,S返回⊥。
結(jié)果分析:
此外,當(dāng)A獲得了客戶的生物特征信息與智能卡信息時(shí),依據(jù)μ的隨機(jī)性以及抗碰撞的單向Hash函數(shù)的性質(zhì)可知,A只能通過(guò)隨機(jī)猜測(cè)IDC與CPWC并通過(guò)查詢偽裝成客戶進(jìn)行認(rèn)證,在此條件下最終取得真實(shí)會(huì)話密鑰的概率可忽略,即敵手無(wú)法假冒合法客戶,進(jìn)而保證了客戶的匿名性。協(xié)議中時(shí)戳的設(shè)定保證了協(xié)議抵抗重放攻擊。智能卡回收階段的設(shè)定也保證了協(xié)議具有抵抗智能卡丟失攻擊的能力。
下面針對(duì)計(jì)算效率與安全性能兩個(gè)方面,將本文協(xié)議同最近提出的相關(guān)認(rèn)證協(xié)議[24-25]進(jìn)行了對(duì)比分析。
(1) 計(jì)算開銷方面,主要針對(duì)認(rèn)證密鑰協(xié)商階段進(jìn)行了橢圓曲線上的點(diǎn)乘運(yùn)算(EM)、Hash函數(shù)運(yùn)算(EH)、雙線性映射運(yùn)算(Epm)的考察,忽略不計(jì)輕量級(jí)⊕、‖計(jì)算;通信開銷方面,則主要考察信息交互次數(shù)。具體對(duì)比結(jié)果如表2所示。
表2 計(jì)算性能對(duì)比(次數(shù))
因雙線性對(duì)的計(jì)算涉及復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和數(shù)學(xué)運(yùn)算[26],其相關(guān)計(jì)算開銷幾乎是橢圓曲線點(diǎn)乘的20倍[27],故實(shí)現(xiàn)效率較低、耗時(shí)較多。由表2可知,本文協(xié)議與文獻(xiàn)[24]相比具有更低的計(jì)算開銷,而與文獻(xiàn)[25]相比,計(jì)算差別不大。由信息交互次數(shù)可知,本文協(xié)議的通信效率與文獻(xiàn)[25]一致,高于文獻(xiàn)[24]。
(2) 通過(guò)相應(yīng)的安全性分析與證明,本文協(xié)議與文獻(xiàn)[24-25]的安全性對(duì)比結(jié)果如表3所示,其中:“√”表示滿足此類屬性;“×”表示不滿足此類屬性。
表3 安全性能對(duì)比
可以看出,文獻(xiàn)[24]存在無(wú)法抵抗重放攻擊等安全問題,文獻(xiàn)[25]則無(wú)法提供客戶匿名性,而本文協(xié)議可以克服這些缺陷,并且能夠抵擋其他常見的攻擊,具有良好的安全性。
綜上分析,本文協(xié)議相較于現(xiàn)有的認(rèn)證協(xié)議[24-25]而言,在計(jì)算和通信效率及安全性能方面具有一定的優(yōu)勢(shì),本文的匿名認(rèn)證與密鑰協(xié)商協(xié)議更具實(shí)用性和可操作性。
本文結(jié)合智能卡與生物認(rèn)證技術(shù)等方法,設(shè)計(jì)一種安全的匿名認(rèn)證與密鑰協(xié)商協(xié)議,并在強(qiáng)安全模型與隨機(jī)預(yù)言機(jī)模型下基于橢圓曲線上的CDH假設(shè)給出協(xié)議安全性的形式化證明。綜合分析,本文協(xié)議有效地增強(qiáng)了認(rèn)證協(xié)商過(guò)程的安全性與便捷性,同時(shí)保證了客戶的匿名性,易于在管理信息系統(tǒng)領(lǐng)域推廣應(yīng)用。