[发明专利]高安全等级的OTA升级固件的加密方法有效
| 申请号: | 201810732760.X | 申请日: | 2018-07-05 |
| 公开(公告)号: | CN108933790B | 公开(公告)日: | 2020-12-22 |
| 发明(设计)人: | 樊燕红;付勇;王继志;杨英;陈丽娟;陈振娅;文立强;穆超 | 申请(专利权)人: | 山东省计算中心(国家超级计算济南中心) |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/06;H04L9/00;H04L29/08;H04L12/24 |
| 代理公司: | 北京华际知识产权代理有限公司 11676 | 代理人: | 褚庆森 |
| 地址: | 250014 山东省济*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 高安 等级 ota 升级 加密 方法 | ||
1.一种高安全等级的OTA升级固件的加密方法,OTA升级固件的系统由PC机、云服务端、控制终端和IOT终端设备组成,PC机生成升级固件数据并将其上传至云服务端,控制终端控制IOT终端设备接收云服务端的数据并完成升级;设升级固件包含n个block数据;其特征在于,所述OTA升级固件的加密方法包括PC机生成固件升级数据步骤以及IOT终端设备验证和升级步骤,PC机生成固件升级数据步骤为:取m个block数据作为固件头数据,利用m个block固件头数据和n个block固件数据通过加密算法生成认证码MAC,将未加密的m个block固件头数据、加密后的MAC、加密后的n个block固件数据一起作为固件升级数据,上传至云服务端;
IOT终端设备验证和升级步骤为:IOT终端设备首先对接收的数据进行解密操作,然后利用接收的m个block固件头数据、解密后的n个block固件数据计算出MAC的值,并判断自身计算的MAC值与接收的MAC值是否相等,只有在相等的情况下才执行升级操作;
设1个block的大小为16个字节,固件头数据为3个block大小,PC机和IOT终端设备中所存储的初始化向量为IV、加密密钥为k;n个block固件数据分别为Pf1、Pf2、…、Pfn;
所述PC机生成固件升级数据步骤具体通过以下步骤来实现:
a).头数据加密,设3个block固件头数据分别为Ph1、Ph2、Ph3,经加密后的数据分别为P′h1、P′h2、P′h3;
b).生成MAC的头部数据的处理,采用如下算法对生成认证码MAC的头部数据进行加密操作:
其中,Ek( )中的E表示采用的AES算法函数,k为加密秘钥,括号内的参数表示明文数据,为异或运算;
c).求取认证码,通过如下计算方法生成认证码MAC:
for i=1 to n
j=i+3
认证码为:
MAC=CBC(n+3);
d).加密处理,对认证码MAC,n个block固件数据Pf1、Pf2、…、Pfn,采用如下的AES-CTR进行加密处理:
for i=1 to n
其中,ctri=Nonce||counteri,Nonce为用户设定的对外保密的常量值,存储于PC机和IOT终端设备中,Nonce为14字节数据,counteri为2字节数据,counter0=0,counter1=1,…,counteri=i,…,countern=n;“||”表示连接运算;
e).形成固件升级数据,利用未加密的3个block固件头数据、加密后的认证码MAC、加密后的n个block固件数据组成升级数据Fall:
Fall=Ph1||Ph2||Ph3||EMAC||Ef1||Ef2...||Efn||。
2.根据权利要求1所述的高安全等级的OTA升级固件的加密方法,其特征在于,步骤a)中采用如下方法对3个block固件头数据Ph1、Ph2、Ph3进行加密:
P′h1=Ek(Ph2)
P′h2=Ph2·Ph1
其中运算符·表示乘法操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810732760.X/1.html,转载请声明来源钻瓜专利网。





