一种双向身份认证防止重放攻击的密钥存储及提取方法技术

技术编号:20224569 阅读:21 留言:0更新日期:2019-01-28 22:35
一种双向身份认证防止重放攻击的密钥存储及提取方法,包括微控制器芯片和加密芯片双向加密通讯的方法、微控制器和加密芯片双向身份认证的方法、防止重放攻击的方法和如何使用关键数据的方法,其在双向认证中引入了随机数,增加了关键数据被破解的复杂度。与现有技术相比,本发明专利技术可使重放攻击失效;由于使用双向身份认证,使外界无法通过对方的身份认证;由于微控制器芯片和加密芯片中都没有存储明文的关键数据,所以即使攻击者破解其中的一个,也只能得到被加密的关键数据RAW_K,或者解密关键数据的密钥KEY,增加了被破解的复杂度。

【技术实现步骤摘要】
一种双向身份认证防止重放攻击的密钥存储及提取方法
本专利技术涉及加密通讯访问安全
,特别涉及一种双向身份认证防止重放攻击的密钥存储及提取方法。
技术介绍
在传统的嵌入式微控制器系统中,使用加密芯片的方法是将关键数据放入加密芯片中,需要使用关键数据时,微控制器向加密芯片发送运算指令,然后加密芯片将运算结果返回微控制器,如图1所示,但是这样的加密系统存在重放攻击的可能,同时,如果安全芯片被破解,攻击者可以直接拿到关键数据,对关键数据的保护存在着安全问题。
技术实现思路
本专利技术目的在于提供一种双向身份认证防止重放攻击的密钥存储及提取方法,以解决现有技术中加密系统存在重放攻击的可能,使得安全芯片被破解,攻击者可以直接拿到关键数据,对关键数据的保护存在着安全隐患的技术性缺陷。本专利技术的技术方案是这样实现的:一种双向身份认证防止重放攻击的密钥存储及提取方法,该密钥存储及提取方法基于微控制器芯片与加密芯片,该方法包括以下步骤:1)微控制器芯片和加密芯片双向加密通讯:芯片ID号、认证密码、通讯对称密钥及关键信息RAW的分别存储,存储过程包括:a、存储过程是在物理安全的环境下进行,微控制器芯片和加密芯片之间明文通讯,在微控制器芯片和加密芯片上分别存储后续通讯将会使用到的信息;b、在微控制器芯片上存储加密芯片ID号、认证密码、加密通讯对称密钥、被加密的关键数据RAW_K;c、在加密芯片上存储微控制器芯片ID号、认证密码、加密通讯对称密钥、解密关键数据的密钥KEY;2)双向身份认证,加密芯片响应微控制器请求返回KEY_K,包括以下步骤;a、微控制器芯片和加密芯片之间的通讯均采用对称密钥加密通讯;b、微控制器芯片向加密芯片请求返回KEY_K;c、加密芯片把一个随机数Nonce1发给微控制器芯片;d、微控制器芯片上的随机数发生器产生随机字符串序列KEY2和随机数Nonce2;e、微控制器芯片把已存储的加密芯片ID号、认证密码、接收的随机数Nonce1、产生的随机字符串序列KEY2及产生的随机数Nonce2组成一组数据,然后进行哈希运算,并将运算结果发给加密芯片;f、加密芯片读取自身的芯片ID号,与已存储的认证密码、产生的随机数Nonce1、接收的随机字符串序列KEY2及接收的随机数Nonce2组成一组数据,然后进行哈希运算;g、加密芯片比较自身进行哈希运算的结果与接收的微控制器芯片发来的哈希运算结果,如果相同则微控制器芯片的身份认证通过;h、如果微控制器芯片的身份认证通过,则加密芯片使用接收的随机字符串序列KEY2将解密关键数据的密钥KEY加密为KEY_K;i、加密芯片把已存储的微控制器芯片ID号与认证密码、接收的随机数Nonce2、KEY_K组成一组数据,然后进行哈希运算;j、加密芯片把KEY_K和哈希运算结果发给微控制器芯片;k、微控制器芯片读取自身的ID号与已存储的认证密码、产生的随机数Nonce2、接收的KEY_K组成一组数据,然后进行哈希运算;l、微控制器芯片比较接收的哈希运算结果和自身进行的哈希运算结果是否相同,相同则加密芯片的身份认证通过;m、如果加密芯片的身份认证通过,则使用产生的随机字符串序列KEY2将接收的KEY_K解密为KEY;3)微控制器芯片通过KEY解密被加密的关键数据RAW_K与使用关键数据。优选的,上述步骤3)中关键数据RAW解密运算完毕后,将明文的关键数据RAW和解密关键数据的密钥KEY赋值为零,从微控制器芯片内存中清除。与现有技术相比,本专利技术有以下有益效果:本专利技术的双向身份认证防止重放攻击的密钥存储及提取方法,在双向身份认证的过程中,对双向都引入了随机数,致使重放攻击失效;同时,在双向身份认证时,自身都存有对方的ID号,所以微控制器芯片和加密芯片实现了一一绑定认证,即使微控制器芯片或加密芯片的代码被完整的复制并烧录到一个新的微控制器芯片或加密芯片中,也无法通过对方的身份认证;其次,微控制器芯片和加密芯片中都没有存储明文的关键数据,所以即使攻击者破解其中的一个,也只能得到被加密的关键数据RAW_K,或者解密关键数据的密钥KEY,增加了被破解的复杂度。附图说明图1为现有技术的加密芯片使用的方法流程图;图2为本专利技术微控制器芯片和加密芯片双向加密通讯过程中数据分别存储方法流程图;图3为本专利技术双向身份认证的方法流程图;图4为本专利技术微控制器芯片解密被加密的关键数据RAW_K与使用关键数据的方法流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术进行清楚、完整地描述。本专利技术的一种双向身份认证防止重放攻击的密钥存储及提取方法,该密钥存储及提取方法基于微控制器芯片与加密芯片,该方法包括以下步骤:1)微控制器芯片和加密芯片双向加密通讯:芯片ID号、认证密码、通讯对称密钥及关键信息RAW的分别存储,如图2所示,存储过程包括:a、存储过程是在物理安全的环境下进行,微控制器芯片和加密芯片之间明文通讯,在微控制器芯片和加密芯片上分别存储后续通讯将会使用到的信息;b、在微控制器芯片上存储加密芯片ID号、认证密码、加密通讯对称密钥、被加密的关键数据RAW_K;c、在加密芯片上存储微控制器芯片ID号、认证密码、加密通讯对称密钥、解密关键数据的密钥KEY;2)双向身份认证,加密芯片响应微控制器请求返回KEY_K,如图3所示,包括以下步骤;a、微控制器芯片和加密芯片之间的通讯均采用对称密钥加密通讯;b、微控制器芯片向加密芯片请求返回KEY_K;c、加密芯片把一个随机数Nonce1发给微控制器芯片;d、微控制器芯片上的随机数发生器产生随机字符串序列KEY2和随机数Nonce2;e、微控制器芯片把已存储的加密芯片ID号、认证密码、接收的随机数Nonce1、产生的随机字符串序列KEY2及产生的随机数Nonce2组成一组数据,然后进行哈希运算,并将运算结果发给加密芯片;f、加密芯片读取自身的芯片ID号,与已存储的认证密码、产生的随机数Nonce1、接收的随机字符串序列KEY2及接收的随机数Nonce2组成一组数据,然后进行哈希运算;g、加密芯片比较自身进行哈希运算的结果与接收的微控制器芯片发来的哈希运算结果,如果相同则微控制器芯片的身份认证通过;h、如果微控制器芯片的身份认证通过,则加密芯片使用接收的随机字符串序列KEY2将解密关键数据的密钥KEY加密为KEY_K;i、加密芯片把已存储的微控制器芯片ID号与认证密码、接收的随机数Nonce2、KEY_K组成一组数据,然后进行哈希运算;j、加密芯片把KEY_K和哈希运算结果发给微控制器芯片;k、微控制器芯片读取自身的ID号与已存储的认证密码、产生的随机数Nonce2、接收的KEY_K组成一组数据,然后进行哈希运算;l、微控制器芯片比较接收的哈希运算结果和自身进行的哈希运算结果是否相同,相同则加密芯片的身份认证通过;m、如果加密芯片的身份认证通过,则使用产生的随机字符串序列KEY2将接收的KEY_K解密为KEY;3)微控制器芯片通过KEY解密被加密的关键数据RAW_K与使用关键数据,如图4所示,双向的身份认证通过且得到KEY后才进行此步骤,使用解密关键数据的密钥KEY解密被加密的关键数据RAW_K。得到明文的关键数据RAW,将关键数据用于运算。上述步骤3)中关键数据RAW解密本文档来自技高网...

【技术保护点】
1.一种双向身份认证防止重放攻击的密钥存储及提取方法,该密钥存储及提取方法基于微控制器芯片与加密芯片,其特征在于,该方法包括以下步骤:1)微控制器芯片和加密芯片双向加密通讯:芯片ID号、认证密码、通讯对称密钥及关键信息RAW的分别存储,存储过程包括:a、存储过程是在物理安全的环境下进行,微控制器芯片和加密芯片之间明文通讯,在微控制器芯片和加密芯片上分别存储后续通讯将会使用到的信息;b、在微控制器芯片上存储加密芯片ID号、认证密码、加密通讯对称密钥、被加密的关键数据RAW_K;c、在加密芯片上存储微控制器芯片ID号、认证密码、加密通讯对称密钥、解密关键数据的密钥KEY;2)双向身份认证,加密芯片响应微控制器请求返回KEY_K,包括以下步骤;a、微控制器芯片和加密芯片之间的通讯均采用对称密钥加密通讯;b、微控制器芯片向加密芯片请求返回KEY_K;c、加密芯片把一个随机数Nonce1发给微控制器芯片;d、微控制器芯片上的随机数发生器产生随机字符串序列KEY2和随机数Nonce2;e、微控制器芯片把已存储的加密芯片ID号、认证密码、接收的随机数Nonce1、产生的随机字符串序列KEY2及产生的随机数Nonce2组成一组数据,然后进行哈希运算,并将运算结果发给加密芯片;f、加密芯片读取自身的芯片ID号,与已存储的认证密码、产生的随机数Nonce1、接收的随机字符串序列KEY2及接收的随机数Nonce2组成一组数据,然后进行哈希运算;g、加密芯片比较自身进行哈希运算的结果与接收的微控制器芯片发来的哈希运算结果,如果相同则微控制器芯片的身份认证通过;h、如果微控制器芯片的身份认证通过,则加密芯片使用接收的随机字符串序列KEY2将解密关键数据的密钥KEY加密为KEY_K;i、加密芯片把已存储的微控制器芯片ID号与认证密码、接收的随机数Nonce2、KEY_K组成一组数据,然后进行哈希运算;j、加密芯片把KEY_K和哈希运算结果发给微控制器芯片;k、微控制器芯片读取自身的ID号与已存储的认证密码、产生的随机数Nonce2、接收的KEY_K组成一组数据,然后进行哈希运算;l、微控制器芯片比较接收的哈希运算结果和自身进行的哈希运算结果是否相同,相同则加密芯片的身份认证通过;m、如果加密芯片的身份认证通过,则使用产生的随机字符串序列KEY2将接收的KEY_K解密为KEY;3)微控制器芯片通过KEY解密被加密的关键数据RAW_K与使用关键数据。...

【技术特征摘要】
1.一种双向身份认证防止重放攻击的密钥存储及提取方法,该密钥存储及提取方法基于微控制器芯片与加密芯片,其特征在于,该方法包括以下步骤:1)微控制器芯片和加密芯片双向加密通讯:芯片ID号、认证密码、通讯对称密钥及关键信息RAW的分别存储,存储过程包括:a、存储过程是在物理安全的环境下进行,微控制器芯片和加密芯片之间明文通讯,在微控制器芯片和加密芯片上分别存储后续通讯将会使用到的信息;b、在微控制器芯片上存储加密芯片ID号、认证密码、加密通讯对称密钥、被加密的关键数据RAW_K;c、在加密芯片上存储微控制器芯片ID号、认证密码、加密通讯对称密钥、解密关键数据的密钥KEY;2)双向身份认证,加密芯片响应微控制器请求返回KEY_K,包括以下步骤;a、微控制器芯片和加密芯片之间的通讯均采用对称密钥加密通讯;b、微控制器芯片向加密芯片请求返回KEY_K;c、加密芯片把一个随机数Nonce1发给微控制器芯片;d、微控制器芯片上的随机数发生器产生随机字符串序列KEY2和随机数Nonce2;e、微控制器芯片把已存储的加密芯片ID号、认证密码、接收的随机数Nonce1、产生的随机字符串序列KEY2及产生的随机数Nonce2组成一组数据,然后进行哈希运算,并将运算结果发给加密芯片;f、加密芯片读取自身的芯片ID号,与已存储的认证密码、产...

【专利技术属性】
技术研发人员:叶波陈斌周朝阳
申请(专利权)人:杭州酷辰信息技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1