一種基于證書的兩方認(rèn)證密鑰協(xié)商方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全中的密鑰協(xié)商技術(shù)領(lǐng)域,特別是一種基于證書的兩方認(rèn)證密 鑰協(xié)商方法及系統(tǒng)。
【背景技術(shù)】
[0002] 密鑰協(xié)商作為一個(gè)重要的密碼學(xué)原語,它可以保證兩個(gè)或多個(gè)用戶在公開網(wǎng)絡(luò)環(huán) 境中通過交互信息建立一個(gè)共享的會(huì)話密鑰,參與通信的用戶通過共享的會(huì)話密鑰來加解 密通信數(shù)據(jù)從而保證網(wǎng)絡(luò)通信的安全。認(rèn)證密鑰協(xié)商是一種帶有認(rèn)證功能的密鑰協(xié)商,它 能夠?qū)⑴c密鑰協(xié)商雙方的身份進(jìn)行認(rèn)證,從而能有效抵抗中間人攻擊。認(rèn)證密鑰協(xié)商為 開放網(wǎng)絡(luò)環(huán)境下用戶間的安全通信提供了認(rèn)證性、機(jī)密性和完整性保護(hù),進(jìn)而能被用于構(gòu) 造更復(fù)雜的高層協(xié)議。國內(nèi)外學(xué)者對(duì)認(rèn)證密鑰協(xié)商方法進(jìn)行了深入的探討和研宄。但已有 方法大多是在傳統(tǒng)公鑰密碼體制下或基于身份密碼體制下所提出的,因此這些方法要么存 在復(fù)雜的證書管理問題,要么存在密鑰分發(fā)和密鑰托管的問題。而近期所提出的無證書認(rèn) 證密鑰協(xié)商方法盡管有效解決了復(fù)雜的證書管理和密鑰托管問題,但仍存在密鑰分發(fā)的問 題。因此,現(xiàn)有的認(rèn)證密鑰協(xié)商方法在開放網(wǎng)絡(luò)環(huán)境下的應(yīng)用將會(huì)受到限制。
[0003] 基于證書密碼體制是Gentry在2003年所提出的一種新型公鑰密碼體制,該體制 有機(jī)結(jié)合了基于身份密碼體制和傳統(tǒng)公鑰密碼體制的優(yōu)點(diǎn),并有效克服了這兩種密碼體制 中存在的缺陷。基于證書密碼體制的一個(gè)最大的特點(diǎn)是提供了一種高效的隱證書機(jī)制,即 用戶證書僅發(fā)送給證書持有人,并與其私鑰相結(jié)合產(chǎn)生最終的解密密鑰或簽名密鑰?;?該特點(diǎn),基于證書密碼體制不僅消除了證書狀態(tài)的第三方查詢問題,簡化了傳統(tǒng)公鑰密碼 體制中復(fù)雜的證書管理過程,而且克服了基于身份密碼體制中固有的密鑰分發(fā)問題和密鑰 托管問題。因此,基于證書密碼體制是一個(gè)性能優(yōu)良,便于開放網(wǎng)絡(luò)環(huán)境中應(yīng)用的新型公鑰 密鑰體制。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足而提供一種基于證書的兩方 認(rèn)證密鑰協(xié)商方法及系統(tǒng),本發(fā)明將基于證書密碼體制和認(rèn)證密鑰協(xié)商相結(jié)合,不僅簡化 了證書的管理過程,而且不存在密鑰分發(fā)和密鑰托管的問題,便于在開放網(wǎng)絡(luò)環(huán)境中應(yīng)用。
[0005] 本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
[0006] 根據(jù)本發(fā)明提出的一種基于證書的兩方認(rèn)證密鑰協(xié)商方法,包括以下步驟:
[0007] 步驟A、生成證書中心CA的主密鑰和系統(tǒng)公開參數(shù)集;
[0008] 步驟B、根據(jù)所述系統(tǒng)公開參數(shù)集和用戶的身份信息生成用戶的公鑰和私鑰,所述 用戶包括會(huì)話發(fā)起方和會(huì)話響應(yīng)方;
[0009] 步驟C、根據(jù)所述系統(tǒng)公開參數(shù)集、證書中心CA的主密鑰、用戶的身份信息以及用 戶的公鑰,生成用戶的證書;
[0010] 步驟D、根據(jù)所述系統(tǒng)公開參數(shù)集,會(huì)話發(fā)起方和會(huì)話響應(yīng)方的身份信息、公鑰、私 鑰、證書,生成兩方共享的會(huì)話密鑰。
[0011] 作為本發(fā)明所述的一種基于證書的兩方認(rèn)證密鑰協(xié)商方法進(jìn)一步優(yōu)化方案,所述 步驟A具體過程如下:
[0012] 步驟101、證書中心CA根據(jù)設(shè)定的安全參數(shù)kGZ+,選擇一個(gè)k比特的大素?cái)?shù)q, 并生成一個(gè)q階加法循環(huán)群h、一個(gè)q階乘法循環(huán)群G2以及定義在群Gi和群G2上的雙線性 對(duì)eWGrG2;其中:Z+是正整數(shù)集合,雙線性對(duì)e:GiXGi-G2是群G占自身的笛卡爾 積GiXGi到群G2的映射,即雙線性對(duì)e:G:XGrG2是指函數(shù)z=e(PpP2),其中PpP2GG1 為自變量,zGG2為因變量;
[0013] 步驟102、從加法循環(huán)群匕中選擇一個(gè)生成元P并在集合 < 中隨機(jī)選擇一個(gè)整數(shù) s,計(jì)算Ppub=sP,其中,集合 ' ={l,2,...,g-l};
[0014] 步驟103、定義三個(gè)哈希函數(shù)H1: {0,lrXGi-G^ #2:{0,1 廣x^lfxG^xZijZ:、H3: {0, 1}*X{0, 1}*X(G^XG,叫)3- {0, 1}k;其中,L 是笛卡爾積{〇,lrXGgljGi的密碼學(xué)哈希函數(shù),H2是笛卡爾積{〇,irx{〇J}、G,x<到Z:的 密碼學(xué)哈希函數(shù),H3是笛卡爾積{0, 1}#X{0, 1}#X(GfX^X(Gi)3到{0, 1} k的密碼學(xué)哈希 函數(shù),{〇, 1}#表不長度不確定的一進(jìn)制串的集合,{〇, 1} *"表不長度為k比特的-進(jìn)制串的 集合,(GD3和(G分別表示3個(gè)群Gi的笛卡爾積和6個(gè)群Gi的笛卡爾積,{0, 1}161表 示{〇,ir和群Gi的笛卡爾積,RirxRirxqxz:表示{〇, 1廣{〇, 1廣群匕和集合 < 的 笛卡爾積,{〇, 1}*X{0, 1}*X(Gfx^x(Gi)3 表示{0, 1} ' {0, 1}' (Gi)6、群 62和(Gi)3 的笛 卡爾積;
[0015] 步驟104、根據(jù)步驟101至步驟103,生成證書中心CA秘密保存的主密鑰為msk= s和系統(tǒng)公開參數(shù)集params= {k,q,Gi,G2,e,P,Ppub,氏,H2,H3} 〇
[0016] 作為本發(fā)明所述的一種基于證書的兩方認(rèn)證密鑰協(xié)商方法進(jìn)一步優(yōu)化方案,所述 步驟B具體過程如下:
[0017] 身份為IDu的用戶U在集合《中隨機(jī)選擇一個(gè)整數(shù)%作為自己的私鑰,SKu= Xu; 然后計(jì)算并獲得自己的公鑰PKu=x"P。
[0018] 作為本發(fā)明所述的一種基于證書的兩方認(rèn)證密鑰協(xié)商方法進(jìn)一步優(yōu)化方案,所述 步驟C具體過程如下:
[0019] 身份為IDu的用戶U把自己的身份信息IDu和公鑰PKu提交給證書中心CA,證書中 心CA計(jì)算%=H丨(IDu,PKu),生成用戶U的證書Certu=mskQu=sQ卩,并把證書Certu發(fā)送 給用戶U。
[0020] 作為本發(fā)明所述的一種基于證書的兩方認(rèn)證密鑰協(xié)商方法進(jìn)一步優(yōu)化方案,所述 步驟D的具體過程如下:
[0021] 步驟401、會(huì)話發(fā)起方A在集合< 中隨機(jī)選擇一個(gè)整數(shù)a,計(jì)算RA=aP和WA= H2(IDA,IDB,CertA,SKA)P,其中,IDA是會(huì)話發(fā)起方A的身份信息,SKA是會(huì)話發(fā)起方A的私鑰, CertA是會(huì)話發(fā)起方A證書,IDB是會(huì)話響應(yīng)方B的身份信息;然后將(IDA,RA,WA)發(fā)送給會(huì) 話響應(yīng)方B;
[0022] 步驟402、會(huì)話響應(yīng)方B收到(IDA,RA,WA)后,會(huì)話響應(yīng)方B在集合< 中隨機(jī)選擇一 個(gè)整數(shù)比計(jì)算馬=匕?和'=112(104,%,(^1^,5心)?,其中,5心是會(huì)話響應(yīng)方8的私鑰, CertB是會(huì)話響應(yīng)方B的證書;然后將(IDB,RB,WB)發(fā)送給會(huì)話發(fā)起方A;
[0023] 步驟403、會(huì)話發(fā)起方A收到(IDR,Rr,WR)后,會(huì)話發(fā)起方A依次計(jì)算
【主權(quán)項(xiàng)】
1