CN107908980B - 一种存储器数据加密保护的实现方法 - Google Patents
一种存储器数据加密保护的实现方法 Download PDFInfo
- Publication number
- CN107908980B CN107908980B CN201710932738.5A CN201710932738A CN107908980B CN 107908980 B CN107908980 B CN 107908980B CN 201710932738 A CN201710932738 A CN 201710932738A CN 107908980 B CN107908980 B CN 107908980B
- Authority
- CN
- China
- Prior art keywords
- data
- random
- rand
- memory
- seed
- 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
Images
Classifications
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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
Abstract
本发明公开了一种存储器数据加密保护的实现方法,该方法存储器首先需要开辟一个用户配置区,配置随机种子,并设置随机序列模块,然后将原始数据经过随机序列模块处理,使得原始数据保存到存储器的地址变成随机地址;将原始数据会经过随机序列模块处理,使得原始数据变成随机数据。本发明实现了存储器数据的高度加密保护的目的,提高用户数据的安全性,提高芯片的可靠性,同时此方案实现简单方便,面积功耗小。
Description
技术领域
本发明属于数据存储技术领域,特别涉及芯片的数据存储方法。
背景技术
在的芯片应用中,芯片存储器数据普遍都集成了客户应用程序,或者存储了用户的数据资料,这些数据可能涉及到隐私安全等问题,特别是金融,通信,社保等行业,那么存储器数据的安全性就必须要得到保证。不仅要在正常应用环境下保证数据安全,尤其在受到恶意攻击时也要保证数据的安全性,不能让破解者获取到用户隐私数据以及客户应用程序,造成信息泄漏的风险。
专利申请200910081928.6则公开了一种保证存储器存储的数据安全读取的系统及方法,包括存储器和主芯片,其中,主芯片,用于产生随机数种子,译码后,发送给存储器;采用产生的随机数种子对产生的随机数搅动后得到的伪随机数,对从存储器接收的加密后的数据明文解密,得到数据明文;存储器,用于将从主芯片接收的译码后的随机数种子解码,得到随机数种子,对产生的随机数搅动后得到伪随机数,采用伪随机数对存储的数据明文加密后,发送给主芯片。本发明提供的系统及方法提高了存储器存储的数据读取的安全性。在该申请中,存储器对即将输出的数据跟随机数逻辑运算后进行加密,然后芯片在使用相同的随机数对接收到的数据进行解密。该随机种子是通过算法产生的,仍然存在破解的可能,加密性能不是很高。
发明内容
基于此,因此本发明的首要目地是提供一种存储器数据加密保护的实现方法,该方法在输入数据之前就先进行了加密,然后会根据地址的随机,随机写到存储器中,输出数据之后再解密,用户获取数据,能够提高存储器数据安全性,避免用户数据被盗取。
本发明的另一个目地在于提供一种存储器数据加密保护的实现方法,该方法实现简单,开发周期短,可靠性高,不易被破解。
为实现上述目的,本发明的技术方案为:
一种存储器数据加密保护的实现方法,其特征在于该方法存储器首先需要开辟一个用户配置区,配置随机种子,并设置随机序列模块,然后将原始数据经过随机序列模块处理,使得原始数据保存到存储器的地址变成随机地址;将原始数据会经过随机序列模块处理,使得原始数据变成随机数据。
所述随机种子由存储器开辟的一个用户配置存储区决定,芯片上电自动加载。
进一步,随机种子在用户出厂时配置,可实现每个芯片的随机种子不一样,更加提高了芯片存储器数据的安全性。
所述随机序列模块使用m序列移位寄存器实现,m序列是由带线性反馈移位寄存器产生的周期最长的一种序列,实现比较简单。
所述原始数据可为烧写器烧录时数据、CPU写入存储器数据、外部通信所需存储数据,上述的数据都可以进行此方式进行加密操作。
进一步,所述随机种子设置为32位,加密效果更高;同时需要在芯片上电之后自动加载随机种子,然后传导到随机序列模块,作为它的种子,为后续数据随机化使用。一共三组随机种子,每组为2个随机种子,rand_addr1,rand_data1,rand_addr2,rand_data2,rand_addr3,rand_data3。
更进一步,用户的原始数据地址经过随机种子为rand_addrx(x=1,2,3)的随机序列模块,产生随机化数据地址;用户的原始数据经过随机种子为rand_datax(x=1,2,3)的随机序列模块,产生随机化数据;在数据地址和数据都进行随机化后,结合一起,把数据按照地址烧写到存储器中。
更进一步,通过烧写器烧写数据到存储器时,所以在烧写阶段,随机种子为rand_addrx,rand_datax(x=1),经过上述步骤实现存储器数据加密操作。
更进一步,在CPU读取存储器数据来运行指令时,随机种子匹配的是rand_addrx,rand_datax(x=1)。
更进一步,用户程序运行过程中产生的数据保存阶段,随机种子为rand_addrx,rand_datax(x=2)。
更进一步,外部通信数据保存阶段,随机种子为rand_addrx,rand_datax(x=3)。
本发明将用户即芯片原始数据存储的地址和原始数据进行随机处理,那么原始数据就会变成随机数据保存到存储器的随机位置,相关数据存储完全随机,地址也随机,达到高度加密的效果,外部完全单独破解不了存储器的数据,保证了存储器数据的加密性。
本发明既实现了存储器数据的高度加密保护的目的,提高用户数据的安全性,解决用户担心数据被盗问题,提高芯片的可靠性,芯片出货量得到保障,同时此方案实现简单方便,面积功耗小,大部分芯片厂商都能普及使用。
附图说明
图1是本发明所实施的流程图。
图2是本发明所实施的结构框图。
图3是本发明所实施的具体应用实例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1、图2所示,为本发明所实现的存储器数据加密保护的实现方法,图中所示。存储器首先需要开辟一个用户配置区,配置随机种子。
S101、实现随机序列模块,使用移位寄存器序列(m序列),如选择m序列本原多项式x^24+x^7+x^2+x+1。
S102、设计用户配置区的随机种子。设置随机种子为32位,加密效果更高。同时需要在芯片上电之后自动加载随机种子,然后传导到随机序列模块,作为它的种子,为后续数据随机化使用。一共三组随机种子,每组为2个随机种子,rand_addr1,rand_data1,rand_addr2,rand_data2,rand_addr3,rand_data3。
S103、用户的原始数据地址经过随机种子为rand_addrx(x=1,2,3)的随机序列模块,产生随机化数据地址。
S104、用户的原始数据经过随机种子为rand_datax(x=1,2,3)的随机序列模块,产生随机化数据。
S105、在数据地址和数据都进行随机化后,结合一起,把数据按照地址烧写到存储器中。
S106、用户程序数据一般会通过烧写器烧写数据到存储器。所以在烧写阶段,随机种子为rand_addrx,rand_datax(x=1),经过S103,S104,S105步骤实现存储器数据加密操作。
S107、用户程序运行阶段,因为CPU读取存储器数据,来运行指令时,存储器数据也会经过随机序列模块,随机种子匹配的是rand_addrx,rand_datax(x=1),那么CPU获取的数据就是用户的原始数据,保证了正常程序运行。
S108、用户程序运行过程中产生的数据保存阶段。用户程序运行过程中,会有一些关键数据,需要保存到存储器。在这一个过程中,同样经过S103,S104,S105步骤,实现存储器数据加密操作,从而再烧写到存储器中,随机种子为rand_addrx,rand_datax(x=2)。
S109、外部通信数据保存阶段。用户程序运行过程中,外部通信可能会有一些关键数据或者相关用户配置信息数据(如身份证信息等),需要保存到存储器。在这一个过程中,同样经过S103,S104,S105步骤,实现存储器数据加密操作,从而再烧写到存储器中,随机种子为rand_addrx,rand_datax(x=3)。
以上步骤实现之后,可实现存储器数据全面高度加密保护的作用。不管用户程序数据,程序运行所需保存的信息,外部通信所需保存的安全信息,都可以进行随机化处理,使得存储器数据达到高度加密保护,同时在数据读出时,也不影响原始数据的准确性。
资源问题:(1)用户配置区可设置为6个地址,地址位宽32位,配置随机种子所需。(2)随机序列模块大约1000门,一共6个随机序列模块。总的而言,资源消耗并不多,而且实现简单,可靠性高。
假如随机种子为32’haaaa5555,原始数据为16’haa55,数据地址16’h0001,那么经过随机序列,则可能会得到随机数数据16’h55aa,随机数据地址16’h0055,那么存储数据到存储器就为地址16’h0055=16’hxxxx,当存储器数据输出时,也会按照固定的随机种子得到的随机地址=16’h0055,那么数据就为16’h55aa。这样就实现了存储器存储的数据都是乱序的随机的,没有按照固定的顺序,破解者无法直接盗取存储器的数据,即使在芯片运行过程中,也无法获取相关的规律,盗取数据,达到存储器数据加密保护作用。
一个具体的应用如图3所示。
因此,本发明将用户即芯片原始数据存储的地址进行随机处理,存储的数据也会经过随机处理,那么原始数据就会变成随机数据保存到存储器的随机位置,这些随机位置是可控的,因为随机处理会有随机种子,这样当用户即芯片读取数据或者芯片CPU读取数据时,也会经过随机序列模块,使得获取的数据还是原始的数据,达到在正常工作环境下保证了存储器数据的加密性。
本发明既实现了存储器数据的高度加密保护的目的,提高用户数据的安全性,解决用户担心数据被盗问题,提高芯片的可靠性,芯片出货量得到保障,同时此方案实现简单方便,面积功耗小,大部分芯片厂商都能普及使用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种存储器数据加密保护的实现方法,其特征在于该方法存储器首先需要开辟一个用户配置区,配置随机种子,并设置随机序列模块,然后将原始数据经过随机序列模块处理,使得原始数据保存到存储器的地址变成随机地址;将原始数据会经过随机序列模块处理,使得原始数据变成随机数据;
所述随机种子设置为32位,同时需要在芯片上电之后自动加载随机种子,然后传导到随机序列模块,作为它的种子,为后续数据随机化使用;所述随机种子一共有三组,每组为2个随机种子,rand_addr1,rand_data1,rand_addr2,rand_data2,rand_addr3,rand_data3;
用户的原始数据地址经过随机种子为rand_addrx(x=1,2,3)的随机序列模块,产生随机化数据地址;用户的原始数据经过随机种子为rand_datax(x=1,2,3)的随机序列模块,产生随机化数据;在数据地址和数据都进行随机化后,结合一起,把数据按照地址烧写到存储器中。
2.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于所述随机种子在用户出厂时配置,可实现每个芯片的随机种子不一样。
3.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于所述随机序列模块使用m序列移位寄存器实现。
4.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于通过烧写器烧写数据到存储器时,烧写阶段的随机种子为rand_addrx,rand_datax(x=1),经过上述步骤实现存储器数据加密操作。
5.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于在CPU读取存储器数据来运行指令时,随机种子匹配的是rand_addrx,rand_datax(x=1)。
6.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于用户程序运行过程中产生的数据保存阶段,随机种子为rand_addrx,rand_datax(x=2)。
7.如权利要求1所述的存储器数据加密保护的实现方法,其特征在于外部通信数据保存阶段,随机种子为rand_addrx,rand_datax(x=3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710932738.5A CN107908980B (zh) | 2017-10-10 | 2017-10-10 | 一种存储器数据加密保护的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710932738.5A CN107908980B (zh) | 2017-10-10 | 2017-10-10 | 一种存储器数据加密保护的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107908980A CN107908980A (zh) | 2018-04-13 |
CN107908980B true CN107908980B (zh) | 2021-11-23 |
Family
ID=61840214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710932738.5A Active CN107908980B (zh) | 2017-10-10 | 2017-10-10 | 一种存储器数据加密保护的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908980B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556561A (zh) * | 2008-04-09 | 2009-10-14 | 盛群半导体股份有限公司 | 随机数改变地址及数据存储器保密方法 |
EP2423922A1 (en) * | 2010-08-25 | 2012-02-29 | ViXS Systems Inc. | Dram memory controller with built-in self test and methods for use therewith |
CN103246853A (zh) * | 2012-02-06 | 2013-08-14 | Arm有限公司 | 用于控制dram中的数据刷新的装置和方法 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
CN104704768A (zh) * | 2012-10-04 | 2015-06-10 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
CN105975877A (zh) * | 2016-07-01 | 2016-09-28 | 中国联合网络通信有限公司重庆市分公司 | 一种敏感文件安全存储办法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100099961A (ko) * | 2009-03-04 | 2010-09-15 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그 동작 방법 |
US9128876B2 (en) * | 2011-12-06 | 2015-09-08 | Honeywell International Inc. | Memory location specific data encryption key |
US9959216B2 (en) * | 2013-09-10 | 2018-05-01 | Sandisk Technologies Llc | Generating and using an enhanced initialization vector |
CN105391701A (zh) * | 2015-10-28 | 2016-03-09 | 济南知芯集成电路技术有限公司 | 一种数据加密方法和系统 |
CN106933751B (zh) * | 2015-12-29 | 2019-12-24 | 澜起科技股份有限公司 | 用于保护动态随机访问存储器的方法和设备 |
-
2017
- 2017-10-10 CN CN201710932738.5A patent/CN107908980B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556561A (zh) * | 2008-04-09 | 2009-10-14 | 盛群半导体股份有限公司 | 随机数改变地址及数据存储器保密方法 |
EP2423922A1 (en) * | 2010-08-25 | 2012-02-29 | ViXS Systems Inc. | Dram memory controller with built-in self test and methods for use therewith |
CN103246853A (zh) * | 2012-02-06 | 2013-08-14 | Arm有限公司 | 用于控制dram中的数据刷新的装置和方法 |
CN104704768A (zh) * | 2012-10-04 | 2015-06-10 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
CN105975877A (zh) * | 2016-07-01 | 2016-09-28 | 中国联合网络通信有限公司重庆市分公司 | 一种敏感文件安全存储办法 |
Also Published As
Publication number | Publication date |
---|---|
CN107908980A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5984625B2 (ja) | 半導体装置及び暗号鍵書き込み方法 | |
JP6267207B2 (ja) | 物理的クローン不能関数として使用されるメモリから暗号化キーを生成するためのシステム | |
JP6182132B2 (ja) | メモリスタートアップ時のノイズに基づいた乱数生成システム | |
US9483664B2 (en) | Address dependent data encryption | |
US20190384938A1 (en) | Storage apparatus and method for address scrambling | |
US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
CN102436423B (zh) | 通用片外NorFlash核心数据保护的控制器及方法 | |
KR101303278B1 (ko) | 비트스트림 보호를 위한 fpga 장치 및 그 방법 | |
US10121392B2 (en) | Masking and unmasking methods and devices | |
CN103154963A (zh) | 对地址的加扰和对需存储于存储设备中的写入数据的加密 | |
CN112989356B (zh) | 空白安全芯片烧录方法、系统、空白安全芯片及存储介质 | |
US9729319B2 (en) | Key management for on-the-fly hardware decryption within integrated circuits | |
CN102224508B (zh) | 在存储器装置中存储数据的方法及处理该数据的处理装置 | |
KR102583995B1 (ko) | 암호화 프로그램 다양화 | |
JP4119882B2 (ja) | メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ | |
CN110309083B (zh) | 一种存储器数据加扰方法 | |
CN107908980B (zh) | 一种存储器数据加密保护的实现方法 | |
CN103154967A (zh) | 修改元素的长度以形成加密密钥 | |
CN209103293U (zh) | 电子设备 | |
KR20070076848A (ko) | 카드 인증 시스템의 보안레벨을 향상시키는 장치 및 방법 | |
CN102110038B (zh) | 一种安全类芯片的测试电路 | |
JP2010092117A (ja) | データ処理装置及びデータ処理方法 | |
CN117744167A (zh) | 微控制器防抄袭方法和防抄袭的微控制器 | |
CN117411634A (zh) | 用于保护电子装置免受旁信道攻击的方法和电路 | |
Süzer et al. | A practical authentication method of FPGA designs suitable for mass production |
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 |