CN1131476C - 非挥发性储存装置内容保密方法与架构 - Google Patents
非挥发性储存装置内容保密方法与架构 Download PDFInfo
- Publication number
- CN1131476C CN1131476C CN 99127156 CN99127156A CN1131476C CN 1131476 C CN1131476 C CN 1131476C CN 99127156 CN99127156 CN 99127156 CN 99127156 A CN99127156 A CN 99127156A CN 1131476 C CN1131476 C CN 1131476C
- Authority
- CN
- China
- Prior art keywords
- address
- data
- flash memory
- memory bank
- fast flash
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明是有关一种非挥发性储存装置内容保密方法与架构,尤指一种将储存在快闪记忆体中程式进行方块化,以这些方块作为基础进行旋转,即将储存的位址捣乱,使原始位址内的资料储存在旋转后的新位址内;读取资料时,透过乱数产生器产生乱数的读取顺序,读取的资料包括了正确资料与一些多余资料,再过滤出多余的读取资料、位址旋转回复还原成原始的资料,藉由位址的捣乱将资料直接读取成为无用资料,使非法入侵者难以取、修改、变更,而对快闪记忆体提供保护者。
Description
本发明是有关一种非挥发性储存装置内容保密方法与架构,尤指一种利用信址捣乱使用资料混乱组合,使非透过还原程序的资料成为无用,藉以保护快闪记忆体内存资料不受窃取、修改变更者。
技术背景说明:
如图1所示,现有电脑的架构中微控器单元MCU(micro controller unit)为架构的主体,其外挂有记忆体(多使用快闪记忆体10(flash memory)),欲执行的程式是置存于快闪记忆体10内,而目前的加/解密保护系统均未对快闪记忆体10提供任何的保护,因此储存在快闪记忆体10内的程式内容将难以保护,熟习密码学破解技术者能轻易的读取快闪记忆体10内贮存的明文,例如储存以快闪记忆体10内的程式是检测使用者的密码、验证使用者身份的加密部分,如此系统的一切资料源将如同完全公开。或者利用软件(如SOFT IN CIRCUIT EMULATOR,SOFT ICE)破解、修改程式,使得入侵者未知密码的情况下,直接读取快闪记忆体10,即能达到入系统窃取资源的目的,使系统的安全性堪处。
再举例来说,行动电话的制作厂商通常将其自行开发的程式以DSP制作,这些程式都是关于行动电话功能、收讯能力等重要且不欲人知的资料,均享有智慧财产权的保护,但置存于快闪记忆体10时却使这些重要资料形同公开。换言之,在提供系统保护的加/解密系统中,快闪记忆体无疑地成为安全上漏洞。
为解决此项问题,目前的解决方法(如图2),即是将微控制器单元MCU与快闪记忆体10置入同一个IC20中,透过内建的资料线路存取,避免快闪记忆体内欲执行的程式被窃取、修改及破解。然而,此方法虽几乎无法被破解,但生产快闪记忆体10及微控制器单元MCU的逻辑元件分属不同的制程,将造成制程费用的大幅增加。因此亦非一理想的解决方法。
缘此,本发明主要是鉴于快闪记忆体的读取/写入时机在一般开杨或是程式载入,而此两种情况不经常发生,因此能利用少许的逻辑设计及特殊设计的软件达到对快闪记忆体的保护。
依据前述,本发明的主要目的即是提供一种非挥发性储存装置内容保密方法与架构,主要是将程式以适当大小作方块化处理,利用位址捣乱(scrambling)与乱数(random)的观念,使资料的排列随着位址变化而产生新的组合,且不经由还原方法无法重整回原始资料,藉以提供快闪记忆体保护的安全性,且无需花费大笔制程费用。
以下将对本发明的结构设计与技术原理,作一详细的说明,并参阅附呈的图式,将对本发明的特征作更进一步的了解,其中:
图示说明:
图1是现有电脑架构示意图;
图2是现有将微控制器单元与快闪记忆体置入同一个IC的结构示意图;
图3是为本发明的系统架构示意图;
图4是为图3的记忆体资料保密晶片的内部架构图;
图5是本发明资料旋转前后的示意图;
图6是本发明的写入动作步骤流程图;
图7是本发明的读取动作步骤流程图;
图8是本发明第二种实施例架构示意图;
图9为图8的资料旋转前后的示意图。图号说明:
10快闪记忆体
20IC
30记忆体资料保密晶片
31位址捣乱器
32乱数产生器
33解码器
34缓冲器
35钥匙
40晶片
41暂存器
42可程式唯读记忆体
43乱数产生器
如图3所示,本发明中,微控制器单元MCU或DSP在对于闪记忆体10读取或写入资料前,是先经过一记忆体资料保密晶片30进行资料的处理或还原。该记忆体资料保密晶片30内部架构如图4所示;包括有:
一位址捣乱器31,是将方块化的程式进行旋转,将原始4的位址捣乱出一组新位址供原始资料储存,并依新位址写入快闪记忆体10;
一乱数产生器32,是产生一组随机顺序,使快闪记忆体10内资料依此顺序被读出;
一解码器33,是将乱数顺序读取的位址资料过滤出多余的资料,并逆转程式方块获得原始的资料与位址而供微控制器单元MCU(或DSP)执行。
以下将就微控制器单元MCU对快闪记忆体10写入(write)及读出(read)两部份作为说明:
[写入程序]——可视为对资料的编码动作:
软件将欲执行的程式进行方块化(block based)处理,一般是以8×8作一方块基础,以这些方块作为基础进行旋转(rotate),即透过位址捣乱器31将储存的位址捣乱(scrambling),使原始位址内的资料储存在旋转后的新位址内。为简化说明,以下以一4×4方块作一说明。
图5左侧为一方块化的原始资料,其位址80h所储存为0011,位址81h所储存为1011,82h所储存为1100,83h所储存为1010。旋转(于本实施例是向右旋转90度,不限定旋转方向)后4×4程式方块则如图5右侧,新位址80’h所储存者转变为1110,81’h所储存转变为0100,82’h所储存者转变为1011,83’h所储存者转变为0011。对照于两4×4方块,即可发现右侧图的最右边纵向资料即为原始的80h资料,以此类推。因此很明显的相同位址内的资料质已经完全被捣乱,这些资料储存在快闪记忆体10中,非法入侵并不知资料已捣乱,其直接自快闪记忆体10所读取者,已完全不同于原始资料。
写入动作可归纳出图6的步骤流程图:
步骤a.程式方块化步骤;
步骤b.旋转方块将原始资料的位址捣乱产生新位址步骤;
步骤c.原始资料贮存在新的位址;
步骤d.依据新的位址写入快闪记忆体10。
[读取程序]——可视为对资料的解码动作
利用乱数产生器32(random number generator)随机产生一组随机顺序,将快闪记忆体10内的资料依此乱数顺序读出,并暂存于一缓冲器34(可为SRMA)内,这些被读取的资料中包含有前述写入程序中写入的资料及多余(dummy)资料,因此在资料还原时必需先将多余资料过滤出,找到所需的相关位址,透过解码器33过滤出多余的位址资料,再逆向转此方块而获得原始的资料与位址而供微控制器单元MCU或DSP利用。而由于快闪记忆体10是外挂于微控制器单元MCU或DSP,非法放侵者亦可读取这些资料,但透过乱数产生器32提供的乱数读取顺序,其读取的将是包含所需及多余资料,及无法了解的顺序排列组合,因此极难破解出读取的资料内容。
读取动作可归纳出图7的步骤流程图:
步骤a.利用乱数产生器32产生一组乱数读取顺序步骤;
步骤b.依步骤a的顺序自快闪记忆体10中读出并暂存于缓冲器34步骤;
步骤c.将缓冲器34的暂存值过滤出多余资料;
步骤d.逆旋转方块获得原始的位址及资料。
另外,在读取程序中,因每一个记忆体资料保密晶片30是使用一个单一钥匙35(key),也就是说每一个系统有它单一的位址映射(mapping)顺序,因此能够过滤出什么位址的资料是多余的,什么位址的资料是有用的。而这个钥匙35能够被储存在记忆体资料保密晶片内或是卡片(smart card)中。
[第二种实施例]
由于位址是线性增加,在这个简易变化中,非法入侵者极为容易找到其所需的程式所在位址,因此在本实施例中是利用晶片40内原始的随机码对真实的位址作随机对调,产生一组新的随机位址储存资料,作一简易的变化。如图8所示,微控制器单元MCU所载入的程式以位元组(BYTE)为单位读入晶片40,储存在晶片40内的暂存器41中,这个晶片40内亦设有一只能写入一次的可程式唯读记忆体42(PROM)或是较小容量的快闪记忆体。如前述,晶片40中要纳入快闪记忆体10是困难且花费高,但制作一个可程式唯读记忆体42却是非常容易。乱数产生器43产生的随机码是烧入可程式唯读记忆体42并架构出一转换表(图式未书),用以控制原始位址与旋转后位址的对应关系,将原始位址内资料依随机码写出,再对随机位址旋转写出入快闪记忆体10。藉由位址的打散使资料直接读取即成为无用的资料,使非法入侵者维以窃取、修改、便更资料,而对快闪记忆体10提供保护者。再者,由于是乱数产生器43随机产生,因此在实际制作的晶片40所产生的转换表均不相同,因此并不限定唯一方式去覆盖快闪记忆体10内的原始资料。
另外,原始位址亦可先进行补数运算再进行随机对调,以增加破解的困难性。
以下以一4位元位址作一说明(如图9),A3~A0为原始位址,m3~m0为随机码位址,图中所示的箭头为两者的随机对调关系。举例来说,
A3是0011,A2是0010,A1中0001。A0中0000,对原始位址作补数运算,m3=A2,m2=A0,m1=A3,m0=A1,m3即为0110,m2即为0010,m1即为0111,m0即为0011,作为储存快闪记忆体10的新位址,原始资料即因上述的运算更加难以撷取。
读取时,则透过可程式唯读记忆体42(PROM)所储存的转换表,回复为原始资料执行。
另外,由于电脑开机后即对快闪记忆体10读取第一笔资料,之后依照顺序读取,因此为增加破解的困难度,可利用一乱数产生器43在资料读取期间,于所需的资料间随机的插入不需要的资料,电脑同样对这些手稿的资料读取,形成假读取的情况,如此非法入侵者将无法获知正确的位址顺序,而无从撷取正确的资料。
综上所述,本发明所提供的非挥发性储存装置内容保密方法与架构,利用位址捣乱(scrambling)与乱数(random)的观念,使方块化处理的资料排列随着位址变化而产生新的组全,且不经同还原方法无法重整回原始资料,对于现有加/解密保护系统无法提供保护的快闪记忆体的缺失提出有效的解决办法及对策,确实已符合创作专利的申请要件,悉请钧局详加审查,并惠赐准予专利,以嘉惠民生利国利民,实感德便。
唯以上所叙述的技术、图说、程式或控制等方法,仅仅是本发明较佳实施例之一而已;举凡依本发明权利要求范围的技术所作的均等变化或修饰或撷取部分功能的雷同制作,皆应仍属本发明专利权所涵盖的范围;当不能依此限定本发明实施的范围。
Claims (6)
1、一种非挥发性储存装置内容保密方法,特别是提供快闪记忆体内存资料的保护方法,其特征在于:该方法是对微控制器单元(或DSP)在对快闪记忆体写入或读取资料前,先经过一记忆体资料保密晶片进行资料的加密或还原;
该方法具体包括写入程序和读取程序两个部分;其中,该写入程序包括:
a.程式方块化步骤:
b.旋转方块将原始资料的位址捣乱产生新位址步骤:通过位址捣乱器将以步骤a形成的方块作为基础进行旋转,从而使原始位址捣乱产生新位址;
c.原始资料贮存在新的位址;
d.依据新的位址写入快闪记忆体;
该读取程序包括有:
a.利用乱数产生器产生一组乱数读取顺序步骤;
b.依步骤a的顺序自快闪记忆体中读出资料并暂存于缓冲器步骤;
c.解码器通过记忆体资料保密晶片内具有的单一钥匙,即单一位址映射顺序,将缓冲器的暂存值过滤出多余资料;
d.逆旋转方块获得原始的位址及资料。
2、如权利要求1所述的非挥发性储存装置内容保密方法,其特征在于:其中该步骤a是以8(bit)×8(bit)为一方块作旋转基础。
3、一种非择性储存装置内容保密架构,其特征在于:主要是在微控制器单元(或DSP)与快闪记忆体间设有一记忆体资料保密晶片,用以对写入及读取快闪记忆体的资料加密,包括有:
一位址捣乱器,是将方块化的程式进行旋转,将原始的位址捣乱出一组新位址供原始资料储存,并依新位址写入快闪记忆体;
一乱数产生器,是产生一组随机顺序,使快闪记忆体现内资料依此顺序被读出;
一单一钥匙,是作单一的位址映射顺序,用以过滤出多余的资料;
一解码器,是通过单一钥匙,即单一位址映射顺序,将依乱数顺序读取的位址资料过滤出多余的资料,并逆转程式方块获得原始的资料与位址而供微控制器单元(或DSP)执行。
4、一种非挥发性储存装置内容保密方法,特别是提供快闪记忆体内存资料的保护方法,其特征在于:该记忆体资料保密晶片制作一只能写一次的可程式唯读记忆体(PROM)或是较小空间的快闪记忆体,其是将一乱数产生器产生的随机码烧入可程式唯读记忆体并架构出一转换表,该转换表反映将原始位址内资料依随机码写出、再对随机位址旋转写入快闪记忆体的过程中原始位址与旋转后位址的对应关系;其中,该方法的写入程序包括:
a.将微控制器单元(或DSP)所载入的程式读入晶片,储存在晶片内的暂存器中;
b.将暂存器中原始位址内资料依随即码写出,即利用随机码对真实的位址作随机对调,产生一组新的随机位址储存资料;
c.对随机位址进行旋转,将旋转后的新位址写入快闪记忆体;读取时,通过可程式唯读记忆体所储存的转换表,将自快闪记忆体中读出的资料回复为原始资料。
5、如权利要求4项所述的非挥发性储存装置内容保密方法,其特征在于:其中在位址随机对调前更包括有对原始位址进行补数运算的步骤。
6、如权利要求4项所述的非挥发性储存装置内容保密方法,其特征在于:其中读取时,或利用乱数产生器在所需的资料间,随机地插入不需要的资料,电脑同样对这些插入的资料读取,形成假读取的情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99127156 CN1131476C (zh) | 1999-12-28 | 1999-12-28 | 非挥发性储存装置内容保密方法与架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99127156 CN1131476C (zh) | 1999-12-28 | 1999-12-28 | 非挥发性储存装置内容保密方法与架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1302013A CN1302013A (zh) | 2001-07-04 |
CN1131476C true CN1131476C (zh) | 2003-12-17 |
Family
ID=5284753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99127156 Expired - Fee Related CN1131476C (zh) | 1999-12-28 | 1999-12-28 | 非挥发性储存装置内容保密方法与架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1131476C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI774183B (zh) * | 2021-01-08 | 2022-08-11 | 瑞昱半導體股份有限公司 | 具有位址打亂機制的記憶體存取裝置及其記憶體存取方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813627B1 (ko) * | 2007-01-04 | 2008-03-14 | 삼성전자주식회사 | 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치를제어하는 메모리 제어기와 그것을 포함한 메모리 시스템 |
US11070375B2 (en) | 2018-02-08 | 2021-07-20 | Micron Technology, Inc. | Key encryption handling |
-
1999
- 1999-12-28 CN CN 99127156 patent/CN1131476C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI774183B (zh) * | 2021-01-08 | 2022-08-11 | 瑞昱半導體股份有限公司 | 具有位址打亂機制的記憶體存取裝置及其記憶體存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1302013A (zh) | 2001-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6792528B1 (en) | Method and apparatus for securing data contents of a non-volatile memory device | |
KR101577886B1 (ko) | 무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치 | |
US7395433B2 (en) | Method and system for sustainable digital watermarking | |
US7406604B2 (en) | Method for protecting a memory card, and a memory card | |
US8539250B2 (en) | Secure, two-stage storage system | |
WO2017112282A1 (en) | Memory integrity with error detection and correction | |
US20080114981A1 (en) | Method and apparatus for authenticated data storage | |
CN1602600A (zh) | 内容处理装置与内容保护程序 | |
CN103824032A (zh) | 在微控制器中用于数据安全性处理的方法和装置 | |
EP2318934A1 (en) | Method and apparatus for enforcing a predetermined memory mapping | |
TW200947202A (en) | System and method for providing secure access to system memory | |
FR2976147A1 (fr) | Schema d'entrelacement de donnees pour une memoire externe d'un microcontroleur securise | |
CN108182371A (zh) | 一种片上系统的片外存储器地址加扰装置及方法 | |
CN1279458C (zh) | 数据加密/解密方法及其装置 | |
US20150074426A1 (en) | Generating and Using an Enhanced Initialization Vector | |
CN1131476C (zh) | 非挥发性储存装置内容保密方法与架构 | |
CN1186732C (zh) | 电脑硬盘的保护方法及保护系统 | |
CN101127013A (zh) | 加密移动存储设备及其数据存取方法 | |
Chen et al. | SoK: Plausibly deniable storage | |
JP2001265658A (ja) | 非揮発性保存装置内容秘密保持方法と非揮発性保存装置内容秘密保持構造 | |
CN108830105A (zh) | 支持三种分区的安全加密u盘 | |
TW515948B (en) | Content securing method of non-volatile storage device and architecture thereof | |
CN110443070A (zh) | 多主机共享存储系统及数据完整性保护方法 | |
CN118445263B (zh) | 基于三叉树nat数据结构的手机文件系统数据存储方法 | |
JPH0973416A (ja) | Icカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |