一种物联网FOTA安全升级方法技术

技术编号:37766754 阅读:11 留言:0更新日期:2023-06-06 13:27
本发明专利技术涉及物联网技术领域,具体是一种物联网FOTA安全升级方法。本方法包括固件开发、安全加固、组包、安全升级四大步骤,依托开发平台、FOTA平台、密管系统、文件服务器和终端五个模块实现,提高了物联网终端远程升级的安全性。性。性。

【技术实现步骤摘要】
一种物联网FOTA安全升级方法


[0001]本专利技术涉及物联网
,具体是一种物联网FOTA安全升级方法。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]物联网OTA升级技术指的是各种物联网终端通过网络下载远程服务器上的升级包,并完成对物联网终端系统或者应用等软件升级到新版本的端云一体化融合技术。OTA从升级目标分类可以分为FOTA和SOTA。FOTA即固件升级,升级主程序固件,一般需要系统重启进入Bootloader中重新刷写应用固件到APP分区。SOTA为应用升级,主要升级运行在操作系统之上的软件应用程序,需要软件架构及操作系统的支持,升级过程不需要系统重启。
[0004]对于OTA远程升级而言,现有技术在保障升级成功率的基础上,面临最重要的问题就是如何保证远程升级的安全性,因此本专利技术提出了一种针对FOTA的安全升级方法。

技术实现思路

[0005]本专利技术的目的在于提供一种物联网FOTA安全升级方法,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:
[0007]本专利技术提供一种物联网FOTA安全升级方法,该方法包括:
[0008]S1:开发平台进行固件开发,包括以下子步骤:
[0009](1)在FOTA平台创建升级项目,通过menuconfig将FOTA平台的项目信息写入工程,通过编译将固件与项目之间的关系绑定,
[0010](2)在编译完成以后,通过打包指令生成项目info文件,将bin文件和info文件打包输出目标版本的ZIP文件;
[0011]S2:进行安全加固,包括以下子步骤:
[0012](1)FOTA平台将前置版本和目标版本的固件作差分,得到差分固件,将差分固件上传至密管系统,调用开发者私钥对差分固件进行签名,得到差分固件的签名值Signature,
[0013](2)再使用随机对称密钥对所述差分固件进行加密,得到差分固件密文Palyload,
[0014](3)最后使用对称密钥对随机对称密钥进行加密,得到随机对称密钥的密文EncKey;
[0015]S3:密管系统进行组包,包括以下子步骤:
[0016](1)在获取所述签名值Signature、所述随机对称密钥的密文EncKey、所述差分固件密文Palyload以后,进行组包,为差分固件密文Palyload添加协议头,
[0017](2)组包后经测试通过后发布到文件服务器,供终端下载升级;
[0018]S4:终端进行安全升级,包括以下子步骤:
[0019](1)终端在初次烧录固件时,通过menuconfig将验签公钥配置到Bootloader固件
中,
[0020](2)终端固件通过分时轮询或者手动触发升级检查,向FOTA平台发起升级查询,如果存在已发布的升级固件,则将其下载到终端中,
[0021](3)终端重启时,Bootloader检查终端是否存在待升级的固件,如果存在,则首先判断该固件Header里的安全计数Sec_cnt是否大于终端当前的固件安全计数,如果是,则启动升级流程通过预置在bootloader中的对称密钥解密密文Enc_Key,获得固件加密的对称密钥,并通过Header_enc_alg获取解密算法解密固件密文,得到固件明文,将存储在非易失性存储器中的固件密文替换为固件明文,
[0022](4)解密操作完成后,利用预置在Bootloader中的公钥和解密出来的固件明文,来验证Header_Signature中的签名值是否正确;
[0023](5)固件验证过程中,验证不通过,则判定固件非法,放弃本次升级,并上报FOTA平台;验证通过,通过下载时从FOTA平台获取的信息可知当前的固件为完整固件或者差分固件,如果是完整固件,使用目标固件升级终端固件;如果是差分固件,则需要对差分固件进行还原操作,然后利用差分固件升级终端固件。
[0024](6)终端跳转升级后的系统进行启动,终端向FOTA平台上报升级情况,FOTA平台记录升级日志。
[0025]作为本专利技术进一步的方案:所述Bootloader通过Header_Magic检查终端是否存在待升级的固件。
[0026]作为本专利技术再进一步的方案:所述对差分固件进行还原操作采用ABUP差分还原算法或者自研差分算法。
[0027]与现有技术相比,本专利技术的有益效果是:保证物联网终端FOTA升级过程中的安全性。
附图说明
[0028]图1为本专利技术的方法框架图。
[0029]图2为本专利技术差分固件密文Palyload协议头组成图。
具体实施方式
[0030]下面将参考附图并结合实施例来详细说明本专利技术。
[0031]应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0032]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0033]需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多
个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
[0034]本实施例提供了一种物联网FOTA安全升级方法,该方法包括:
[0035]S1:开发平台进行固件开发,包括以下子步骤:
[0036](1)在FOTA平台创建升级项目,通过menuconfig将FOTA平台的项目信息写入工程,通过编译将固件与项目之间的关系绑定,
[0037](2)在编译完成以后,通过打包指令生成项目info文件,将bin文件和info文件打包输出目标版本的ZIP文件;
[0038]S2:进行安全加固,包括以下子步骤:
[0039](1)FOTA平台将前置版本和目标版本的固件作差分,得到差分固件,将差分固件上传至密管系统,调用开发者本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种物联网FOTA安全升级方法,其特征在于:S1:开发平台进行固件开发,包括以下子步骤:(1)在FOTA平台创建升级项目,通过menuconfig将FOTA平台的项目信息写入工程,通过编译将固件与项目之间的关系绑定,(2)在编译完成以后,通过打包指令生成项目info文件,将bin文件和info文件打包输出目标版本的ZIP文件;S2:进行安全加固,包括以下子步骤:(1)FOTA平台将前置版本和目标版本的固件作差分,得到差分固件,将差分固件上传至密管系统,调用开发者私钥对差分固件进行签名,得到差分固件的签名值Signature,(2)再使用随机对称密钥对所述差分固件进行加密,得到差分固件密文Palyload,(3)最后使用对称密钥对随机对称密钥进行加密,得到随机对称密钥的密文EncKey;S3:密管系统进行组包,包括以下子步骤:(1)在获取所述签名值Signature、所述随机对称密钥的密文EncKey、所述差分固件密文Palyload以后,进行组包,为差分固件密文Palyload添加协议头,(2)组包后经测试通过后发布到文件服务器,供终端下载升级;S4:终端进行安全升级,包括以下子步骤:(1)终端在初次烧录固件时,通过menuconfig将验签公钥配置到Bootloader固件中,(2)终端固件通过分时轮询或者手动触发升级检查,向FOTA平台发起升级查询,如果存在已发布的升级固件,则将其下载到终端中...

【专利技术属性】
技术研发人员:王庆龙
申请(专利权)人:济南新物联自控科技有限公司
类型:发明
国别省市:

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

1