CN115996375A - 一种实现车辆空中下载的方法及系统 - Google Patents
一种实现车辆空中下载的方法及系统 Download PDFInfo
- Publication number
- CN115996375A CN115996375A CN202111212150.5A CN202111212150A CN115996375A CN 115996375 A CN115996375 A CN 115996375A CN 202111212150 A CN202111212150 A CN 202111212150A CN 115996375 A CN115996375 A CN 115996375A
- Authority
- CN
- China
- Prior art keywords
- controller
- cloud
- message
- symmetric key
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种实现车辆空中下载的方法、系统、电子设备及存储介质;该方法包括控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;控制器解密第二消息得到软件包,以提高车辆空中下载的安全性。
Description
技术领域
本发明涉及车辆领域,特别是指一种实现车辆空中下载的方法及系统。
背景技术
随着科技的发展,汽车成为人们生活的一部分,而控制器是汽车重要的组成部分。为了降低对于车辆控制器升级和管理的成本,通常利用空中下载技术(OTA),通过车辆外部的远程通信手段进行远程升级与管理。
为了提高OTA过程的安全性,通常会采取基于软件的对称加密算法,对待刷写的软件进行加密保护。然而,仅通过对称加密的方法保护待刷写的软件,在OTA链路被攻击时安全性较低,例如,可能存在不安全的云端服务器攻击特定的车辆控制器的OTA功能、下发不安全的密钥、注入不安全的软件等。因此,目前亟需一种用于提高车辆OTA安全性的车辆OTA方法及系统。
发明内容
有鉴于此,本申请实施例提供一种实现车辆空中下载的方法及系统,用以提高车辆空中下载的安全性。
第一方面,本申请提供一种实现车辆空中下载的方法,所述方法包括:
控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
控制器解密第二消息得到软件包。
在一种可能的实施方式中,控制器包括第一控制器和第二控制器,所述方法包括:
第一控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
第一控制器发送对称密钥标识至第二控制器,以使所述第二控制器基于对称密钥标识从对称密钥表得到第一对称密钥;
第一控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
第一控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,并比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
第二控制器通过第一控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发至第一控制器的,所述确定身份合法至少包括确定云端身份合法;
第二控制器解密第二消息得到软件包。
在一种可能的实施方式中,在确定云端身份合法之后,还包括:
第二控制器生成种子,并从非对称密钥表中随机选取第一公钥,得到非对称密钥标识;
第二控制器发送非对称密钥标识和种子至第一控制器;
第一控制器发送非对称密钥标识至云端,以使云端基于非对称密钥标识从非对称密钥表中获取第一私钥;
第一控制器基于种子生成第二公钥;
第一控制器分别发送第二公钥至云端和第二控制器,以使云端基于第一私钥对第二公钥进行数字签名,得到第三消息并发送至第一控制器;
第一控制器发送第三消息至第二控制器;
第二控制器接收来自于第三控制器的第四消息;
第二控制器基于第一公钥对来自第三控制器的第四消息进行数字签名验证;
当验证通过,确定第三控制器身份合法;
在确定身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器,包括:
在确定云端身份合法和确定第三控制器身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器。
在一种可能的实施方式中,云端对软件包进行加密操作生成第二消息,包括:
云端基于第二对称密钥对软件包进行对称加密生成第二消息;
所述第二控制器解密第二消息得到软件包,包括:
第二控制器基于第一对称密钥解密第二消息得到软件包。
在一种可能的实施方式中,云端对软件包进行加密操作生成第二消息,包括:
云端基于第二对称密钥对软件包进行对称加密,生成加密软件包;
云端利用哈希函数得到加密软件包的第一摘要;
云端基于第一私钥对摘要进行签名,生成数字签名;
云端确定加密软件包、哈希值、数字签名组成第二消息;
所述第二控制器解密第二消息得到软件包,包括:
第二控制器基于第一公钥解密第二消息,得到第一摘要;
第二控制器利用哈希函数,得到第二消息中加密软件包的第二摘要;
第二控制器比对第一摘要和第二摘要;
当比对结果一致,第二控制器基于第一对称密钥解密第二消息得到软件包。
在一种可能的实施方式中,在所述确定第三控制器身份合法后,还包括:
第二控制器随机生成第三公钥、第三私钥、第三随机数;
第二控制器发送第三公钥和第三随机数至第一控制器;
第一控制器基于第三公钥加密第三随机数,生成第一加密随机数并发送至第二控制器;
第二控制器基于第三私钥加密第三随机数,生成第二加密随机数;
第二控制器比对第一加密随机数和第二加密随机数,得到比对结果。
在一种可能的实施方式中,在所述第二控制器解密第二消息得到软件包之后,还包括:
获得软件包的版本信息;
对软件包的版本信息进行校验;
当校验成功,则基于软件包进行软件刷写操作。
第二方面,本申请提供一种实现车辆空中下载的系统,所述系统包括车辆控制器和云端,其中:
所述控制器,用于:从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;基于第一对称密钥加密来自云端的第一随机数,得到第一消息;发送对称密钥标识和第一消息至云端;
所述云端,用于:基于对称密钥标识得到第二对称密钥;基于第二对称密钥解密第一消息得到第二随机数;比对第一随机数和第二随机数;当比对结果相同时确定云端身份合法;在确定身份合法后,对软件包进行加密操作生成第二消息,下发第二消息至所述控制器,所述确定身份合法至少包括确定云端身份合法;
所述控制器,还用于接收云端发送的第二消息;解密第二消息得到软件包。
第三方面,本申请提供一种实现车辆空中下载的电子设备,所述电子设备包括处理器和存储器,其中,所述存储器存储有代码,所述处理器用于调用所述存储器中存储的代码,实现以下功能:
控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
控制器解密第二消息得到软件包。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述任一的方法。
在本申请实施例中,控制器从对称密钥表中随机选取第一对称密钥,并基于第一对称密钥加密来自云端的第一随机数,得到第一消息,并发送对称密钥标识和第一消息至云端;云端基于对称密钥标识得到第二对称密钥,基于第二对称密钥解密第一消息得到第二随机数,比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;控制器解密第二消息得到软件包。
由此可见,本申请实施例具有提高车辆空中下载安全性的有益效果。
通过第一对称密钥对第一随机数的加密过程,对云端进行身份验证,在云端身份合法的情况下,控制器才会对云端下发的消息进行接收和解密,降低不安全的云端服务器下发不安全的密钥、注入不安全的软件等情况的出现,从而提高车辆空中下载的安全性;第一对称密钥是控制器从对称密钥表中随机选取的,第一对称密钥和第一随机数的随机性能够进一步提高车辆空中下载的安全性。
附图说明
图1为本申请实施例提供的一种实现车辆空中下载的方法的流程图;
图2为本申请另一实施例提供的一种实现车辆空中下载的方法的流程图;
图3为本申请实施例提供的一种实现车辆空中下载的系统的结构示意图;
图4为本申请实施例提供的一种实现车辆空中下载的电子设备的结构示意图。
具体实施方式
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请实施例中的技术术语进行说明。
空中下载技术(Over-the-Air Technology,简称OTA):通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。应用于车辆的控制下载技术,通过车辆外部的远程通信手段,如4G/5G等移动通信接口,对汽车的控制器的软件进行远程升级与管理。OCT通常分为FOTA(Firmware OTA)和SOTA(Software OTA),FOTA管理与升级对象是车辆控制器的底层固件;SOTA管理与升级对象为车辆控制器的应用软件。
为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的一种实现车辆空中下载的方法及系统进行说明。
虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。基于本申请中的实施例,本领域技术人员在没有作出创造性贡献前提下所获得的其他实施例,都属于本申请的保护范围。
在本申请的权利要求书和说明书以及说明书附图中,术语“包括”和“具有”以及它们的任何变形,目的在于覆盖不排他的包含。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在现有技术中,为了提高OTA过程的安全性,通常会采取基于软件的对称加密算法,对待刷写的软件进行加密保护。然而,仅通过对称加密的方法保护待刷写的软件,在OTA链路被攻击时安全性较低,例如,可能存在不安全的云端服务器攻击特定的车辆控制器的OTA功能、下发不安全的密钥、注入不安全的软件等。
基于此,在发明人提供的本申请的实施例中,控制器从对称密钥表中随机选取第一对称密钥,并基于第一对称密钥加密来自云端的第一随机数,得到第一消息,并发送对称密钥标识和第一消息至云端;云端基于对称密钥标识得到第二对称密钥,基于第二对称密钥解密第一消息得到第二随机数,比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;控制器解密第二消息得到软件包。
通过第一对称密钥对第一随机数的加密过程,对云端进行身份验证,在云端身份合法的情况下,控制器才会对云端下发的消息进行接收和解密,降低不安全的云端服务器下发不安全的密钥、注入不安全的软件等情况的出现,从而提高车辆空中下载的安全性;第一对称密钥是控制器从对称密钥表中随机选取的,第一对称密钥和第一随机数的随机性能够进一步提高车辆空中下载的安全性。由此可见,本申请实施例具有提高车辆空中下载安全性的有益效果。
请参阅图1,图1为本申请实施例提供的一种实现车辆空中下载的方法的流程图。如图1所示,本申请实施例中实现车辆空中下载的方法包括以下步骤:
S101、控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
在S101中,控制器指的是车辆控制器,即通过空中下载技术进行升级或管理的对象;对称密钥表中包含有对称密钥;利用密钥标识能够在对称密钥表中得到对应的对称密钥;随机选取的第一对称密钥和对称密钥标识之间具有对应关系,例如,对称密钥标识指示第一对称密钥在对称密钥表中的位置,可以理解地是,上述对应关系仅为举例,并非对本申请实施例的限制。通过随机选取的方式得到第一对称密钥,相比于现有技术,本申请实施例能够增加第一对称密钥的安全性,从而增加车辆OTA过程的安全性。
进一步地,密钥表可以是车辆在出厂之前预设在控制器和云端上的,为了实现上述功能,合法的车辆控制器和合法的云端的密钥表之间具有一定的对应关系。
S102、控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
在S102中,第一随机数是来自云端的,随机数的随机性进一步增加安全性。
S103、控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
在S103中,当云端是合法的情况下,云端和车端控制器的对称密钥表具有一致性,因此,云端能够基于对称密钥标识得到第一对称密钥,和控制器随机生成的对称密钥一致,此时,云端利用得到的第一对称密钥得到的第二随机数,和云端发送至车端控制器的第一随机数是相同的。因此,当第二随机数和第一随机数的比对结果相同时,确定云端身份是合法的。
进一步地,云端基于对称密钥标识解密第一消息得到第二对称密钥的过程,可以是云端基于对称密钥标识查询对称密钥表,得到对应于对称密钥标识的第二对称密钥。可以理解地是,云端也可以通过其他的方式得到第二对称密钥。
S104、控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
在S104中,确定身份合法至少包括确定云端身份合法,在经过S101-S104,确定身份合法后,云端对软件包进行加密操作生成第二消息,并下发第二消息至控制器。
S105、控制器解密第二消息得到软件包。软件包为等待升级的软件包,例如通过软件刷写完成对控制器的升级。
在S105中,由于在S104中云端对软件包进行了加密,控制器需要进行解密后得到软件包。
通过S101-S105,对云端进行身份识别,以及云端和车端的密钥统一机制提高了控制器OTA过程中各环节的身份合法性,面对汽车网络安全范畴渗透攻击时具有较高的安全性。
在本申请实施例中,通过S101-S105能够完成对于云端的身份认证,因此可以设置云端向控制器发送身份认证请求为S101的触发条件,即在控制器接收云端发送的身份认证请求后,控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识。进一步地,由于在S102中,第一随机数是由云端发送的,控制器基于第一对称密钥对第一随机数进行加密,再进行后续的步骤,因此,可以设置云端在发送身份认证请求时,将第一随机数发送至控制器,以减少数据传输的次数。可以理解地是,云端是否发送身份认证请求至控制器,以及云端是否在发送身份认证请求时发送第一随机数至控制器,不影响本申请实施例的实现。
请参阅图2,图2为本申请另一实施例提供的一种实现车辆空中下载的方法的流程图。如图2所示,在本申请实施例中,控制器包括第一控制器和第二控制器,本申请实施例实现车辆空中下载的方法包括以下步骤:
S201、第一控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
S202、第一控制器发送对称密钥标识至第二控制器,以使所述第二控制器基于对称密钥标识从对称密钥表得到第一对称密钥;
S203、第一控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
S204、第一控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,并比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
S205、第二控制器通过第一控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发至第一控制器的,所述确定身份合法至少包括确定云端身份合法;
S206、第二控制器解密第二消息得到软件包。
相比于图1对应的实施例,在图2对应的本申请实施例中,车辆控制器包括第一控制器和第二控制器,第一控制器和第二控制器属于车端,第二控制器通过第一控制器,实现车端与云端的通信。
经过S201-S206,云端身份合法,云端和第一控制器之间的身份识别验证完成,且云端、第一控制器和第二控制器具有统一的对称密钥。
将车辆控制器区分为第一控制器和第二控制器,是因为一般来讲,部分车辆控制器的OTA功能不直接与外部云端进行通信,通常也没有相关的硬件支持控制器和云端的直接通信。因此,由于整车电子电器架构的原因,通常在OTA过程中,存在一类OTA管理控制器OTAMG(OTA Manager ECU)以及中间环节控制器(Middle Transition ECU),实现OTA过程中车端和云端的数据交互,例如对来自云端的OTA升级包进行转发。OTAMG负责与远端云服务器通过4G/5G等手段建立如TLS1.3(Transport Layer Security)的安全通信传输层信道,进行远程交互通信,例如IAM模块;Middle Transition ECU负责对OTAMG发来的信息进行过滤与透传,例如ICC模块。可以理解的是,本申请实施例也可以用于直接云端进行通信以实现OTA的车辆控制器,例如集成车辆网(TBOX)功能的控制器。在本申请实施例中,第一控制器即上述中间控制器;第二控制器为OTA升级的对象,也可以称第二控制器为目标控制器。
第二控制器可以理解为目标控制器,是通过下载技术进行升级、管理的控制器,为OTA升级的对象。例如,第二控制器可以是用于智能驾驶的域控制器。MPD(主引导装置,Master Pilot Device)为智能驾驶域控制器,是实现自动驾驶、辅助驾驶的重要控制器。由于MPD能够直接发出车辆的横纵向控制指令以及车身控制指令,对网络安全攻击、信息安全性的敏感性较高;另外,在整车项目标准作业程序(SOP)之后,可能需要较为频繁地OTA以丰富、优化与修复智能驾驶相关功能,使得MPD的OTA较多地存在被攻击的机会。因此,本申请实施例中,第二控制器可以为MPD控制器,本申请实施例能够用于车辆SOP之后,对车辆MPD控制器进行远程软件升级与软件管理的场景。
本申请实施例中各步骤以及步骤之间的联系,能够达到和图1对应的实现车辆空中下载的方法相同的技术效果,为避免重复,这里不再赘述。
在现有技术中,在OTA过程中存在多个车辆控制器的交互透传环节,导致可能会存在较多的渗透攻击漏洞。进一步地,在本申请实施例中,在确定云端身份合法之后,还可以对第一控制器的身份的合法性进行验证。结合图2对应的实施例,在确定云端身份合法之后,实现车辆空中下载的方法还可以包括以下步骤:
S301、第二控制器生成种子,并从非对称密钥表中随机选取第一公钥,得到非对称密钥标识;
在S301中,第二控制器生成的种子用于在非对称加密算法中生成非对称密钥;非对称密钥表包括非对称密钥,非对称密钥指的是成对出现的公钥和私钥;随机选取第一公钥的方式,随机性增强了第一公钥的安全性;非对称密钥标识用于为从非对称密钥表中得到第一公钥。
S302、第二控制器发送非对称密钥标识和种子至第一控制器;
S303、第一控制器发送非对称密钥标识至云端,以使云端基于非对称密钥标识从非对称密钥表中获取第一私钥;
S304、第一控制器基于种子生成第二公钥;
S305、第一控制器分别发送第二公钥至云端和第二控制器,以使云端基于第一私钥对第二公钥进行数字签名,得到第三消息并发送至第一控制器;
在S305中,云端基于第一私钥对第二公钥进行数字签名得到第三消息,云端发送第三消息至第一控制器。
S306、第一控制器发送第三消息至第二控制器;
S307、第二控制器接收来自于第三控制器的第四消息;
S308、第二控制器基于第一公钥对来自第三控制器的第四消息进行数字签名验证;
在S308中,第一公钥和S305中的第一私钥是一对非对称密钥。
S309、当验证通过,确定第三控制器身份合法;
S306-S309的作用是验证发送消息至第一控制器的第三控制器是否合法。由于第一公钥和第一私钥是一对非对称密钥,数字签名验证通过表明第三控制器身份合法,此时,第三控制器和第一控制器为同一个合法的控制器,第三消息和第四消息为同一个合法的消息。
由于云端是可信的,是第二控制器和第一控制器握手的信任根,由云端得到的数字签名被认为是安全可信的,因此,验签通过则意味着第一控制器的密钥对是合法的。
经过图2对应的实施例的S201-205,以及本申请实施例的S301-309,云端、第一控制器和第二控制器的身份均已验证是合法的。
在确定身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器,可以包括步骤S310:
S310、在确定云端身份合法和确定第三控制器身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器;
S311、第二控制器通过第一控制器接收云端发送的第二消息;
S312、第二控制器解密第二消息得到软件包。
通过对各环节控制器身份合法性的验证,可以提高汽车网络安全。
进一步地,为了进一步提高OTA安全性,可以对升级的软件包进行加密操作,加密操作可以为对称加密。
云端对软件包进行加密操作生成第二消息,可以包括:
云端基于第二对称密钥对软件包进行对称加密生成第二消息;
所述第二控制器解密第二消息得到软件包,可以包括:
第二控制器基于第一对称密钥解密第二消息得到软件包。
在图2对应的实施例中,云端、第一控制器和第二控制器三方的对称密钥统一,因此,可以利用统一的对称密钥对软件包进行加密,以提升OTA安全性。
进一步地,除了可以对软件包进行对称加密,还可以利用数字签名的方法进一步提升OTA的安全性。
云端对软件包进行加密操作生成第二消息,可以包括步骤S401-S404:
S401、云端基于第二对称密钥对软件包进行对称加密,生成加密软件包;
S402、云端利用哈希函数得到加密软件包的第一摘要;
在S401中,第一摘要指的是利用哈希函数得到的哈希值,通常指的是用于验证数据完整性和唯一性的哈希值。
S403、云端基于第一私钥对摘要进行签名,生成数字签名;
S404、云端确定加密软件包、哈希值、数字签名组成第二消息;
所述第二控制器解密第二消息得到软件包,可以包括步骤S501-S504:
S501、第二控制器基于第一公钥解密第二消息,得到第一摘要;
S502、第二控制器利用哈希函数,得到第二消息中加密软件包的第二摘要;
S503、第二控制器比对第一摘要和第二摘要;
S504、当比对结果一致,第二控制器基于第一对称密钥解密第二消息得到软件包。
S401和S504是通过对称加密算法对软件包进行加密,S402-S404以及S501-S504即为对软件包进行数字签名并进行验签的过程,两者结合能够进一步提升OTA的安全性。
OTA验证刷写过程使用非对称加密的签名机制,基于安全的身份识别OTA环境,能够降低非预期软件被刷入目标控制器的风险。
进一步地,可以在S301之前增加云端发送请求消息至第一控制器,第一控制器过滤与透传该认证消息至第二控制器,即,可以将第二控制器接收云端发送的该认证消息作为触发S301的条件。
进一步地,在所述确定第三控制器身份合法后,还可以包括以下步骤:
第二控制器随机生成第三公钥、第三私钥、第三随机数;
第二控制器发送第三公钥和第三随机数至第一控制器;
第一控制器基于第三公钥加密第三随机数,生成第一加密随机数并发送至第二控制器;
第二控制器基于第三私钥加密第三随机数,生成第二加密随机数;
第二控制器比对第一加密随机数和第二加密随机数,得到比对结果。
上述步骤的作用,是通过对随机数的比对过程,验证第一控制器生成的第二公钥的有效性,进一步实现OTA过程中密钥的统一。
进一步地,在所述第二控制器解密第二消息得到软件包之后,还可以包括:
获得软件包的版本信息;
对软件包的版本信息进行校验;
当校验成功,则基于软件包进行软件刷写操作。
校验成功通常表明软件包解密成功,此时进行软件刷写操作,降低刷写错误版本软件的情况。
进一步地,上述实施例中控制器(包括第一控制器和第二控制器)中的密钥表,均可以是在车辆出厂前预存的,在云端的密钥表也可以预存的。对于合法的控制器和合法的云端中的密钥表,具有对应关系。
进一步地,密钥表可以进行加密存储。控制器在数据透传和接收过程中,均可以包括防火墙对接收数据进行过程的过程。
进一步地,上述方法中所使用的对称加密算法可以至少为AES128算法,非对称加密可以使用ECC256算法。
进一步地,上述方法中的随机选取的过程可以使用随机数生成器。进一步地,随机数生成器可以使用TRNG(True random number generator),可以使用芯片的HSM模块(Hardware Security Module)资源,可以使用Evita Full级别的HSM模块对上述方法中的非对称加密、对称加密以及随机数生成的过程进行管理与硬件加速,并对密钥表进行加密管理。上述Secure OTA机制能够较为充分利用芯片先进的HSM模块资源,有着更高的安全特性,同时能降低由于加密算法所带来的CPU负载率提升,在汽车网络安全方面有较好的应用前景。
请参阅图3,图3为本申请实施例提供的一种实现车辆空中下载的系统的结构示意图。如图3所示,本申请实施例中实现车辆空中下载的系统300包括车辆控制器301和云端302,其中:
所述控制器301,用于:从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;基于第一对称密钥加密来自云端的第一随机数,得到第一消息;发送对称密钥标识和第一消息至云端;
所述云端302,用于:基于对称密钥标识得到第二对称密钥;基于第二对称密钥解密第一消息得到第二随机数;比对第一随机数和第二随机数;当比对结果相同时确定云端身份合法;在确定身份合法后,对软件包进行加密操作生成第二消息,下发第二消息至所述控制器,所述确定身份合法至少包括确定云端身份合法;
所述控制器301,还用于接收云端发送的第二消息;解密第二消息得到软件包。
所述实现车辆空中下载的系统所包括的装置以及各装置之间的连接关系,能够达到和上述实现车辆空中下载的方法相同的技术效果,为避免重复,这里不再赘述。另外,由于申请实施例中实现车辆空中下载的系统,能够提高OTA过程的安全性,也可以称为SecureOTA系统。
请参阅图4,图4为本申请实施例提供的一种实现车辆空中下载的电子设备的结构示意图。如图4所示,本申请实施例中实现车辆空中下载的电子设备400包括处理器401和存储器402,其中,所述存储器存储有代码,所述处理器用于调用所述存储器中存储的代码,实现以下功能:
控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
控制器解密第二消息得到软件包。
所述实现车辆空中下载的电子设备所包括的单元以及各单元之间的连接关系,能够达到和上述实现车辆空中下载的方法相同的技术效果,为避免重复,这里不再赘述。
在本申请的实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述实现车辆空中下载的方法,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种实现车辆空中下载的方法,其特征在于,所述方法包括:
控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
控制器解密第二消息得到软件包。
2.根据权利要求1所述方法,其特征在于,控制器包括第一控制器和第二控制器,所述方法包括:
第一控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
第一控制器发送对称密钥标识至第二控制器,以使所述第二控制器基于对称密钥标识从对称密钥表得到第一对称密钥;
第一控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
第一控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,并比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
第二控制器通过第一控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发至第一控制器的,所述确定身份合法至少包括确定云端身份合法;
第二控制器解密第二消息得到软件包。
3.根据权利要求2所述的方法,其特征在于,在确定云端身份合法之后,还包括:
第二控制器生成种子,并从非对称密钥表中随机选取第一公钥,得到非对称密钥标识;
第二控制器发送非对称密钥标识和种子至第一控制器;
第一控制器发送非对称密钥标识至云端,以使云端基于非对称密钥标识从非对称密钥表中获取第一私钥;
第一控制器基于种子生成第二公钥;
第一控制器分别发送第二公钥至云端和第二控制器,以使云端基于第一私钥对第二公钥进行数字签名,得到第三消息并发送至第一控制器;
第一控制器发送第三消息至第二控制器;
第二控制器接收来自于第三控制器的第四消息;
第二控制器基于第一公钥对来自第三控制器的第四消息进行数字签名验证;
当验证通过,确定第三控制器身份合法;
在确定身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器,包括:
在确定云端身份合法和确定第三控制器身份合法后,云端对软件包进行加密操作后下发第二消息至第一控制器。
4.根据权利要求2所述的方法,其特征在于,云端对软件包进行加密操作生成第二消息,包括:
云端基于第二对称密钥对软件包进行对称加密生成第二消息;
所述第二控制器解密第二消息得到软件包,包括:
第二控制器基于第一对称密钥解密第二消息得到软件包。
5.根据权利要求3所述的方法,其特征在于,云端对软件包进行加密操作生成第二消息,包括:
云端基于第二对称密钥对软件包进行对称加密,生成加密软件包;
云端利用哈希函数得到加密软件包的第一摘要;
云端基于第一私钥对摘要进行签名,生成数字签名;
云端确定加密软件包、哈希值、数字签名组成第二消息;
所述第二控制器解密第二消息得到软件包,包括:
第二控制器基于第一公钥解密第二消息,得到第一摘要;
第二控制器利用哈希函数,得到第二消息中加密软件包的第二摘要;
第二控制器比对第一摘要和第二摘要;
当比对结果一致,第二控制器基于第一对称密钥解密第二消息得到软件包。
6.根据权利要求3所述的方法,其特征在于,在所述确定第三控制器身份合法后,还包括:
第二控制器随机生成第三公钥、第三私钥、第三随机数;
第二控制器发送第三公钥和第三随机数至第一控制器;
第一控制器基于第三公钥加密第三随机数,生成第一加密随机数并发送至第二控制器;
第二控制器基于第三私钥加密第三随机数,生成第二加密随机数;
第二控制器比对第一加密随机数和第二加密随机数,得到比对结果。
7.根据权利要求1所述的方法,其特征在于,在所述第二控制器解密第二消息得到软件包之后,还包括:
获得软件包的版本信息;
对软件包的版本信息进行校验;
当校验成功,则基于软件包进行软件刷写操作。
8.一种实现车辆空中下载的系统,其特征在于,所述系统包括车辆控制器和云端,其中:
所述控制器,用于:从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;基于第一对称密钥加密来自云端的第一随机数,得到第一消息;发送对称密钥标识和第一消息至云端;
所述云端,用于:基于对称密钥标识得到第二对称密钥;基于第二对称密钥解密第一消息得到第二随机数;比对第一随机数和第二随机数;当比对结果相同时确定云端身份合法;在确定身份合法后,对软件包进行加密操作生成第二消息,下发第二消息至所述控制器,所述确定身份合法至少包括确定云端身份合法;
所述控制器,还用于接收云端发送的第二消息;解密第二消息得到软件包。
9.一种实现车辆空中下载的电子设备,其特征在于,所述电子设备包括处理器和存储器,其中,所述存储器存储有代码,所述处理器用于调用所述存储器中存储的代码,实现以下功能:
控制器从对称密钥表中随机选取第一对称密钥,得到对称密钥标识;
控制器基于第一对称密钥加密来自云端的第一随机数,得到第一消息;
控制器发送对称密钥标识和第一消息至云端,以使云端基于对称密钥标识得到第二对称密钥,云端基于第二对称密钥解密第一消息得到第二随机数,云端比对第一随机数和第二随机数,当比对结果相同时确定云端身份合法;
控制器接收云端发送的第二消息,所述第二消息为在确定身份合法后,云端对软件包进行加密操作生成并下发的,所述确定身份合法至少包括确定云端身份合法;
控制器解密第二消息得到软件包。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111212150.5A CN115996375A (zh) | 2021-10-18 | 2021-10-18 | 一种实现车辆空中下载的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111212150.5A CN115996375A (zh) | 2021-10-18 | 2021-10-18 | 一种实现车辆空中下载的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996375A true CN115996375A (zh) | 2023-04-21 |
Family
ID=85992749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111212150.5A Pending CN115996375A (zh) | 2021-10-18 | 2021-10-18 | 一种实现车辆空中下载的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996375A (zh) |
-
2021
- 2021-10-18 CN CN202111212150.5A patent/CN115996375A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597538B (zh) | 一种基于ota升级系统的软件升级方法和ota升级系统 | |
CN110225063B (zh) | 汽车车载系统的升级方法、升级系统、服务器及车载终端 | |
CN111131313B (zh) | 智能网联汽车更换ecu的安全保障方法及系统 | |
US8966248B2 (en) | Secure software file transfer systems and methods for vehicle control modules | |
CN109560931B (zh) | 一种基于无证书体系的设备远程升级方法 | |
US20080189695A1 (en) | Updating of Data Instructions | |
CN115396121B (zh) | 安全芯片ota数据包的安全认证方法及安全芯片装置 | |
CN103166759A (zh) | 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 | |
JP2008507203A (ja) | ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法 | |
CN112534793A (zh) | 一种车载设备升级方法及相关装置 | |
CN107733636B (zh) | 认证方法以及认证系统 | |
CN107534551B (zh) | 提供加密数据的方法、计算设备和计算机可读介质 | |
CN114327532A (zh) | 一种基于数字签名和加密的汽车ota升级信息安全实现方法 | |
CN110650478A (zh) | Ota方法、系统、设备、se模块、程序服务器和介质 | |
CN102546580A (zh) | 一种用户口令的更新方法、系统及装置 | |
CN113609213B (zh) | 设备密钥的同步方法、系统、设备和存储介质 | |
CN111147260A (zh) | 一种车辆密钥生成及发行方法、装置 | |
CN113239363A (zh) | 固件更新方法、装置、设备、可读存储介质及存储器系统 | |
CN115665138A (zh) | 一种汽车ota升级系统及方法 | |
CN113810410B (zh) | 无法滥用密钥去中心化属性基加密方法、系统及存储介质 | |
CN116419217B (zh) | Ota数据升级方法、系统、设备及存储介质 | |
CN111131160B (zh) | 一种用户、服务及数据认证系统 | |
CN111736868B (zh) | 一种基于身份标识和双向验证的汽车远程更新方法 | |
CN111464554B (zh) | 一种车辆信息安全控制方法及系统 | |
CN114143198A (zh) | 固件升级的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |