一种固件升级方法、装置及设备制造方法及图纸

技术编号:38811791 阅读:13 留言:0更新日期:2023-09-15 19:50
本申请公开了一种固件升级方法、装置及设备,包括:由云端服务器基于固件升级任务信息对需要下发的升级包的合法性及完整性进行校验,若校验通过,则使用第一密钥对需要下发的升级包进行加密后基于CMAC算法生成加密后的升级包的第一CMAC,并下发第一CMAC、加密后的升级包及加密后的第一密钥;物联网设备对加密的升级包进行CMAC验证后,基于OTA根密钥解密加密后的第一密钥后基于第一密钥解密升级包,并校验解密后的升级包具有合法性及完整性后写入升级包到对应的固件,若判断升级包写入失败则基于本地回滚或云端回滚重新写入历史版本的升级包。本申请可以实现高可靠的OTA升级,解决升级失败导致设备无法正常运行的问题。解决升级失败导致设备无法正常运行的问题。解决升级失败导致设备无法正常运行的问题。

【技术实现步骤摘要】
一种固件升级方法、装置及设备


[0001]本申请属于物联网
,尤其涉及一种固件升级方法、装置及设备。

技术介绍

[0002]随着物联网技术的发展,越来越多的物联网设备产生,如电动汽车的充电桩。在充电桩的运行和维护周期中,通常使用远程空中下载(Over the Air,OTA)方式对充电桩内程序进行升级以完善功能、修复安全漏洞、优化使用体验等。
[0003]充电桩内部的电路板通常分为通信板和功率板,通信板负责与云端服务器交互并将交互信息转发到功率板,功率板则根据交互信息执行相应的操作。通信板和功率板通常由多种功能不同的固件组合而成,功能不同软件也不同,但所有固件需要OTA ,再加上升级链路较长,链路复杂,所以升级难度大,安全风险大,可靠性难以保障,易导致升级失败而造成设备无法启动。
[0004]针对上述问题,本申请提出一种固件升级方法、装置及设备,用于解决升级失败导致设备无法正常运行以及如何提升升级过程中数据安全性的问题,可以实现高可靠的OTA升级。

技术实现思路

[0005]第一方面,本申请提供了一种固件升级方法,应用于云端服务器,所述方法包括:基于固件升级任务信息,对需要下发的升级包的合法性及完整性进行校验, 所述固件升级任务信息包括携带升级包校验信息的升级包;若校验通过,则使用第一密钥对需要下发的升级包进行加密后,基于分组加密的消息认证码CMAC算法生成加密后的升级包的第一CMAC,并将所述第一CMAC下发给物联网设备,所述第一CMAC用于验证所述加密的升级包的完整性,再对所述第一密钥进行加密,向物联网设备下发加密后的升级包及加密后的第一密钥;其中,所述固件升级任务采用如下任一方式创建:基于用户的指令创建固件升级任务;基于从物联网设备接收到的云端回滚请求,创建固件升级任务。
[0006]在一种可能的实施方式中,所述升级包校验信息包括物联网设备ID、固件ID及循环冗余校核CRC 校验码,所述物联网设备ID、固件ID用于校验所述需要下发的升级包的合法性,所述CRC 校验码用于校验所述需要下发的升级包的完整性。
[0007]第二方面,本申请提供了一种固件升级方法,应用于物联网设备,所述方法包括:接收云端服务器发送的第一CMAC,所述第一CMAC由云端服务器基于CMAC算法和加密的升级包生成,并在从云端服务器接收到加密后的升级包及加密后的第一密钥后,基于所述CMAC算法和接收到的加密的升级包生成第二CMAC,并在判断所述第一CMAC与所述第二CMAC一致时,确认所述加密的升级包具有完整性;确认所述加密的升级包具有完整性后,基于空中下载OTA根密钥解密所述加密后
的第一密钥,得到所述第一密钥并基于所述第一密钥解密所述升级包;校验解密后的升级包是否具有合法性及完整性,若否则上报云端服务器固件升级失败,若是则在确定所述升级包对应通信板时,将所述升级包写入通信板上对应的固件;或者在确定所述升级包对应功率板时,将所述升级包写入通信板,再将所述升级包由通信板转发到功率板,并将所述升级包写入功率板上对应的固件;若确定所述升级包写入失败,从本地存储空间中获取历史版本的升级包,并将获取到的历史版本的升级包写入所述升级包对应的固件,进行本地回滚;判断本地回滚是否成功,若是则上报云端服务器固件升级失败及本地回滚成功,若否则上报云端服务器固件升级失败并发送云端回滚请求,以请求下载历史版本的升级包。
[0008]在一种可能的实施方式中,所述解密后的升级包携带升级包校验信息,所述升级包校验信息包括物联网设备ID、固件ID及CRC 校验码;所述校验解密后的升级包是否具有合法性及完整性,包括:基于所述物联网设备ID、固件ID,对解密后的升级包的合法性进行校验;基于所述CRC 校验码,对解密后的升级包的完整性进行校验。
[0009]在一种可能的实施方式中,所述判断本地回滚是否成功,包括:对从本地存储空间中获取到的历史版本的升级包的合法性及完整性进行校验,若校验不通过,确定本地回滚失败;若校验通过,将所述历史版本的升级包写入所述升级包对应的固件,并判断所述升级包是否写入成功,若是则本地回滚成功,若否则本地回滚失败。
[0010]在一种可能的实施方式中,将所述升级包写入通信板,再将所述升级包由通信板转发到功率板前,还包括:通知功率板进入固件升级模式,并计算所述升级包的第一校验和,所述固件升级模式使功率板处于可以进行固件刷写升级的模式;所述通信板将所述升级包和所述升级包的第一校验和作为升级指令转发到功率板。
[0011]在一种可能的实施方式中,所述将所述升级包由通信板转发到功率板,并将所述升级包写入功率板上对应的固件,包括:所述功率板按照预设的下载参数分组下载所述升级包后,基于接收到的各组升级包计算出第二校验和,并判断所述第二校验和与所述第一校验和是否一致;若是,则将所述升级包写入功率板上对应的固件;若否,则所述功率板再次按照预设的下载参数分组下载所述升级包,直到所述第二校验和与所述第一校验和一致和/或达到设定的下载次数,且若达到设定的下载次数,所述第二校验和与所述第一校验和仍不一致,确定所述升级包写入失败。
[0012]在一种可能的实施方式中,所述通知功率板进入固件升级模式,包括:通知功率板进入扩展模式,使功率板能够接收升级指令;确定功率板进入扩展模式后,通知通信板和功率板都进入总线静默模式,所述总线静默模式使通信板和功率板都停止除固件升级之外的报文收发;确定功率板进入总线静默模式后,通知功率板进入文件传输模式,所述文件传输
模式使能功率板的文件上传下载功能。
[0013]第三方面,本申请提供一种固件升级装置,包括:第一校验模块,用于基于固件升级任务信息,对需要下发的升级包的合法性及完整性进行校验, 所述固件升级任务信息包括携带升级包校验信息的升级包;其中,所述固件升级任务采用如下任一方式创建:基于用户的指令创建固件升级任务;基于从物联网设备接收到的云端回滚请求,创建固件升级任务;加密模块,用于若校验通过,则使用第一密钥对需要下发的升级包进行加密后,基于分组加密的消息认证码CMAC算法生成加密后的升级包的第一CMAC,并将所述第一CMAC下发给物联网设备,所述第一CMAC用于验证所述加密的升级包的完整性,再对所述第一密钥进行加密,向物联网设备下发加密后的升级包及加密后的第一密钥。
[0014]在一种可能的实施方式中,所述升级包校验信息包括物联网设备ID、固件ID及循环冗余校核CRC 校验码,所述物联网设备ID、固件ID用于校验所述需要下发的升级包的合法性,所述CRC 校验码用于校验所述需要下发的升级包的完整性。
[0015]第四方面,本申请提供一种固件升级装置,包括:第二校验模块,用于接收云端服务器发送的第一CMAC,所述第一CMAC由云端服务器基于CMAC算法和加密的升级包生成,并在从云端服务器接收到加密后的升级包及加密后的第一密钥后,基于所述CMAC算法和接收到的加密的升级包生成第二CMAC,并在判断所述第一CMAC与所述第二CMAC一致时,确认所述加密本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件升级方法,应用于云端服务器,其特征在于, 包括:基于固件升级任务信息,对需要下发的升级包的合法性及完整性进行校验, 所述固件升级任务信息包括携带升级包校验信息的升级包;若校验通过,则使用第一密钥对需要下发的升级包进行加密后,基于分组加密的消息认证码CMAC算法生成加密后的升级包的第一CMAC,并将所述第一CMAC下发给物联网设备,所述第一CMAC用于验证所述加密的升级包的完整性,再对所述第一密钥进行加密,向物联网设备下发加密后的升级包及加密后的第一密钥;其中,所述固件升级任务采用如下任一方式创建:基于用户的指令创建固件升级任务;基于从物联网设备接收到的云端回滚请求,创建固件升级任务。2.根据权利要求1所述的方法,其特征在于,所述升级包校验信息包括物联网设备ID、固件ID及循环冗余校核CRC 校验码,所述物联网设备ID、固件ID用于校验所述需要下发的升级包的合法性,所述CRC 校验码用于校验所述需要下发的升级包的完整性。3.一种固件升级方法,应用于物联网设备,其特征在于,包括:接收云端服务器发送的第一CMAC,所述第一CMAC由云端服务器基于CMAC算法和加密的升级包生成,并在从云端服务器接收到加密后的升级包及加密后的第一密钥后,基于所述CMAC算法和接收到的加密的升级包生成第二CMAC,并在判断所述第一CMAC与所述第二CMAC一致时,确认所述加密的升级包具有完整性;确认所述加密的升级包具有完整性后,基于空中下载OTA根密钥解密所述加密后的第一密钥,得到所述第一密钥并基于所述第一密钥解密所述升级包;校验解密后的升级包是否具有合法性及完整性,若否则上报云端服务器固件升级失败,若是则在确定所述升级包对应通信板时,将所述升级包写入通信板上对应的固件;或者在确定所述升级包对应功率板时,将所述升级包写入通信板,再将所述升级包由通信板转发到功率板,并将所述升级包写入功率板上对应的固件;若确定所述升级包写入失败,从本地存储空间中获取历史版本的升级包,并将获取到的历史版本的升级包写入所述升级包对应的固件,进行本地回滚;判断本地回滚是否成功,若是则上报云端服务器固件升级失败及本地回滚成功,若否则上报云端服务器固件升级失败并发送云端回滚请求,以请求下载历史版本的升级包。4.根据权利要求3所述的方法,其特征在于,所述解密后的升级包携带升级包校验信息,所述升级包校验信息包括物联网设备ID、固件ID及CRC 校验码;所述校验解密后的升级包是否具有合法性及完整性,包括:基于所述物联网设备ID、固件ID,对解密后的升级包的合法性进行校验;基于所述CRC 校验码,对解密后的升级包的完整性进行校验。5.根据权利要求3所述的方法,其特征在于,所述判断本地回滚是否成功,包括:对从本地存储空间中获取到的历史版本的升级包的合法性及完整性进行校验,若校验不通过,确定本地回滚失败;若校验通过,将所述历史版本的升级包写入所述升级包对应的固件,并判断所述升级包是否写入成功,若是则本地回滚成功,若否则本地回滚失败。
6.根据权利要求3所述的方法,其特征在于,将所述升级包写入通信板,再将所述升级包由通信板转发到功率板前,还包括:通知功率板进入固件升级模式,并计算所述升级包的第一校验和,所述固件升级模式使功率板处于可以进行固件刷写升级的模式;所述通信板将所述升级包和所述升级包的第一校验和作为升级指令转发到功率板。7.根据权利要求6所述的方法,其特征在于,所述将所述升级包由通信板转发到功率板,并将所述...

【专利技术属性】
技术研发人员:郝恩敬张开川刘小龙蔡锋锋
申请(专利权)人:北京集度科技有限公司
类型:发明
国别省市:

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

1