发明名称 车载自组织网络下基于生物加密技术的匿名认证方案
摘要 车载自组织网络下基于生物加密技术的匿名认证方案,属于信息安全技术领域,特别涉及到生物加密算法和MAC地址隐藏技术。其特征在于:生物加密技术将用户的生物模板和密钥有机地结合在一起生成生物密文,生物密文隐藏了生物特征和密钥的信息,代表用户的唯一身份;生物密文的生成具有单向性,并且生物信息和加密密钥相互独立;用户间在协商会话密钥的同时生成新的MAC地址,实现了后续的匿名通信。本发明的效果和益处在于:生物加密技术解决了生物模板的泄露问题,其密文生成的单向性使得攻击者无法只通过密钥来破解生物信息;MAC地址隐藏技术能够保护用户的真实身份,实现了匿名通信,其易被更新的特性保证了较高的服务质量。
申请公布号 CN102904896A 申请公布日期 2013.01.30
申请号 CN201210408083.9 申请日期 2012.10.23
申请人 大连理工大学 发明人 姚琳;林驰;吴国伟;邓方昱
分类号 H04L29/06(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 侯明远
主权项 1.车载自组织网络下基于生物加密技术的匿名认证方案,包括系统初始化、匿名认证和MAC地址隐藏三个阶段,系统初始化阶段中,每一个用户必须通过认证服务器注册成为一个合法有效的实体;匿名认证阶段中,认证服务器能够实现对系统中实体用户之间的认证;MAC地址隐藏阶段中,用户间协商用于后续通信的会话密钥和MAC地址,该方案的特征在于包括了以下步骤:系统初始化阶段(1)认证服务器为用户(U)生成一对公钥(K<sub>A</sub>)和私钥(<img file="FDA0000229063131.GIF" wi="75" he="66" />);(2)基于生物加密技术,认证服务器使用用户的生物特征信息和一个随机密钥Key<sub>U</sub>,为用户生成生物加密后的密文(Bioscrypt<sub>U</sub>),Bioscrypt<sub>U</sub>代表用户的身份信息,存储Bioscrypt<sub>U</sub>同时丢弃用户的生物特征信息,存储密钥哈希值h(Key<sub>U</sub>);(3)认证服务器为每个用户生成一个序列号(ID<sub>U</sub>)并将其保存;(4)认证服务器为每个用户随机生成MAC地址,用于后续通信;匿名认证阶段机会路由实施于网络层,而用户间认证作用于应用层,因此机会路由的选路不会影响到系统的安全,用户的通信过程能够被视作端到端的通信过程,无需考虑机会路由的选路对系统安全造成的影响;当用户U<sub>1</sub>与用户U<sub>2</sub>需要通信,两者需要进行匿名认证,步骤如下:(5)用户U<sub>1</sub>向用户U<sub>2</sub>发送如下消息:<maths num="0001"><![CDATA[<math><mrow><msub><mi>U</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>U</mi><mn>2</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>ID</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>Bioscrypt</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>face</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><msub><mi>K</mi><mi>AS</mi></msub><mo>,</mo></mrow></math>]]></maths><img file="FDA0000229063133.GIF" wi="141" he="72" />是用户U<sub>1</sub>的<img file="FDA0000229063134.GIF" wi="88" he="72" />哈希值,<img file="FDA0000229063135.GIF" wi="203" he="72" />代表用户U<sub>1</sub>的生物密文,<img file="FDA0000229063136.GIF" wi="122" he="72" />是人脸信息,<img file="FDA0000229063137.GIF" wi="153" he="72" />是用户U<sub>1</sub>产生的随机数, ||是信息连接符,K<sub>AS</sub>是认证服务器的公钥,<img file="FDA0000229063138.GIF" wi="716" he="128" />是使用K<sub>AS</sub>加密后的信息;(6)用户U<sub>2</sub>向认证服务器发送如下消息:<maths num="0002"><![CDATA[<math><mfenced open="" close=""><mtable><mtr><mtd><msub><mi>U</mi><mn>2</mn></msub><mo>&RightArrow;</mo><mi>AS</mi><mo>:</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>ID</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>Bioscrypt</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>face</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><msub><mi>K</mi><mi>AS</mi></msub><mo>|</mo><mo>|</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>ID</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>Bioscrypt</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>face</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><msub><mi>K</mi><mi>AS</mi></msub><mo>;</mo></mtd></mtr></mtable></mfenced></math>]]></maths>(7)当认证服务器收到步骤6中的信息后,使用U<sub>1</sub>的生物密文<img file="FDA00002290631310.GIF" wi="203" he="72" />和人脸信息<img file="FDA00002290631311.GIF" wi="122" he="72" />生成一个密钥,如果其哈希值等于初始化阶段中认证服务器为U<sub>1</sub>生成的<img file="FDA00002290631312.GIF" wi="162" he="72" />,此时U<sub>1</sub>被认定为合法用户,同理,认证服务器对U<sub>2</sub>进行认证;(8)若U<sub>1</sub>和U<sub>2</sub>为合法用户,认证服务器将向U<sub>1</sub>和U<sub>2</sub>发送如下消息:<maths num="0003"><![CDATA[<math><mrow><mi>AS</mi><mo>&RightArrow;</mo><msub><mi>U</mi><mn>1</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>ID</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><msub><mi>K</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mi>AS</mi><mo>&RightArrow;</mo><msub><mi>U</mi><mn>2</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>ID</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><msub><mi>K</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>;</mo></mrow></math>]]></maths>MAC地址隐藏阶段相互认证结束之后,一个新的会话密钥K将会基于AMP+协议生成,用于保护U<sub>1</sub>和U<sub>2</sub>之间的通信,同时U<sub>1</sub>和U<sub>2</sub>会协商出各自的MAC地址用于之后的匿名通信,具体生成步骤如下:(9)U<sub>2</sub>用<img file="FDA00002290631315.GIF" wi="147" he="72" />替换<img file="FDA00002290631316.GIF" wi="88" he="72" />并计算<img file="FDA00002290631317.GIF" wi="397" he="72" />,V=S×G和<img file="FDA00002290631318.GIF" wi="222" he="72" />,其中<img file="FDA00002290631319.GIF" wi="59" he="72" />是一个随机数,U<sub>2</sub>向U<sub>1</sub>发送如下消息:<maths num="0005"><![CDATA[<math><mrow><msub><mi>U</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>U</mi><mn>1</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>Q</mi><msub><mi>u</mi><mn>2</mn></msub></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><mi>V</mi><mo>;</mo></mrow></math>]]></maths>(10)U<sub>1</sub>计算出<img file="FDA00002290631321.GIF" wi="397" he="72" />和V=S×G,并通过解密步骤(9)中的消息获取<img file="FDA00002290631322.GIF" wi="75" he="72" />且计算<img file="FDA00002290631323.GIF" wi="200" he="72" />出和<img file="FDA00002290631324.GIF" wi="509" he="75" />,最后向U<sub>2</sub>发送如下消息:<maths num="0006"><![CDATA[<math><mrow><msub><mi>U</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>U</mi><mn>2</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>Q</mi><msub><mi>u</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><mi>V</mi><mo>;</mo></mrow></math>]]></maths>(11)U<sub>2</sub>计算出<maths num="0007"><![CDATA[<math><mrow><msub><mi>e</mi><mn>2</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow></mrow></math>]]></maths>,<maths num="0008"><![CDATA[<math><mrow><mi>&omega;</mi><mo>=</mo><msup><mrow><mo>(</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>&times;</mo><msub><mi>e</mi><mn>1</mn></msub><mo>+</mo><mi>S</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>+</mo><msub><mi>e</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></math>]]></maths>,<maths num="0009"><![CDATA[<math><mrow><mi>K</mi><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><mi>&omega;</mi><mo>)</mo></mrow></mrow></math>]]></maths>和<maths num="0010"><![CDATA[<math><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>,</mo><mi>K</mi><mo>)</mo></mrow></mrow></math>]]></maths>,随后向U<sub>1</sub>发送如下消息:<maths num="0011"><![CDATA[<math><mrow><msub><mi>U</mi><mn>2</mn></msub><mo>&RightArrow;</mo><msub><mi>U</mi><mn>1</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>S</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mo>{</mo><msub><mi>M</mi><mn>1</mn></msub><mo>,</mo><msub><mi>rand</mi><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>}</mo><mi>V</mi><mo>;</mo></mrow></math>]]></maths>(12)U<sub>1</sub>计算<maths num="0012"><![CDATA[<math><mrow><msub><mi>e</mi><mn>2</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>,</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>)</mo></mrow></mrow></math>]]></maths>,<maths num="0013"><![CDATA[<math><mrow><msup><mi>K</mi><mo>&prime;</mo></msup><mo>=</mo><mi>h</mi><mrow><mo>(</mo><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>2</mn></msub></msub><mo>+</mo><mi>G</mi><mo>&times;</mo><msub><mi>e</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>&times;</mo><msub><mrow><mi>tan</mi><mi>d</mi></mrow><mrow><msub><mi>U</mi><mn>1</mn></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>,和<maths num="0014"><![CDATA[<math><mrow><msubsup><mi>M</mi><mn>1</mn><mo>&prime;</mo></msubsup><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>Q</mi><msub><mi>U</mi><mn>1</mn></msub></msub><mo>,</mo><msup><mi>K</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow></math>]]></maths>;如果M'<sub>1</sub>=M<sub>1</sub>成立,U<sub>1</sub>就知道K'等于K,并计算出<img file="FDA00002290631334.GIF" wi="284" he="75" />和<img file="FDA00002290631335.GIF" wi="516" he="72" />,且其前48比特将被用来作为U<sub>1</sub>的新的MAC地址;U<sub>1</sub>随后U<sub>2</sub>向传递如下消息:<maths num="0015"><![CDATA[<math><mrow><msub><mi>U</mi><mn>1</mn></msub><mo>&RightArrow;</mo><msub><mi>U</mi><mn>2</mn></msub><mo>:</mo><mi>h</mi><mrow><mo>(</mo><mi>h</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>S</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><msub><mi>M</mi><mn>2</mn></msub><mo>;</mo></mrow></math>]]></maths>(13)收到步骤(12)中的消息后,U<sub>2</sub>将计算<img file="FDA00002290631337.GIF" wi="278" he="75" />;如果M'<sub>2</sub>=M<sub>2</sub>成立,U<sub>2</sub>就知道K'等于K并计算出<img file="FDA00002290631338.GIF" wi="516" he="72" />,与之前类似,其后48比特将被用来作为U<sub>2</sub>的新的MAC地址;步骤(12)和(13)中,U<sub>1</sub>和U<sub>2</sub>能够判定对方是否已经共享公钥K,并且每个实体均能够获得新的MAC地址用于后续匿名通信。
地址 116024 辽宁省大连市凌工路2号