固件安全升级方法、装置、车载系统和车辆制造方法及图纸

技术编号:21003845 阅读:23 留言:0更新日期:2019-04-30 21:28
本发明专利技术涉及一种固件安全升级方法、装置、车载系统和车辆。所述方法包括对接收的固件升级包进行解密和签名校验;基于所述固件升级包向相应的待升级设备发送固件刷写指令;基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;接收所述设备基于所述安全校验指令发送的应答指令并验证;当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。本发明专利技术实施例的技术方案可适用于空中升级和OBD接口升级,通过检查发布的固件和升级后运行的固件的一致性,解决了绕开升级通道的安全限制而非法写入固件包的安全问题。

Firmware Safety Upgrade Method, Device, Vehicle System and Vehicle

【技术实现步骤摘要】
固件安全升级方法、装置、车载系统和车辆
本专利技术属于信息安全
,具体涉及一种固件安全升级方法、装置、车载系统和车辆。
技术介绍
固件就是写入EROM或EEPROM中的程序,是设备内部保存的“驱动程序”。通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作。固件升级是指对设备的内嵌固件进行升级,可以完善设备功能、增强稳定性、修补漏洞。现有技术中,设备中用于固件升级的接口都存在被攻击者恶意利用的风险。攻击者可能劫持固件升级的通道,将自制的固件升级包刷写进去,由此控制设备的相应模块乃至在CAN总线中控制整台设备,实现例如盗取设备控制权、盗取数据等目的。因此,对于例如智能汽车等对于安全性要求极高的场合,固件升级的安全性显得非常重要,应避免智能汽车的控制器通过非法固件升级的方式被盗取。为了保证设备的固件升级的安全性,通常能够在固件升级包刷写流程中确保原始固件升级包不被篡改,但不能监控设备中后续实际运行的固件升级包是否是刷写到设备中的原始固件升级包,不能针对固件升级包版本进行安全性校验,即,攻击者可能绕开升级通道的安全限制,在设备中刷写自制的固件升级包并运行,存在安全隐患。此外,对于通过物理接口接入总线刷写固件升级包的情况,例如通过OBD口接入总线刷写固件升级包,可以绕过了大部分安全检测机制,刷写攻击者自制的固件升级包。如果攻击者恶意通过上述方法刷写固件,而设备内尚无相应的检测机制和报警机制,用户无法察觉。
技术实现思路
为了解决上述固件升级安全性低的技术问题,本专利技术提出了一种固件安全升级方法、装置、车载系统和车辆。一方面,本专利技术一实施例提出一种固件安全升级方法,包括如下步骤:对接收的固件升级包进行解密和签名校验;基于所述固件升级包向相应的待升级设备发送固件刷写指令;基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;接收所述设备基于所述安全校验指令发送的应答指令并验证;当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。进一步,所述固件升级包中预先内置有针对安全校验指令生成相应应答指令的应答算法,其中固件升级包的不同版本对应相同的安全校验指令和不同的应答指令,且所述固件升级包的不同版本与其安全校验指令及应答指令存在唯一对应关系。进一步,所述接收的固件升级包进行解密和签名校验步骤中,当所述签名校验成功后,记录固件升级包的版本号。进一步,在所述应答指令验证步骤中,如果所述设备发送的应答指令与预先存储的所接收的固件升级包中预置的应答算法中的预设应答指令相同,则确定固件安全升级;如果所述设备发送的应答指令与预先存储的所接收的固件升级包中预置的应答算法中的预设应答指令不同,则确定固件升级异常。进一步,在固件升级包刷写过程中,对所述设备进行安全检测,以确保固件升级过程中的安全性。进一步,当所述应答指令与所述预设应答指令不一致时,发送异常告警。另一方面,本专利技术另一实施例提出一种固件安全升级装置,所述固件安全升级装置包括固件升级包获取模块、固件刷写指令发送模块、安全校验指令发送模块、应答指令接收模块和判断模块,其中,固件升级包获取模块对接收的固件升级包进行解密和签名校验;固件刷写指令发送模块基于所述固件升级包向相应的待升级设备发送固件刷写指令;安全校验指令发送模块基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;应答指令接收模块接收所述设备基于所述安全校验指令发送的应答指令;判断模块在所述应答指令为预设应答指令时发送升级成功的消息以完成固件升级。再一方面,本专利技术再一实施例提出一种固件安全升级方法,包括以下步骤:接收对待升级设备的固件刷写指令,进入监听模式;监听到待升级设备的固件升级包刷写成功指令后,向所述设备发送安全校验指令;接收所述设备基于所述安全校验指令发送的应答指令并验证;当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。进一步,所述固件升级包中预先内置有针对安全校验指令生成相应应答指令的应答算法,其中固件升级包的不同版本对应相同的安全校验指令和不同的应答指令,且所述固件升级包的不同版本与其安全校验指令及应答指令存在唯一对应关系。进一步,接收所述设备发送的应答指令的同时,接收所述固件升级包的版本号。进一步,在所述应答指令验证步骤中,如果所述设备发送的应答指令与预先存储的所述固件升级包中预置的应答算法中的预设应答指令相同,则确定固件安全升级;如果所述设备发送的应答指令与预先存储的所述固件升级包中预置的应答算法中的预设应答指令不同,则确定固件升级异常。进一步,当所述应答指令与所述预设应答指令不一致时,发送异常告警。又一方面,本专利技术又一实施例提出一种固件安全升级装置,其特征在于,所述固件安全升级装置包括监听模块、安全校验指令发送模块、应答指令接收模块和判断模块,其中,监听模块,接收对待升级设备的固件刷写指令,进入监听模式;安全校验指令发送模块,在监听模块监听到所述设备的刷写成功指令后,向所述设备发送安全校验指令;应答指令接收模块,接收所述设备基于所述安全校验指令发送的应答指令;判断模块,当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。本专利技术另一实施例还提出一种车载系统,所述车载系统内置有如上所述的固件安全升级装置的至少一个。本专利技术另一实施例还提出一种车辆,所述车辆包括如上所述的车载系统。本专利技术的有益效果:本专利技术实施例提出的固件安全升级方法、装置、车载系统和车辆,适用于空中升级(OTA)和OBD接口升级,通过预先将预设的应答算法打包在固件升级包中,在设备完成固件刷写后,发送安全验证校验指令,以通过校验所述应答算法生成的应答指令进行安全验证,从而实现通过检查发布的固件和升级后运行的固件的一致性,解决绕开升级通道的安全限制而非法写入固件包的安全问题。附图说明图1是本专利技术实施例1提出的一种固件安全升级方法的流程图;图2是应用本专利技术实施例1的固件安全升级方法的系统原理图;图3是本专利技术实施例2提出的一种固件安全升级装置的方框图;图4是本专利技术实施例3提出的一种固件安全升级方法的流程图;图5是应用本专利技术实施例3的固件安全升级方法的系统原理图;图6是本专利技术实施例4提出的一种固件安全升级装置的方框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。但本领域技术人员知晓,本专利技术并不局限于附图和以下实施例。实施例1:本专利技术实施例提出了一种固件安全升级方法,用于对设备进行固件升级,尤其适用于采用OTA(Over-the-Air)方式进行远程固件升级的情形,所述设备可以是汽车,如图1所示,包括如下步骤:S11,对接收的固件升级包进行解密和签名校验;所述固件升级包在打包过程中,对固件升级包进行加密和添加数字签名,以确保固件升级包本身的安全性。其中,所述加密算法和签名算法可以是现有技术中任意可实现算法,本专利技术对此不做限制。当接收到固件升级包后,执行解密算法和签名校验,其中所述解密算法和加密算法相对应,签名校验过程与所述签名过程相对应。进一步的,所述固件升级包中预先内置有针对安全校验指令生成相应应答指令的应答算法,在对固件升级包进行打包的过程中,预先写入针对安全校验指令生成相应应答指令的应答算法本文档来自技高网...

【技术保护点】
1.一种固件安全升级方法,其特征在于,包括如下步骤:对接收的固件升级包进行解密和签名校验;基于所述固件升级包向相应的待升级设备发送固件刷写指令;基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;接收所述设备基于所述安全校验指令发送的应答指令并验证;当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。

【技术特征摘要】
1.一种固件安全升级方法,其特征在于,包括如下步骤:对接收的固件升级包进行解密和签名校验;基于所述固件升级包向相应的待升级设备发送固件刷写指令;基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;接收所述设备基于所述安全校验指令发送的应答指令并验证;当所述应答指令为预设应答指令时,发送升级成功的消息以完成固件升级。2.如权利要求1所述的固件安全升级方法,其特征在于,所述固件升级包中预先内置有针对安全校验指令生成相应应答指令的应答算法,其中固件升级包的不同版本对应相同的安全校验指令和不同的应答指令,且所述固件升级包的不同版本与其安全校验指令及应答指令存在唯一对应关系。3.如权利要求2所述的固件安全升级方法,其特征在于,所述接收的固件升级包进行解密和签名校验步骤中,当所述签名校验成功后,记录固件升级包的版本号。4.如权利要求2所述的固件安全升级方法,其特征在于,在所述应答指令验证步骤中,如果所述设备发送的应答指令与预先存储的所接收的固件升级包中预置的应答算法中的预设应答指令相同,则确定固件安全升级;如果所述设备发送的应答指令与预先存储的所接收的固件升级包中预置的应答算法中的预设应答指令不同,则确定固件升级异常。5.如权利要求1所述的固件安全升级方法,其特征在于,在固件升级包刷写过程中,对所述设备进行安全检测,以确保固件升级过程中的安全性。6.如权利要求1所述的固件安全升级方法,其特征在于,进一步包括,当所述应答指令与所述预设应答指令不一致时,发送异常告警。7.一种固件安全升级装置,其特征在于,所述固件安全升级装置包括固件升级包获取模块、固件刷写指令发送模块、安全校验指令发送模块、应答指令接收模块和判断模块,其中,固件升级包获取模块对接收的固件升级包进行解密和签名校验;固件刷写指令发送模块基于所述固件升级包向相应的待升级设备发送固件刷写指令;安全校验指令发送模块基于接收的所述设备发送的刷写成功指令,向所述设备发送安全校验指令;应答指令接收模块接收所述设备基于所述安全校验指令发送的应答指令;判断模块...

【专利技术属性】
技术研发人员:谭蔚华
申请(专利权)人:广州小鹏汽车科技有限公司
类型:发明
国别省市:广东,44

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

1