CN109104724B - 一种用于设备升级的数据加密方法和装置 - Google Patents
一种用于设备升级的数据加密方法和装置 Download PDFInfo
- Publication number
- CN109104724B CN109104724B CN201810721490.2A CN201810721490A CN109104724B CN 109104724 B CN109104724 B CN 109104724B CN 201810721490 A CN201810721490 A CN 201810721490A CN 109104724 B CN109104724 B CN 109104724B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- upgrade procedure
- upgrade
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明设计了一种用于设备升级的数据加密方法和装置,利用简单的移位、异或、插值算法,配合SHA非对称加密硬件实现了无线自组织网络、无线传感器网络和嵌入式系统中设备升级程序和通讯数据的加密,该加密方法对嵌入式CPU处理器的代码空间占用较少,对处理器的运算速度要求较低,能够采用非常低廉的处理器实现升级程序和通讯数据的加密,同时还能够在数据通讯过程中实现签名的鉴定和数据完整性的验证,保证了设备通讯的安全性和数据的完整性。
Description
技术领域
本发明涉及无线网络技术领域,尤其涉及一种用于设备升级的数据加密方法和装置。
背景技术
在无线自组织网络、无线传感器网络和嵌入式系统中,每个设备都会内嵌一个嵌入式CPU处理器用来执行设计人员编写的嵌入式程序,用以实现设备和系统的自动化和智能化,然而在嵌入式程序编写的过程中难免会出现程序代码错误导致设备运行不正常、设备需要新增加功能等问题的出现,为了方便的解决这类问题,设计人员通常会设计一个在线升级机制,方便程序的升级更新,但是目前几乎所有的在线升级,都采用明文进行二进制程序的传递、存储、升级,非常容易被第三方获得和方向工程,从而导致产品设计人员花大量的人力、物力、时间研发出来的产品,刚面市不久就被第三方恶意抄袭,造成产品设计厂商的巨大损失。
在无线自组织网络、无线传感器网络领域,由于无线通讯信号的开放性,通过无线信号传输明文通讯数据,非常容易被第三方将通讯数据截获并分析,从而导致无线网络中的关键性数据泄露,严重者会出现非法入侵者伪装入侵无线网络,导致无线网络通讯不正常,以达到恶意入侵者的不法目的。
虽然目前有少部分的产品对升级程序及通讯数据进行了加密处理,保证了设备的安全性,但在无线自组织网络、无线传感器网络和嵌入式系统中,若采用国际通用的如DES和AES等对称加密算法进行数据加密,但是受限于嵌入式CPU处理器的代码空间和处理器的运算速度,其加密解密效率非常低;若采用简单的单一加密技术,又容易被恶意的第三方破解,从而达不到加密的目的。如何实现简单高效的加密已成了目前急需解决的问题。
发明内容
本发明设计了一种用于设备升级的数据加密方法和装置,利用简单的移位、异或、插值算法,配合SHA非对称加密硬件实现了无线自组织网络、无线传感器网络和嵌入式系统中设备升级程序和通讯数据的加密,该加密方法对嵌入式CPU处理器的代码空间占用较少,对处理器的运算速度要求较低,能够采用非常低廉的处理器实现升级程序和通讯数据的加密,同时还能够在数据通讯过程中实现签名的鉴定和数据完整性的验证,保证了设备通讯的安全性和数据的完整性。
本发明所采用的技术方案如下:
一种用于设备升级的数据加密方法,其特征在于包括如下步骤:
步骤1,在PC计算机将升级程序代码进行编译、测试,并生成二进制升级程序明文文件;
步骤2,对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;
步骤3,将加密密文传递、发送给设备管理人员;
步骤4,设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文;
步骤5,远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据;
步骤6,升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作;
步骤7,升级程序加密密文解密完成后对升级程序明文进行校验;
步骤8,明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。
优选地,所述加密处理中涉及三个关键性数据,包括16个加密密钥KEY1-16、升级程序明文摘要以及加密摘要数据。
优选地,所述加密密钥为16个不相同的32字节随机数据,将所述加密密钥烧写进SHA256加密芯片中并进行熔断处理,从中随机挑选4个密钥作为初始密钥,并将所述初始密钥固化到嵌入式CPU处理器中。
优选地,升级程序明文摘要,该数据为升级程序明文通过SHA256哈希算法计算出的明文摘要,用于升级程序密文解密还原出明文后,对明文文件的校验和合法性判断,该明文摘要数据附加在加密摘要数据中发送给升级设备终端。
优选地,上述步骤2中对二进制升级程序文件进行加密处理具体包括:
步骤201,数据分组预处理;
步骤202,数据异或加密处理;
步骤203,插值数据处理;
步骤204,数据同值预处理;
步骤205,数据插值加密处理;
步骤206,数据重复加密处理,在进行最后一次插值加密处理时进行记录。
一种用于设备升级的数据加密装置,其特征在于包括如下步骤:
生成单元,用于在PC计算机将升级程序代码进行编译、测试,并生成二进制升级程序明文文件,对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;
传送单元,将加密密文传递、发送给设备管理人员,以及远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据,升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作
校验单元,设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文,以及升级程序加密密文解密完成后对升级程序明文进行校验;
写入单元,明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。
优选地,所述加密处理中涉及三个关键性数据,包括16个加密密钥KEY1-16、升级程序明文摘要以及加密摘要数据。
优选地,所述加密密钥为16个不相同的32字节随机数据,将所述加密密钥烧写进SHA256加密芯片中并进行熔断处理,从中随机挑选4个密钥作为初始密钥,并将所述初始密钥固化到嵌入式CPU处理器中。
优选地,升级程序明文摘要,该数据为升级程序明文通过SHA256哈希算法计算出的明文摘要,用于升级程序密文解密还原出明文后,对明文文件的校验和合法性判断,该明文摘要数据附加在加密摘要数据中发送给升级设备终端。
优选地,所述对二进制升级程序文件进行加密处理具体包括:
步骤201,数据分组预处理;
步骤202,数据异或加密处理;
步骤203,插值数据处理;
步骤204,数据同值预处理;
步骤205,数据插值加密处理;
步骤206,数据重复加密处理,在进行最后一次插值加密处理时进行记录。
与现有技术相比本发明的有益效果如下:
1)用于对无线网络设备嵌入式CPU处理器的升级程序进行加密处理,用以保证升级程序的二进制代码在编译测试完成后,对外发布和传递的过程中的安全性和保密性,避免二进制代码被第三方恶意复制和拷贝,保证企业各项技术的安全性;
2)本发明还对无线网络设备通讯过程中的数据进行加密处理,保证合法的无线网络设备能够可靠通讯,避免第三方恶意的设备和装置窃取无线网络通讯数据和非法入侵攻击无线通讯网络,保证无线网络通讯数据的保密性、防窃取性、无线网络的防攻击性,提高无线网络的健壮性和安全性、可靠性。
附图说明
图1为本发明的升级设备组成示意图;
图2为本发明的数据加密方法的流程示意图。
具体实施方式
为了更好的说明本发明,现结合具体实施例以及说明书附图对技术方案作进一步的说明。虽然实施例中记载了这些具体的实施方式,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求书所界定者为准。
本发明对无线网络设备进行程序升级有两种升级模式:1)一种模式是通过手持升级终端对无线网络设备进行应用现场近距离升级,该模式通过PC计算机的有线通信接口将升级程序加密密文写入手持升级终端,手持升级终端通过无线信号将升级程序加密密文发送到待升级的设备中进行升级,本发明将该升级模式命名为“现场升级模式”;2)另一种模式是利用远程服务器通过无线网络通讯进行设备的远程升级,该模式通过远程服务器将升级程序加密密文通过无线网络通道发送到待升级的设备中进行升级,本发明将该升级模式命名为“远程升级模式”。在这两种升级模式中,本发明统一将发送升级程序加密密文的手持升级终端或者远程服务器命名为“升级服务设备”,将待进行程序升级的目标无线网络设备命名为“升级终端设备”。
本发明的设备组成示意图如图1所示。升级服务设备和升级终端设备由三个必选组件和一个可选组件组成,三个必选组件为:1)CPU处理器,主要用于嵌入式代码程序的执行、加密文件的解密、网络设备通讯数据的加密解密;2)加密芯片,该组件利用硬件加密芯片实现加解密密钥的安全存储及快速的哈希运算,提高程序和数据加密解密处理的速度、效率和安全性,同时能够进行通讯数据合法性鉴权;3)通信接口,包括无线通讯模块或者有线通讯接口,该组件用于接收和发送加密的密文升级程序,并进行通讯指令和数据的发送和接收。一个可选组件为:4)存储器,用于存储升级程序加密密文。在上述三个必选组件中,若嵌入式CPU处理器内部的存储空间足够大,除了CPU自身执行代码外,还有足够的空间存储升级程序加密密文,则可以不用选择扩展FLASH存储器,若嵌入式CPU处理器内部的存储空间过小的话,可以外接一个大容量的扩展FLASH存储器,用于存储接收到的升级程序加密密文。
本发明的升级程序加密及升级流程如图2所示,具体步骤如下:
步骤1,在PC计算机将升级程序代码编译测试并生成二进制升级程序明文文件;
步骤2,采用本发明后续描述的加密程序对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;
步骤3,将加密密文传递、发送给设备管理人员;
步骤4,设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文;
步骤5,远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据;
步骤6,升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作;
步骤7,升级程序加密密文解密完成后对升级程序明文进行校验;
步骤8,明文校验正确后,即可将解密后的程序明文作为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。
该解密操作为加密操作的逆过程;为了保证程序升级程序解密及校验的可靠性,升级终端设备将代码执行区划分A、B共2存储区,用于交替存储当前执行的原程序代码和新的升级程序代码。
在上述步骤2中对二进制升级程序文件进行加密处理,其中涉及三个关键性的数据,它们分别是:
1)加密密钥KEY1~16,这16个加密密钥可以选择16个不相同的32字节随机数据加密做密钥,也可以选择无线网络设备的程序代码中的某关键性二进制代码库中的16个不相同的32字节片段做加密密钥,这16个加密密钥全部通过硬件烧写工具写入SHA256加密芯片中并进行熔断处理,保证了SHA256加密芯片中的加密密钥不能被外部非法读取,另外随机挑选4个密钥做为初始密钥,这4个初始密钥字节固化到嵌入式CPU处理器中,用于升级程序的初始解密和数据通讯的初始认证,本发明将这4个随机挑选的密钥命名为“初始固化密钥”;
2)升级程序明文摘要,该数据为升级程序明文通过SHA256哈希算法计算出的明文摘要,用于升级程序密文解密还原出明文后,对明文文件的校验和合法性判断,该明文摘要数据附加在加密摘要数据中发送给升级设备终端;
3)加密摘要数据,该数据为升级程序明文在进行加密操作过程中产生的加密关键性数据,只有通过该数据才能够有效解密出升级程序明文。
本发明在进行升级程序和关键性二进制代码库加密前,对整个升级程序和关键性二进制代码库的明文进行一次SHA256运算,生成一个32字节的明文摘要,该明文摘要用于后续的升级程序和关键性二进制代码库的加密处理,并在解密后对解密的明文文件进行一致性验证。
本发明在选择某关键性二进制代码库做加密密钥时,将关键性代码库按照32字节进行分组,随机分组抽取16个不同的32字节代码片段做加密密钥,然后将被抽取的16个片段采用0xFF进行填充,填充后的二进制代码库可以作为嵌入式程序的库文件烧写进CPU处理器中,也可以和升级程序一起进行加密处理;通过该方法可以将关键性二进制代码库的部分代码片段存储在加密芯片中,保证了关键性二进制代码的安全性和保密性;通过升级程序解密后,即可获得16个加密密钥KEY,然后通过对16个填充了0xFF的片段进行替换即可还原出关键性二进制代码库,如此升级程序解密后即可正常调用该关键性二进制代码库。
本发明对升级程序加密仅利用了几个常见的简单的分组、异或、移位、插值运算和SHA256加密芯片的哈希运算,实现了整个升级程序代码二进制数据的加密,其加密运算简单、加密安全性高。
在上述步骤2中对二进制升级程序文件进行加密处理的加密流程包括如下步骤:
步骤1,数据分组预处理。将升级程序代码按照32字节进行分组,不足32字节的数据利用升级程序明文摘要进行数据插值补齐,插值补齐方法是将明文摘要第1、2两字节×补齐因子n%明文长度=补齐位置,明文摘要第2字节=补齐数据1进行数据插值补齐,明文摘要第2、3两字节×补齐因子n%明文长度=补齐位置,明文摘要第3字节=补齐数据2进行数据插值补齐,依次循环进行插值补齐,以完成32字节分组处理,本发明记录补齐因子n(8bit)和插值补齐个数(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中的随机插值个数确定,保证异或加密个数和插值加密个数及KEY序号相同;
步骤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插值数据不要插入两次,避免采用匹配方式获取秘钥;本发明为了保证加密的安全性,插值处理时插入INS数据的字节对齐数随机、插入位置随机、插入的INS数据内容选择随机、插入的INS数据个数随机4个因素影响每次插值加密的结果;加密密文在进行解密时随着随机字节对齐数从大到小且解密难度逐渐增加,对齐字节数为1时,升级程序密文解密难度最大,其安全程度将达到最高,本发明记录随机字节对齐数为插值摘要;
步骤6,数据重复加密处理:在插入KEY密钥一次完成后,可重复步骤2~5进行下一轮加密处理,重复加密次数根据随机重复次数(16bit)确定,通过调整随机重复次数(16bit)和步骤5插值加密处理中的随机插值个数可以控制加密后的升级程序密文大小为一个预定义的值,本发明记录随机加密重复次数为重复摘要(bit16),整个升级程序数据加密过程中,记录一个且只记录1个重复摘要,在进行最后一次插值加密处理时进行记录。
本发明经过上述步骤1~6即可实现高安全性的升级程序二进制数据加密,升级程序加密完成后可以生成两个数据块,一个是升级程序的加密密文数据,一个是加密摘要数据,这两个加密数据通过不同的途径发送到升级设备终端中,进行升级程序解密。
本发明对升级程序进行加密时为了提高加密密文的安全性、提高加密强度,进行了一系列的增强安全性的处理:
1)本发明的加密程序建立了一个加密密钥池,包含了数量众多的32字节的加密密钥,针对不同的客户、不同的无线网络设备进行升级程序加密时,选择不同的16个32字节的加密密钥对升级程序进行加密;
2)本发明将升级程序明文摘要、客户信息、加密计算机硬件ID、加密时间信息进行SHA256哈希运算,将哈希结果作为随机数种子输入随机数发生器,生成9类各不相同的随机数用于升级程序加密操作,这9类随机数为:随机补齐因子n、随机异或起始序号、随机异或移位位数、随机同值移位位数、随机字节对齐数、随机随机插值位置、随机插值内容选择、随机插值个数、随机加密重复次数;
3)数据进行加密时采用32字节的KEY加密密钥对加密数据32字节分组进行异或加密,异或加密的密钥长度为32字节(256bit)长,且密钥长度和数据长度相同,保证了异加密的安全性;而且每个不同的32字节数据分组采用不同的KEY加密密钥移位后进行异或加密,每次随机异或移位位数(4bit)选择3位、5位、7位、11位、13位质数计算移位位数能够尽量保证每次移位出的异或加密密钥不相同,从而提高加密强度;
4)本发明在进行数据插值时,由于每次插入的INS插值数据是由KEY加密密钥移位得到,在不确定加密摘要数据中的插值密钥移位位数的情况下无法通过遍历的方式获得KEY加密密钥;
5)本发明由于重复多次进行了异或加密处理和插值加密处理,且每次异或密钥和插值数据都由KEY1~16加密密钥随机移位得来,且每次插值的数量不相同,重复加密过程中对原数据进行了交替覆盖,最后加密出来的在不知道加密过程中的随机数的情况下几乎不可能解出升级程序明文;
6)本发明在进行数据插值时,插入的INS数据为1~15个INS,而不是全部16个INS,保证了需要经过多次插值数据提取和反向解密异或后才能够全部完整提取出16个KEY加密密钥。
本发明中的程序编译计算机、远程服务器、升级程序终端、无线通讯网络间的数据交互关系具体为:1)编译加密计算机编译生成升级程序二进制文件,并对升级程序进行加密生成升级加密密文和加密摘要数据;2)该升级程序加密密文通过复制、拷贝、E-mail发送到远程服务器,或者通过USB、RS232等有线接口写入手持升级终端;3)本发明向升级终端写入升级程序密文有两种方式,一种方式通过远程服务器将升级程序密文通过无线网络发送到无线网络设备n中存储,一种方式是通过手持升级终端将升级程序密文通过无线模块信号发送到无线网络设备n中存储;4)进行程序升级时,由远程服务器向编译加密计算机发送加密摘要数据请求指令,由编译加密计算机将加密摘要数据通过本发明描述的加密摘要数据传输方式发送给远程服务器,并由远程服务器将加密摘要数据发送给无线网络设备n,并执行解密升级操作。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种用于设备升级的数据加密方法,其特征在于包括如下步骤:
步骤1,在PC计算机将升级程序代码进行编译、测试,并生成二进制升级程序明文文件;
步骤2,对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;
所述加密处理中涉及三个关键性数据,包括16个加密密钥KEY1-16、升级程序明文摘要以及加密摘要数据;
所述加密密钥KEY1-16,这16个加密密钥可以选择16个不相同的32字节随机数据加密做密钥;
所述升级程序明文摘要,该数据为升级程序明文通过SHA256哈希算法计算出的明文摘要;
所述加密摘要数据,该数据为升级程序明文在进行加密操作过程中产生的加密关键性数据;
所述对二进制升级程序文件进行加密处理中数据分组预处理具体为:将升级程序代码按照32字节进行分组,不足32字节的数据利用升级程序明文摘要进行数据插值补齐;
步骤3,将加密密文传递、发送给设备管理人员;
步骤4,设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文;
步骤5,远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据;
步骤6,升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作;
步骤7,升级程序加密密文解密完成后对升级程序明文进行校验;
步骤8,明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。
2.根据权利要求1所述的数据加密方法,其特征在于:
所述加密密钥为16个不相同的32字节随机数据,将所述加密密钥烧写进SHA256加密芯片中并进行熔断处理,从中随机挑选4个密钥作为初始密钥,并将所述初始密钥固化到嵌入式CPU处理器中。
3.根据权利要求1所述的数据加密方法,其特征在于:
升级程序明文摘要,用于升级程序密文解密还原出明文后,对明文文件的校验和合法性判断,该明文摘要数据附加在加密摘要数据中发送给升级设备终端。
4.根据权利要求1所述的数据加密方法,其特征在于,上述步骤2中对二进制升级程序文件进行加密处理具体包括:
步骤201,数据分组预处理;
步骤202,数据异或加密处理;
步骤203,插值数据处理;
步骤204,数据同值预处理;
步骤205,数据插值加密处理;
步骤206,数据重复加密处理,在进行最后一次插值加密处理时进行记录。
5.一种用于设备升级的数据加密装置,其特征在于包括如下步骤:
生成单元,用于在PC计算机将升级程序代码进行编译、测试,并生成二进制升级程序明文文件,对二进制升级程序文件进行加密处理,生成加密密文,并生成加密摘要数据;
所述加密处理中涉及三个关键性数据,包括16个加密密钥KEY1-16、升级程序明文摘要以及加密摘要数据;
所述加密密钥KEY1-16,这16个加密密钥可以选择16个不相同的32字节随机数据加密做密钥;
所述升级程序明文摘要,该数据为升级程序明文通过SHA256哈希算法计算出的明文摘要;
所述加密摘要数据,该数据为升级程序明文在进行加密操作过程中产生的加密关键性数据;
所述对二进制升级程序文件进行加密处理中数据分组预处理具体为:将升级程序代码按照32字节进行分组,不足32字节的数据利用升级程序明文摘要进行数据插值补齐;
传送单元,将加密密文传递、发送给设备管理人员,以及远程服务器通过远程无线网络给升级终端设备发送升级解密指令和加密摘要数据,升级终端设备收到升级解密指令和加密摘要数据后,对存储的升级加密密文进行解密操作
校验单元,设备管理人员利用现场升级模式或远程升级模式将升级程序加密密文发送到升级终端设备中存储,并校验加密密文,以及升级程序加密密文解密完成后对升级程序明文进行校验;
写入单元,明文校验正确后,即可将解密后的程序明文做为升级程序代码写入嵌入式CPU处理器代码执行区,并启动执行新的升级程序。
6.根据权利要求5所述的数据加密装置,其特征在于:
所述加密密钥为16个不相同的32字节随机数据,将所述加密密钥烧写进SHA256加密芯片中并进行熔断处理,从中随机挑选4个密钥作为初始密钥,并将所述初始密钥固化到嵌入式CPU处理器中。
7.根据权利要求5所述的数据加密装置,其特征在于:
升级程序明文摘要,用于升级程序密文解密还原出明文后,对明文文件的校验和合法性判断,该明文摘要数据附加在加密摘要数据中发送给升级设备终端。
8.根据权利要求5所述的数据加密装置,其特征在于,所述对二进制升级程序文件进行加密处理具体包括:
步骤201,数据分组预处理;
步骤202,数据异或加密处理;
步骤203,插值数据处理;
步骤204,数据同值预处理;
步骤205,数据插值加密处理;
步骤206,数据重复加密处理,在进行最后一次插值加密处理时进行记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810721490.2A CN109104724B (zh) | 2018-06-30 | 2018-06-30 | 一种用于设备升级的数据加密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810721490.2A CN109104724B (zh) | 2018-06-30 | 2018-06-30 | 一种用于设备升级的数据加密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104724A CN109104724A (zh) | 2018-12-28 |
CN109104724B true CN109104724B (zh) | 2019-06-07 |
Family
ID=64845592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810721490.2A Active CN109104724B (zh) | 2018-06-30 | 2018-06-30 | 一种用于设备升级的数据加密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109104724B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976770B (zh) * | 2019-03-22 | 2023-02-28 | 深圳市元征科技股份有限公司 | 一种ecu刷写方法、系统及相关设备 |
CN111143856A (zh) * | 2019-12-27 | 2020-05-12 | 郑州信大捷安信息技术股份有限公司 | 一种plc远程固件升级系统及方法 |
CN111368345A (zh) * | 2020-03-09 | 2020-07-03 | 浙江众邦机电科技有限公司 | 加密程序的解密方法、装置、设备和计算机可读存储介质 |
CN111552698B (zh) * | 2020-04-21 | 2023-06-06 | 重庆富民银行股份有限公司 | 一种解决环境差异的sql版本控制系统及方法 |
CN111654466B (zh) * | 2020-04-25 | 2022-03-01 | 中山佳维电子有限公司 | 一种用于电子计价秤的数据加密方法 |
CN112114843A (zh) * | 2020-07-31 | 2020-12-22 | 深圳市有方科技股份有限公司 | 程序升级系统及方法 |
CN112153046B (zh) * | 2020-09-24 | 2023-04-07 | 施耐德电气(中国)有限公司 | 数据加密和数据解密的方法、相关设备以及存储介质 |
CN117272327B (zh) * | 2023-10-31 | 2024-05-03 | 深圳市巨诺电子有限公司 | 一种机顶盒加密升级方法及机顶盒 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436141A (zh) * | 2008-11-21 | 2009-05-20 | 深圳创维数字技术股份有限公司 | 基于数字签名的固件升级、固件封装方法与装置 |
CN102572595A (zh) * | 2012-02-03 | 2012-07-11 | 深圳市同洲电子股份有限公司 | Iptv的升级包结构、升级方法以及开机校验方法 |
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
CN104166565A (zh) * | 2014-08-11 | 2014-11-26 | 成都瑞博慧窗信息技术有限公司 | 一种智能显示终端固件升级方法 |
CN105656859A (zh) * | 2014-11-18 | 2016-06-08 | 航天信息股份有限公司 | 税控设备软件安全在线升级方法及系统 |
CN105897745A (zh) * | 2016-05-26 | 2016-08-24 | 努比亚技术有限公司 | 升级包传输服务器、系统及方法 |
-
2018
- 2018-06-30 CN CN201810721490.2A patent/CN109104724B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436141A (zh) * | 2008-11-21 | 2009-05-20 | 深圳创维数字技术股份有限公司 | 基于数字签名的固件升级、固件封装方法与装置 |
CN102572595A (zh) * | 2012-02-03 | 2012-07-11 | 深圳市同洲电子股份有限公司 | Iptv的升级包结构、升级方法以及开机校验方法 |
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
CN104166565A (zh) * | 2014-08-11 | 2014-11-26 | 成都瑞博慧窗信息技术有限公司 | 一种智能显示终端固件升级方法 |
CN105656859A (zh) * | 2014-11-18 | 2016-06-08 | 航天信息股份有限公司 | 税控设备软件安全在线升级方法及系统 |
CN105897745A (zh) * | 2016-05-26 | 2016-08-24 | 努比亚技术有限公司 | 升级包传输服务器、系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109104724A (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104724B (zh) | 一种用于设备升级的数据加密方法和装置 | |
CN109429222A (zh) | 一种对无线网络设备升级程序及通讯数据加密的方法 | |
US11615411B2 (en) | POS system with white box encryption key sharing | |
CN104704768B (zh) | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 | |
CN104468089B (zh) | 数据保护装置及其方法 | |
CA2919106C (en) | Media client device authentication using hardware root of trust | |
KR101560131B1 (ko) | 데이터를 보호할 때 적용되는 프로그램 가능한 프로세싱 단계들을 정의하기위한 시스템 및 방법 | |
US8213612B2 (en) | Secure software download | |
CN100592683C (zh) | 来自数字权利管理加密解密器的受保护的返回路径 | |
CN109040090A (zh) | 一种数据加密方法及装置 | |
CN101149768B (zh) | 一种专用处理器软件的加密和解密方法 | |
CN111404682B (zh) | 一种Android环境密钥分段处理方法及装置 | |
CN105406957B (zh) | 保护密码设备对抗实现攻击 | |
TW201141173A (en) | Verifiable, leak-resistant encryption and decryption | |
CN106341384A (zh) | 用于促进安全通信的方法 | |
CN109194467A (zh) | 一种加密数据的安全传输方法和系统 | |
CN103117850A (zh) | 一种基于随机序列数据库的密码系统 | |
JP5945525B2 (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
CN108933790A (zh) | 高安全等级的ota升级固件的加密方法 | |
CN114499825A (zh) | 一种双控密钥管理方法、系统、加密机和存储介质 | |
CN108235807B (zh) | 软件加密终端、支付终端、软件包加密及解密方法及系统 | |
CN110516457A (zh) | 一种数据存储方法及读取方法、存储设备 | |
CN102110038B (zh) | 一种安全类芯片的测试电路 | |
CN107766725B (zh) | 抗模板攻击的数据传输方法及系统 | |
CN114047947B (zh) | 一种双fpga架构电路板卡程序版本控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |