发明名称 基于证书的三方认证密钥协商协议产生方法
摘要 发明涉及一种基于证书的三方认证密钥协商协议产生方法,应用于无线网络系统,包括(1)通信三方A、B、C分别将各自的证书发给另外两方;(2)A在接收到B和C发的证书后,随机选择x作为临时私钥;计算:MA=(gb*gc)a*gx,NA1=(gb)x,NA2=(gc)x;然后,A将MA和NA1发给B,将MA和NA2发给C;B、C的处理方式同A;(3)通信方A在接收到通信方B和通信方C发来的消息后,计算验证若不成立,则协议终止运行;若成立,则计算会话密钥;B、C计算会话密钥的方式同A;(4)协商完成。本发明的基于证书的三方认证密钥协商协议产生方法,只使用了模指运算和hash函数,运算效率较高;本协议能够抵御中间人攻击、未知密钥共享攻击、密钥泄露伪装攻击,安全性高。
申请公布号 CN103634104A 申请公布日期 2014.03.12
申请号 CN201310611105.6 申请日期 2013.11.26
申请人 常州大学 发明人 丁辉;潘操;王洪元;刘鸿飞
分类号 H04L9/08(2006.01)I 主分类号 H04L9/08(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 卢亚丽
主权项 1.一种基于证书的三方认证密钥协商协议产生方法,应用于包括通信三方A、B和C的无线网络系统,其特征在于,包括以下步骤:(1)通信三方A、B、C分别将各自的证书发给另外两方;A、B、C三方的证书形式分别为:Cert(A)=<ID<sub>A</sub>,g,p,q,g<sup>a</sup>,{ID<sub>A</sub>,g,p,q,g<sup>a</sup>}<sub>sigCA</sub>>,其中a是通信方A的长期秘密,即A的私钥,<g,p,q,g<sup>a</sup>>为公钥;Cert(B)=<ID<sub>B</sub>,g,p,q,g<sup>b</sup>,{ID<sub>B</sub>,g,p,q,g<sup>b</sup>}<sub>sigCB</sub>>,其中b是通信方B的长期秘密,即B的私钥,<g,p,q,g<sup>b</sup>>为公钥;Cert(C)=<ID<sub>C</sub>,g,p,q,g<sup>c</sup>,{ID<sub>C</sub>,g,p,q,g<sup>c</sup>}<sub>sigCB</sub>>,其中c是通信方C的长期秘密,即C的私钥,<g,p,q,g<sup>c</sup>>为公钥;其中,Cert()表示证书,g,p,q,是全局参数,sig表示数字签名;(2)通信方A在接收到通信方B和通信方C发的证书后,随机选择x作为临时私钥;计算:M<sub>A</sub>=(g<sup>b</sup>*g<sup>c</sup>)<sup>a</sup>*g<sup>x</sup>,N<sub>A1</sub>=(g<sup>b</sup>)<sup>x</sup>,N<sub>A2</sub>=(g<sup>c</sup>)<sup>x</sup>,其中,g<sup>b</sup>和g<sup>c</sup>从通信方B和通信方C的证书中获得,*表示乘法;然后,通信方A将M<sub>A</sub>和N<sub>A1</sub>发给通信方B,将M<sub>A</sub>和N<sub>A2</sub>发给通信方C;(3)通信方B在接收到通信方A和通信方C发的证书后,随机选择y作为临时私钥;计算:M<sub>B</sub>=(g<sup>a</sup>*<sub>g</sub><sup>c</sup>)<sup>b</sup>*g<sup>y</sup>,N<sub>B1</sub>=(g<sup>a</sup>)<sup>y</sup>,N<sub>B2</sub>=(g<sup>c</sup>)<sup>y</sup>,其中,g<sup>a</sup>和g<sup>c</sup>从通信方A和通信方C的证书中获得;然后,通信方B将M<sub>B</sub>和N<sub>B1</sub>发给通信方A,将M<sub>B</sub>和N<sub>B2</sub>发给通信方C;(4)通信方C在接收到通信方A和通信方B发的证书后,随机选择z作为临时私钥;计算:M<sub>C</sub>=(g<sup>a</sup>*g<sup>b</sup>)<sup>c</sup>*g<sup>z</sup>,N<sub>C1</sub>=(g<sup>a</sup>)<sup>z</sup>,N<sub>C2</sub>=(g<sup>b</sup>)<sup>z</sup>,其中,g<sup>a</sup>和g<sup>b</sup>从通信方A和通信方B的证书中获得;然后,通信方C将M<sub>C</sub>和N<sub>C1</sub>发给通信方A,将M<sub>C</sub>和N<sub>C2</sub>发给通信方B;(5)通信方A在接收到通信方B和通信方C发来的消息后,计算<img file="FDA0000422921030000021.GIF" wi="240" he="91" />验证<![CDATA[<math><mrow><mfrac><mrow><msub><mi>M</mi><mi>B</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>B</mi><mn>1</mn></mrow><mrow><mo>-</mo><mover><mi>a</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><mrow><msub><mi>M</mi><mi>C</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>C</mi><mn>1</mn></mrow><mrow><mo>-</mo><mover><mi>a</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow></mfrac><mo>=</mo><msup><mi>g</mi><mrow><mrow><mo>(</mo><mi>b</mi><mo>-</mo><mi>c</mi><mo>)</mo></mrow><mi>a</mi></mrow></msup><mo>;</mo></mrow></math>]]></maths>若不成立,则协议终止运行;若成立,则计算会话密钥<![CDATA[<math><mrow><msub><mi>sk</mi><mi>ABC</mi></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>M</mi><mi>B</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>B</mi><mn>1</mn></mrow><mrow><mo>-</mo><mover><mi>a</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><msup><mrow><mo>(</mo><msup><mi>g</mi><mi>b</mi></msup><mo>)</mo></mrow><mi>a</mi></msup></mfrac><mo>)</mo></mrow><mi>a</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>x</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>y</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>z</mi></msup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,h表示单向抗碰撞的哈希函数,||表示比特连接运算;(6)通信方B在接收到通信方A和通信方C发来的消息后,计算<img file="FDA0000422921030000024.GIF" wi="236" he="91" />验证<![CDATA[<math><mrow><mfrac><mrow><msub><mi>M</mi><mi>A</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>A</mi><mn>1</mn></mrow><mrow><mo>-</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><mrow><msub><mi>M</mi><mi>C</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>C</mi><mn>2</mn></mrow><mrow><mo>-</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow></mfrac><mo>=</mo><msup><mi>g</mi><mrow><mrow><mo>(</mo><mi>a</mi><mo>-</mo><mi>c</mi><mo>)</mo></mrow><mi>b</mi></mrow></msup><mo>;</mo></mrow></math>]]></maths>若不成立,则协议终止运行;若成立,则计算会话密钥<![CDATA[<math><mrow><msub><mi>sk</mi><mi>BAC</mi></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>M</mi><mi>A</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>A</mi><mn>1</mn></mrow><mrow><mo>-</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><msup><mrow><mo>(</mo><msup><mi>g</mi><mi>a</mi></msup><mo>)</mo></mrow><mi>b</mi></msup></mfrac><mo>)</mo></mrow><mi>b</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>x</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>y</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>z</mi></msup><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>(7)通信方C在接收到通信方A和通信方B发来的消息后,计算<img file="FDA0000422921030000027.GIF" wi="242" he="91" />验证<![CDATA[<math><mrow><mfrac><mrow><msub><mi>M</mi><mi>A</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>A</mi><mn>2</mn></mrow><mrow><mo>-</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><mrow><msub><mi>M</mi><mi>B</mi></msub><mo>*</mo><msubsup><mi>N</mi><mrow><mi>B</mi><mn>2</mn></mrow><mrow><mo>-</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow></mfrac><mo>=</mo><msup><mi>g</mi><mrow><mrow><mo>(</mo><mi>a</mi><mo>-</mo><mi>b</mi><mo>)</mo></mrow><mi>c</mi></mrow></msup><mo>;</mo></mrow></math>]]></maths>若不成立,则协议终止运行;若成立,则计算会话密钥<![CDATA[<math><mrow><msub><mi>sk</mi><mi>CAB</mi></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>M</mi><mi>A</mi></msub><mo>*</mo><msubsup><mi>N</mi><mi>Ac</mi><mrow><mo>-</mo><mover><mi>c</mi><mo>&OverBar;</mo></mover></mrow></msubsup></mrow><msup><mrow><mo>(</mo><msup><mi>g</mi><mi>a</mi></msup><mo>)</mo></mrow><mi>c</mi></msup></mfrac><mo>)</mo></mrow><mi>c</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>x</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>y</mi></msup><mo>|</mo><mo>|</mo><msup><mi>g</mi><mi>z</mi></msup><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>(8)sk<sub>ABC</sub>=sk<sub>BAC</sub>=sk<sub>CAB</sub>=sk,则三方协商出安全的会话密钥sk。
地址 213164 江苏省常州市武进区滆湖中路1号