一种嵌入式固件保护的方法和装置的制造方法_2

文档序号:9810967阅读:来源:国知局
设备SN序列号按照一定的规则使用安全算法2进行加密分散得到分散密钥;
[0035]2、以分散密钥作为安全算法I的加密密钥,对嵌入式固件做分组加密运算,得到分组的加密嵌入式固件,分组的加密嵌入式固件组合在一起得到加密的嵌入式固件。
[0036]嵌入式固件加密完成后即可将加密的嵌入式固件烧写到嵌入式固件应用设备的Flash存储器中。
[0037]如图5所示,当嵌入式固件需要加载运行时,首先需要使用嵌入式固件应用设备上的硬件安全算法集成电路将存储在Flash中加密的嵌入式固件进行解密,并将解密后的嵌入式固件存放到相应的RAM存储器中运行。嵌入式固件应用设备的硬件安全算法集成电路包括与加密机硬件安全算法集成电路相同的三部分:根密钥,安全算法I,安全算法2。加密的嵌入式固件解密的过程如下所述:
[0038]1、对嵌入式固件应用设备SN序列号按照与加密过程相同的规则使用安全算法2进行加密分散得到分散密钥;
[0039]2、以分散密钥作为安全算法I的解密密钥,对嵌入式固件做分组解密运算,得到分组的嵌入式固件,分组的加密嵌入式固件组合在一起得到统一的嵌入式固件。
[0040]将解密的嵌入式固件加载到RAM中,嵌入式固件即可运行。
[0041 ]针对于图6的映像结构,嵌入式固件加密只能对固件映像文件中的RW段进行加密。对嵌入式固件加密需要在集成有专用硬件安全算法集成电路的加密机上进行。如图7所示,硬件安全算法集成电路包括具有三部分:根密钥,安全算法I,安全算法2。嵌入式固件在加密机中加密的过程如下所述:
[0042]1、对嵌入式固件应用设备SN序列号按照一定的规则使用安全算法2进行加密分散得到分散密钥;
[0043]2、以分散密钥作为安全算法I的加密密钥,对嵌入式固件映像中RW段做分组加密运算,得到分组的加密嵌入式固件映像中RW段,分组的加密嵌入式固件映像中RW段组合在一起得到加密的嵌入式固件。
[0044]嵌入式固件加密完成后即可将加密的嵌入式固件烧写到嵌入式固件应用设备的Flash存储器中。
[0045]如图8所示,当嵌入式固件需要加载运行时,首先需要使用嵌入式固件应用设备上的硬件安全算法集成电路将存储在Flash中加密的嵌入式固件进行解密,并将解密后的嵌入式固件存放到相应的RAM存储器中运行。嵌入式固件应用设备的硬件安全算法集成电路包括与加密机硬件安全算法集成电路相同的三部分:根密钥,安全算法I,安全算法2。加密的嵌入式固件解密的过程如下所述:
[0046]1、对嵌入式固件应用设备SN序列号按照与加密过程相同的规则使用安全算法2进行加密分散得到分散密钥;
[0047]2、以分散密钥作为安全算法I的解密密钥,对Flash中加密的嵌入式固件RW段做分组解密运算,得到分组的嵌入式固件RW段,分组的加密嵌入式固件RW段组合在一起得到的嵌入式固件RW段。
[0048]将解密的嵌入式固件RW段加载到RAM中,嵌入式固件即可运行。
[0049]综上所述,本发明实施例使用集成有专用硬件安全算法集成电路的加密机对编译好的嵌入式固件代码进行加密,然后将加密后的嵌入式固件代码烧写到相应硬件设备(称之为嵌入式固件应用设备)的Flash非易失存储器上,该嵌入式固件应用设备上也集成有同样功能的硬件安全算法集成电路。同时嵌入式固件应用设备还集成有RAM存储器,嵌入式固件代码需要全部或者部分运行在RAM存储器中。嵌入式固件代码运行之前,使用嵌入式固件应用设备上的硬件安全算法集成电路对Falsh中加密的嵌入式固件代码进行解密,并将解密后的嵌入式固件代码放置到其运行存储器RAM中,从而实现了对嵌入式固件代码保护的功能。本发明可以有效地对嵌入式固件应用设备进行保护,避免被其他厂商山寨、克隆或复制。
[0050]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1.一种嵌入式固件保护的方法,其特征在于,所述方法包括: 通过嵌入式固件加密机上的硬件安全算法集成电路对嵌入式固件进行加密,并将加密的嵌入式固件存储在嵌入式固件应用设备Flash存储器中; 在嵌入式固件运行之前,由嵌入式固件应用设备上的硬件安全算法集成电路对Flash存储器中加密的嵌入式固件部分进行解密,获得解密的嵌入式固件。2.根据权利要求1所述嵌入式固件保护的方法,其特征在于,所述嵌入式固件加密机和嵌入式固件应用设备的安全算法集成电路具备有两种安全算法,安全算法I用于嵌入式固件加解密密钥的生成,安全算法2用于嵌入式固件加解密;安全算法I的密钥为根密钥,安全算法2的密钥为分散密钥。3.根据权利要求1所述嵌入式固件保护的方法,其特征在于,所述对嵌入式固件进行加密,是只对嵌入式固件运行在RAM空间的部分代码进行加密,对于运行在Flash空间的代码部分不进行加密。4.根据权利要求1所述嵌入式固件保护的方法,其特征在于,所述方法还包括: 嵌入式固件加密机和嵌入式固件应用设备的安全算法集成电路上只发行根密钥,不发行嵌入式固件代码进行加密和解密的分散密钥,嵌入式固件代码进行加密和解密的分散密钥由安全算法I使用根密钥对嵌入式固件应用设备的SN序列号进行加密分散得到。5.根据权利要求1所述嵌入式固件保护的方法,其特征在于,所述嵌入式固件代码加密机和嵌入式固件应用设备上集成的硬件安全算法集成电路的根密钥具有只可写不可读的特性。6.—种嵌入式固件加密机,其特征在于,内设硬件安全算法集成电路,所述硬件安全算法集成电路用于对嵌入式固件进行加密,获得加密的嵌入式固件;所述嵌入式固件加密机将加密的嵌入式固件存储在嵌入式固件应用设备Flash存储器中。7.根据权利要求6所述嵌入式固件加密机,其特征在于,所述嵌入式固件加密机的安全算法集成电路具备有两种安全算法,安全算法I用于嵌入式固件加解密密钥的生成,安全算法2用于嵌入式固件加解密;安全算法I的密钥为根密钥,安全算法2的密钥为分散密钥。8.根据权利要求6所述嵌入式固件加密机,其特征在于,所述对嵌入式固件进行加密,是只对嵌入式固件运行在RAM空间的部分代码进行加密,对于运行在Flash空间的代码部分不进行加密。9.一种嵌入式固件应用设备,其特征在于,内设硬件安全算法集成电路,所述硬件安全算法集成电路用于在嵌入式固件运行之前,对Flash存储器中加密的嵌入式固件进行解密,获得解密的嵌入式固件。10.根据权利要求9所述嵌入式固件应用设备,其特征在于,所述嵌入式固件应用设备的安全算法集成电路具备有两种安全算法,安全算法I用于嵌入式固件加解密密钥的生成,安全算法2用于嵌入式固件加解密;安全算法I的密钥为根密钥,安全算法2的密钥为分散密钥。11.根据权利要求10所述嵌入式固件应用设备,其特征在于,所述对Flash存储器中加密的嵌入式固件进行解密,是使用安全算法2对Falsh中加密的嵌入式固件中运行在RAM中的代码进行解密并加载到相应的RAM地址中。
【专利摘要】本发明公开了一种嵌入式固件保护的方法和装置,方法包括:通过嵌入式固件加密机上的硬件安全算法集成电路对嵌入式固件进行加密,并将加密的嵌入式固件存储在嵌入式固件应用设备Flash存储器中;在嵌入式固件运行之前,由嵌入式固件应用设备上的硬件安全算法集成电路对Flash存储器中加密的嵌入式固件部分进行解密,获得解密的嵌入式固件。
【IPC分类】G06F21/76
【公开号】CN105574441
【申请号】CN201510753094
【发明人】边海波
【申请人】北京中电华大电子设计有限责任公司
【公开日】2016年5月11日
【申请日】2015年11月9日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1