專利名稱:一種認(rèn)證密鑰協(xié)商方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通信技術(shù),尤其涉及一種數(shù)字通信系統(tǒng)中的實(shí)體認(rèn)證和密鑰協(xié)商
的方法。
背景技術(shù):
數(shù)字通信網(wǎng)絡(luò)中的兩個(gè)實(shí)體在進(jìn)行通信之前,為了確保通信內(nèi)容的安全性,通信 雙方通常都需要認(rèn)證對(duì)方的身份并在此基礎(chǔ)上協(xié)商出一個(gè)會(huì)話密鑰(即執(zhí)行一個(gè)認(rèn)證密 鑰協(xié)商協(xié)議),該會(huì)話密鑰用于對(duì)后續(xù)實(shí)際通信內(nèi)容的加密。
認(rèn)證密鑰協(xié)商方法主要包括但不限于基于公鑰加密的、基于數(shù)字簽名的、基于 消息認(rèn)證碼的、基于對(duì)稱密碼的、基于口令的。目前常用的認(rèn)證密鑰協(xié)商方法大都基于 Diffie-Hellman密鑰交換協(xié)議和數(shù)字簽名,如圖1所示,這種方法包括以下步驟
步驟Sl :實(shí)體A將自己的公鑰證書CertA發(fā)送給實(shí)體B。 步驟S2 :實(shí)體B接收到CertA后,驗(yàn)證CertA是否有效;如果CertA有效,則執(zhí)行步 驟S3 ;如果CertA無效,則終止通信。 步驟S3 :實(shí)體B發(fā)送自己的公鑰證書CertB給實(shí)體A。 步驟S4 :實(shí)體A接收到CertB后,驗(yàn)證CertB是否有效;如果CertB無效,則終止通 信;如果CertB有效,執(zhí)行步驟S5。 步驟5 :實(shí)體A產(chǎn)生一個(gè)隨機(jī)數(shù)x,計(jì)算公鑰gx,并使用自己的私鑰計(jì)算出對(duì)公鑰gx 的數(shù)字簽名SigA(gx)。 步驟S6 :實(shí)體A將公鑰gx以及數(shù)字簽名SigA(gx)發(fā)送給實(shí)體B。 步驟S7 :實(shí)體B接收到公鑰gx和SigA(gx)后,使用實(shí)體A的公鑰驗(yàn)證數(shù)字簽名
SigA(gx)的正確性;如果數(shù)字簽名SigA(gx)無效,則終止通信;如果數(shù)字簽名SigA(gx)有效,
則執(zhí)行步驟S8。 步驟S8 :實(shí)體B產(chǎn)生一個(gè)隨機(jī)數(shù)y,計(jì)算公鑰gy,并使用自己的私鑰計(jì)算出對(duì)公鑰 gy的數(shù)字簽名SigB(gy),然后執(zhí)行步驟S9。 步驟S9 :實(shí)體B將公鑰gy以及數(shù)字簽名SigB(gy)發(fā)送給實(shí)體A。 步驟S10 :實(shí)體A接收到公鑰gy和SigB(gy)后,使用實(shí)體B的公鑰驗(yàn)證數(shù)字簽名
SigB(gy)的正確性;如果數(shù)字簽名有效,則執(zhí)行步驟Sll ; 步驟Sll :實(shí)體A計(jì)算密鑰KA = (gy)x = gxy。 步驟S12 :實(shí)體B計(jì)算密鑰KB = (gx)y = gxy。 上述認(rèn)證密鑰協(xié)商方法基于數(shù)字簽名技術(shù),通信雙方都需要計(jì)算一次數(shù)字簽名, 也都需要驗(yàn)證對(duì)方的數(shù)字簽名的有效性,因而基于數(shù)字簽名技術(shù)的認(rèn)證密鑰協(xié)商方法需要 較多的計(jì)算資源和通信資源。
發(fā)明內(nèi)容
本發(fā)明提供了一種認(rèn)證密鑰協(xié)商方法,用于兩個(gè)通信實(shí)體認(rèn)證對(duì)方的身份并協(xié)商出一個(gè)共享密鑰,通過基于雜湊函數(shù)實(shí)現(xiàn)認(rèn)證密鑰協(xié)商以解決基于數(shù)字簽名需要較多資源 的技術(shù)問題。 為解決本發(fā)明的技術(shù)問題,本發(fā)明公開一種認(rèn)證密鑰協(xié)商方法,其包括步驟
實(shí)體A將產(chǎn)生的第一隨機(jī)數(shù)與實(shí)體B的公鑰結(jié)合產(chǎn)生第一消息,并將第一消息發(fā) 送給實(shí)體B ; 實(shí)體B將產(chǎn)生的第二隨機(jī)數(shù)與實(shí)體A的公鑰結(jié)合產(chǎn)生第二消息,且通過雜湊函數(shù) 計(jì)算產(chǎn)生雜湊值RB,并將第二消息和雜湊值RB發(fā)送給實(shí)體A ; 實(shí)體A驗(yàn)證雜湊值RB,若驗(yàn)證通過,則實(shí)體A通過雜湊函數(shù)計(jì)算產(chǎn)生雜湊值RA和 共享密鑰,并將雜湊值RA發(fā)送給實(shí)體B ; 實(shí)體B驗(yàn)證雜湊值RA,若驗(yàn)證通過,則實(shí)體B計(jì)算出共享密鑰。
在一個(gè)實(shí)施例中,第一隨機(jī)數(shù)是取自乘法群Z/二 {1,2, ... , q_l}的隨機(jī)數(shù)x,第 一消息為XE (gb)x(mod p),其中,gb是實(shí)體B的公鑰,p是一個(gè)大素?cái)?shù),g是乘法群Z/中 的一個(gè)q階元素,q是p-l的素因子。第二隨機(jī)數(shù)是取自乘法群Z;的隨機(jī)數(shù)y,第二消息 為YE (ga"(modp),其中,ga是實(shí)體A的公鑰。實(shí)體B在通過一個(gè)強(qiáng)無碰撞雜湊函數(shù)H計(jì) 算雜湊值RB = H(gx, Y, gxy, IDB)之前,還包括步驟實(shí)體B使用自己私鑰b的逆元素h計(jì)算 f三gx (mod p),且私鑰b的逆元素h滿足式子bh三1 (mod q);計(jì)算(gx)y三gxy (mod p); 其中,IDB是實(shí)體B的有效身份標(biāo)識(shí)。實(shí)體A接收Y和雜湊值RB雜湊值RB,使用自己的私鑰 a的逆元素a計(jì)算Y^Egy(mod p),進(jìn)一步計(jì)算(gT三gxy(mod p)和雜湊值H(gX, Y, gxy, IDB);實(shí)體A驗(yàn)證接收到的雜湊值Re與自己計(jì)算出來的雜湊值H(gX,Y,gxy,ID》是否相等, 若相等,則實(shí)體A計(jì)算雜湊值RA = H(g、X, gxy, IDA)并將雜湊值RA發(fā)送給實(shí)體B,其中,IDA 是實(shí)體A的有效身份標(biāo)識(shí)。實(shí)體B驗(yàn)證收到的雜湊值RA與自己計(jì)算出來的雜湊值H(gy,X, gxy, IDA)是否相等,若相等,則實(shí)體A和實(shí)體B分別計(jì)算出共享密鑰。 在另一個(gè)實(shí)施例中,第一隨機(jī)數(shù)是取自乘法群ZJ二 {1,2,... ,n_l}的隨機(jī)數(shù)iv 第一消息為RA = AQe,其中,QB是實(shí)體B的公鑰,n是一個(gè)大素?cái)?shù)。第二隨機(jī)數(shù)是取自乘法 群Zn*的隨機(jī)數(shù)rB,第二消息為RB = rBQA,其中,QA是實(shí)體A的公鑰.實(shí)體B在通過一個(gè)強(qiáng)無 碰撞雜湊函數(shù)H計(jì)算雜湊值VB = H(rAP, RB, rArBP, IDB)之前,還包括步驟實(shí)體B接收第一 消息RA,使用自己私鑰xB的逆元素xB—1計(jì)算xB—\ = rAP,且私鑰xB的逆元素xB—1滿足式子 xBxB—1 e丄(mod n);計(jì)算rB (rAp) = rArBP ;其中,IDb是實(shí)體B的有效身份標(biāo)識(shí)。實(shí)體A接收
第二消息RB和雜湊值VB,使用自己私鑰xA的逆元素xA—1計(jì)算xA—\ = rBP ;實(shí)體A進(jìn)一步計(jì) 算rA(^p) =rArBP,pH(rAP, rb, p, idb),驗(yàn)證接收到的雜湊值vb與自己計(jì)算出來的雜 湊值H(rAP, RB, rArBP, IDB)是否相等;若相等,實(shí)體A計(jì)算雜湊值VA = H(rBP, RA, rArBP, IDA) 并將雜湊值VA發(fā)送給實(shí)體B,其中,IDA是實(shí)體A的有效身份標(biāo)識(shí)。實(shí)體B驗(yàn)證收到的雜湊 值VA與自己計(jì)算出來的雜湊值H(^P, RA, rArBP, IDA)是否相等,若相等,則實(shí)體A和實(shí)體B 分別計(jì)算出共享密鑰。 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果 本發(fā)明所提供的認(rèn)證密鑰協(xié)商方法是基于雜湊函數(shù)的一個(gè)通信實(shí)體通過將自己 計(jì)算出來的雜湊值與接收到來自另一個(gè)通信實(shí)體的雜湊值比對(duì)來確定另外一個(gè)通信實(shí)體 是否真實(shí)可靠;另外,通過雜湊值比對(duì),一個(gè)通信實(shí)體也可以確定另外一個(gè)通信實(shí)體是否可 以計(jì)算出共享密鑰;最后,通信雙方通過計(jì)算雜湊值得到了相同了的通信密鑰。相比基于數(shù)
5字簽名的方法,本發(fā)明所提供的方法需要較少的計(jì)算量和通信量,有利于提升通信速度和 通信效率。
圖1是現(xiàn)有基于數(shù)字簽名的認(rèn)證密鑰協(xié)商方法的流程示意圖;
圖2是本發(fā)明的實(shí)施方式1的流程示意圖;
圖3是本發(fā)明的實(shí)施方式2的流程示意圖。
具體實(shí)施例方式
本發(fā)明是基于Diffie-Hellman密鑰交換協(xié)議、并采用雜湊(Hash,或稱為哈希)函 數(shù)來實(shí)現(xiàn)在兩個(gè)通信實(shí)體之間認(rèn)證密鑰協(xié)商。本發(fā)明在保證安全性的同時(shí),減少了通信雙 方的計(jì)算量和數(shù)據(jù)通信量。
實(shí)施例1 通信雙方包括兩個(gè)對(duì)等實(shí)體實(shí)體A和實(shí)體B。這里的實(shí)體可以是運(yùn)行程序的硬 件,也可以僅僅是一段程序或者軟件。 在執(zhí)行認(rèn)證和密鑰協(xié)商之前,假定通信雙方已就參數(shù)p、 q、 g、 H達(dá)成共識(shí)。其中p 是一個(gè)大素?cái)?shù)(例如,P的二進(jìn)制表示有1024比特),q是p-l的一個(gè)大的素因子(例如, q的二進(jìn)制表示有160比特),g是乘法群Zp* = {1,2,... ,p_l}中的一個(gè)q階元素,H是一 個(gè)強(qiáng)無碰撞雜湊函數(shù)(例如SHA-1或SHA-256)。 進(jìn)一步假定實(shí)體A擁有私鑰a和公鑰ga,其身份標(biāo)識(shí)為IDA ;實(shí)體B擁有私鑰b和 公鑰gb,其身份標(biāo)識(shí)為IDe。其中私鑰a和私鑰b取自群Z^二 {1,2, ..., q-lh公鑰ga和 公鑰gb屬于Zp*。并且假定通信雙方在認(rèn)證和密鑰協(xié)商之前已經(jīng)獲知對(duì)方的有效的公鑰和 身份標(biāo)識(shí)。獲知對(duì)方有效公鑰和身份標(biāo)識(shí)的最有效的辦法是驗(yàn)證對(duì)方公鑰證書的有效性, 在此不予描述。 如圖2所示。該實(shí)施方式包括以下步驟 步驟S21 :實(shí)體A產(chǎn)生一個(gè)隨機(jī)數(shù)x, x取自Zq*,計(jì)算X三(gb)x(mod p),并將X發(fā) 送給實(shí)體B。 步驟S22 :實(shí)體B接收X,使用自己私鑰b的逆元素h計(jì)算Xh e gx (mod p)。其中 私鑰b的逆元素h滿足式子他e 1 (mod q)。 步驟S23:實(shí)體B產(chǎn)生一個(gè)隨機(jī)數(shù)y,y取自Z;U十算YE (ga"(mod p),計(jì)算(gx) y三gxy(m0d p)和雜湊值RB = H(gx, Y, gxy, IDB),并將Y和雜湊值RB發(fā)送給實(shí)體A。
步驟S24:實(shí)體A接收Y和雜湊值Re,使用自己的私鑰a的逆元素這計(jì)算 Y旦e gy(modp),實(shí)體A進(jìn)一步計(jì)算(g>T e gxy(mod p)和雜湊值H(gX,Y, gxy, IDB)。
步驟S25:實(shí)體A驗(yàn)證接收到的雜湊值RB與自己計(jì)算出來的雜湊值H(gX, Y, gxy, IDB)是否相等;如果兩個(gè)雜湊值相等,實(shí)體A就確信自己的通信對(duì)象的確是實(shí)體B,并且實(shí) 體B有能力計(jì)算出共享密鑰;如果兩個(gè)雜湊值不相等,實(shí)體A就認(rèn)為實(shí)體B是不合法的,從 而中止認(rèn)證和密鑰協(xié)商過程。 步驟S26 :實(shí)體A計(jì)算RA = H(gy, X, gxy, IDA),并將雜湊值RA發(fā)送給實(shí)體B。
步驟S27 :實(shí)體B接收雜湊值RA,計(jì)算雜湊值H(gy, X, gxy, IDA);實(shí)體B驗(yàn)證收到的RA與自己計(jì)算出來的H(gy, X, gxy, IDA)是否相等;如果兩個(gè)雜湊值相等,實(shí)體B就確信自己 的通信對(duì)象的確是實(shí)體A,并且實(shí)體A有能力計(jì)算出共享密鑰;否則,如果兩個(gè)雜湊值不相 等,實(shí)體B就認(rèn)為實(shí)體A是不合法的,從而中止認(rèn)證和密鑰協(xié)商過程。
步驟S28 :實(shí)體A計(jì)算密鑰K = H(gxy, IDA, IDB)。
步驟S29 :實(shí)體B計(jì)算密鑰K = H(gxy, IDA, IDB)。 從上述實(shí)施方式可以看出,本發(fā)明的方法的確可以滿足通信雙方認(rèn)證身份和協(xié)商
共享密鑰的需求。
實(shí)施例2 通信雙方包括兩個(gè)對(duì)等實(shí)體實(shí)體A和實(shí)體B。這里的實(shí)體可以是運(yùn)行程序的硬 件,也可以僅僅是一段程序或者軟件。 在執(zhí)行認(rèn)證和密鑰協(xié)商之前,假定通信雙方已就橢圓曲線的參數(shù)q、 FR、 S、 a、 b、 P、 n、 h達(dá)成共識(shí)。其中q是有限域的階(例如,q是256比特的素?cái)?shù)或者是2256) ;FR是有限 域Fq中元素的表示方法;參數(shù)S是隨機(jī)產(chǎn)生橢圓曲線時(shí)用到的一個(gè)隨機(jī)值,如果橢圓曲線 不是隨機(jī)產(chǎn)生的,就不需要這個(gè)參數(shù);參數(shù)a和b屬于有限域F,,這兩個(gè)參數(shù)限定了產(chǎn)生橢 圓曲線的方程;P是橢圓曲線上的一個(gè)點(diǎn),該點(diǎn)的階為n, n是一個(gè)大素?cái)?shù)(例如,q的二進(jìn) 制表示有256比特);h二能(F,)/n,其中能(F,)表示Fq上的橢圓曲線E上的點(diǎn)的個(gè)數(shù)。H 是一個(gè)強(qiáng)無碰撞雜湊函數(shù)(例如SHA-1或SHA-256)。 進(jìn)一步假定實(shí)體A擁有私鑰^和公鑰QA = xAP,其身份標(biāo)識(shí)為IDA ;實(shí)體B擁有私鑰 xB和公鑰QB = xBP,其身份標(biāo)識(shí)為IDB。其中私鑰xA和xB取自集合Zn* = {1, 2, . . . , n-1}, 公鑰QA和公鑰QB是橢圓曲線上的點(diǎn),即QA和公鑰QB屬于E (Fq)。并且假定通信雙方再認(rèn)證 和密鑰協(xié)商之前已經(jīng)獲知對(duì)方的有效的公鑰和身份標(biāo)識(shí)。獲知對(duì)方有效公鑰和身份標(biāo)識(shí)的 最有效的辦法是驗(yàn)證對(duì)方公鑰證書的有效性,在此不予描述。
如圖3所示,該實(shí)施方式包括以下步驟 步驟S31 :實(shí)體A產(chǎn)生一個(gè)隨機(jī)數(shù)ivrA取自乘法群Zj = {1, 2,. . . ,n_l},計(jì)算RA =r^,并將RA發(fā)送給實(shí)體B。 步驟S32 :實(shí)體B接收RA,使用自己私鑰xB的逆元素xB—1計(jì)算xB—\ = rAP。其中 私鑰xB的逆元素xB—1滿足式子xBxB—1三1 (mod n)。 步驟S33 :實(shí)體B產(chǎn)生一個(gè)隨機(jī)數(shù)rB, rB取自Zn*,計(jì)算RB = rBQA,計(jì)算rB (rAP)= rArBP和VB = H(rAP, RB, rArBP, IDB),并將RB和VB發(fā)送給實(shí)體A。 步驟S34 :實(shí)體A接收RB和VB,使用自己私鑰xA的逆元素xA—1計(jì)算xA—\ = rBP ;實(shí) 體A進(jìn)一步計(jì)算rA(rBP) = rArBP和H(rAP, RB, rArBP, IDB)。 步驟S35 :實(shí)體A驗(yàn)證接收到的VB與自己計(jì)算出來的H(rAP, RB, rArBP, IDB)是否相 等;如果兩個(gè)值相等,實(shí)體A就確信自己的通信對(duì)象的確是實(shí)體B,并且實(shí)體B有能力計(jì)算 出共享密鑰;否則,如果兩個(gè)值不相等,實(shí)體A就認(rèn)為實(shí)體B是不合法的,從而中止認(rèn)證和密 鑰協(xié)商過程。 步驟S36 :實(shí)體A計(jì)算VA = H(rB P, RA, rArB P, IDA),并將VA發(fā)送給實(shí)體B。
步驟S37 :實(shí)體B接收VA,計(jì)算H(rBP, RA, rArBP, IDA);實(shí)體B驗(yàn)證收到的VA與自己 計(jì)算出來的H(rBP, RA, rArBP, IDA)是否相等。如果兩個(gè)值相等,實(shí)體B就確信自己的通信對(duì) 象的確是實(shí)體A,并且實(shí)體A有能力計(jì)算出共享密鑰。否則,如果兩個(gè)值不相等,實(shí)體B就認(rèn)為實(shí)體A是不合法的,從而中止認(rèn)證和密鑰協(xié)商過程。
步驟S38 :實(shí)體A計(jì)算密鑰K = H(rArBP, IDA, IDB)。
步驟S39 :實(shí)體B計(jì)算密鑰K = H(rArB P, IDA, IDB)。 從上述實(shí)施方式可以看出,本發(fā)明的方法的確可以滿足通信雙方認(rèn)證身份和協(xié)商 共享密鑰的需求。 綜上,本發(fā)明所提供的認(rèn)證密鑰協(xié)商方法是基于雜湊函數(shù)的一個(gè)通信實(shí)體通過 將自己計(jì)算出來的雜湊值與接收到來自另一個(gè)通信實(shí)體的雜湊值比對(duì)來確定另外一個(gè)通 信實(shí)體是否真實(shí)可靠;另外,通過雜湊值比對(duì),一個(gè)通信實(shí)體也可以確定另外一個(gè)通信實(shí)體 是否可以計(jì)算出共享密鑰;最后,通信雙方通過計(jì)算雜湊值得到了相同了的通信密鑰。相比 基于數(shù)字簽名的方法,本發(fā)明所提供的方法需要較少的計(jì)算量和通信量。
8
權(quán)利要求
一種認(rèn)證密鑰協(xié)商方法,其特征在于,包括步驟實(shí)體A將產(chǎn)生的第一隨機(jī)數(shù)與實(shí)體B的公鑰結(jié)合產(chǎn)生第一消息,并將第一消息發(fā)送給實(shí)體B;實(shí)體B將產(chǎn)生的第二隨機(jī)數(shù)與實(shí)體A的公鑰結(jié)合產(chǎn)生第二消息,且通過雜湊函數(shù)計(jì)算產(chǎn)生雜湊值RB,并將第二消息和雜湊值RB發(fā)送給實(shí)體A;實(shí)體A驗(yàn)證雜湊值RB,若驗(yàn)證通過,則實(shí)體A通過雜湊函數(shù)計(jì)算產(chǎn)生雜湊值RA和共享密鑰,并將雜湊值RA發(fā)送給實(shí)體B;實(shí)體B驗(yàn)證雜湊值RA,若驗(yàn)證通過,則實(shí)體B計(jì)算出共享密鑰。
2. 根據(jù)權(quán)利要求1所述認(rèn)證密鑰協(xié)商方法,其特征在于,第一隨機(jī)數(shù)是取自乘法群Z^ ={l,2,..,q-l}的隨機(jī)數(shù)x,第一消息為XE (gb)x(mod p),其中,gb是實(shí)體B的公鑰,p是 一個(gè)大素?cái)?shù),g是乘法群Zp*中的一個(gè)q階元素,q是p-1的素因子。
3. 根據(jù)權(quán)利要求2所述認(rèn)證密鑰協(xié)商方法,其特征在于,第二隨機(jī)數(shù)是取自乘法群Zq* 的隨機(jī)數(shù)y,第二消息為Y三(ga)y(modp),其中,ga是實(shí)體A的公鑰。
4. 根據(jù)權(quán)利要求3所述認(rèn)證密鑰協(xié)商方法,其特征在于,實(shí)體B在通過一個(gè)強(qiáng)無碰撞雜 湊函數(shù)H計(jì)算雜湊值RB = H(gx, Y, gxy, IDB)之前,還包括步驟實(shí)體B使用自己私鑰b的逆元素h計(jì)算Xfe e gx (mod p),且私鑰b的逆元素h滿足式 子三1 (mod q);計(jì)算(gx)y三gxy(mod p);其中,IDB是實(shí)體B的有效身份標(biāo)識(shí)。
5. 根據(jù)權(quán)利要求4所述認(rèn)證密鑰協(xié)商方法,其特征在于,實(shí)體A接收Y和雜湊值RB,使 用自己的私鑰a的逆元素旦計(jì)算Ys e gy (mod p),進(jìn)一步計(jì)算(gy) x e (mod p)和雜湊值 H(gx, Y, gxy, IDB);實(shí)體A驗(yàn)證接收到的雜湊值RB與自己計(jì)算出來的雜湊值H(gx, Y, gxy, IDB) 是否相等;若相等,則實(shí)體A計(jì)算雜湊值ra = H(gy, X, gxy, IDa),其中,IDA是實(shí)體A的有效 身份標(biāo)識(shí)。
6. 根據(jù)權(quán)利要求1所述認(rèn)證密鑰協(xié)商方法,其特征在于,第一隨機(jī)數(shù)是取自乘法群Z^ ={1,2, ... , n-1}的隨機(jī)數(shù)rA,第一消息為RA二rAQB,其中,QB是實(shí)體B的公鑰,n是一個(gè) 大素?cái)?shù)。
7. 根據(jù)權(quán)利要求6所述認(rèn)證密鑰協(xié)商方法,其特征在于,第二隨機(jī)數(shù)是取自乘法群Zn* 的隨機(jī)數(shù)iv第二消息為RB = ^Qa,其中,QA是實(shí)體A的公鑰。
8. 根據(jù)權(quán)利要求7所述認(rèn)證密鑰協(xié)商方法,其特征在于,實(shí)體B在通過一個(gè)強(qiáng)無碰撞雜 湊函數(shù)H計(jì)算雜湊值VB = H(rAP, RB, rArBP, IDB)之前,還包括步驟實(shí)體B接收第一消息RA,使用自己私鑰xB的逆元素xB—1計(jì)算xB—\ = rAP,且私鑰xB的 逆元素xB—1滿足式子xBxB—1三1 (mod n); 計(jì)算rB(rAP) =rArBP; 其中,IDB是實(shí)體B的有效身份標(biāo)識(shí)。
9. 根據(jù)權(quán)利要求8所述認(rèn)證密鑰協(xié)商方法,其特征在于,實(shí)體A接收第二消息RB和雜 湊值VB,使用自己私鑰xA的逆元素xA—1計(jì)算xA—\ = rBP ;實(shí)體A進(jìn)一步計(jì)算rA (rBP) = rArBP 和H(rAP, RB, rArBP, IDB),驗(yàn)證接收到的雜湊值VB與自己計(jì)算出來的雜湊值H(rAP, RB, rArBP, IDB)是否相等;若相等,實(shí)體A計(jì)算雜湊值VA二H(rBP,RA,i^P,ID》并將雜湊值VA發(fā)送給實(shí)體B,其中,IDA是實(shí)體A的有效身份標(biāo)識(shí)。
10.根據(jù)權(quán)利要求9所述認(rèn)證密鑰協(xié)商方法,其特征在于,實(shí)體B驗(yàn)證收到的雜湊值VA 與自己計(jì)算出來的雜湊值H(rBP, RA, rArBP, IDA)是否相等;若相等,則實(shí)體A和實(shí)體B分別 計(jì)算出共享密鑰。
全文摘要
本發(fā)明提供了一種認(rèn)證密鑰協(xié)商方法,用于兩個(gè)通信實(shí)體A和B之間認(rèn)證對(duì)方的身份并協(xié)商出一個(gè)共享密鑰,其包括實(shí)體A將產(chǎn)生的第一隨機(jī)數(shù)與實(shí)體B的公鑰結(jié)合產(chǎn)生第一消息,并將第一消息發(fā)送給實(shí)體B;實(shí)體B將產(chǎn)生的第二隨機(jī)數(shù)與實(shí)體A的公鑰結(jié)合產(chǎn)生第二消息,且通過雜湊函數(shù)計(jì)算產(chǎn)生雜湊值RB,并將第二消息和雜湊值RB發(fā)送給實(shí)體A;實(shí)體A驗(yàn)證雜湊值RB,若驗(yàn)證通過,則實(shí)體A通過雜湊函數(shù)計(jì)算產(chǎn)生雜湊值RA和共享密鑰,并將雜湊值RA發(fā)送給實(shí)體B;實(shí)體B驗(yàn)證雜湊值RA,若驗(yàn)證通過,則實(shí)體B計(jì)算出共享密鑰。本發(fā)明所提供的方法需要較少的計(jì)算量和通信量,有利于提升通信速度和通信效率。
文檔編號(hào)H04L9/08GK101710859SQ200910109748
公開日2010年5月19日 申請(qǐng)日期2009年11月17日 優(yōu)先權(quán)日2009年11月17日
發(fā)明者李新國(guó) 申請(qǐng)人:深圳國(guó)微技術(shù)有限公司