【技术实现步骤摘要】
高安全等级的OTA升级固件的加密方法
本专利技术涉及一种固件升级的方法,更具体的说,尤其涉及一种高安全等级的OTA升级固件的加密方法。
技术介绍
目前物联网(Internetofthings,简称IOT)已经渗透到各行各业的方方面面,并连接了大量的设备。物联网规模化部署面临着众多挑战。当众多的物联网设备需要功能更新或者修补漏洞,空中下载技术(Over-the-AirTechnology,简称OTA)为无线固件升级提供了一个省时、便捷的途径,OTA固件升级已经成为物联网设备必不可缺少的一个组成部分。物联网设备在固件升级的过程中,存在服务权限验证的安全威胁。在固件升级方面,许多物联网设备的升级固件没有加密和完整性验证处理。如果黑客获得了固件升级的命令格式,将其编写的恶意固件下载到物联网终端设备中,就可以完全控制该设备并执行非法操作。2013年,IOActive安全公司对某品牌的验钞机进行研究,发现其在固件升级时未做签名验证处理,研究人员利用该漏洞将恶意固件下载到验钞机中,验钞机将一张手写假钞识别为真钞。2017年,密码安全的研究人员,对PhilipsHue智能灯进行研究,破解了智能灯无线固件升级的加密/认证密钥,根据密钥将产生的恶意固件下载到智能灯中,智能灯在恶意固件的控制下不停闪烁。在固件升级的过程中,为了防止物联网设备遭受恶意固件的攻击,需要提高固件升级过程中安全等级。升级固件的生成及下载过程需要具备加加/解密、认证操作,用于固件数据的保密和完整性认证,防止固件数据被恶意篡改和恢复;且加/解密、认证操作要具有一定复杂度,以便能够抵抗侧信道等相关的密码分析方 ...
【技术保护点】
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.一种高安全等级的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值是否相等,只有在相等的情况下才执行升级操作。2.根据权利要求1所述的高安全等级的OTA升级固件的加密方法,其特征在于,设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:fori=1tonj=i+3认证码为:MAC=CBC(n+3);d).加密处理,对认证码MAC,n个block固件数据Pf1、Pf2、…、Pfn,采用如下的AES-CTR进行加密处理:fori=1ton其中,ctri=Nonce||counteri,Nonce为用户设定的对外保密的常量值,存储于PC机和IOT终端设备中,Nonce为14字节数据,counteri为2字节数据,counter0=0,counter1=1,….,counteri=i,…,countern=n;“||”表示连接运算;e).形成固件升级数据,利用未加密的3个block固件头数据...
【专利技术属性】
技术研发人员:樊燕红,付勇,王继志,杨英,陈丽娟,陈振娅,文立强,穆超,
申请(专利权)人:山东省计算中心国家超级计算济南中心,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。