CN114266083A - 一种芯片内密钥的安全存储方法 - Google Patents
一种芯片内密钥的安全存储方法 Download PDFInfo
- Publication number
- CN114266083A CN114266083A CN202111596443.8A CN202111596443A CN114266083A CN 114266083 A CN114266083 A CN 114266083A CN 202111596443 A CN202111596443 A CN 202111596443A CN 114266083 A CN114266083 A CN 114266083A
- Authority
- CN
- China
- Prior art keywords
- key
- chip
- configuration
- area
- read
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000002427 irreversible effect Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出一种芯片内密钥的安全存储方法利用芯片上电之后重新bootrom引导的特性,在bootrom引导流程中获取芯片用户在闪存flash中的配置,用户根据需求设置芯片的密钥,并配置密钥在加密模块的读写权限;闪存flash中的配置可以按地址空间分为密钥配置区和密钥存储区;其中密钥配置区可以配置加密模块密钥的读保护和写保护,密钥存储区存放了芯片的密钥;芯片上电之后加密模块会从闪存flash中下载密钥以供模块内的加密算法使用;闪存flash中的密钥存储区始终是读保护的,任何时候都不能读到密钥,在确定使用的芯片密钥之后,将整个闪存flash中密钥存储区配置为写保护,同时写保护是不可逆的,密钥将会固化在闪存flash中,这样可以保证密钥不能被任何用户在后续使用中更改。
Description
技术领域
本发明涉及一种密钥存储方法,特别是一种芯片内密钥的安全存储方法。
背景技术
当前,在SoC安全芯片中,为了保护关键信息,通常会内置安全模块实现对信息的加密/解密。安全模块在使用时都会用到密钥,密钥实质上也是对安全性要求很高的数据,如何安全存储密钥是一个非常重要的问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种芯片内密钥的安全存储方法。
为了解决上述技术问题,本发明公开了一种芯片内密钥的安全存储方法,包括如下步骤:
步骤1,芯片上电复位,进入引导程序;
步骤2,引导程序对芯片进行初始化设置;
步骤3,获取芯片闪存中的配置信息;
步骤4,通过密钥配置区,对加密模块进行读写权限配置;
步骤5,通过密钥存储区,对密钥进行存储管理;
步骤6,通过加密模块对密钥进行加密。
本发明步骤1中所述芯片上电复位后,利用芯片出厂前固化在片内只读存储器ROM中的预设的引导程序对芯片进行初始化设置。
本发明步骤3中获取芯片闪存flash中的配置信息,方法如下:根据芯片闪存flash中的地址信息,先执行密钥配置区中的命令,通过密钥配置区进行配置,后执行密钥存储区中的命令,完成对密钥的存储。
本发明步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护关闭时,密钥能够直接从加密模块的寄存器读出,在芯片测试阶段对密钥进行调试;当加密模块的读保护开启时,密钥不能直接从加密模块的寄存器读出。
本发明步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护关闭时,能够将密钥存储区的密钥下载至加密模块;当加密模块的写保护开启时,无法将密钥存储区的密钥下载至加密模块。
本发明步骤5中所述密钥存储区,对密钥进行存储管理方法如下:所述密钥存储区始终为读保护状态,芯片在完成所有调试后,若在密钥存储区的最后一个字段空间写入数据标识0x12345678,则该区在引导程序初始化完成后开启写保护状态,否则该区不开启写保护状态。
本发明中所述密钥存储区开启写保护状态后,该区成为固化状态,该区内的密钥将无法更改。
本发明步骤6中所述加密模块对密钥进行加密方法如下:加密模块内嵌AES及SHA密钥加密算法,加密模块从闪存flash中下载密钥,并对密钥使用相应的加密算法,加密模块中的密钥通过闪存flash中的的密钥配置区进行可读写配置。
有益效果:
(1)密钥安全存储方法,硬件固定嵌入的程序在初始阶段可以接触初始化密钥,在需要调试密钥的阶段可以多次配置密钥;后续阶段其他用户程序和代码无法访问接触密钥,仅仅可以使用。密钥的访问和使用是脱离的,达到密钥安全保护的目的。
(2)通过使用本方案对密钥进行管控,可以保证只有芯片客户可以掌握真正的密钥,避免密钥外泄。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明流程示意图。
图2为密钥配置区对加密模块进行读写权限配置流程示意图。
具体实施方式
本发明公开了一种芯片内密钥的安全存储方法,包括如下步骤:
步骤1,芯片上电复位,进入引导程序;步骤1中所述芯片上电复位后,利用芯片出厂前固化在片内只读存储器ROM中的预设的引导程序对芯片进行初始化设置。
步骤2,引导程序对芯片进行初始化设置;
步骤3,获取芯片闪存中的配置信息;步骤3中获取芯片闪存flash中的配置信息,方法如下:根据芯片闪存flash中的地址信息,先执行密钥配置区中的命令,通过密钥配置区进行配置,后执行密钥存储区中的命令,完成对密钥的存储。
步骤4,通过密钥配置区,对加密模块进行读写权限配置;步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护关闭时,密钥能够直接从加密模块的寄存器读出,在芯片测试阶段对密钥进行调试;当加密模块的读保护开启时,密钥不能直接从加密模块的寄存器读出。步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护关闭时,能够将密钥存储区的密钥下载至加密模块;当加密模块的写保护开启时,无法将密钥存储区的密钥下载至加密模块。
步骤5,通过密钥存储区,对密钥进行存储管理;步骤5中所述密钥存储区,对密钥进行存储管理方法如下:所述密钥存储区始终为读保护状态,芯片在完成所有调试后,若在密钥存储区的最后一个字段空间写入数据标识0x12345678,则该区在引导程序初始化完成后开启写保护状态,否则该区不开启写保护状态。
步骤6,通过加密模块对密钥进行加密。步骤6中所述加密模块对密钥进行加密方法如下:加密模块内嵌AES及SHA密钥加密算法,加密模块从闪存flash中下载密钥,并对密钥使用相应的加密算法,加密模块中的密钥通过闪存flash中的的密钥配置区进行可读写配置。
本发明中所述密钥存储区开启写保护状态后,该区成为固化状态,该区内的密钥将无法更改。
实施例
本实施例实现的芯片内密钥的安全存储使用方法主要是通过Bootrom,芯片复位执行第一个代码,它可以决定从哪里加载要执行的代码的下一部分以及如何或是否验证其正确性或有效性。执行完引导程序后获取芯片客户在flash的配置,在芯片复位之后实现密钥的安全存储功能。
芯片上电:芯片上电复位,进入引导程序。
引导程序:芯片出厂前固化在片内ROM的程序,会对芯片进行初始化设置。
获取flash配置:根据flash的地址,先执行密钥配置区的代码,后执行密钥存储区代码。
密钥配置区:实现加密模块的读写权限配置。当读保护关闭时,密钥可以直接从加密模块的寄存器读出,方便在芯片测试阶段进行调试;当读保护开启时,加密模块的密钥相关寄存器将不可读。当写保护关闭时,可以将下一步密钥区的密钥下载至加密模块;当写保护开启时,密钥的下载将失败。
密钥存储区:始终是读保护的,芯片在完成所有测试后,在密钥存储区的最后一个word写入0x12345678后,该区会在引导程序初始化完成后开启写保护,否则该区不会开启写保护;开启写保护之后,密钥存储区将固化,区内的密钥将不能再进行更改。
加密模块:内嵌了AES,SHA等常用算法,模块从flash下载密钥,用户通过密钥使用加密模块的加密算法。模块密钥可以通过flash的密钥配置区,配置为不可读写,有效保护了密钥的安全性。
本发明提供了一种芯片内密钥的安全存储方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (10)
1.一种芯片内密钥的安全存储方法,其特征在于,包括如下步骤:
步骤1,芯片上电复位,进入引导程序;
步骤2,引导程序对芯片进行初始化设置;
步骤3,获取芯片闪存中的配置信息;
步骤4,通过密钥配置区,对加密模块进行读写权限配置;
步骤5,通过密钥存储区,对密钥进行存储管理;
步骤6,通过加密模块对密钥进行加密。
2.根据权利要求1所述的一种芯片内密钥的安全存储方法,其特征在于,步骤1中所述芯片上电复位后,利用芯片出厂前固化在片内只读存储器ROM中的预设的引导程序对芯片进行初始化设置。
3.根据权利要求2所述的一种芯片内密钥的安全存储方法,其特征在于,步骤3中获取芯片闪存flash中的配置信息,方法如下:根据芯片闪存flash中的地址信息,先执行密钥配置区中的命令,通过密钥配置区进行配置,后执行密钥存储区中的命令,完成对密钥的存储。
4.根据权利要求3所述的一种芯片内密钥的安全存储方法,其特征在于,步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护关闭时,密钥能够直接从加密模块的寄存器读出,在芯片测试阶段对密钥进行调试。
5.根据权利要求4所述的一种芯片内密钥的安全存储方法,其特征在于,步骤4中通过密钥配置区实现加密模块的读权限配置,当加密模块的读保护开启时,密钥不能直接从加密模块的寄存器读出。
6.根据权利要求5所述的一种芯片内密钥的安全存储方法,其特征在于,步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护关闭时,能够将密钥存储区的密钥下载至加密模块。
7.根据权利要求6所述的一种芯片内密钥的安全存储方法,其特征在于,步骤4中通过密钥配置区实现加密模块的写权限配置,当加密模块的写保护开启时,无法将密钥存储区的密钥下载至加密模块。
8.根据权利要求7所述的一种芯片内密钥的安全存储方法,其特征在于,步骤5中所述密钥存储区,对密钥进行存储管理方法如下:所述密钥存储区始终为读保护状态,芯片在完成所有调试后,若在密钥存储区的最后一个字段空间写入数据标识0x12345678,则该区在引导程序初始化完成后开启写保护状态,否则该区不开启写保护状态。
9.根据权利要求8所述的一种芯片内密钥的安全存储方法,其特征在于,所述密钥存储区开启写保护状态后,该区成为固化状态,该区内的密钥将无法更改。
10.根据权利要求9所述的一种芯片内密钥的安全存储方法,其特征在于,步骤6中所述加密模块对密钥进行加密方法如下:加密模块内嵌AES及SHA密钥加密算法,加密模块从闪存flash中下载密钥,并对密钥使用相应的加密算法,加密模块中的密钥通过闪存flash中的的密钥配置区进行可读写配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596443.8A CN114266083A (zh) | 2021-12-24 | 2021-12-24 | 一种芯片内密钥的安全存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596443.8A CN114266083A (zh) | 2021-12-24 | 2021-12-24 | 一种芯片内密钥的安全存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266083A true CN114266083A (zh) | 2022-04-01 |
Family
ID=80829596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596443.8A Pending CN114266083A (zh) | 2021-12-24 | 2021-12-24 | 一种芯片内密钥的安全存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266083A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817935A (zh) * | 2022-05-26 | 2022-07-29 | 无锡华大国奇科技有限公司 | 一种芯片安全启动方法 |
CN115544587A (zh) * | 2022-12-02 | 2022-12-30 | 奉加微电子(昆山)有限公司 | 加密方法、解密方法、芯片和计算机可读存储介质 |
CN116126753A (zh) * | 2022-12-28 | 2023-05-16 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140238A1 (en) * | 2002-01-22 | 2003-07-24 | Texas Instruments Incorporated | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory |
US20090204803A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Handling of secure storage key in always on domain |
CN103077056A (zh) * | 2012-12-31 | 2013-05-01 | 中国电子科技集团公司第十五研究所 | 使用少量ROM资源的Bootlorder实现方法 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN111095213A (zh) * | 2018-08-23 | 2020-05-01 | 深圳市汇顶科技股份有限公司 | 嵌入式程序的安全引导方法、装置、设备及存储介质 |
CN112702327A (zh) * | 2020-12-21 | 2021-04-23 | 北京中电华大电子设计有限责任公司 | 一种主控芯片的安全服务设计方法 |
-
2021
- 2021-12-24 CN CN202111596443.8A patent/CN114266083A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030140238A1 (en) * | 2002-01-22 | 2003-07-24 | Texas Instruments Incorporated | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory |
US20090204803A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Handling of secure storage key in always on domain |
CN103077056A (zh) * | 2012-12-31 | 2013-05-01 | 中国电子科技集团公司第十五研究所 | 使用少量ROM资源的Bootlorder实现方法 |
CN104573528A (zh) * | 2014-12-31 | 2015-04-29 | 湖南国科微电子有限公司 | 一种防拷贝Soc启动方法及芯片 |
CN111095213A (zh) * | 2018-08-23 | 2020-05-01 | 深圳市汇顶科技股份有限公司 | 嵌入式程序的安全引导方法、装置、设备及存储介质 |
CN112702327A (zh) * | 2020-12-21 | 2021-04-23 | 北京中电华大电子设计有限责任公司 | 一种主控芯片的安全服务设计方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817935A (zh) * | 2022-05-26 | 2022-07-29 | 无锡华大国奇科技有限公司 | 一种芯片安全启动方法 |
CN115544587A (zh) * | 2022-12-02 | 2022-12-30 | 奉加微电子(昆山)有限公司 | 加密方法、解密方法、芯片和计算机可读存储介质 |
CN116126753A (zh) * | 2022-12-28 | 2023-05-16 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
CN116126753B (zh) * | 2022-12-28 | 2024-02-02 | 江苏都万电子科技有限公司 | 一种防护存储器及存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108269605B (zh) | 安全器件状态设备和方法 | |
CN111095213B (zh) | 嵌入式程序的安全引导方法、装置、设备及存储介质 | |
CN114266083A (zh) | 一种芯片内密钥的安全存储方法 | |
JP6902584B2 (ja) | ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム | |
US8572410B1 (en) | Virtualized protected storage | |
US7975151B2 (en) | Decryption key table access control on ASIC or ASSP | |
US7237121B2 (en) | Secure bootloader for securing digital devices | |
US20080148001A1 (en) | Virtual Secure On-Chip One Time Programming | |
EP1273996B1 (en) | Secure bootloader for securing digital devices | |
US11003781B2 (en) | Root key processing method and associated device | |
JP3881942B2 (ja) | 暗号化部を有する半導体装置 | |
AU2013270195B2 (en) | Mobile terminal detection method and mobile terminal | |
KR101303278B1 (ko) | 비트스트림 보호를 위한 fpga 장치 및 그 방법 | |
JP2014089640A (ja) | 半導体装置及び暗号鍵書き込み方法 | |
US9653004B2 (en) | Systems and methods for downloading code and data into a secure non-volatile memory | |
US9164927B2 (en) | Integrated circuit and memory data protection apparatus and methods thereof | |
US6101605A (en) | Method and apparatus for performing a secure operation | |
US9805186B2 (en) | Hardware protection for encrypted strings and protection of security parameters | |
CN111199023A (zh) | 一种mcu程序的密钥系统及解密方法 | |
US10880082B2 (en) | Rekeying keys for encrypted data in nonvolatile memories | |
CN111357003A (zh) | 预操作系统环境中的数据保护 | |
CN117094016B (zh) | 基于国密Linux内核文件系统数据的加密方法及装置 | |
JP4580024B2 (ja) | コンテンツ再生方法 | |
CN102103551A (zh) | 一种存储设备数据的加解密方法、系统及虚拟机监控器 | |
JP2014222546A (ja) | 自動車 |
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 |