基于离散分布式芯片唯一序列号的FLASH加密方法和装置制造方法及图纸

技术编号:38407733 阅读:15 留言:0更新日期:2023-08-07 11:15
本发明专利技术属于嵌入式闪存安全加密技术领域,提供基于离散分布式芯片唯一序列号的FLASH加密方法和装置,其方法包括:将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文;配备每段芯片唯一序列号密文的半字的起始虚拟地址,并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定;将多段芯片唯一序列号密文及绑定的起始虚拟地址编程到FLASH的多个页区,并离散分布到各自页区的随机地址,以完成所述内置芯片唯一序列号的加密。对芯片唯一序列号进行分段加密并随机离散分布于FLASH各个页区,提高了芯片唯一序列号的安全性。芯片唯一序列号的安全性。芯片唯一序列号的安全性。

【技术实现步骤摘要】
基于离散分布式芯片唯一序列号的FLASH加密方法和装置


[0001]本专利技术涉及嵌入式闪存安全加密
,特别是涉及一种基于离散分布式芯片唯一序列号的FLASH加密方法和装置。

技术介绍

[0002]FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因此适合用于做程序存储器。同样FLASH是MCU运行的重要存储电路,在程序编译完成后,可通过FLM或Debug等方式将程序下载到MCU的FLASH存储器中。同时,第三方可以通过外部调试接口或其他物理方法读取FLASH中程序数据。若需要对MCU程序进行加密操作,则需要采用一些常规的加密方式,如增加外部加密芯片、程序校验芯片的唯一ID、编程特定配置字等方式。完成简单常规的单闸校验,来判别是否有破解入侵行为。
[0003]在多个现有常规的FLASH加密方法中。选择唯一芯片唯一序列号加密法,仅将芯片唯一序列号独立存储在特定地址,进行匹配校验,软件算法过单一,易被破解;选择硬件物理加密法,可以在下载完成后,故意烧坏数据总线或则劈坏芯片的加密锁定位诸多方式,同时也会带来一定的损坏风险;选择加密芯片外置加密法,尽管一定程度上能够提高安全等级,但也带来了额外成本。以上加密方法并不能很好地满足独立MCU的各种加密需求。
[0004]因此,现有的常规FLASH加密方法还有待改进和提高安全性。

技术实现思路

[0005]本专利技术的目的是提供一种基于离散分布式芯片唯一序列号的FLASH加密方法,能够解决上述问题。
[0006]本专利技术提供的技术方案如下:在一些实施方式中,本专利技术提供一种基于离散分布式芯片唯一序列号的FLASH加密方法,包括:将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文;配备每段芯片唯一序列号密文的半字的起始虚拟地址,并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定;将多段芯片唯一序列号密文及绑定的起始虚拟地址编程到FLASH的多个页区,并离散分布到各自页区的随机地址,以完成所述内置芯片唯一序列号的加密。
[0007]在一些实施方式中,所述将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文,包括:从所述MCU的三个芯片唯一序列号寄存器中,分别提取32位芯片唯一序列号;对每个所述32位芯片唯一序列号进行分段,以得到每个所述32位芯片唯一序列号对应的两段16位的半字芯片唯一序列号数据。
[0008]在一些实施方式中,所述配备每段芯片唯一序列号密文的半字的起始虚拟地址,
并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定,包括:为每段16位的半字芯片唯一序列号数据配备一个起始虚拟地址,并将所述16位的半字芯片唯一序列号数据和所述起始虚拟地址进行绑定。
[0009]在一些实施方式中,在所述将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文之前,还包括:通过编程下载FLASH中的内置芯片唯一序列号;所述内置芯片唯一序列号包括预先写入到FLM代码中芯片唯一序列号;或;通过仿真器访问MCU的芯片唯一序列号寄存器,以读取所述芯片唯一序列号寄存器中的内置芯片唯一序列号。
[0010]在一些实施方式中,还包括:当所述FLASH开始启动后,通过查询起始虚拟地址以寻找被离散分布的芯片唯一序列号密文;对每段所述芯片唯一序列号密文进行拼接、解析,以得到对应的芯片唯一序列号;对所述芯片唯一序列号进行检验,校验成功则允许跳转主入口,校验失败则执行自销毁操作。
[0011]在一些实施方式中,本专利技术还提供一种基于离散分布式芯片唯一序列号的FLASH加密装置,包括:分段模块,用于将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文;绑定模块,用于配备每段芯片唯一序列号密文的半字的起始虚拟地址,并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定;离散模块,用于将多段芯片唯一序列号密文及绑定的起始虚拟地址编程到FLASH的多个页区,并离散分布到各自页区的随机地址,以完成所述内置芯片唯一序列号的加密。
[0012]在一些实施方式中,所述分段模块,用于:从所述MCU的三个芯片唯一序列号寄存器中,分别提取32位芯片唯一序列号;对每个所述32位芯片唯一序列号进行分段,以得到每个所述32位芯片唯一序列号对应的两段16位的半字芯片唯一序列号数据。
[0013]在一些实施方式中,所述绑定模块,用于:为每段16位的半字芯片唯一序列号数据配备一个起始虚拟地址,并将所述16位的半字芯片唯一序列号数据和所述起始虚拟地址进行绑定。
[0014]在一些实施方式中,还包括获取模块,用于:通过编程下载FLASH中的内置芯片唯一序列号;所述内置芯片唯一序列号包括预先写入到FLM代码中芯片唯一序列号;或;通过仿真器访问MCU的芯片唯一序列号寄存器,以读取所述芯片唯一序列号寄存器中的内置芯片唯一序列号。
[0015]在一些实施方式中,还包括校验模块,用于:当所述FLASH开始启动后,通过查询起始虚拟地址以寻找被离散分布的芯片唯一序列号密文;对每段所述芯片唯一序列号密文进行拼接、解析,以得到对应的芯片唯一序列号;对所述芯片唯一序列号进行检验,校验成功则允许跳转主入口,校验失败则执行
自销毁操作。
[0016]本专利技术提供的一种基于离散分布式芯片唯一序列号的FLASH加密方法和装置至少具有以下有益效果:通过对芯片唯一序列号进行分段加密并随机离散分布于FLASH的各个页区中,以完成芯片唯一序列号的加密,能够满足独立MCU的各种加密需求,提高了MCU的芯片唯一序列号的安全性。
附图说明
[0017]下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于离散分布式芯片唯一序列号的FLASH加密方法的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0018]图1是本专利技术中一种基于离散分布式芯片唯一序列号的FLASH加密方法第一个实施例的示意图;图2是本专利技术FLASH地址数据空间分布图;图3是本专利技术单页FLASH变量元素组合图;图4是本专利技术单页FLASH编程过程中查找非代码区的FLASH页的示意图;图5是本专利技术单页FLASH编程过程中写入页头标志的示意图;图6是本专利技术单页FLASH编程过程中写入密文组的示意图;图7是本专利技术单页FLASH编程过程中填充当前FLASH页剩余空间的示意图。
具体实施方式
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0020]为使图面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于离散分布式芯片唯一序列号的FLASH加密方法,其特征在于,包括:将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文;配备每段芯片唯一序列号密文的半字的起始虚拟地址,并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定;将多段芯片唯一序列号密文及绑定的起始虚拟地址编程到FLASH的多个页区,并离散分布到各自页区的随机地址,以完成所述内置芯片唯一序列号的加密。2.根据权利要求1所述的基于离散分布式芯片唯一序列号的FLASH加密方法,其特征在于,所述将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文,包括:从所述MCU的三个芯片唯一序列号寄存器中,分别提取32位芯片唯一序列号;对每个所述32位芯片唯一序列号进行分段,以得到每个所述32位芯片唯一序列号对应的两段16位的半字芯片唯一序列号数据。3.根据权利要求2所述的基于离散分布式芯片唯一序列号的FLASH加密方法,其特征在于,所述配备每段芯片唯一序列号密文的半字的起始虚拟地址,并将每段芯片唯一序列号密文的起始虚拟地址与每段芯片唯一序列号密文一一对应绑定,包括:为每段16位的半字芯片唯一序列号数据配备一个起始虚拟地址,并将所述16位的半字芯片唯一序列号数据和所述起始虚拟地址进行绑定。4.根据权利要求1所述的基于离散分布式芯片唯一序列号的FLASH加密方法,其特征在于,在所述将MCU的内置芯片唯一序列号进行分段,并通过数据加密将分段后的内置芯片唯一序列号形成多段芯片唯一序列号密文之前,还包括:通过编程下载FLASH中的内置芯片唯一序列号;所述内置芯片唯一序列号包括预先写入到FLM代码中芯片唯一序列号;或;通过仿真器访问MCU的芯片唯一序列号寄存器,以读取所述芯片唯一序列号寄存器中的内置芯片唯一序列号。5.根据权利要求1~4中任一项所述的基于离散分布式芯片唯一序列号的FLASH加密方法,其特征在于,还包括:当所述FLASH开始启动后,通过查询起始虚拟地址以寻找被离散分布的芯片唯一序列号密文;对每段所述芯片唯一序列号密文进行拼接、...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:灵动集成电路南京有限公司
类型:发明
国别省市:

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

1