一种对无线网络设备升级程序及通讯数据加密的方法技术

技术编号:20520416 阅读:30 留言:0更新日期:2019-03-06 03:59
本发明专利技术公开了一种对无线网络设备升级程序及通讯数据加密的方法。通过简单的分组、异或、移位、插值处理和SHA256哈希算法实现嵌入式升级程序的加密,用加密摘要算法实现了升级程序数据块的高可靠性的加密。每次程序数据加密过程中进行分组、异或、移位、插值处理时用到了众多的随机数,将这些随机数和其他关键性数据组成一个加密摘要,通过加密摘要才能对升级程序密文进行解密,同一个程序数据在不同的加密处理装置上、不同的时刻加密生成的加密密文和加密摘要都不相同。本发明专利技术对无线网络设备CPU处理器的代码空间占用较少,对处理器的运算速度要求较低,能够采用非常低廉的处理器实现升级程序和通讯数据的加密,保证了设备通讯的安全性和数据的完整性。

【技术实现步骤摘要】
一种对无线网络设备升级程序及通讯数据加密的方法
本专利技术涉及数据加密
,尤其是物联网、无线传感器网络、嵌入式系统领域,具体涉及一种对无线网络设备升级程序及通讯数据加密的方法。
技术介绍
在物联网、无线传感器网络和嵌入式系统中,每个设备都会内嵌一个嵌入式CPU处理器用来执行设计人员编写的嵌入式程序,用以实现设备和系统的自动化和智能化,然而在嵌入式程序编写的过程中难免会出现程序代码错误导致设备运行不正常、设备需要新增加功能等问题的出现,为了方便的解决这类问题,设计人员通常会设计一个在线升级机制,方便程序的升级更新,但是目前几乎所有的在线升级,都采用明文进行二进制程序的传递、存储、升级,非常容易被第三方获得和方向工程,从而导致产品设计人员花大量的人力、物力、时间研发出来的产品,刚一面市不久就被第三方恶意抄袭,造成产品设计厂商的巨大损失。在物联网、无线传感器网络领域,由于无线通讯信号的开放性,通过无线信号传输明文通讯数据,非常容易被第三方将通讯数据截获并分析,从而导致无线网络中的关键性数据泄露,严重者会出现非法入侵者伪装入侵无线网络,导致无线网络通讯不正常,以达到恶意入侵者的不法目的。虽然目前有少部分的产品对升级程序及通讯数据进行了加密处理,保证了设备的安全性,但在物联网、无线传感器网络和嵌入式系统中若采用国际通用的如DES和AES等对称加密算法进行数据加密,但是受限于嵌入式CPU处理器的代码空间和处理器的运算速度,其加密解密效率非常低;若采用简单的单一加密技术,又容易被恶意的第三方破解,从而达不到加密的目的。
技术实现思路
本专利技术的目的是提供一种对无线网络设备升级程序及通讯数据加密的方法,它是一种简单高效的加密方法,利用简单的移位、异或、插值算法,配合SHA256加密硬件实现了物联网、无线传感器网络和嵌入式系统中设备升级程序和通讯数据的加密,该加密方法对嵌入式CPU处理器的代码空间占用较少,对处理器的运算速度要求较低,能够采用非常低廉的处理器实现升级程序和通讯数据的加密,同时还能够在数据通讯过程中实现签名的鉴定和数据完整性的验证,保证了设备通讯的安全性和数据的完整性。为了解决
技术介绍
所存在的问题,本专利技术是采用以下技术方案:本专利技术首先公开了一种对无线网络设备升级程序的方法,对无线网络设备进行程序升级有现场升级模式和远程升级模式,现场升级模式是通过手持升级终端对无线网络设备进行应用现场近距离升级,该模式通过PC计算机的有线通信接口将升级程序加密密文写入手持升级终端,手持升级终端通过无线信号将升级程序加密密文发送到待升级的设备中进行升级;远程升级模式是利用远程服务器通过无线网络通讯进行设备的远程升级,该模式通过远程服务器将升级程序加密密文通过无线网络通道发送到待升级的设备中进行升级;在这两种升级模式中,统一将发送升级程序加密密文的手持升级终端或者远程服务器命名为升级服务设备,将待进行程序升级的目标无线网络设备命名为升级终端设备。作为本专利技术的进一步改进,所述的升级服务设备和升级终端设备包含嵌入式CPU处理器、SHA256哈希加密芯片和无线通讯模块或者有线通讯接口,嵌入式CPU处理器用于嵌入式代码程序的执行、加密文件的解密、网络设备通讯数据的加密解密;SHA256哈希加密芯片利用硬件加密芯片实现加解密密钥的安全存储及快速的哈希运算,提高程序和数据加密解密处理的速度、效率和安全性,同时能够进行通讯数据合法性鉴权;无线通讯模块或者有线通讯接口用于接收和发送加密的密文升级程序,并进行通讯指令和数据的发送和接收;若嵌入式CPU处理器内部的存储空间足够大,除了CPU自身执行代码外,还有足够的空间存储升级程序加密密文,则可以不用选择扩展FLASH存储器,若嵌入式CPU处理器内部的存储空间过小的话,可以外接一个大容量的扩展FLASH存储器,用于存储接收到的升级程序加密密文。本专利技术还提供一种对无线网络设备升级程序通讯数据加密的方法,升级程序加密及升级流程如下:(a)在PC计算机将升级程序代码编译测试并生成二进制升级程序明文文件;(b)采用加密步骤对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;(c)将加密密文传递、发送给设备管理人员;(d)设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文;(e)远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据;(f)升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作;(g)升级程序加密密文解密完成后对升级程序明文进行校验;(h)明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。该解密操作为加密操作的逆过程;为了保证程序升级程序解密及校验的可靠性,升级终端设备将代码执行区划分A、B共2存储区,用于交替存储当前执行的原程序代码和新的升级程序代码。作为本专利技术的进一步改进,所述的加密步骤如下:(1)数据分组预处理:将升级程序代码按照32字节进行分组,不足32字节的数据利用升级程序明文摘要进行数据插值补齐,插值补齐方法是将明文摘要第1、2两字节×补齐因子n%明文长度=补齐位置,明文摘要第2字节=补齐数据1进行数据插值补齐,明文摘要第2、3两字节×补齐因子n%明文长度=补齐位置,明文摘要第3字节=补齐数据2进行数据插值补齐,依次循环进行插值补齐,以完成32字节分组处理,记录8bit补齐因子n和8bit插值补齐个数为16bit补齐摘要,整个升级程序数据加密过程中,记录一个且只记录1个补齐摘要,对无需插值补齐的升级程序,补齐摘要采用0x00填充;(2)数据异或加密处理:利用加密秘钥KEY1~16按照从小到大的序号,根据4bit随机异或起始序号选择起始密钥KEYn,计算4bit随机异或移位位数×异或加密处理次数=移位位数m,并根据该移位位数m将密钥KEYn向右循环移位后,再对第一个32字节分组数据进行异或加密处理;随后同样将KEYn+1向右循环移位后对第二个32字节分组数据进行异或加密处理,依次循环使用KEY1~16对后面的每个32字节分组数据进行异或加密处理,一轮16个加密密钥使用完毕后,再次循环异或处理时依然根据4bit随机异或移位位数×异或加密处理次数=移位位数m,根据该移位位数m将每个密钥KEY向右循环移位后再与32字节分组数据进行异或加密处理,记录4bit随机异或起始序号和4bit随机异或移位位数为8bit异或摘要,每次进行一次异或加密处理时,都会记录一个异或摘要,进行多次异或加密处理时,会记录多个异或摘要,在选择4bit随机异或移位位数时尽量选择3位、5位、7位、11位、13位这几个质数作为异或移位位数,因为该质数在循环移位时能够保证每次移位后得到的异或数值各不相同,增加了加密的安全性;本专利技术进行异或加密处理按照从小到大的序号选择KEY时选择1~16个KEY密钥进行异或加密,也可以是全部16个KEY,也可以<16个的部分KEY密钥参与异或加密,并记录选择了那些KEY参与了异或加密,本专利技术首次异或加密处理选择全部16个KEY参与异或,后续异或加密处理选择KEY的个数根据后面步骤5中的随机插值个数确定,保证异或加密本文档来自技高网
...

【技术保护点】
1.一种对无线网络设备升级程序的方法,其特征在于,对无线网络设备进行程序升级有现场升级模式和远程升级模式,现场升级模式是通过手持升级终端对无线网络设备进行应用现场近距离升级,该模式通过PC计算机的有线通信接口将升级程序加密密文写入手持升级终端,手持升级终端通过无线信号将升级程序加密密文发送到待升级的设备中进行升级;远程升级模式是利用远程服务器通过无线网络通讯进行设备的远程升级,该模式通过远程服务器将升级程序加密密文通过无线网络通道发送到待升级的设备中进行升级;在这两种升级模式中,统一将发送升级程序加密密文的手持升级终端或者远程服务器命名为升级服务设备,将待进行程序升级的目标无线网络设备命名为升级终端设备。

【技术特征摘要】
1.一种对无线网络设备升级程序的方法,其特征在于,对无线网络设备进行程序升级有现场升级模式和远程升级模式,现场升级模式是通过手持升级终端对无线网络设备进行应用现场近距离升级,该模式通过PC计算机的有线通信接口将升级程序加密密文写入手持升级终端,手持升级终端通过无线信号将升级程序加密密文发送到待升级的设备中进行升级;远程升级模式是利用远程服务器通过无线网络通讯进行设备的远程升级,该模式通过远程服务器将升级程序加密密文通过无线网络通道发送到待升级的设备中进行升级;在这两种升级模式中,统一将发送升级程序加密密文的手持升级终端或者远程服务器命名为升级服务设备,将待进行程序升级的目标无线网络设备命名为升级终端设备。2.根据权利要求1所述的一种对无线网络设备升级程序的方法,其特征在于,所述的升级服务设备和升级终端设备包含嵌入式CPU处理器、SHA256哈希加密芯片和无线通讯模块或者有线通讯接口;嵌入式CPU处理器用于嵌入式代码程序的执行、加密文件的解密、网络设备通讯数据的加密解密;SHA256哈希加密芯片利用硬件加密芯片实现加解密密钥的安全存储及快速的哈希运算,提高程序和数据加密解密处理的速度、效率和安全性,同时能够进行通讯数据合法性鉴权;无线通讯模块或者有线通讯接口用于接收和发送加密的密文升级程序,并进行通讯指令和数据的发送和接收;若嵌入式CPU处理器内部的存储空间足够大,除了CPU自身执行代码外,还有足够的空间存储升级程序加密密文,则可以不用选择扩展FLASH存储器,若嵌入式CPU处理器内部的存储空间过小的话,可以外接一个大容量的扩展FLASH存储器,用于存储接收到的升级程序加密密文。3.根据权利要求2所述的一种对无线网络设备升级程序的方法,其特征在于:所述SHA256加密芯片包括一个或多个ATSHA204加密芯片,用于存储32个、64个、128个、256个甚至更多加密密钥,将2个、4个、8个、16个甚至更多个加密芯片连接到CPU处理器的多个IO口进行通讯。4.一种对无线网络设备升级程序加密的方法,其特征在于,升级程序加密及升级流程如下:(a)在PC计算机将升级程序代码编译测试并生成二进制升级程序明文文件;(b)采用加密步骤对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;(c)将加密密文传递、发送给设备管理人员;(d)设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文;(e)远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据;(f)升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作;(g)升级程序加密密文解密完成后对升级程序明文进行校验;(h)明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序;该解密操作为加密操作的逆过程;为了保证程序升级程序解密、校验、代码写入执行区的可靠性,升级终端设备将代码执行区划分A、B共2存储区,用于交替存储当前执行的原程序代码和新的升级程序代码。5.一种对无线网络设备通讯数据加密的方法,其特征在于,所述的加密步骤如下:(1)数据分组预处理:将升级程序代码按照32字节进行分组,不足32字节的数据利用升级程序明文摘要进行数据插值补齐,插值补齐方法是将明文摘要第1、2两字节×补齐因子n%明文长度=补齐位置,明文摘要第2字节=补齐数据1进行数据插值补齐,明文摘要第2、3两字节×补齐因子n%明文长度=补齐位置,明文摘要第3字节=补齐数据2进行数据插值补齐,依次循环进行插值补齐,以完成32字节分组处理,记录8bit补齐因子n和8bit插值补齐个数为16bit补齐摘要,整个升级程序数据加密过程中,记录一个且只记录1个补齐摘要,对无需插值补齐的升级程序,补齐摘要采用0x00填充;(2)数据异或加密处理:利用加密秘钥KEY1~16按照从小到大的序号,根据4bit随机异或起始序号选择起始密钥KEYn,计算4bit随机异或移位位数×异或加密处理次数=移位位数m,并根据该移位位数m将密钥KEYn向右循环移位后,再对第一个32字节分组数据进行异或加密处理;随后同样将KEYn+1向右循环移位后对第二个32字节分组数据进行异或加密处理,依次循环使用KEY1~16对后面的每个32字节分组数据进行异或加密处理,一轮16个加密密钥使用完毕后,再次循环异或处理时依然根据4bit随机异或移位位数×异或加密处理次数=移位位数m,根据该移位位数m将每个密钥KEY向右循环移位后再与32字节分组数据进行异或加密处理,记录4bit随机异或起始序号和4bit随机异或移位位数为8bit异或摘要,每次进行一次异或加密处理时,都会记录一个异或摘要,进行多次异或加密处理时,会记录多个异或摘要,在选择4bit随机异或移位位数时尽量选择3位、5位、7位、11位、13位这几个质数作为异或移位位数,因为该质数在循环移位时能够保证每次移位后得到的异或数值各不相同,增加了加密的安全性;(3)插值数据处理:进行异或加密处理完毕后,将4bit随机异或移位位数赋值为4bit插值密钥移位位数,利用该4bit插值密钥移位位数将步骤2记录的参与异或加密的每个加密密钥KEY向左循环移位,生成INS1~16插值数据用于后面的插值处理,未参与异或加密的KEY其对应的INS填充为0;(4)数据同值预处理:加密数据进行了异或加密处理后得到的数据有一定的概率和INS1~16插值数据同值,在进行后续插值处理时会导致解密出现错误,所以该步骤进行数据同值预处理,遍历整个加密数据若某个32字节数据块和INS1~16插值数据相值,则将该32字节数据块根据随机同值移位位数循环左移,使得数据体不同于16个插值数据,记录27bit同值数据起始位置和5bit随机同值移位位数为同值摘要,每次在进行同值预处理过程可能会存在多个同值数据体,也可能没有同值数据体,对于没有同值数据体的情况采用0x00000000填充记录,保证每次进行同值预处理过程中记录1~n个同值摘要;(5)、数据插值加密处理:进行完同值处理后对加密数据随机插入INS1~16插值数据,插入的位置为全部数据空间内的随机1~256字节对齐的随机位置插入,插入的个数为参与异或加密KEY的个数,插入的数据内容随机从16个INS1~16插值数据中选取,INS数据值为0的INS不进行插入,且保证同一个INS插值数据不要插入两次,避免采用匹配方式获取秘钥的概率;(6)、数据重复加密处理:在插入KEY密钥一次完成后,可重复步骤2~...

【专利技术属性】
技术研发人员:齐芸芸
申请(专利权)人:马鞍山明阳通信科技有限公司
类型:发明
国别省市:安徽,34

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

1