CN107908980B - 一种存储器数据加密保护的实现方法 - Google Patents

一种存储器数据加密保护的实现方法 Download PDF

Info

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
Application number
CN201710932738.5A
Other languages
English (en)
Other versions
CN107908980A (zh
Inventor
彭永林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chipsea Technologies Shenzhen Co Ltd
Original Assignee
Chipsea Technologies Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chipsea Technologies Shenzhen Co Ltd filed Critical Chipsea Technologies Shenzhen Co Ltd
Priority to CN201710932738.5A priority Critical patent/CN107908980B/zh
Publication of CN107908980A publication Critical patent/CN107908980A/zh
Application granted granted Critical
Publication of CN107908980B publication Critical patent/CN107908980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing 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)。
CN201710932738.5A 2017-10-10 2017-10-10 一种存储器数据加密保护的实现方法 Active CN107908980B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 澜起科技股份有限公司 用于保护动态随机访问存储器的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
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