一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种芯片内密钥的安全存储方法与流程

2022-04-02 06:52:19 来源:中国专利 TAG:


1.本发明涉及一种密钥存储方法,特别是一种芯片内密钥的安全存储方法。


背景技术:

2.当前,在soc安全芯片中,为了保护关键信息,通常会内置安全模块实现对信息的加密/解密。安全模块在使用时都会用到密钥,密钥实质上也是对安全性要求很高的数据,如何安全存储密钥是一个非常重要的问题。


技术实现要素:

3.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种芯片内密钥的安全存储方法。
4.为了解决上述技术问题,本发明公开了一种芯片内密钥的安全存储方法,包括如下步骤:
5.步骤1,芯片上电复位,进入引导程序;
6.步骤2,引导程序对芯片进行初始化设置;
7.步骤3,获取芯片闪存中的配置信息;
8.步骤4,通过密钥配置区,对加密模块进行读写权限配置;
9.步骤5,通过密钥存储区,对密钥进行存储管理;
10.步骤6,通过加密模块对密钥进行加密。
11.本发明步骤1中所述芯片上电复位后,利用芯片出厂前固化在片内只读存储器rom中的预设的引导程序对芯片进行初始化设置。
12.本发明步骤3中获取芯片闪存flash中的配置信息,方法如下:根据芯片闪存flash中的地址信息,先执行密钥配置区中的命令,通过密钥配置区进行配置,后执行密钥存储区中的命令,完成对密钥的存储。
13.本发明步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护关闭时,密钥能够直接从加密模块的寄存器读出,在芯片测试阶段对密钥进行调试;当加密模块的读保护开启时,密钥不能直接从加密模块的寄存器读出。
14.本发明步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护关闭时,能够将密钥存储区的密钥下载至加密模块;当加密模块的写保护开启时,无法将密钥存储区的密钥下载至加密模块。
15.本发明步骤5中所述密钥存储区,对密钥进行存储管理方法如下:所述密钥存储区始终为读保护状态,芯片在完成所有调试后,若在密钥存储区的最后一个字段空间写入数据标识0x12345678,则该区在引导程序初始化完成后开启写保护状态,否则该区不开启写保护状态。
16.本发明中所述密钥存储区开启写保护状态后,该区成为固化状态,该区内的密钥将无法更改。
17.本发明步骤6中所述加密模块对密钥进行加密方法如下:加密模块内嵌aes及sha密钥加密算法,加密模块从闪存flash中下载密钥,并对密钥使用相应的加密算法,加密模块中的密钥通过闪存flash中的的密钥配置区进行可读写配置。
18.有益效果:
19.(1)密钥安全存储方法,硬件固定嵌入的程序在初始阶段可以接触初始化密钥,在需要调试密钥的阶段可以多次配置密钥;后续阶段其他用户程序和代码无法访问接触密钥,仅仅可以使用。密钥的访问和使用是脱离的,达到密钥安全保护的目的。
20.(2)通过使用本方案对密钥进行管控,可以保证只有芯片客户可以掌握真正的密钥,避免密钥外泄。
附图说明
21.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
22.图1为本发明流程示意图。
23.图2为密钥配置区对加密模块进行读写权限配置流程示意图。
具体实施方式
24.本发明公开了一种芯片内密钥的安全存储方法,包括如下步骤:
25.步骤1,芯片上电复位,进入引导程序;步骤1中所述芯片上电复位后,利用芯片出厂前固化在片内只读存储器rom中的预设的引导程序对芯片进行初始化设置。
26.步骤2,引导程序对芯片进行初始化设置;
27.步骤3,获取芯片闪存中的配置信息;步骤3中获取芯片闪存flash中的配置信息,方法如下:根据芯片闪存flash中的地址信息,先执行密钥配置区中的命令,通过密钥配置区进行配置,后执行密钥存储区中的命令,完成对密钥的存储。
28.步骤4,通过密钥配置区,对加密模块进行读写权限配置;步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护关闭时,密钥能够直接从加密模块的寄存器读出,在芯片测试阶段对密钥进行调试;当加密模块的读保护开启时,密钥不能直接从加密模块的寄存器读出。步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护关闭时,能够将密钥存储区的密钥下载至加密模块;当加密模块的写保护开启时,无法将密钥存储区的密钥下载至加密模块。
29.步骤5,通过密钥存储区,对密钥进行存储管理;步骤5中所述密钥存储区,对密钥进行存储管理方法如下:所述密钥存储区始终为读保护状态,芯片在完成所有调试后,若在密钥存储区的最后一个字段空间写入数据标识0x12345678,则该区在引导程序初始化完成后开启写保护状态,否则该区不开启写保护状态。
30.步骤6,通过加密模块对密钥进行加密。步骤6中所述加密模块对密钥进行加密方法如下:加密模块内嵌aes及sha密钥加密算法,加密模块从闪存flash中下载密钥,并对密钥使用相应的加密算法,加密模块中的密钥通过闪存flash中的的密钥配置区进行可读写配置。
31.本发明中所述密钥存储区开启写保护状态后,该区成为固化状态,该区内的密钥
将无法更改。
32.实施例
33.本实施例实现的芯片内密钥的安全存储使用方法主要是通过bootrom,芯片复位执行第一个代码,它可以决定从哪里加载要执行的代码的下一部分以及如何或是否验证其正确性或有效性。执行完引导程序后获取芯片客户在flash的配置,在芯片复位之后实现密钥的安全存储功能。
34.芯片上电:芯片上电复位,进入引导程序。
35.引导程序:芯片出厂前固化在片内rom的程序,会对芯片进行初始化设置。
36.获取flash配置:根据flash的地址,先执行密钥配置区的代码,后执行密钥存储区代码。
37.密钥配置区:实现加密模块的读写权限配置。当读保护关闭时,密钥可以直接从加密模块的寄存器读出,方便在芯片测试阶段进行调试;当读保护开启时,加密模块的密钥相关寄存器将不可读。当写保护关闭时,可以将下一步密钥区的密钥下载至加密模块;当写保护开启时,密钥的下载将失败。
38.密钥存储区:始终是读保护的,芯片在完成所有测试后,在密钥存储区的最后一个word写入0x12345678后,该区会在引导程序初始化完成后开启写保护,否则该区不会开启写保护;开启写保护之后,密钥存储区将固化,区内的密钥将不能再进行更改。
39.加密模块:内嵌了aes,sha等常用算法,模块从flash下载密钥,用户通过密钥使用加密模块的加密算法。模块密钥可以通过flash的密钥配置区,配置为不可读写,有效保护了密钥的安全性。
40.本发明提供了一种芯片内密钥的安全存储方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献