劉 暢,王 晉,田 里,王 捷,葉凈宇,秦 帆,周雨陽(yáng)
(1. 國(guó)網(wǎng)湖北省電力有限公司電力科學(xué)研究院 能源互聯(lián)網(wǎng)技術(shù)中心, 武漢 430077;2. 數(shù)字廣西集團(tuán)政企事業(yè)部, 南寧 530219;3.重慶大學(xué) 大數(shù)據(jù)與軟件學(xué)院,重慶,400044;4. 電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院, 成都 611731)
密鑰協(xié)商是在不安全信道上建立會(huì)話密鑰的一種重要方式。Diffie和Hellman[1]基于離散對(duì)數(shù)困難問(wèn)題,為密鑰分發(fā)系統(tǒng)(PKDS, public key distribution system)設(shè)計(jì)了兩方密鑰協(xié)商協(xié)議(DH協(xié)議)。該協(xié)議在公網(wǎng)上提供了會(huì)話密鑰服務(wù),防止來(lái)自被動(dòng)攻擊者的消息泄露,但不能抵抗來(lái)自主動(dòng)攻擊者的擾亂、刪除消息等行為:如中間人攻擊(MITM,man-in-the-middle)。為了抵抗中間人攻擊,Matsumoto等[2]基于DH協(xié)議設(shè)計(jì)了3個(gè)密鑰協(xié)商協(xié)議:MTI/A0,MTU/B0,MTI/C0。這些協(xié)議能夠?yàn)橥ㄐ烹p方建立雙方的認(rèn)證會(huì)話密鑰,且不利用簽名就能抵抗主動(dòng)攻擊。然而,如果一個(gè)長(zhǎng)期密鑰泄露,攻擊者就能計(jì)算出兩方的會(huì)話密鑰。Kunz-Jacques和Pointcheval[3]提出了2個(gè)新的概念:認(rèn)證密鑰協(xié)商(AKA, authenticated key agreement)和帶密鑰確認(rèn)的認(rèn)證密鑰協(xié)商(AKAC, AKA with key confirmation)。AKA保證只有特定的參與者能夠計(jì)算出該次會(huì)話密鑰。AKAC在AKA的基礎(chǔ)上,確認(rèn)了通信實(shí)體都獲得該次會(huì)話密鑰。Law等[4]設(shè)計(jì)了一個(gè)兩方的AKA協(xié)議(MQV協(xié)議),同時(shí)利用消息認(rèn)證碼(MAC, message authentication code)技術(shù)設(shè)計(jì)了一個(gè)三方的AKAC協(xié)議。該協(xié)議實(shí)現(xiàn)了已知密鑰安全、前向安全、密鑰控制。Krawczyk[5]指出這些協(xié)議在CK模型[6]下是不安全的,并且在MQV協(xié)議的基礎(chǔ)上提出了HMQV協(xié)議。為了增強(qiáng)安全模型中攻擊者的能力,LaMacchina等[7]在CK模型的基礎(chǔ)上提出了eCK模型,允許敵手對(duì)臨時(shí)私鑰進(jìn)行詢問(wèn)。目前,eCK模型成為了AKA協(xié)議的主流安全證明模型。Yao和Zhao[8]結(jié)合了KEA[9]和HMQV,設(shè)計(jì)了一個(gè)“最優(yōu)”的AKA協(xié)議。KEA是由NSA設(shè)計(jì)的一個(gè)AKA協(xié)議,能保證最優(yōu)的在線效率,但不能在eCK模型中被證明安全。以上這些協(xié)議都是基于公鑰基礎(chǔ)設(shè)施 (PKI, public key infrastructure)。在PKI中,為了抵抗公鑰替換攻擊,采用稱為證書(shū)權(quán)威(CA, certificate authority)的可信機(jī)構(gòu)來(lái)頒發(fā)數(shù)字證書(shū),用于綁定用戶身份和公鑰。因此,PKI不可避免帶來(lái)了證書(shū)管理的問(wèn)題,如證書(shū)頒發(fā)、存儲(chǔ)、驗(yàn)證、回收等。
為了解決PKI中的證書(shū)管理問(wèn)題,Shamir[10]提出了基于身份的密碼學(xué)(IBC, identity-based cryptography)。2002年,受Boneh和Franklin基于身份加密(identity-based encryption, IBE)[11]和Joux的三方DH協(xié)議[12]的啟發(fā),Smart提出了一個(gè)基于身份的密鑰協(xié)商(identity-based authenticated key agreement, ID-AKA)協(xié)議。該協(xié)議基于Weil雙線性對(duì),消除了證書(shū)管理的問(wèn)題,但由于用戶私鑰都由一個(gè)可信的私鑰生成器(PKG, private key generator)生成,帶來(lái)密鑰托管問(wèn)題,影響會(huì)話密鑰的前向安全性。這意味著如果PKG被妥協(xié)了,敵手將能計(jì)算出之前的會(huì)話密鑰。Chen和Kudla[13-14]利用PKG只能獲知長(zhǎng)期密鑰而非臨時(shí)密鑰實(shí)現(xiàn)會(huì)話密鑰的前向安全性。同時(shí),設(shè)計(jì)了一個(gè)基于身份的密鑰協(xié)商確認(rèn)(ID-AKAC, ID-AKA with key confirmation)協(xié)議,主要思想是在用戶身份信息上加上MAC值。之后,一系列ID-AKA協(xié)議[15-17]被提出,這些協(xié)議的安全性證明都沒(méi)基于eCK模型。最近,Daniel等[18]提出了一個(gè)適用于eCK模型的無(wú)雙線性對(duì)的ID-AKA協(xié)議,能夠抵抗公鑰替換攻擊和已知臨時(shí)會(huì)話秘密值泄露攻擊(KSTIA, known session-specific temporary attack)。通過(guò)以上分析,發(fā)現(xiàn)這些密鑰協(xié)商協(xié)議都是在經(jīng)典安全模型下被證明安全的。攻擊者能夠通過(guò)設(shè)置一些不被發(fā)現(xiàn)的后門(mén)程序來(lái)擾亂這些算法的執(zhí)行,從而導(dǎo)致用戶秘密信息的泄露。
2014年,Bellare等[19]研究算法替換攻擊(ASA, algorithm substitution attack),證明了一個(gè)攻擊者能夠通過(guò)替換對(duì)稱加密方案來(lái)監(jiān)視用戶,得出了ASA能在任何隨機(jī)或者無(wú)狀態(tài)的加密方案中發(fā)生。ASA的研究為密碼學(xué)提出了一個(gè)新問(wèn)題:在敵手秘密干擾下,如何保證密碼方案的安全性?(這個(gè)方向也叫做后斯諾登密碼學(xué)[20])。為了回答這個(gè)問(wèn)題,Mironov等[21]在2015年的歐密會(huì)上提出了逆向防火墻(RF, reverse firewall)的概念。RF處在用戶計(jì)算機(jī)和外界網(wǎng)絡(luò)之間,能夠修改用戶收到或者發(fā)送的消息。即使用戶計(jì)算機(jī)被妥協(xié)了,攻擊者也無(wú)法辨認(rèn)所接收的消息是否為真。RF可以取得以下3個(gè)性質(zhì): 1)維持功能性,即如果用戶的計(jì)算機(jī)正確工作,RF不會(huì)破壞密碼算法的功能; 2)保持安全性,即無(wú)論用戶的計(jì)算機(jī)如何被敵手?jǐn)噥y,RF的使用將保持與正確執(zhí)行密碼算法一樣的安全性; 3)抗泄露性,即無(wú)論用戶的計(jì)算機(jī)如何被攪亂運(yùn)行,逆向防火墻將將阻止計(jì)算機(jī)向外泄露秘密信息。同年,Ateniese等[22]探討了RF在數(shù)字簽名上的應(yīng)用,得出了任何隨機(jī)化的數(shù)字簽證都難抵抗ASA。在2016年的美密會(huì)上,Dodis等[23]利用RF,在被妥協(xié)機(jī)器上實(shí)現(xiàn)了安全消息傳輸。在2016年的亞密會(huì)上,Chen等[24]利用可延展平滑映射哈希函數(shù),給出了用于安全消息傳輸協(xié)議、不經(jīng)意的基于簽名的信封和不經(jīng)意傳輸協(xié)議的RF方案。2018年,Ma等[25]設(shè)計(jì)了一個(gè)適用于在線/離線的基于屬性加密(ABE, Attribute-based encryption)的RF方案。方案中含有3個(gè)RF,分別部署于發(fā)送者、接收者和PKG。2019年,Hong等[26]設(shè)計(jì)了一個(gè)可以在ABE中實(shí)現(xiàn)屬性分發(fā)的RF方案。Zhou等[27]設(shè)計(jì)了一個(gè)適用于IBE的RF方案,其中一個(gè)實(shí)現(xiàn)了選擇明文攻擊安全性,另一個(gè)在適應(yīng)性選擇密文攻擊下達(dá)到了半語(yǔ)義安全性。最近,Zhou等[28]為無(wú)證書(shū)加密和無(wú)證書(shū)簽名設(shè)計(jì)了RF方案。
目前,認(rèn)證密鑰協(xié)商協(xié)議中抗后門(mén)攻擊的方案存在抗攻擊能力弱、性能不高等缺點(diǎn)。通過(guò)對(duì)RF的研究和分析,提出了能否使用RF來(lái)提高兩方認(rèn)證密鑰協(xié)商協(xié)議中信息抗泄露問(wèn)題。將RF與兩方密鑰協(xié)商相結(jié)合,設(shè)計(jì)了一種無(wú)需雙線性對(duì)的基于身份認(rèn)證密鑰協(xié)商的逆向防火墻( ID-AKA-RF, reverse firewall for ID-AKA)協(xié)議。
定義1橢圓曲線上的離散對(duì)數(shù)問(wèn)題(ECDLP, discrete logarithm problem on elliptic curve):已知橢圓曲線上的點(diǎn)P,給定(P,mP) 求整數(shù)m∈q。這個(gè)問(wèn)題稱為橢圓曲線上的離散對(duì)數(shù)問(wèn)題。當(dāng)點(diǎn)有大素?cái)?shù)階時(shí),求解ECDLP被認(rèn)為是計(jì)算困難的。
定義2逆向防火墻:假設(shè)是W是一個(gè)RF,P=(receive, next, output) 是一個(gè)組。如果以下等式滿足,則W是一個(gè)為P設(shè)置的RF。其中,σ是初始公共參數(shù),m是傳輸?shù)南ⅰ?/p>
W°P:=(receiveW°P(σ,m)=receiveP(σ,W(m)),
nextW°P(σ)=W(nextP(σ)),
outputW°P(σ)=W(outputP(σ)).
一個(gè)合格的RF滿足以下3個(gè)性質(zhì):1)維持功能性; 2)保持安全性; 3)抗泄露性。
定義3維持功能性:假設(shè)是W是一個(gè)RF,P是一個(gè)組,S是一個(gè)協(xié)議,F(xiàn)是一個(gè)函數(shù)。Wk°P表示在S中有限個(gè)k≥1里,對(duì)于P維持F。當(dāng)P,S和F被清空,就說(shuō)W維持了原協(xié)議的功能。同時(shí),Wk°P=W°(Wk-1°P)表示RF能夠堆砌。
定義4保持安全性:假設(shè)是W是一個(gè)RF,P是一個(gè)組,S是一個(gè)協(xié)議,F(xiàn)是一個(gè)函數(shù),A表示安全性要求。如果SP?W°P*也滿足A,就說(shuō)對(duì)于S中的P能夠抵抗攻擊F的敵手,則W維持了原協(xié)議的安全要求性。其中SP?W°P*表示用W°P*代替P,P*是抵抗功能維護(hù)性的實(shí)現(xiàn)組。當(dāng)P、S、F和A被清空,就說(shuō)W維持了原協(xié)議的弱安全性。
定義5抗泄露性:假設(shè)是W是一個(gè)RF,P是一個(gè)組,S是一個(gè)協(xié)議,F(xiàn)是一個(gè)函數(shù),A表示安全性要求。如果不存在敵手能夠攻破信息泄露LEAK(S,P1,P2,W,λ)游戲,那么W對(duì)于P1而言提供了弱抗泄露性。其中,λ表示安全性參數(shù),P1是P2的一個(gè)抗攻擊F的敵手。
抗泄露認(rèn)證密鑰協(xié)商協(xié)議包括一個(gè)注冊(cè)服務(wù)器(RS),一個(gè)注冊(cè)服務(wù)器的逆向防火墻(WRS),一個(gè)用戶Alice,另一個(gè)用戶Bob和他的逆向防火墻(WB),系統(tǒng)模型如圖1所示。
圖1 系統(tǒng)模型Fig.1 System model
整個(gè)方案由系統(tǒng)建立、隨機(jī)化系統(tǒng)參數(shù)、密鑰生成、重隨機(jī)化用戶密鑰、身份認(rèn)證與密鑰協(xié)商5部分組成,具體算法描述如下:
1)系統(tǒng)建立(Setup):該算法由注冊(cè)服務(wù)器根據(jù)輸入的安全參數(shù)k,運(yùn)行產(chǎn)生系統(tǒng)所需的公共參數(shù)par和系統(tǒng)主密鑰s。
2)隨機(jī)化系統(tǒng)參數(shù)(WRS.Setup):WRS對(duì)系統(tǒng)參數(shù)par進(jìn)行隨機(jī)化處理,生成新的系統(tǒng)參數(shù)par′。
3)密鑰生成(KeyGen):用戶Alice和Bob分別將自己的身份信息IDA和IDB提交給注冊(cè)服務(wù)器。注冊(cè)服務(wù)器根據(jù)輸入的身份信息IDA、IDB和系統(tǒng)主密鑰s,分別生成Alice和Bob的用戶私鑰SA和SB。
此處的用戶私鑰需要通過(guò)安全信道回傳, 安全信道的實(shí)現(xiàn)有離線和在線2種方法.
①離線方式:注冊(cè)服務(wù)器將用戶私鑰和公共參數(shù)輸入到智能卡中,并將智能卡安全的交到注冊(cè)用戶手中。
②在線方式:注冊(cè)服務(wù)器通過(guò)安全的傳輸層安全(TLS)回傳用戶私鑰和公共參數(shù)給注冊(cè)用戶。
一個(gè)認(rèn)證密鑰協(xié)商協(xié)議的安全目標(biāo)主要包括已知會(huì)話密鑰安全性、前向安全性、PKG前向安全性、抗密鑰泄露偽裝和已知會(huì)話相關(guān)臨時(shí)秘密信息安全性等。eCK模型[7]是目前安全性表達(dá)能力最強(qiáng)的安全模型,明確表達(dá)了密鑰協(xié)商協(xié)議中最大可能損害安全的秘密泄露情況,也覆蓋了最多的安全屬性。基于eCK模型,設(shè)計(jì)了一個(gè)逆向防火墻環(huán)境下的密鑰協(xié)商安全性游戲:關(guān)于挑戰(zhàn)者C和敵手A之間的游戲,如圖2所示。具體步驟如下:
圖2 挑戰(zhàn)者C和敵手A之間的游戲Fig. 2 The game between challenger C and adversary A
1)系統(tǒng)建立階段: 挑戰(zhàn)者C輸入安全參數(shù)k, 運(yùn)行系統(tǒng)建立算法,生成系統(tǒng)公共參數(shù)par和系統(tǒng)主密鑰s,并將公共參數(shù)par發(fā)送給敵手A, 保存系統(tǒng)主密鑰s。
2)詢問(wèn)階段:敵手A在此階段可以進(jìn)行以下多項(xiàng)式有界次數(shù)的詢問(wèn)。
①M(fèi)asterKeyReveal(k):敵手A獲得系統(tǒng)在安全參數(shù)k下的主密鑰。
②Corrupt(i):敵手A獲得IDi的經(jīng)過(guò)逆向防火墻重新隨機(jī)化后的長(zhǎng)期私鑰。
5)猜測(cè)階段:敵手A輸出一比特?cái)?shù)據(jù)b′。如果b′=b,則A贏得游戲。
定義A贏得游戲的概率為AdvAKAA=|Pr[b′=b]-1/2|,其中Pr[b′=b]表示b′=b的概率。
協(xié)議設(shè)計(jì)基于Kumar和Saxena的認(rèn)證密鑰協(xié)商協(xié)議[22], 分為系統(tǒng)建立、隨機(jī)化系統(tǒng)參數(shù)、密鑰生成、重隨機(jī)化用戶密鑰、身份認(rèn)證與密鑰協(xié)商5個(gè)部分。
注冊(cè)服務(wù)器首先根據(jù)給定的安全參數(shù)k,選擇一個(gè)q(q≥2k的素?cái)?shù))階循環(huán)加法群G1,P為G1的生成元,然后注冊(cè)服務(wù)器按照如下步驟進(jìn)行操作:
3)設(shè)置系統(tǒng)參數(shù)par=(q,G1,P,Ppub,H1,H2),發(fā)送par給自己的防火墻WRS,且保密系統(tǒng)主密鑰s。
用戶提交自己身份信息給注冊(cè)服務(wù)器,注冊(cè)服務(wù)器生成相應(yīng)的用戶私鑰。注冊(cè)服務(wù)器收到Alice的身份信息IDA,Bob的身份信息IDB后,開(kāi)始進(jìn)行如下操作:
注冊(cè)服務(wù)器的防火墻WRS可以總結(jié)為圖3。
圖3 注冊(cè)服務(wù)器的逆向防火墻Fig. 3 Reverse firewall for registration server
通過(guò)雙方計(jì)算生成的會(huì)話令牌完成用戶身份認(rèn)證,生成相同的會(huì)話密鑰。圖4描述了該部分的過(guò)程,以下將介紹具體的協(xié)議過(guò)程。
圖4 Bob的逆向防火墻Fig.4 Reverse firewall for Bob
Alice的會(huì)話令牌:
Bob的會(huì)話令牌:
如果hA=hB,則KA=KB=K為會(huì)話密鑰,用戶認(rèn)證與密鑰協(xié)商結(jié)束。
對(duì)于WRS的功能,它保證了注冊(cè)服務(wù)器被妥協(xié)后用戶私鑰SA和SB的機(jī)密性。在文獻(xiàn)[22]協(xié)議中,當(dāng)主密鑰s泄露后,敵手能夠獲得用戶私鑰。但在協(xié)議中,隨機(jī)化系統(tǒng)參數(shù)(WRS.Setup)利用隨機(jī)數(shù)α隨機(jī)化了主密鑰,阻止了敵手獲取用戶私鑰。同樣,協(xié)議重隨機(jī)化了用戶長(zhǎng)期私鑰(WRS.KeyGen),抵抗了用戶長(zhǎng)期密鑰泄露攻擊。
定理1在隨機(jī)預(yù)言模型中, 如果Kumar和Saxena的ID-AKA協(xié)議[29]滿足認(rèn)證密鑰安全性,則ID-AKA-RF協(xié)議能夠1)維持功能性; 2)保持安全性; 3)提供抗泄露性。
證明: 以下為3個(gè)功能的敘述。
1)維持功能性: 對(duì)于Alice,計(jì)算
αSAaH1(IDB‖RB)βTB=
αsrAQAaH1(IDB‖RB)βbRB=
αβabsrArBQAQBP,
對(duì)于Bob,計(jì)算
αSBbH1(IDA‖RA)βTA=
αsrBQBbH1(IDA‖RA)βaRA=
αβabsrArBQAQBP,
因?yàn)镵A=KB,所以會(huì)話密鑰
hA=H2(IDA‖IDB‖KA)=hB=H2(IDA‖IDB‖KB)。
2)保持安全性: 通過(guò)被篡改的算法Setup*、KeyGen*、KeyAgreement*來(lái)證明協(xié)議和Kumar和Saxena的ID-AKA協(xié)議[29]的密鑰協(xié)商安全性具有不可區(qū)分性。
首先,證明ID-AKA-RF密鑰協(xié)商安全性的游戲已經(jīng)被介紹,同時(shí)文獻(xiàn)[29]中也介紹了ID-AKA密鑰協(xié)商安全性的標(biāo)準(zhǔn)安全游戲。接下來(lái),考慮以下游戲:
①游戲0:和介紹的游戲一樣。
②游戲1:和游戲0一樣,除了系統(tǒng)公共參數(shù)Ppub是由標(biāo)準(zhǔn)安全游戲中的Setup產(chǎn)生,而不是詢問(wèn)階段和二次詢問(wèn)階段中的Setup*和WRS. Setup產(chǎn)生。
③游戲2:和游戲1一樣,除了用戶長(zhǎng)期私鑰Si,i∈{D,C}是由標(biāo)準(zhǔn)安全游戲中的KeyGen產(chǎn)生,而不是詢問(wèn)階段和二次詢問(wèn)階段中的KeyGen*和WRS. KeyGen產(chǎn)生。
④游戲3:和游戲2一樣,除了會(huì)話令牌Ti,i∈{A,B}是由標(biāo)準(zhǔn)安全游戲中的KeyAgreement產(chǎn)生,而不是詢問(wèn)階段和二次詢問(wèn)階段中的KeyAgreement*和WB. KeyAgreement產(chǎn)生。此時(shí),游戲3是Kumar和Saxena中的ID-AKA標(biāo)準(zhǔn)安全游戲[29]。
接著,證明游戲0和游戲1、游戲1和游戲2、游戲2和游戲3的不可區(qū)分性。
③游戲2和游戲3的不可區(qū)分性:假設(shè)存在一個(gè)被篡改的算法KeyAgreement*生成會(huì)話令牌Ti,系統(tǒng)利用算法WB.KeyAgreement產(chǎn)生了一個(gè)更新后的會(huì)話令牌Ti′。Ti′對(duì)于算法KeyAgreement來(lái)說(shuō)是一個(gè)一致的隨機(jī)數(shù),因?yàn)樵璉D-AKA協(xié)議是可重隨機(jī)化的,所以Ti′可以看作由是算法KeyAgreement而不是KeyAgreement *生成的。因此,游戲2和游戲3是不可區(qū)分的。
因?yàn)镵umar和Saxena的ID-AKA協(xié)議[29]具有密鑰協(xié)商安全性,所以ID-AKA-RF協(xié)議也具有密鑰協(xié)商安全性。
3)提供抗泄露性: 游戲0和游戲3之間的不可區(qū)分性意味著對(duì)于注冊(cè)服務(wù)器和Bob逆向防火墻能夠提供消息抗泄露性。
注釋1在Kumar和Saxena中的ID-AKA協(xié)議的安全模型[29]中,被妥協(xié)的PKG不能對(duì)會(huì)話的臨時(shí)私鑰進(jìn)行詢問(wèn)。例如,當(dāng)一次會(huì)話進(jìn)行,敵手獲得了一次會(huì)話的臨時(shí)私鑰a和b。如果被妥協(xié)的PKG泄露了用戶長(zhǎng)期私鑰的秘密值rA和rB,敵手可以通過(guò)以下等式計(jì)算出會(huì)話密鑰
K=SAaH1(IDB‖RB)TB=
SAaQBbRB=
rArBsabQAQBP=
rArBabQAQBPpub。
αSAabQBβrBP=
αbrArBQAQBαsP=
所以協(xié)議通過(guò)密碼防火墻提高了原協(xié)議的信息抗泄露性。
為了分析ID-AKA-RF協(xié)議的性能,將該協(xié)議與4個(gè)無(wú)需雙線性對(duì)的ID-AKA協(xié)議進(jìn)行比較,包括Cao等[16]、Tseng等[30]、Islam等[31]、Kumar等[29]。為了方便后面的統(tǒng)計(jì), 首先用符號(hào)定義協(xié)議中所用到的運(yùn)算, 如表1所示。
表1 符號(hào)定義
表2給出了這幾個(gè)協(xié)議的計(jì)算成本和通信成本。因?yàn)槊總€(gè)用戶只需要注冊(cè)一次, 而每次會(huì)話都需要進(jìn)行認(rèn)證密鑰協(xié)商,所以這里只考慮認(rèn)證密鑰協(xié)商階段的計(jì)算成本和通信成本。通過(guò)表2可以看出,只有Kumar等[29]與ID-AK-RF協(xié)議在eCK模型進(jìn)行了安全性證明,并且實(shí)現(xiàn)了抗臨時(shí)會(huì)話秘密值攻擊。相比于Kumar等[29]的ID-AKA協(xié)議,ID-AKA-RF協(xié)議允許敵手進(jìn)行更強(qiáng)的KSTIA攻擊,表現(xiàn)在于敵手在獲得一次會(huì)話的臨時(shí)秘密值的同時(shí),還能夠獲得用戶長(zhǎng)期私鑰的秘密值。
表2 與以往ID-AKA協(xié)議比較
在通信成本方面,設(shè)置了3個(gè)不同的安全等級(jí): 80、120和128[32]。這3個(gè)安全等級(jí)分別對(duì)應(yīng)于2TDEA (2-key triple-DES)[33],3TDEA (3-key triple-DES)[33]和AES-128。選擇了基于有限域E(Fp)上的橢圓曲線y2=x3+xmodp。G1和G2分別是循環(huán)加法群和循環(huán)乘法群,它們的階都為q。表3列舉了在不同安全等級(jí)下p和q的值。根據(jù)表3,在80安全等級(jí)下,|Zq|=160 bits,|G1|=|G2|=1 024 bits。同樣可以計(jì)算出其他兩個(gè)安全等級(jí)下群G1和G2中的元素值。
表3 不同安全等級(jí)下的p和q (bits)
圖5展示了不同安全等級(jí)下的ID-AKA協(xié)議通信成本,其中取用戶的身份信息ID為512比特。通過(guò)比較后發(fā)現(xiàn),ID-AKA-RF協(xié)議在身份認(rèn)證與密鑰協(xié)商階段所需要的通信帶寬窄。隨著安全等級(jí)的提高,ID-AKA-RF協(xié)議帶寬優(yōu)勢(shì)更加明顯,特別是與Islam等[31]相比。
圖5 不同安全等級(jí)下通信成本的比較Fig.5 Comparison of communication costs under different security levels
圖6 不同安全等級(jí)下會(huì)話密鑰協(xié)商運(yùn)行時(shí)間的比較Fig.6 Comparison of session key agreement running time under different security levels
表4 不同安全等級(jí)下的運(yùn)行時(shí)間
研究提出的協(xié)議可以應(yīng)用到需要建立會(huì)話密鑰的場(chǎng)景。例如,在移動(dòng)客戶端——服務(wù)器環(huán)境中,用戶(客戶端)使用低功耗移動(dòng)設(shè)備訪問(wèn)強(qiáng)大的服務(wù)器以便得到某種服務(wù),如移動(dòng)電子郵件、移動(dòng)Web訪問(wèn)等。為了防止未經(jīng)授權(quán)的用戶訪問(wèn)服務(wù)器的服務(wù),需要對(duì)用戶進(jìn)行身份驗(yàn)證。此外,客戶端和服務(wù)器之間傳輸?shù)南⒖赡苁敲舾械模枰谒鼈冎g建立會(huì)話密鑰。最后,為了防止后門(mén)程序擾亂認(rèn)證密鑰協(xié)商協(xié)議的執(zhí)行,需要加裝逆向防火墻功能。
在不使用雙線性對(duì)運(yùn)算的情況下構(gòu)造了一種適用于基于身份認(rèn)證密鑰協(xié)商的逆向防火墻協(xié)議。同時(shí)在隨機(jī)預(yù)言機(jī)模型中,證明了該協(xié)議能夠抗泄露攻擊,特別是能夠抵抗強(qiáng)的臨時(shí)秘密值泄露攻擊。最后利用JPBC庫(kù),實(shí)現(xiàn)了該協(xié)議并進(jìn)行了性能分析。在通信成本方面,該協(xié)議具有較低的帶寬;在計(jì)算成本方面,雖然該協(xié)議相比于Cao等[16]和Kumar等[29]的ID-AKA協(xié)議有一定的增加,但處于合理范圍內(nèi)。綜合安全性方面的考慮,協(xié)議與其他同類(lèi)型ID-AKA協(xié)議相比具有很大的性能優(yōu)勢(shì),十分適合應(yīng)用于資源受限的設(shè)備中。