許盛偉, 任雄鵬, 陳 誠, 袁 峰, 楊自力
1. 西安電子科技大學(xué) 通信工程學(xué)院, 西安710071
2. 北京電子科技學(xué)院, 北京100071
3. 武漢安天信息技術(shù)有限責(zé)任公司, 武漢430070
密鑰協(xié)商協(xié)議是為了讓通訊雙方甚至多方能夠共享一個秘密密鑰, 該密鑰可以用于保證通信過程中的機(jī)密性和完整性. 按照公鑰密碼體制下公鑰驗(yàn)證方式的不同, 目前已有很多基于證書、基于身份、基于無證書的兩方認(rèn)證密鑰協(xié)商協(xié)議研究. 傳統(tǒng)的密碼應(yīng)用中, 用戶從CA 獲取證書, 以證書作為公鑰的載體, 通過CA 的簽名實(shí)現(xiàn)證書的有效性或者說公鑰的有效性. 基于身份的公鑰密碼體制中, 用戶將獨(dú)一無二的身份作為公鑰, 比如郵箱、手機(jī)號等標(biāo)識, 從而不需要獲得證書和驗(yàn)簽等過程. 基于身份的公鑰體制相比證書雖然擁有簡便易用的優(yōu)點(diǎn), 但是具有天然密鑰托管的局限性. 2003 年AIRiyami 等人[1]提出無證書公鑰密碼體制, 該公鑰體制下用戶的私鑰一部分來自自身, 一部分來自密鑰管理中心, 解決了密鑰托管的問題; 而公鑰不需要證書作為載體, 同時用戶的身份作為公鑰的一部分信息, 保留了身份體制的簡潔性. 在帶寬受限的無線網(wǎng)絡(luò)環(huán)境下(如移動Ad-hoc 網(wǎng)絡(luò)), 由于證書體制下存在繁瑣復(fù)雜的證書管理問題, 以及身份體制下的會話密鑰托管問題, 無證書兩方協(xié)議成為了研究熱點(diǎn).
目前已有多種協(xié)議提出. 2003 年AIRiyami 等人[1]基于無證書體制提出第一個無證書兩方密鑰協(xié)商協(xié)議. 2006 年Mandt 等人[2]指出文獻(xiàn)[1]不能抵抗臨時密鑰泄漏攻擊并提出了新協(xié)議. 2009 年Swanson等人[3]首次提出適用于無證書體制的eCK 模型, 并指出文獻(xiàn)[2,4,5] 存在KCI (Key Compromise Impersonation) 攻擊. 2009 年Lippold 等人[6]提出更強(qiáng)的eCK 安全模型以及該模型下的安全兩方協(xié)議, 但計算量較大. 2010 年Zhang 等人[7]提出適用于無證書體制的mBR 模型以及該模型下的兩方協(xié)議. 2011 年He 等人[8]提出基于mBR 模型的無對兩方協(xié)議, 但存在臨時密鑰泄漏攻擊. 2011 年Yang等人[9]提出eCK 模型下的兩方協(xié)議, 但是計算量較大, 并指出文獻(xiàn)[10,11] 存在安全性缺陷. 2011 年劉文浩等人[12]提出基于簽名的兩方協(xié)議, 但是被文獻(xiàn)[13] 指出存在I 類敵手偽裝攻擊. 2012 年He 等人[14,15]分別提出mBR 和eCK 模型下的兩方協(xié)議, 但是前者存在I 類敵手的偽裝攻擊, 后者被文獻(xiàn)[16]指出其證明過程中存在錯誤. 2012 年Mohamed 等人[17]提出啟發(fā)式分析的無對協(xié)議. 2012 年楊浩民等人[18]提出基于雙線性對和數(shù)字簽名的兩方協(xié)議, 但是被文獻(xiàn)[19] 指出存在缺陷. 2013 年Li 等人[20]提出基于對運(yùn)算的兩方協(xié)議. 2013 年Sun 等人[16]提出了eCK 模型下的安全兩方協(xié)議. 2016 年李娜等人[21]提出啟發(fā)式安全的協(xié)議, 本文將指出其未能抵抗KCI 攻擊. 2016 年Sun 等人[22]提出基于seCK模型的強(qiáng)安全兩方協(xié)議, 但是該協(xié)議中用戶公私鑰長度是一般協(xié)議的兩倍, 通信量和計算量較大. 2017 年周等人[13]提出聲稱eCK 模型下的兩方協(xié)議, 但是該協(xié)議未能抵抗臨時密鑰泄漏攻擊. 2019 年Wu 等人[23]等人提出eCK 模型下的兩方協(xié)議, 本文將指出其未能抵抗I 類敵手的KCI 攻擊.
針對上述問題, 本文首先分析了文獻(xiàn)[21,23] 存在的安全缺陷, 然后提出了新的兩方認(rèn)證密鑰協(xié)商協(xié)議, 并且在Super 類型敵手和無證書mBR 模型下, 基于CDH 和DCDH 困難問題假設(shè)給出了兩類敵手下的嚴(yán)格安全性證明, 較上述方案不僅計算量和通信成本較低, 而且安全性具有優(yōu)勢.
本文結(jié)構(gòu)如下: 第2 節(jié)介紹困難問題假設(shè)、無證書密碼體制敵手類型、安全模型等預(yù)備知識; 第3 節(jié)回顧文獻(xiàn)[21,23] 并構(gòu)造出針對該兩方案的攻擊算法; 第4 節(jié)描述新的無證書兩方認(rèn)證密鑰協(xié)商協(xié)議, 并進(jìn)行正確性和安全性分析; 第5 節(jié)將本協(xié)議和其他方案進(jìn)行比較分析; 第6 節(jié)總結(jié)并展望.
CDH (Computational Diffie-Hellman) 問題: 給定生成元P ∈G,G為循環(huán)群, 輸入aP和bP, 輸出abP. 假設(shè)現(xiàn)實(shí)中任意多項式時間算法能夠解決CDH 問題的概率是可忽略的, 稱為CDH 困難問題假設(shè).
DCDH (Divisible Computational Diffie-Hellman) 問題: 給定生成元P ∈G,G為循環(huán)群, 輸入aP和bP, 輸出a?1bP. 假設(shè)現(xiàn)實(shí)中任意多項式時間算法能夠解決DCDH 問題的概率是可忽略的, 稱為DCDH 困難問題假設(shè).
根據(jù)文獻(xiàn)[24] 可知, DCDH 和CDH 問題是等價的.
根據(jù)文獻(xiàn)[1], 無證書密碼體制中考慮兩類敵手: I 類敵手AI代表惡意用戶, 可以進(jìn)行用戶公鑰替換詢問, 但不知道系統(tǒng)私鑰; 敵手AII代表惡意KGC, 擁有主私鑰, 但不能替換用戶公鑰. 根據(jù)文獻(xiàn)[25], 將I 類敵手分為三種強(qiáng)度:
目前已知無證書密鑰協(xié)商協(xié)議的安全性分析所采用的安全模型主要分為mBR 模型和eCK 模型, 雖然后者較前者能夠賦予敵手獲得會話臨時密鑰的能力, 但前者除卻完美前向安全性, 已經(jīng)涵蓋了正常情況下的所有攻擊, 能夠保證已知會話密鑰安全屬性、前向安全性、抗密鑰泄漏偽裝攻擊、未知密鑰共享安全等屬性, 故mBR 模型下亦能夠保證相當(dāng)?shù)陌踩?
本文采用文獻(xiàn)[7] 的無證書mBR 模型, 與文獻(xiàn)[7] 不同的是本文模型中收回了II 類敵手訪問替換公鑰預(yù)言機(jī)的能力. 模型中密鑰協(xié)商協(xié)議的安全性由模擬器和敵手之間的游戲來定義, 其中參與者IDi的第n個會話被建模為預(yù)言機(jī)∏ni,j, 敵手被看作概率多項式時間圖靈機(jī), 掌控整個網(wǎng)絡(luò)通道, 用戶直接與敵手交互, 游戲分四階段完成:
假設(shè)Alice、Bob 為協(xié)議的參與方, Alice 的公鑰為(XA,RA), 私鑰為(xA,yA), Bob 的公鑰為(XB,RB), 私鑰為(xB,yB), 其中Xi=xiP,Ri=riP,yi=ri+sH1(IDi,Ri),i=A,B,s為KGC 的主私鑰, 具體協(xié)商如下:
(4)AI收到消息(IDB,TB,QB) 后, 由于AI已知Bob 的私鑰(xB,yB), 通過計算(1)式, 最終AI可以成功冒充Alice 而不被Bob 發(fā)現(xiàn).
下面通過構(gòu)造具體算法證明文獻(xiàn)[21] 中的方案易遭受普通敵手的KCI 攻擊. 假設(shè)任意敵手E具有Bob 的完整私鑰skB=(xB,dB), 按照下述過程可以成功偽裝Alice:
文獻(xiàn)[21] 基于雙線性對, 利用簽名值(h,s) 和時間戳加密方法實(shí)現(xiàn)認(rèn)證和密鑰確認(rèn); 文獻(xiàn)[23] 中無需對運(yùn)算, 利用驗(yàn)證值Q實(shí)現(xiàn)認(rèn)證. 兩者均通過各自計算共享秘密值的方法, 將長期私鑰、臨時私鑰和對方公鑰充分混合, 但是很遺憾未能充分保證安全性, 也間接說明了設(shè)計安全高效協(xié)議的困難性. 與前述協(xié)議不同, 本文基于DH 交換方式, 無需對運(yùn)算, 亦無需驗(yàn)證值或簽名值來實(shí)現(xiàn)認(rèn)證, 提出了新的協(xié)議.
圖1 本文密鑰協(xié)商協(xié)議Figure 1 Proposed key agreement protocol
由下式(2) 可知Alice 與Bob 協(xié)商得到相同密鑰.
引理1 在良性敵手存在的情況下以及隨機(jī)預(yù)言機(jī)模型下, 相互匹配的兩臺預(yù)言機(jī)總會協(xié)商得到同一會話密鑰, 并且密鑰是均勻分布的.
證明: 假設(shè)Alice 和Bob 是會話參與者,A為良性敵手, Alice 和Bob 完全按照協(xié)議規(guī)則互相發(fā)送消息, 根據(jù)上述正確性分析可知兩者協(xié)商出相同會話密鑰, 協(xié)議中臨時密鑰a,b均是隨機(jī)選擇, 從而K1,K2,K3均隨機(jī), 基于隨機(jī)預(yù)言機(jī)H2, 故K是在{0,1}l上均勻分布的.
本節(jié)從協(xié)議的計算成本、通信成本、安全性三個方面進(jìn)行比較. 比較結(jié)果見表1. 其中計算成本以點(diǎn)乘運(yùn)算S、指數(shù)運(yùn)算E、雙線性對P 等運(yùn)算來衡量, 該成本包含公鑰的計算量; 通信成本指傳輸中最大消息的長度,|G| 代表群中元素的長度, 通信成本中包括公鑰和標(biāo)識ID 長度; 安全性衡量指標(biāo)包括安全模型以及與聲稱安全性是否相符.
本文所設(shè)計協(xié)議不僅無需對運(yùn)算, 而且計算成本只需5 個點(diǎn)乘運(yùn)算, 其中計算M時需要兩次點(diǎn)乘, 計算K1,K2和K3時分別需要一次點(diǎn)乘. 由表1可知, 本協(xié)議計算成本最小, 與文獻(xiàn)[8,14,21] 的計算成本相同. 由于文獻(xiàn)[6,7,21] 中需要雙線性對運(yùn)算, 所以計算成本最大. 除此以外, 文獻(xiàn)[13,16,22,23] 計算成本均比本文較大.
選取有限域Fp中素數(shù)p為512 位, 群G1,G2的階q為160 位, 用戶標(biāo)識ID 的長度為16 位, 那么群G1,G2中的點(diǎn)元素大小|G| 均為1024 位, 本文協(xié)議中傳輸?shù)淖铋L消息包括三個點(diǎn)元素和一個標(biāo)識ID, 所以通信長度為(1024×3+16)/8 = 386 個字節(jié). 由表1可知, 文獻(xiàn)[6,7] 通信長度最小為258 字節(jié);文獻(xiàn)[22] 通信長度最大為770 字節(jié); 文獻(xiàn)[8,14,16] 與本文通信長度相當(dāng); 除此以外, 文獻(xiàn)[13,21,23] 通信成本均比本文較大.
表1 性能比較結(jié)果Table 1 Results of performance comparison
本文采用mBR 模型針對強(qiáng)敵手實(shí)現(xiàn)了可證安全, 具有已知會話密鑰安全, 完美前向安全, 抗密鑰泄漏偽裝攻擊, 未知密鑰共享安全, 密鑰不可控等安全屬性. 由表1 可知, 文獻(xiàn)[7,8,14] 與本文協(xié)議采用的安全模型相同, 但是文獻(xiàn)[14] 未能達(dá)到聲稱的安全性, 本文所假設(shè)的敵手能力較文獻(xiàn)[8] 更強(qiáng), 故安全性更高; 文獻(xiàn)[6,13,16,23] 均基于eCK 安全模型, 但是其中文獻(xiàn)[13,23] 未能達(dá)到聲稱的安全性; 文獻(xiàn)[22] 所使用的seCK 模型安全強(qiáng)度最高. 結(jié)合上述計算和通信成本分析, 綜合考慮安全性和效率兩方面, 可知本文協(xié)議具有更明顯的優(yōu)勢.
本文提出了一種新的安全無證書認(rèn)證密鑰協(xié)商協(xié)議, 避免了證書管理和密鑰托管的局限性, 同時在mBR 模型和Super 敵手類型下, 基于DCDH 和CDH 困難問題假設(shè), 保證了協(xié)議的安全性, 能夠保證已知會話密鑰安全屬性、完美前向安全性、抗密鑰泄漏偽裝攻擊、未知密鑰共享安全、密鑰不可控性等屬性. 該協(xié)議不僅具有安全性優(yōu)勢, 而且計算效率較高, 通信成本較低, 在物聯(lián)網(wǎng)等寬帶受限的網(wǎng)絡(luò)環(huán)境中具有較好的應(yīng)用前景. 由于mBR 模型不能賦予敵手獲取臨時密鑰的能力, 所以即使在該模型下協(xié)議是可證安全的, 仍未能抵抗臨時密鑰泄漏攻擊. 故后續(xù)工作方向是如何在eCK 模型和Super 敵手類型下提出高效安全的協(xié)議.