顧兆軍 ,劉東楠
(中國民航大學(xué)a.信息安全測評中心;b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
通信科技的進(jìn)步使信息安全的重要性逐漸凸顯,會話階段參與信息交互的雙方協(xié)商一個(gè)安全可靠的密鑰尤為重要。早期的密鑰協(xié)商協(xié)議不僅要使用證書,還需將密鑰進(jìn)行托管[1],不具備前向安全性等屬性,極大程度地占據(jù)了系統(tǒng)資源,且證書保存及密鑰托管給系統(tǒng)安全性帶來了極大威脅。隨著通信技術(shù)和無線網(wǎng)絡(luò)的發(fā)展,需要一種新型、輕量級、安全度高的密鑰協(xié)商方案,并將其應(yīng)用到密鑰協(xié)商協(xié)議當(dāng)中,這就出現(xiàn)了建立在強(qiáng)安全性數(shù)學(xué)運(yùn)算上的無證書密鑰協(xié)商協(xié)議。常見的密鑰協(xié)商算法有D-H算法、Shamir算法、COMSET算法等[2],密鑰協(xié)商協(xié)議主要基于某種數(shù)學(xué)難題,如DL問題、DH問題、CDH問題等,算法的設(shè)計(jì)主要結(jié)合橢圓曲線密碼技術(shù)、雙線性對技術(shù)等數(shù)學(xué)方法。
1976年,Diffie等[1]提出了第1個(gè)密鑰協(xié)商方案。直到21世紀(jì),Al-Riyami等[3]才提出第1個(gè)雙線性對無證書兩方認(rèn)證密鑰協(xié)商協(xié)議。Bonech等[4]提出了第1個(gè)經(jīng)形式化證明的安全實(shí)用的加密機(jī)制。2006年,Gentry[5]提出了首個(gè)基于身份的加密方案。王圣寶[6]基于Gentry的身份基加密方案提出了帶密鑰托管及無密鑰托管兩種密鑰協(xié)商方案,即IDAK協(xié)議(ID-based augmented key-agreement protocol),但 IDAK 協(xié)議不具備PKG前向安全性等安全屬性。隨后,其他研究者提出了IDAK協(xié)議的缺點(diǎn)并對其進(jìn)行了分析與改進(jìn)[7-11],但改進(jìn)協(xié)議又不具備密鑰協(xié)商協(xié)議所需的全部安全屬性。
為解決IDAK協(xié)議不具備PKG前向安全性以及改進(jìn)的IDAK協(xié)議不滿足密鑰協(xié)商階段全部安全屬性的問題,結(jié)合雙線性對技術(shù),提出一種新的基于身份的無證書無托管雙線性對密鑰協(xié)商方案,該方案不僅能有效解決上述問題,還能實(shí)現(xiàn)無密鑰托管。同時(shí),為探究密鑰協(xié)商在民航領(lǐng)域的應(yīng)用(特別是機(jī)載天線和廊橋AP通過無線網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,即TWLU(ter minal wireless LAN unit)過程),首次將密鑰協(xié)商算法置于特定民航信息系統(tǒng)中,探求不同密鑰協(xié)商方案在民航領(lǐng)域的適用程度,將提出的方案在TWLU模擬系統(tǒng)中進(jìn)行仿真,并與近年來的相關(guān)研究進(jìn)行分析對比。
雙線性對(Bilinear pairings):q是一個(gè)大素?cái)?shù),設(shè)G1是q階循環(huán)加法群,G2是q階循環(huán)乘法群,e:G1×G1→G2為雙線性對中的一個(gè)映射,具有以下性質(zhì):
1)雙線性(Bilinear)。若 g1,g2,h∈G1,有
則 g,h∈G1且 a,b∈Zq,滿足(ag,bh)=(g,h)ab。
2)非退化性(Non-degenerate)。若 g∈G1,則(g,g)≠1。
3)可計(jì)算性(Computability)。若 g,h∈G1,則(g,h)可計(jì)算。
1.2.1 離散對數(shù)問題
定義1 離散對數(shù)(DL,discrete logarithm)。設(shè)G為由α生成的q階循環(huán)群,x∈,y∈G。則滿足gx=y的最小整數(shù)x,為y基于g的離散對數(shù)。
定義2 離散對數(shù)問題(DLP,discrete logarithm problem)。給定 P,Q∈G,找出 n∈,使得 P=nQ。
目前尚未找到求解DLP的多項(xiàng)式時(shí)間算法,解決D-H問題的關(guān)鍵在于求解DLP,故解決D-H問題是困難的。關(guān)于D-H問題,除了其與解決DLP難度相當(dāng),還衍生出了相關(guān)變形,如CDH問題、DDH問題、BDH問題、DBDH問題等。
1.2.2 D-H問題
定義3 計(jì)算Diffie-Hellman問題(CDH,computationalDiffie-Hellman)。設(shè) G1為 q階循環(huán)群,g為G1的生成元,則對于(g,ga,gb)∈G1,其中a,b∈Zq,計(jì)算gc=gab。
定義4 判定Diffie-Hellman問題(DDH,decision diffie-hellman)。設(shè)G1為q階循環(huán)群,g為G1的生成元,則對于(g,ga,gb,gc)∈G1,其中a,b,c∈Zq,判定gc=gab是否成立。
定義5 雙線性Diffie-Hellman問題(BDH,bilinear Diffie-Hellman)。設(shè) q 階循環(huán)群 G1,G2,g 為 G1的生成元,且:G1× G1→G2,則(g,ga,gb,gc)∈G1,其中 a,b,c∈Zq,計(jì)算(g,g)abc。
定義6 判定雙線性Diffie-Hellman問題(DBDH,decision bilinear Diffie-Hellman)。設(shè) q階循環(huán)群 G1,G2,g 為 G1的生成元,且:G1× G1→G2,則對于(g,ga,gb,gc)∈G1和 Y∈G2,其中 a,b,c∈Zq,判定 Y=(g,g)abc是否成立。
1)Diffie-Hellman密鑰協(xié)商算法
在D-H算法中,參與密鑰協(xié)商的雙方(A和B)能夠使用該算法協(xié)商出秘密密鑰,算法描述如下:
Step 1 A選擇一個(gè)大隨機(jī)數(shù)x,發(fā)給B
X=gxmod n;
Step 2 B選擇一個(gè)大隨機(jī)數(shù)y,發(fā)給A
Y=gymodn;
Step 3 A計(jì)算k=Yxmod n;
Step 4 B 計(jì)算 k′=Xymod n;
∵ k=k′=gxymod n;
∴k即為A和B的秘密密鑰。
2)Gentry加密方案
Gentry方案主要分為4個(gè)階段,即系統(tǒng)建立(Setup)、私鑰生成(KGen)、加密(Encrypt)及解密(Decrypt),描述如下。
Step 1(Setup) PKG 選擇 g,h,t∈G1,g,h,t是 G1的生成元,α∈Zp,g1=gα∈G1。公共參數(shù)為
Step 2(KGen) PKG選擇rID∈Zp,計(jì)算長期私鑰dID=
Step 3(Encrypt) 選取隨機(jī)數(shù)s∈Zp,計(jì)算密文C=
Step 4(Decrypt) 接收者收到密文 C=(α,β,θ)后,計(jì)算 m= θ·(α,hID)βrID,得到原始消息。
在基于身份的密碼體制中,不需要使用證書,從而節(jié)省大量系統(tǒng)資源,需由可信第三方,即私鑰生成中心(PKG,private key generator)生成私鑰。傳統(tǒng)密鑰協(xié)商協(xié)議使用PKG托管用戶私鑰,而一旦發(fā)生PKG私鑰泄露,攻擊者可利用竊取的私鑰生成其它信息,故大部分傳統(tǒng)密鑰協(xié)商協(xié)議不具備PKG前向安全性。結(jié)合IDAK協(xié)議,使用雙線性對提出一種基于身份的無證書無托管密鑰協(xié)商方案。
2.2.1 參數(shù)說明
方案使用的參數(shù)如表1所示。
表1 參數(shù)說明Tab.1 Parameter explanation
2.2.2 方案描述
本方案中,密鑰協(xié)商需經(jīng)過3個(gè)階段和2次交互,3個(gè)階段分別是系統(tǒng)建立(Setup)、私鑰生成(KGen)和密鑰協(xié)商(KAgreement),描述如下。
Step 1(Setup) PKG 選擇 g,h,t∈G1,g,h,t是 G1的生成元;α∈Zp;g1=gα∈G1;公共參數(shù)為
Step 2(KGen) PKG選擇rID∈Zp,計(jì)算長期私鑰dID=
Step 3(KAgreement) 參與密鑰協(xié)商的兩方分別選擇一個(gè)臨時(shí)私鑰x,y∈Zp,計(jì)算以及
用戶A計(jì)算共享密鑰KAB1、KAB2,用戶B計(jì)算共享密鑰KBA1、KBA2,最后計(jì)算共享會話密鑰,即
密鑰協(xié)商2次交互過程如圖1所示,下面使用雙線性理論對該方案進(jìn)行正確性證明:
圖1 提出的密鑰協(xié)商過程Fig.1 Proposed key-agreement process
1)已知會話密鑰安全(known-key security)。在該協(xié)議的每次通信中,選取不同的隨機(jī)值x和y作為臨時(shí)密鑰,攻擊者無法在使用過的密鑰中找到線性關(guān)系,故本協(xié)議在隨機(jī)預(yù)言模型(ROM,random oracle model)下具備已知會話密鑰安全性。
2)完美前向安全性(perfect forward security)。若參與會話的某一方或兩方的長期私鑰或被攻擊者竊取,攻擊者無法通過計(jì)算得到會話密鑰,因?yàn)楣粽邿o法通過計(jì)算得到解決本問題等同于解決 BDH問題。
3)PKG 前向安全性(forward security of PKG)。若攻擊者通過某種途徑得到用戶主私鑰α,則可通過計(jì)算得到
4)抗密鑰泄露偽裝攻擊(key-compromise impersonation resilience)。攻擊者通過某種途徑竊取到A的長期私鑰攻擊者可偽裝成A與B進(jìn)行密鑰協(xié)商,但無法偽裝成B與A進(jìn)行密鑰協(xié)商,因?yàn)楣粽邿o法通過運(yùn)算獲得B的私鑰,故攻擊者不能得到A與B進(jìn)行協(xié)商時(shí)的會話密鑰。
5)抗未知密鑰共享(unknownkey-share resilience)。在A和B進(jìn)行密鑰協(xié)商時(shí),攻擊者C試圖打斷該交互、強(qiáng)制與A或B進(jìn)行協(xié)商,從而計(jì)算出會話密鑰。因?yàn)樵贏與B的交互過程中,所傳輸?shù)男畔⒈粚Ψ焦€進(jìn)行加密,C無法破解協(xié)商內(nèi)容,因此C無法通過運(yùn)算獲得A與B進(jìn)行密鑰協(xié)商時(shí)的會話密鑰。
6)無密鑰控制(no key control)。若 A 作為“偽裝者”或是攻擊者,試圖通過運(yùn)算使協(xié)商后的會話密鑰變成事先設(shè)定好的某個(gè)值,這種方法是行不通的。因?yàn)閰⑴c會話的任何一方,事先不可能知道對方的主私鑰α、長期私鑰dID=
3.2.1 方案在民航領(lǐng)域的應(yīng)用及實(shí)驗(yàn)環(huán)境
將第3節(jié)提出的方案應(yīng)用到TWLU數(shù)據(jù)傳輸過程,使用無證書無托管的機(jī)制為機(jī)載無線網(wǎng)絡(luò)傳輸提供方便,同時(shí)增強(qiáng)了密鑰協(xié)商過程的安全性,為機(jī)載數(shù)據(jù)傳輸提供安全保障。應(yīng)用背景及傳輸過程描述如下:飛機(jī)降落后??客C(jī)位時(shí),向航空公司提交飛機(jī)健康管理數(shù)據(jù)、電子飛行包等關(guān)鍵數(shù)據(jù),目前大部分機(jī)型及航空公司采用人工拷貝及GateLink(一種使用光纜及紅外線進(jìn)行數(shù)據(jù)傳輸?shù)姆绞剑┻M(jìn)行數(shù)據(jù)傳輸。隨著航電技術(shù)和無線技術(shù)的發(fā)展,Boeing等公司在新機(jī)型(如B-787)中裝載了TWLU,飛機(jī)與航空公司間使用該模塊和布置在廊橋上的無線接入點(diǎn)進(jìn)行數(shù)據(jù)傳輸,該過程采用802.11協(xié)議。由于民航領(lǐng)域傳輸數(shù)據(jù)的特殊性,需要一種安全性更強(qiáng)的密鑰協(xié)商機(jī)制,保證數(shù)據(jù)的安全傳輸。
該系統(tǒng)的組成有:可信的第三方私鑰生成中心PKG,可由航空公司信息安全部主管;機(jī)載天線、廊橋接入點(diǎn)、機(jī)載數(shù)據(jù)服務(wù)器以及航空公司數(shù)據(jù)服務(wù)器。數(shù)據(jù)傳輸過程及網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
3.2.2 模擬仿真及效率分析
所提方案使用CPP語言實(shí)現(xiàn)后應(yīng)用到裝載上述環(huán)境的原型系統(tǒng)中,與近年來相關(guān)研究進(jìn)行對比分析,得到以下結(jié)論。
結(jié)論1 相比其它方案,新方案滿足密鑰協(xié)商過程所需的全部安全屬性,如表2所示。
圖2 方案的民航應(yīng)用及實(shí)驗(yàn)環(huán)境Fig.2 Application in civil aviation and experimental environment
表2 安全性分析Tab.2 Security analysis
結(jié)論2 運(yùn)算效率方面,設(shè)完成一次指數(shù)運(yùn)算的時(shí)間為Ee,完成一次雙線性運(yùn)算的時(shí)間為Eb,完成一次乘法運(yùn)算的時(shí)間為Em,新方案減少了雙線性對運(yùn)算,犧牲了指數(shù)運(yùn)算(文獻(xiàn)[11]除外),如表3所示。實(shí)驗(yàn)表明,一次雙線性對運(yùn)算所消耗的時(shí)間是正常橢圓曲線運(yùn)算的20~30倍。
表3 效率分析Tab.3 Efficiency analysis
由表3可知,文獻(xiàn)[11]也滿足密鑰協(xié)商過程中的全部安全屬性,但新方案的運(yùn)算效率明顯高于文獻(xiàn)[11]的方案。
綜合比較文獻(xiàn)[7,11-12],無托管密鑰SK形式如表4所示。
結(jié)論3 文獻(xiàn)[7]的密鑰方案過于簡單,文獻(xiàn)[11]和文獻(xiàn)[12]密鑰形式過于復(fù)雜,占據(jù)系統(tǒng)資源過多,在密鑰SK中,新方案減少了指數(shù)運(yùn)算和乘冪運(yùn)算,并具備較高的安全性。
表4 無托管秘密密鑰形式Tab.4 Form of secret key
實(shí)驗(yàn)表明,新方案的安全性能及最終密鑰形式優(yōu)于其它方案,雖增加了指數(shù)運(yùn)算,但在運(yùn)算性能方面減少了耗時(shí)的雙線性運(yùn)算。
結(jié)合IDAK協(xié)議及近年來研究者對IDAK協(xié)議提出的改進(jìn)方案,利用雙線性對數(shù)學(xué)方法,提出一種新的基于身份的無證書雙線性對密鑰協(xié)商方案,實(shí)現(xiàn)了無證書無密鑰托管的密鑰協(xié)商,有效抵御了密鑰泄漏攻擊、已知/未知密鑰攻擊等惡意行為。將該方案置于特定民航系統(tǒng)中進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明:該方案運(yùn)算效率適中,與其他方案相比具有較強(qiáng)的安全性,更適用于民航這一特殊領(lǐng)域。