CN105184187A - 一种计算机存储器的加密方法和解密方法 - Google Patents

一种计算机存储器的加密方法和解密方法 Download PDF

Info

Publication number
CN105184187A
CN105184187A CN201510579516.0A CN201510579516A CN105184187A CN 105184187 A CN105184187 A CN 105184187A CN 201510579516 A CN201510579516 A CN 201510579516A CN 105184187 A CN105184187 A CN 105184187A
Authority
CN
China
Prior art keywords
data
zone
data block
hot
data blocks
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
Application number
CN201510579516.0A
Other languages
English (en)
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.)
Chongqing University
Original Assignee
Chongqing 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 Chongqing University filed Critical Chongqing University
Priority to CN201510579516.0A priority Critical patent/CN105184187A/zh
Publication of CN105184187A publication Critical patent/CN105184187A/zh
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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

Landscapes

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

Abstract

本发明公开了一种计算机存储器的加密和解密方法,加密包括步骤:1、将需要加密的数据划分为多个数据块;2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应的中间变量(标记为PAD);3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;4、将热区数据块的PAD值放在缓存中;5、通过把数据块的内容与其对应的PAD值做异或运算得到加密后的数据;解密包括步骤:1、读取要解密的数据块;2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的中间变量(PAD);否则,按加密过程的方法,计算PAD值;3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。本发明具有如下的优点:实现了系统功耗的节约,降低系统时延。

Description

一种计算机存储器的加密方法和解密方法
技术领域
本发明属于计算机存储安全技术领域,具体涉及一种非易失存储器的加密方法和解密方法。
背景技术
非易失性存储器(NonVolatileMemory)是最有前景取代传统存储器件(比如SRAM和DRAM)的存储媒介,它有着集成度高、漏电功耗低、访问速度快、非易失等特性,并已开始替代传统的DRAM存储器应用在移动设备系统中。虽然非易失性存储器比DRAM的寿命要持久、漏电功耗低,但它的非易失特性使得其很容易受到外围恶意程序的攻击。非易失性存储器在断电后数据仍然保存,针对非易失性存储器的一个很典型的攻击就是物理攻击,攻击者很容易获取存储器里面的用户机密信息,这就为非易失性存储器在移动系统中的使用带来了很大的挑战。近年来非易失性存储器得到学术界和工业界的广泛关注,研究人员针对其性能改进做了大量优化工作,未来非易失性存储器将在存储器领域中占据主要角色,而存储数据的安全性便成为人们关注的要点。
智能手机等移动设备日益普及,大量的用户私密信息存储在设备里,存储信息的安全性急待解决。提高移动设备的数据安全性尤为重要。针对非易失性存储器在移动系统中的安全性研究已经展开,S.ChhabraandD.Solihin,“i-nvmm:asecurenon-volatilemainmemorysystemwithincrementalencryption”,The38thAnnualInternationalSymposiumoninComputerArchitecture(ISCA),pp.177–188,IEEE,2011(S.ChhabraandD.Solihin,i-nvmm:一种基于增量加密的安全非易失内存系统,第38借计算机系统结构国际研讨会2011,第177-188页)于2011年提出名为i-NVMM的基于AES的加密算法。该技术采用AES算法加密在NVM的冷区数据,在结束应用程序是菜加密所有的数据。虽然i-NVMM加密技术能最小化延迟和能量开销,而比冷区数据更敏感的热区数据却不受保护,存在很大的安全隐患。J.KongandH.Zhou,“Improvingprivacyandlifetimeofpcm-basedmainmemory,”
InternationalConferenceonDependableSystemsandNetworks(DSN),pp.333–342,IEEE,2010(J.KongandH.Zhou,改善基于相变存储器内存的私密性和寿命,可靠性系统和网络的国际会议2010,第333-342页)介绍一个基于counter-modeXOR加密技术,为每个内存数据块计算crypto-PAD代替直接与AES加密数据,然而该算法却增加存储代价。目前,现有技术并没有考虑到移动系统中数据的访存和数据特性,主要采用直接加密算法或者加密部分数据,但降低了系统的整体性能,如增加了功耗和增加了时延。
发明内容
本发明所要解决的技术问题是从操作系统中资源管理的层面,提供一种计算机存储器的加密方法,它能降低存储器数据加密所需的功耗;相应地,还提供一种计算机存储器的解密方法,它降低系统的时延,保证系统快速响应。
要解决上述技术问题,本发明提供的一种计算机存储器的加密方法,包括有以下步骤:
步骤1、将需要加密的数据划分为多个数据块;
步骤2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应的中间变量值(记为PAD值);
步骤3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;
步骤4、将热区数据块的PAD值放在缓存中;
步骤5、通过把数据块的内容与其对应的PAD值做异或运算得到加密后的数据;
步骤6、将加密后的数据写入非易失性存储器的存储单元。
本发明还提供的一种计算机存储器的解密方法,包括有以下步骤:
步骤1、读取要解密的数据块;
步骤2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的PAD值;否则,按加密过程的方法,去重新计算PAD值;
步骤3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。
由于本发明的加密方法通过步骤4不断地把属于热区的数据块的PAD值缓存起来,避免了大量解密过程中PAD值的重计算操作,从而降低了系统功耗,延长了系统电池的寿命。由于本发明提出的加密算法的解密过程在步骤2中获取PAD值时,与非易失性存储器访问数据能并行执行,减少了系统解密的时间,缩短系统响应的时延。
本发明具有如下的优点:避免了频繁被写的热区数据块PAD值的重计算操作,实现了系统功耗的节约;另外,PAD值的获取与数据块的访问可以并行执行,实现了系统时延的降低即延长设备的寿命,能保证系统快速响应。
附图说明
本发明的附图说明如下:
图1为本发明数据加密的流程图;
图2为本发明数据解密的流程图;
图3本发明的数据存储状态示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,本发明的数据加密流程如下:程序开始于步骤101;
在步骤102,根据具体应用程序,初始化热区的起始逻辑地址、热区长度,保存热区起始物理地址的初始化;
在步骤103,数据分块,将要写入的数据分成大小相同的块,数据块可以设置为不同的大小尺寸,比如128Bits,256Bits,512Bits,1024Bits等;
在步骤104,判定要写入的数据块是否完成全部加密,若已完成,则执行步骤112,否则,执行步骤105;
在步骤105,对将要写入的数据块采用目前最广泛使用的hash算法SHA(SecureHashAlgorithm,译作安全杂凑算法),得到hash操作的输出结果(记为Mid);
Hash函数属于很成熟的信息安全领域的加密算法,“AnOverviewofIncrementalHashFunctionBasedonPairBlockChaining”.Yunling,S.,&Xianghua,M.InformationTechnologyandApplications,(2010),InternationalForumon(Vol.3,pp.332-335).IEEE.(“一个基于双块连接的增量hash函数综述”,Yunling,S.,&Xianghua,M,国际信息技术和应用研讨会2010,第332-335页)于2010年7月做了一个基于双链接的增量hash函数的综述,也就是对hash函数做了理论,有效性,安全和应用方面的整体分析。
在步骤106,依据数据块的逻辑地址,将hash函数的输出结果Mid保存在hash表里;
在步骤107,用高级加密算法AES对数据块的hash函数输出结果做加密操作,其对应输出命名为PAD;
AES高级加密标准已经是存在的技术,已被多方分析且广为全世界所使用,“Energyefficientin-memoryAESencryptionbasedonnonvolatiledomain-wallnanowire.Wang,Y.,Yu,H.,Sylvester,D.,&Kong,P.(2014)Design,Automation&TestinEuropeConference&Exhibition(pp.1-4).IEEE.”(一直能量有效性的基于非易失电畴壁纳米线的内存AES加密算法,Wang,Y.,Yu,H.,Sylvester,D,欧洲设计自动化与测试研讨会2012,第1-4页)于2014年5月推出了一种能量有效性的AES加密算法,并详细介绍了各种部分的实现过程和功能。
在步骤108,判定写入的数据块的逻辑地址是否属于热区,若是,则执行步骤109,否则,执行步骤110;
在非易失性存储器中,针对具体应用程序有一个频繁写操作的区域,简称为“热区”,而存在“热区”上的数据块对应的PAD,在加密方案中缓存起来;其他大量的区域很少有写操作,甚至没有写操作,这部分区域简称“冷区”。
判定储器热区和冷区的方法属于现有技术,"Bloomfilter-baseddynamicwearlevelingforphase-changeRAM",JoosungYun;SungguLee;SungjooYoo,Design,Automation&TestinEuropeConference&Exhibition(DATE),2012,Page(s)1513-1518,ISSN:1530-1591(“基于布隆过滤器的相变存储器动态损耗均衡方法”,JoosungYun;SungguLee;SungjooYoo,欧洲设计自动化与测试研讨会2012,第1513-1518页,国际标准连续出版物编号ISSN:1530-1591)于2012年3月公开了一种用布隆过滤器(bloomfilter)识别热地址的方法,该方法是先给每个布隆过滤器设置一个计数器,然后使用与布隆过滤器数量相同的hash函数对每个有写操作的地址进行散列,hash函数能将写操作的次数映射到与地址相关的计数器,增加计数器的值,通过计数器确定热区地址。
在步骤109,如果要写入的数据的地址属于热区地址,将对应数据块的PAD值保存在缓存里,如果要写入的数据的地址属于冷区地址,将对应数据块的PAD值保存在内存里,然后执行步骤110;
在步骤110,将数据块的原始内容与其对应的PAD值做异或运算,得到密文;
在步骤111,将密文数据块写入非易失性存储器对应的存储单元,然后返回步骤104;
在步骤112,程序结束。
如图2所示,本发明的解密流程如下:程序开始于步骤201,
在步骤202,接收到读取数据的指令,统计要读入的数据块;
在步骤203,判定要读取的数据块是否已经解密完,若是,则执行步骤209;否则,执行步骤204;
在步骤204,判断要读取的数据块的逻辑地址是否属于热区,若是,则执行步骤205;否则执行步骤206;
在步骤205,如果数据的逻辑地址属于热区地址,从缓存里读取数据块对应的PAD值,然后执行步骤208;
在步骤206,如果数据的逻辑地址属于冷区地址,从hash表里读数据块对应Mid值,执行步骤207;
在步骤207,用高级加密算法对Mid进行加密,得到冷区地址对应数据块的PAD值;然后执行步骤208;
在步骤208,将从非易失性存储单元里读数的数据块内容与其对应的PAD值做逻辑运算异或操作,得到要读入的数据,然后返回步骤203;
在步骤209,程序结束。
如图3所示,本发明的数据存储状态如下:
图中(a)为数据分块,把要写入的数据或者加密的数据划分为大小相同的数据块。
图中(b)为非易失性存储器的内存结构,该存储器空间分为热区和冷区,图中,热区包含0,1和2三个小块,冷区包含3、4、5以及其余小块;图(a)中的数据块0将写入热区0、数据块1将写入冷区4、数据块2将写入热区1。
图中(c)为缓存所保存的数据,将热区数据块0的PAD值存储在缓存物理地址0,热区数据块1的PAD值存储在缓存物理地址1;冷区数据块的PAD值不存入缓存中。

Claims (2)

1.一种计算机存储器的加密方法,其特征是,包括以下步骤:
步骤1、将需要加密的数据划分为多个数据块;
步骤2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应中间变量(标记为PAD值);
步骤3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;
步骤4、将热区数据块的对应存储的PAD值放在缓存中;
步骤5、通过把数据块的内容与其计算得到的对应的PAD值做异或运算得到加密后的数据;
步骤6、将加密后的数据写入非易失性存储器的存储单元。
2.一种计算机存储器的加密方法,其特征是,包括以下步骤:
步骤1、读取要解密的数据块;
步骤2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的PAD值;否则,按加密过程的方法,去重新计算PAD值;
步骤3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。
CN201510579516.0A 2015-08-18 2015-09-14 一种计算机存储器的加密方法和解密方法 Pending CN105184187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510579516.0A CN105184187A (zh) 2015-08-18 2015-09-14 一种计算机存储器的加密方法和解密方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510506700 2015-08-18
CN2015105067002 2015-08-18
CN201510579516.0A CN105184187A (zh) 2015-08-18 2015-09-14 一种计算机存储器的加密方法和解密方法

Publications (1)

Publication Number Publication Date
CN105184187A true CN105184187A (zh) 2015-12-23

Family

ID=54906260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510579516.0A Pending CN105184187A (zh) 2015-08-18 2015-09-14 一种计算机存储器的加密方法和解密方法

Country Status (1)

Country Link
CN (1) CN105184187A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391467A (zh) * 2017-08-10 2019-02-26 北京兆易创新科技股份有限公司 非易失性存储器的加密方法及装置、解密方法及装置
CN111694765A (zh) * 2020-06-05 2020-09-22 重庆大学 一种面向移动应用特征的非易失性内存文件系统多粒度空间管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056253A (zh) * 2007-06-07 2007-10-17 中兴通讯股份有限公司 以太网数据重组装置及方法
CN101938499A (zh) * 2002-07-24 2011-01-05 高通股份有限公司 用于数据处理系统的有效加密和认证
US20120072723A1 (en) * 2010-09-20 2012-03-22 Security First Corp. Systems and methods for secure data sharing
CN104270751A (zh) * 2014-04-19 2015-01-07 湘潭大学 无线传感器网络中基于接收信号强度的安全保障协议

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938499A (zh) * 2002-07-24 2011-01-05 高通股份有限公司 用于数据处理系统的有效加密和认证
CN101056253A (zh) * 2007-06-07 2007-10-17 中兴通讯股份有限公司 以太网数据重组装置及方法
US20120072723A1 (en) * 2010-09-20 2012-03-22 Security First Corp. Systems and methods for secure data sharing
CN104270751A (zh) * 2014-04-19 2015-01-07 湘潭大学 无线传感器网络中基于接收信号强度的安全保障协议

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391467A (zh) * 2017-08-10 2019-02-26 北京兆易创新科技股份有限公司 非易失性存储器的加密方法及装置、解密方法及装置
CN111694765A (zh) * 2020-06-05 2020-09-22 重庆大学 一种面向移动应用特征的非易失性内存文件系统多粒度空间管理方法

Similar Documents

Publication Publication Date Title
CN104012030B (zh) 用于保护对称加密密钥的系统及方法
US9092644B2 (en) Method and system for protecting memory information in a platform
US9569633B2 (en) Device, system, and method for processor-based data protection
JP7222971B2 (ja) 記憶データの暗号化及び復号の機器及び方法
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
US9053346B2 (en) Low-overhead cryptographic method and apparatus for providing memory confidentiality, integrity and replay protection
US20100229005A1 (en) Data whitening for writing and reading data to and from a non-volatile memory
CN107609418A (zh) 文本数据的脱敏方法、装置、存储设备以及计算机设备
JP2020535693A (ja) 記憶データ暗号化/復号化装置及び方法
CN103440209A (zh) 一种固态硬盘数据加解密方法及固态硬盘系统
CN102737270B (zh) 一种基于国产算法的银行智能卡芯片安全协处理器
CN108573176B (zh) 一种密钥派生加密的移动终端数据安全删除的方法及系统
CN107430555B (zh) 用于存储器保护的高速缓存和数据组织
CN106991061A (zh) 一种sata硬盘密码模块及其工作方法
CN104463020A (zh) 存储器数据完整性保护的方法
CN114661638A (zh) 使用捆绑访问控制的安全地址转换服务
CN105184187A (zh) 一种计算机存储器的加密方法和解密方法
TW201631483A (zh) 記憶體中攻擊防阻技術
CN102567689A (zh) 基于相变存储器的非易失内存数据机密性保护方法
US20220222384A1 (en) Encrypted key management
WO2022093439A1 (en) Transient dataset management system
CN102004705B (zh) 基于硬件加密的usb存储设备
CN203444482U (zh) 一种便携式计算机安全存储器
CN106845254A (zh) 一种用于计算机的加密数据传输线
CN106934306A (zh) 基于硬件加密的 usb 存储设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151223

WD01 Invention patent application deemed withdrawn after publication