CN105426786A - 基于赛道存储器的数据加解密方法及系统 - Google Patents

基于赛道存储器的数据加解密方法及系统 Download PDF

Info

Publication number
CN105426786A
CN105426786A CN201510767343.5A CN201510767343A CN105426786A CN 105426786 A CN105426786 A CN 105426786A CN 201510767343 A CN201510767343 A CN 201510767343A CN 105426786 A CN105426786 A CN 105426786A
Authority
CN
China
Prior art keywords
data
encryption
key
shift
storage area
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.)
Granted
Application number
CN201510767343.5A
Other languages
English (en)
Other versions
CN105426786B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201510767343.5A priority Critical patent/CN105426786B/zh
Publication of CN105426786A publication Critical patent/CN105426786A/zh
Application granted granted Critical
Publication of CN105426786B publication Critical patent/CN105426786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/02Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements
    • G11C19/08Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements using thin films in plane structure
    • G11C19/0808Digital stores in which the information is moved stepwise, e.g. shift registers using magnetic elements using thin films in plane structure using magnetic domain propagation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于赛道存储器的数据加解密方法,包括以下步骤:将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key;在系统初始化时,为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中;以及在密钥生成完毕后,将每个存储区域按照密钥进行移位加密;在读写数据时,每个存储区域按照其密钥进行加解密。本发明实施例的数据加解密方法可以更好地保护赛道存储器上的数据,保证数据的安全性,避免由于系统掉电或被物理窃取后带来的安全隐患。本发明还公开了一种基于赛道存储器的数据加解密系统。

Description

基于赛道存储器的数据加解密方法及系统
技术领域
本发明涉及存储技术领域,特别涉及一种基于赛道存储器的数据加解密方法及系统。
背景技术
RM(RacetrackMemory,赛道存储器)是基于自旋转移力矩技术的新型非易失存储器件,RM在一条赛道状的Racetrack条带上承载了多个存储单元,每个存储单元存储一个数据位,各存储位由DW(DomainWall,畴壁)隔开,每个存储位因磁矩的方向不同分别代表0和1,每个条带配置有一个或多个读写端口,除了读写操作外,RM还特有“移位”(Shift)操作,需要将数据位移动到读写端口进行读写操作。
然而,非易失性存储器虽然提供了数据持久化,但不能保证数据的安全性。非易失存储器在系统掉电或被物理窃取后仍旧保持数据,导致为敏感数据的安全性带来隐患。安全的存储系统需要通过硬件或软件的方法实现数据保护,以在设备丢失后能够保护数据的安全。
发明内容
本发明旨在至少在一定程度上解决上述技术问题。
为此,本发明的一个目的在于提出一种基于赛道存储器的数据加解密方法,该方法可以更好地保证数据的安全性,简单便捷。
本发明的另一个目的在于提出一种基于赛道存储器的数据加解密系统。
为达到上述目的,本发明一方面实施例提出了一种基于赛道存储器的数据加解密方法,包括以下步骤:将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key;在系统初始化时,为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中;以及在密钥生成完毕后,将每个存储区域按照密钥进行移位加解密。
根据本发明实施例提出的基于赛道存储器的数据加解密方法,通过将赛道存储器划分为多个存储区域并设置独立的加密密钥Shift-key,并且为每个存储区域生成一个基于随机数的Shift-key,从而根据赛道存储器的移位特性进行数据加解密,更好地保护赛道存储器上的数据,保证数据的安全性,避免由于系统掉电或被物理窃取后带来的安全隐患,简单便捷。
另外,根据本发明上述实施例的基于赛道存储器的数据加解密方法还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,上述方法还包括:在每个加密区域的Racetrack两端设置冗余畴壁,以容纳由于移位加密而溢出的数据位。
进一步地,在本发明的一个实施例中,使用随机数生成器将明文数据转换为随机数据。
进一步地,在本发明的一个实施例中,所述将每个存储区域按照密钥进行移位加解密,进一步包括:写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。
优选地,在本发明的一个实施例中,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个DW(DomainWall,畴壁)及数据位。
本发明另一方面实施例提出了一种基于赛道存储器的数据加密系统,包括:分区模块,用于将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key;密钥生成模块,在系统初始化时,用于为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中;以及加解密模块,在密钥生成完毕后,用于将每个存储区域按照密钥进行移位加解密。
根据本发明实施例提出的基于赛道存储器的数据加解密系统,通过将赛道存储器划分为多个存储区域并设置独立的加密密钥Shift-key,并且为每个存储区域生成一个基于随机数的Shift-key,从而根据赛道存储器的移位特性进行数据加解密,更好地保护赛道存储器上的数据,保证数据的安全性,避免由于系统掉电或被物理窃取后带来的安全隐患,简单易实现。
另外,根据本发明上述实施例的基于赛道存储器的数据加解密系统还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,其中,在每个加密区域的Racetrack两端设置冗余畴壁,以容纳由于移位加密而溢出的数据位。
进一步地,在本发明的一个实施例中,上述系统还包括:转换模块,用于使用随机数生成器将明文数据转换为随机数据。
进一步地,在本发明的一个实施例中,其中,写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。
优选地,在本发明的一个实施例中,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个DW及数据位。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于赛道存储器的数据加解密方法的流程图;
图2为根据本发明一个实施例的加密存储原理示意图;
图3为根据本发明一个实施例的不同密钥长度示意图;
图4为根据本发明一个实施例的随机数转换器示意图;
图5为根据本发明一个实施例的系统结构和组成部分示意图;
图6为根据本发明一个实施例的初始化及读写操作的流程图;
图7为根据本发明实施例的基于赛道存储器的数据加解密系统的结构示意图;以及
图8为根据本发明一个实施例的基于赛道存储器的数据加解密系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下面参照附图描述根据本发明实施例提出的基于赛道存储器的数据加解密方法及系统,首先将参照附图描述根据本发明实施例提出的基于赛道存储器的数据加解密方法。参照图1所示,该基于赛道存储器的数据加解密方法包括以下步骤:
S101,将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key。
优选地,在本发明的一个实施例中,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个DW及数据位。
具体地,RM既可以用做片上缓存,也可以用作主存储器。本发明实施例的方法首先把RM阵列划分为固定大小的逻辑加密区域即存储区域(例如,每个区域包含128条Racetrack,每个Racetrack包含64个DW及数据位)作为加密存储的基本单位。
S102,在系统初始化时,为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中。具体而言,在系统初始化时,为每个存储区域生成一个基于随机数的Shift-key,以作为存储区域的加密密钥,保存在易失的SRAM(StaticRandomAccessMemory,静态随机存储器)上,一旦系统掉电或被盗窃时密钥全部丢失,以此保护非易失存储器上的数据。
另外,系统初始化时,将冗余数据区域上写入随机数据,防止攻击者通过分析冗余数据位而破解移位密钥,并且密钥生成完毕后,将每个存储区域按照密钥进行移位加密。
需要说明的是,在本发明的实施例中,Shift-key的长度可调,例如可以是128位、256位或384位,不同的密钥长度体现不同的加密强度。具体地,密钥宽度为1时,密钥长度为128位,Racetrack的加密移位有两个状态:不动,或右移一位;密钥宽度为2时,密钥长度为256位,Racetrack的加密移位有4个状态:左移一位、不动、右移一位或右移两位;密钥宽度为3时,密钥长度为384位,Racetrack的加密移位有8个状态:左移三位、左移两位、左移一位、不动、右移一位、右移两位、右移三位、右移四位。
进一步地,在本发明的一个实施例中,本发明实施例的方法还包括:在每个加密区域的Racetrack两端设置冗余DW,以容纳由于移位加密而溢出的数据位。例如,密钥宽度为1时,需要在右端留出一列DW;密钥宽度为2时,需要在左端留出一列DW,右端留出两列DW;密钥宽度为3时,需要在左端留出三列DW,右端留出四列DW。
S103,在密钥生成完毕后,将每个存储区域按照密钥进行移位加解密。
即言,利用RM的移位特性进行数据加解密,加解密操作在若干时钟周期内完成,在保证数据安全性的同时保证了运算效率。
进一步地,在本发明的一个实施例中,使用RNG(RandomNumberGenerator,随机数生成器)例如FN(FeistelNetwork,费斯泰尔密码网络)将明文数据转换为随机数据,防止攻击者通过写入格式化数据而破解出移位密钥。
具体地,将有规律的数据充分打散,防止攻击者通过写入格式化数据而破解出Shiftkey,例如使用4级FN,FN的key在系统初始化时产生并存储在SRAM中。
其中,将格式化数据转换为随机数的方法有很多种,在本发明实施例中以但不限于4级FN网络作为实现方法。
进一步地,在本发明的一个实施例中,将每个存储区域按照密钥进行移位加密,进一步包括:写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。具体而言,写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,同时将明文输入FN网络转换成随机数,然后将其写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取数据,同时将数据输入FN网络进行逆运算得到明文,最后按Shift-key移位,将该存储区域加密。
其中,在读写过程中,利用赛道存储器的Shift特性进行加密。特别地,数据因需要寻址而进行的移位操作与加解密需要的移位操合并,一次性完成。由于赛道存储器的Shift操作可以在若干个时钟周期内完成,因此数据加解密过程的开销也在几个时钟周期内,如果采用在Racetrack两端加不同电压从而使得不同Racetrack同时完成移位的技术,那么一个存储区域的寻址和加解密操作可以在一个时钟周期内完成。
为了便于本领域技术人员的理解,下面以一个具体实施例对本发明的方法进行详细赘述。
在本发明的一个具体实施例中,本发明实施例以加密区域为基本单位,每个区域设置一个加密密钥,加密区域可大可小,通常一个加密区域包含多个Racetrack条带,一个Racetrack条带包含多个数据位。本发明实施例把赛道存储器阵列划分为固定大小的加密区域作为加密存储的基本单位,并为每个加密区域设置一个定长的独立的加密密钥(例如,每个区域包含128条Racetrack,每个Racetrack包含64个数据位,区域大小为1KB,密钥宽度为1,密钥长度为128位)。
其中,加密密钥统一存储在易失存储器SRAM中,一旦掉电时密钥丢失,RM存储器上的数据被保护。加密密钥占用的易失存储空间与密钥的宽度相关,当密钥宽度较小时,密钥占用存储空间较小,当密钥宽度较大时,密钥占用存储空间也较大。
需要说明的是,参照图2所示,数据未加密前,多条Racetrack条带是对齐的,此时纵向存储的数据是明文。该区域的所有Racetrack按照密钥的数据位进行移位以后,原本纵向存储在Racetrack上的数据因而改变了状态,成为密文。因此在进行数据读写时,需要按照密钥进行反方向移位解密后才可获取明文。
可选地,密钥可以设置不同的宽度,对应不同的密钥长度,也对应不同的加密强度。
参照图3所示,图中(a)、(b)与(c)所示分别显示了密钥宽度为1、2、3时,存储区域的数据移位加密后的情况。图中虚线位置是数据未加密时Racetrack对齐的状态,此时存取区域中纵向存储的数据为明文;深灰色方块表示原在虚线位置的数据位按照移位密钥进行移位后的新位置,此时存取区域中纵向存储的数据变为密文。
当密钥宽度为1时,密钥长度为128位,对应该位的Racetrack的加密移位有两个状态:不动,或右移一位;如图2所示的加密密钥是“011010000.。。。10”,在进行移位加密时,“0”表示该Racetrack不动,“1”表示该Racetrack向右移动1位。同样的,当密钥宽度为2时,密钥长度为256位,对应该位的Racetrack的加密移位有4个状态:左移一位“00”、不动“01”、右移一位“10”或右移两位“11”;密钥宽度为3时,密钥长度为384位,对应该位的Racetrack的加密移位有8个状态:左移三位“000”、左移两位“001”、左移一位“010”、不动“011”、右移一位“100”、右移两位“101”、右移三位“110”、右移四位“111”。
需要说明的是,该移位加密方法要求赛道存储器阵列在设计时,每个Racetrack在两端留出相应的冗余DomainWall(图3中浅灰色部分),用来存储因为移位加密而产生的数据位溢出。密钥宽度为1时,需要在右端留出一个DomainWall;密钥宽度为2时,需要在左端留出1个DomainWall,右端留出2个DomainWall;密钥宽度为3时,需要在左端留出3个DomainWall,右端留出4个DomainWall;这是该移位加密方法对赛道存储器造成的面积开销。面积开销同样与密钥的宽度相关,当密钥宽度较小时,面积开销较小,当密钥宽度较大时,面积开销也较大。
进一步地,参照图4所示,其描述了4级FN网络的变换方法,其中,将明文数据转换为随机数的方法有很多种,本发明实施例以4级FN网络为例进行说明,但不仅限于4级FN网络。数据在写入存储器之前,使用4级FN网络将明文数据转换为随机数,有规律的数据将被充分随机化,防止攻击者通过写入格式化数据而破解出Shiftkey;4级FN网络的Key同样在系统初始化时随机产生并存储在易失存储SRAM中。
在4级FN网络中,数据首先被分为两部分L和R,在Stage1,L和Key1经过F1生成的数据与R异或,得到的数据作为Stage2的L输入,L同时作为Stage2的R输入;Stage2、Stage3、Stage4依次分别重复Stage1中的步骤,不同的是使用不同的Key,最后经过Stage4后生成由L’和R’组成的密文数据。经过4级FN网络生成的密文数据足以将输入数据充分随机化。
进一步地,参照图5所示,图5示例带有移位加解密功能的RM存储器的结构和组成部分。系统由RM存储阵列、随机数转换器(4级FN网络)、密钥存储器、地址解码器、密钥解码器和移位驱动器六个部分组成。
RM阵列是存储器的主体部分,承载数据的存储,该部分被逻辑上划分为固定大小的存储区域,作为加解密的基本单位,该逻辑区域的大小可以根据具体应用场景的需要进行设置。
4级FN网络是数据在写入之前进行随机化的工具,带有格式的数据将被充分打散,系统以此防止攻击者写入格式化的数据进行破解操作。数据读出时需要进行FN逆运算得到明文。
密钥存储器存储所有逻辑存储区域的加密密钥(Shift-key),以及4级FN网络的4个密钥,该部分由易失存储SRAM构成,断电时所有密钥数据丢失,以此保护存储器上的业务数据。
地址解码器是RM数据地址的解码部件,与传统存储器不同的是,RM的地址解码器解析出的不仅有数据的物理地址,还包括数据所在Racetrack需要移位的数据。
密钥解码器是计算数据所在存储区域Shift-key的解码器,解码器根据数据地址计算出存储区域的编号,然后在根据编号在密钥存储区取出相应区域的Shift-key。
移位驱动器是RM的读写驱动模块,在不带加密功能的RM存储器上,数据地址被解码后,由Shift驱动器对Racetrack加电,实现需要做的移位而读写数据。在该发明中,将读写移位数据和加解密移位数据进行叠加运算,得到最终的移位数据,交给Shift驱动器一次性完成。本发明实施例充分利用了RM存储器通过Shift读写数据特性,因而加解密效率高。
图6示例带有移位加解密功能的RM存储器进行初始化和读写操作的具体实施过程。系统初始化、读操作、写操作和关机的步骤具体如下,其中S数字标示是读数据的步骤,M数字标示是写数据的步骤。
系统初始化:
系统按照加密区域的划分,为每个存储区域生成一个特定位数的基于随机数的Shift-key,作为存储区域的移位加密密钥,存在易失存储SRAM上;
为4级FN网络生成4个基于随机数的Key,存在SRAM上;
将冗余数据区域上写入随机数据;
密钥生成完毕后,将每个存储区域按照密钥进行移位加密。
读操作:
第一步,地址被送到数据地址解码器和密钥地址解码器,地址解码器解析出数据所在存储区域的地址和移位offset,密钥地址解码器解析出存储该区域移位密钥的地址,并读出移位密钥;
第二步,地址移位offset和加密移位数据叠加,生成物理移位数据,送给移位驱动器,移位驱动器驱动加密区域的Racetrack进行移位并读取数据;
第三步,将数据送入FN网络进行逆运算,得到明文数据;
第四步,按照Shift-key将Racetrack移回到加密状态。
写操作:
第一步,地址被送到数据地址解码器和密钥地址解码器,地址解码器解析出数据所在存储区域的地址和移位offset,密钥地址解码器解析出存储该区域的移位密钥的地址,并读出移位密钥;
第二步,地址移位offset和加密移位数据叠加,生成物理移位数据,送给移位驱动器,移位驱动器驱动加密区域的Racetrack进行移位,找到数据位置并将数据解锁。于此同时,输入明文数据并通过4级FN网络得到随机数据;
第三步,将FN网络生成的随机数据写入存储区域;
第四步,按照Shift-key将Racetrack移回到加密状态。
系统正常关机:
用户有2个选项:
选择1:如果用户希望RM上的数据在关机后仍然可用,则存储的Shift-key和FN-key应该采用AES算法加密后存储在RM上。后期再次启用该RM时,可以从其上读出Shift-key和FN-key。
选择2:如果用户不想保留RM上的数据,则没有需要额外的操作。所有的Shift-key和FN-key在系统断电后消失,RM存储器上的数据得到保护。
根据本发明实施例提出的基于赛道存储器的数据加解密方法,通过RM自身基于Shift读写的特性,通过Shift操作实现数据加解密,并把加解密Shift操作和读写Shift操作叠加起来,具有加密效率高、开销小、不影响系统性能的特点;密钥长度可设置,可根据需要选择不同的加密强度;数据在写入存储器之前,先通过4级FN网络转换为随机数,有效防止攻击者通过写入格式数据来破解Shift-key;密钥存在易失存储器上,系统掉电或被窃取后,密钥消失,保护了RM存储上的数据安全;基于RM的存储器上100%的数据被保护,不存在安全漏洞,更好地保护赛道存储器上的数据,保证数据的安全性,避免由于系统掉电或被物理窃取后带来的安全隐患,简单易实现。
其次参照附图描述根据本发明实施例的基于赛道存储器的数据加解密系统。参照图7所示,该基于赛道存储器的数据加解密系统10包括:分区模块100、密钥生成模块200与加解密模块300。
其中,分区模块100用于将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key。在系统初始化时,密钥生成模块200用于为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,并且为4级FN网络生成4个基于随机数的FN-key密钥,存在易失的静态随机存储器中。在密钥生成完毕后,加解密模块300用于将每个存储区域按照密钥进行移位加解密。本发明实施例的系统10用于保证基于RM的片上缓存或主存储器的数据安全性,可实现数据在RM上的高效率加密存储且无明显开销,防止器件在掉电或被物理窃取时被读取数据,提高存储器的数据安全性,可用于基于RM制作的片上缓存或主存储器。
优选地,在本发明的一个实施例中,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个DomainWall及数据位。
其中,在本发明的一个实施例中,在每个加密区域的Racetrack两端设置冗余畴壁,以容纳由于移位加密而溢出的数据位。
进一步地,在本发明的一个实施例中,参照图8所示,本发明实施例的系统10还包括:设置模块400。设置模块400用于设置加密区域的构成,以及该系统的加密强度。其中,加密区域的构成是指一个加密区域由几条Racetrack组成,加密强度是指该系统采用多少位的加密密钥,以此设定该系统的加密强度。
进一步地,在本发明的一个实施例中,参照图8所示,本发明实施例的系统10还包括:转换模块500。其中,转换模块500用于使用随机数生成器将明文数据转换为随机数据。
进一步地,在本发明的一个实施例中,加解密模块300进一步用于:写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。
应理解,根据本发明实施例的基于赛道存储器的数据加解密系统的具体实现过程可与本发明实施例的基于赛道存储器的数据加解密方法的工作流程相同,此处不再详细描述。
根据本发明实施例提出的基于赛道存储器的数据加解密系统,通过RM自身基于Shift读写的特性,通过Shift操作实现数据加解密,并把加解密Shift操作和读写Shift操作叠加起来,具有加密效率高、开销小、不影响系统性能的特点;密钥长度可设置,可根据需要选择不同的加密强度;数据在写入存储器之前,先通过4级FN网络转换为随机数,有效防止攻击者通过写入格式数据来破解Shift-key;密钥存在易失存储器上,系统掉电或被窃取后,密钥消失,保护了RM存储上的数据安全;基于RM的存储器上100%的数据被保护,不存在安全漏洞,更好地保护赛道存储器上的数据,保证数据的安全性,避免由于系统掉电或被物理窃取后带来的安全隐患,简单易实现。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于赛道存储器的数据加解密方法,其特征在于,包括以下步骤:
将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key;
在系统初始化时,为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中;以及
在密钥生成完毕后,将每个存储区域按照密钥进行移位加解密。
2.根据权利要求1所述的基于赛道存储器的数据加解密方法,其特征在于,还包括:
在每个加密区域的Racetrack两端设置冗余畴壁,以容纳由于移位加密而溢出的数据位。
3.根据权利要求1所述的基于赛道存储器的数据加解密方法,其特征在于,使用随机数生成器将明文数据转换为随机数据。
4.根据权利要求3所述的基于赛道存储器的数据加解密方法,其特征在于,所述将每个存储区域按照密钥进行移位加解密,进一步包括:
写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;
读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。
5.根据权利要求1所述的基于赛道存储器的数据加解密方法,其特征在于,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个畴壁DW及数据位。
6.一种基于赛道存储器的数据加密系统,其特征在于,包括:
分区模块,用于将赛道存储器阵列划分为多个预设大小的加密区域,以作为加密存储的基本单位,并为每个加密区域设置独立的加密密钥Shift-key;
密钥生成模块,在系统初始化时,用于为每个存储区域生成一个基于随机数的Shift-key作为存储区域的加密密钥,存在易失的静态随机存储器中;以及
加解密模块,在密钥生成完毕后,用于将每个存储区域按照密钥进行移位加解密。
7.根据权利要求6所述的基于赛道存储器的数据加密系统,其特征在于其中,在每个加密区域的Racetrack两端设置冗余畴壁,以容纳由于移位加密而溢出的数据位。
8.根据权利要求6所述的基于赛道存储器的数据加密系统,其特征在于,还包括:转换模块,用于使用随机数生成器将明文数据转换为随机数据。
9.根据权利要求8所述的基于赛道存储器的数据加密系统,其特征在于,其中,写数据时,首先按照Shift-key将目标存储区域的数据移回并对齐,然后将明文数据写入存储器,最后按照Shift-key移位,将该存储区域加密;读数据时,首先按照Shift-key将该目标存储区域的数据移回并对齐,然后读取明文数据,最后按照Shift-key移位,将该存储区域加密。
10.根据权利要求6所述的基于赛道存储器的数据加密系统,其特征在于,每个预设大小的加密区域包括128条Racetrack,每条Racetrack包含64个DW及数据位。
CN201510767343.5A 2015-11-11 2015-11-11 基于赛道存储器的数据加解密方法及系统 Active CN105426786B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510767343.5A CN105426786B (zh) 2015-11-11 2015-11-11 基于赛道存储器的数据加解密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510767343.5A CN105426786B (zh) 2015-11-11 2015-11-11 基于赛道存储器的数据加解密方法及系统

Publications (2)

Publication Number Publication Date
CN105426786A true CN105426786A (zh) 2016-03-23
CN105426786B CN105426786B (zh) 2019-01-11

Family

ID=55504989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510767343.5A Active CN105426786B (zh) 2015-11-11 2015-11-11 基于赛道存储器的数据加解密方法及系统

Country Status (1)

Country Link
CN (1) CN105426786B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599735A (zh) * 2017-02-13 2017-04-26 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法
WO2020151194A1 (zh) * 2019-01-24 2020-07-30 山东华芯半导体有限公司 一种基于国密芯片的安全存储方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286715A (zh) * 1998-08-28 2001-03-07 新日本制铁株式会社 含有树脂或有机化合物、或两者的废塑料的处理方法
CN101120353A (zh) * 2004-12-21 2008-02-06 桑迪士克股份有限公司 具有分区的通用内容控制
US20130332747A1 (en) * 2005-05-03 2013-12-12 Strong Bear Llc Removable drive with data encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286715A (zh) * 1998-08-28 2001-03-07 新日本制铁株式会社 含有树脂或有机化合物、或两者的废塑料的处理方法
CN101120353A (zh) * 2004-12-21 2008-02-06 桑迪士克股份有限公司 具有分区的通用内容控制
US20130332747A1 (en) * 2005-05-03 2013-12-12 Strong Bear Llc Removable drive with data encryption

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG C等: ""Hi-fi playback: tolerating position errors in shift operations of racetrack memory"", 《ACM SIGARCH COMPUTER ARCHITECTURE NEWS》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599735A (zh) * 2017-02-13 2017-04-26 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
WO2018145483A1 (zh) * 2017-02-13 2018-08-16 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
US11347898B2 (en) 2017-02-13 2022-05-31 Gree Electric Appliances, Inc. Of Zhuhai Data protection device and method and storage controller
CN106599735B (zh) * 2017-02-13 2023-10-24 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
WO2020151194A1 (zh) * 2019-01-24 2020-07-30 山东华芯半导体有限公司 一种基于国密芯片的安全存储方法
CN110209374A (zh) * 2019-05-23 2019-09-06 浙江大学 一种基于racetrack memory的乘法器及其操作方法

Also Published As

Publication number Publication date
CN105426786B (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
JP5139465B2 (ja) メモリチップ、情報記憶システム、読み出し装置
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
US20040177257A1 (en) Data processing device and data processing method
CN103444124B (zh) 加密处理装置、加密处理方法
CN103345609B (zh) 一种文本加解密方法和加解密设备
CN102238001B (zh) 一种提高数据安全性的方法和装置
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
CN112291056B (zh) 加密密钥生成器及传输系统
CN103067170B (zh) 一种基于ext2文件系统的加密方法
JPH11272561A (ja) 記憶媒体のデータ保護方法、その装置及びその記憶媒体
KR101554801B1 (ko) 정보 기록 장치, 및 정보 기록 장치의 처리 방법
US8745391B2 (en) Data recording device, host device and method of processing data recording device
US8693694B2 (en) Information recording device
CN102224704A (zh) 内容解密处理装置、内容解密处理方法及集成电路
CN105426786A (zh) 基于赛道存储器的数据加解密方法及系统
CN105959098A (zh) 基于多分割Feistel网络的保留格式加密算法
US20110314301A1 (en) Systems and methods for hardware key encryption
US20140129848A1 (en) Method and Apparatus for Writing and Reading Hard Disk Data
CN103914662A (zh) 一种基于分区的文件加密系统的访问控制方法和装置
US20190140851A1 (en) Secure logic system with physically unclonable function
US8694798B2 (en) Generating and securing multiple archive keys
CN100589380C (zh) 基于双循环队列移位和换位规则的加密方法
CN102224508B (zh) 在存储器装置中存储数据的方法及处理该数据的处理装置
US20210152326A1 (en) White-box encryption method for prevention of fault injection attack and apparatus therefor
US20040234073A1 (en) Encryption method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant