车载控制单元的密钥容器导入防重放方法、系统和设备与流程
本技术涉及车载安全,具体涉及一种车载控制单元的密钥容器导入防重放方法、系统和设备。
背景技术:
1、智能网联汽车面临的信息安全威胁日益严峻,使用密钥对车辆关键业务及数据进行加密处理,是保障车辆信息安全最常用且最有效的手段。在车载控制单元的整车生产、装配下线、售后维护等场景中,通常需要由汽车厂商侧的密钥管理系统生成密钥,并将其封装后经诊断链路下发至车载控制单元的安全存储中,因而密钥注入与更新过程本身的安全可靠,一直是密钥管理中的关键问题。
2、相关技术中,采用预先在控制器中植入临时密钥,由密钥服务器基于临时密钥生成密钥数据,再经生产服务器缓存后通过诊断设备下发给车内控制器;车内控制器接收后,使用对应的保护密钥解密解签,并使用当前密钥对密钥属性重新计算校验数据,与下发的校验数据进行比对,比对一致则将密钥写入安全存储芯片,完成密钥的注入与更新,该方法通过密文传输与签名校验保证了密钥在下发过程中的机密性、真实性与完整性。
3、然而,车载密钥安全性不仅在于真实性和完整性,还在于重放安全性。在实际应用中,同一车载控制单元在其生命周期内往往会先后接收多次密钥数据以完成密钥的更新或撤销;对于攻击者而言,此前任何一次曾经合法下发过的旧密钥数据,其密文与校验数据本身都是完整、合法且能够通过接收侧全部校验的历史报文。由于诊断链路上的报文可被监听、录制并再次发送,而相关方法又无法区分所收合法报文究竟是本应生效的最新数据、还是已被替换或已被撤销的旧数据,攻击者便可将此前合法下发过的旧密钥数据重新发送至车载控制单元,使已经失效的旧密钥或低版本密钥被再次装入,难以防止密钥容器的重放,使得已经实施的密钥更新或撤销被绕过,危及车载控制单元的信息安全。
技术实现思路
1、本技术提供了一种车载控制单元的密钥容器导入防重放方法、系统和设备,能够保证真实性、完整性和防重放的车载控制单元信息安全。
2、本技术实施例的技术方案如下:
3、第一方面,本技术实施例提供了一种车载控制单元的密钥容器导入防重放方法,所述车载控制单元包括本地非易失性存储器和硬件安全模块,所述方法包括:
4、接收诊断工具发送的诊断请求,在所述诊断请求为用于导入密钥的对称密钥容器时,其中,所述对称密钥容器包括载荷长度参数、初始化向量、密码运算认证码和加密载荷,所述加密载荷解密后包含单调计数器和至少一个密钥条目;
5、基于预设的安全算法,利用所述硬件安全模块对所述密码运算认证码进行校验,得到校验结果,其中,校验覆盖的有效数据至少包括所述初始化向量和所述加密载荷;
6、在所述校验结果为校验通过时,解密所述加密载荷,得到明文载荷数据,并提取所述明文载荷数据中的单调计数器值和所有所述密钥条目;
7、将所述单调计数器值与所述本地非易失性存储器中保存的当前计数器值进行比较,在所述单调计数器值大于所述当前计数器值时,将所有所述密钥条目逐条导入所述硬件安全模块中;
8、仅当所有所述密钥条目均导入所述硬件安全模块后,将所述本地非易失性存储器中所述当前计数器值更新为所述单调计数器值,并向所述诊断工具返回第一诊断响应,所述第一诊断响应中携带密钥状态标识,所述密钥状态标识不包含所述密钥条目的明文数值。
9、在上述技术方案中,通过将单调计数器封装于加密载荷之内,并使密码运算认证码的校验范围至少覆盖初始化向量与加密载荷,使得单调计数器与密钥条目一并被完整性保护所约束。由此,既无法在不破坏密码运算认证码的前提下篡改单调计数器值,也无法伪造出更高的计数器值,从而在结构层面将防重放数值与密码学判定进行绑定,为后续判定提供不可篡改的前提。利用硬件安全模块对密码运算认证码进行校验,仅在校验通过后方才解密加密载荷并提取其中的单调计数器值与密钥条目,确保所提取的计数器值来源真实、内容完整,为后续的重放判定提供可信依据,避免以被篡改的数值参与比较。将解密得到的单调计数器值与本地非易失性存储器中保存的当前计数器值进行比较,仅在单调计数器值大于当前计数器值时才继续将密钥条目逐条导入硬件安全模块。由此,任何此前曾合法下发过的旧密钥容器,其所携带的计数器值必然不大于当前计数器值,即使其密文与密码运算认证码本身完整、合法并能够通过真实性与完整性校验,也会因未满足单调递增条件而被拒绝导入,从而有效拦截旧密钥容器的重放与低版本密钥的版本回退。仅当所有密钥条目均成功导入硬件安全模块后,才将本地非易失性存储器中的当前计数器值更新为本次的单调计数器值,使计数器状态的推进与密钥的实际安装严格保持原子一致,避免出现计数器已更新而密钥未装入、或密钥已装入而计数器未推进的不一致状态,防止因中间态而产生新的重放漏洞或状态错乱;并且在返回的第一诊断响应中仅携带不包含密钥条目明文数值的密钥状态标识,在保证密钥安装状态可追溯的同时避免密钥明文泄露。
10、第二方面,本技术实施例提供了一种车载控制单元的密钥容器导入防重放系统,所述车载控制单元包括本地非易失性存储器和硬件安全模块,所述系统包括:
11、数据接收模块,用于接收诊断工具发送的诊断请求,在所述诊断请求为用于导入密钥的对称密钥容器时,其中,所述对称密钥容器包括载荷长度参数、初始化向量、密码运算认证码和加密载荷,所述加密载荷解密后包含单调计数器和至少一个密钥条目;
12、校验模块,用于基于预设的安全算法,利用所述硬件安全模块对所述密码运算认证码进行校验,得到校验结果,其中,校验覆盖的有效数据至少包括所述初始化向量和所述加密载荷;
13、解密提取模块,用于在所述校验结果为校验通过时,解密所述加密载荷,得到明文载荷数据,并提取所述明文载荷数据中的单调计数器值和所有所述密钥条目;
14、导入模块,用于将所述单调计数器值与所述本地非易失性存储器中保存的当前计数器值进行比较,在所述单调计数器值大于所述当前计数器值时,将所有所述密钥条目逐条导入所述硬件安全模块中;
15、更新反馈模块,用于仅当所有所述密钥条目均导入所述硬件安全模块后,将所述本地非易失性存储器中所述当前计数器值更新为所述单调计数器值,并向所述诊断工具返回第一诊断响应,所述第一诊断响应中携带密钥状态标识,所述密钥状态标识不包含所述密钥条目的明文数值。
16、第三方面,本技术实施例提供了一种电子设备,包括处理器、存储器、用户接口、通信总线及网络接口,所述处理器、所述存储器、所述用户接口及所述网络接口分别与所述通信总线连接,所述存储器用于存储指令,所述用户接口和网络接口用于与其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述电子设备执行如第一方面提供的任意一项所述的方法。
17、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行上述第一方面提供的任意一项所述的方法。
18、综上所述,本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
19、由于采用了首先将单调计数器封装于加密载荷内部并纳入密码运算认证码的覆盖范围,使得防重放判定所依据的计数器数值不可被篡改、不可被伪造,防重放依据本身即为可信;其次,通过“计数器值大于本地当前计数器值才允许导入”的严格比较,能够可靠识别并拒绝被重复下发的旧密钥容器以及携带低版本密钥的历史容器,有效防止密钥容器的重放与版本回退;最后,采用“全部密钥条目成功导入后才更新当前计数器值”的原子性提交策略,使防重放计数器状态与密钥安装状态始终保持一致,从而在导入过程中发生断电、复位等中断的情形下,防重放机制依然有效,既不会误拒本应生效的合法容器,也不会误收已失效的旧容器。在正常下发与断电异常两种情形下均能可靠地阻止密钥容器的重放与版本回退,保证仅有相对于本机而言更新的密钥容器方能被导入。上述协同,使本方案在保留真实性与完整性的基础上,进一步实现了对密钥容器重放及版本回退的防护,最终达到兼顾真实性、完整性与防重放安全性的车载控制单元信息安全的技术效果。所以,有效解决了相关技术中接收侧无法区分合法报文是最新数据还是旧数据,从而难以防止密钥容器的重放的问题。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com