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

文档序号:9433006阅读:931来源:国知局
一种计算机存储器的加密方法和解密方法
【技术领域】
[0001]本发明属于计算机存储安全技术领域,具体涉及一种非易失存储器的加密方法和解密方法。
【背景技术】
[0002]非易失性存储器(Non Volatile Memory)是最有前景取代传统存储器件(比如SRAM和DRAM)的存储媒介,它有着集成度高、漏电功耗低、访问速度快、非易失等特性,并已开始替代传统的DRAM存储器应用在移动设备系统中。虽然非易失性存储器比DRAM的寿命要持久、漏电功耗低,但它的非易失特性使得其很容易受到外围恶意程序的攻击。非易失性存储器在断电后数据仍然保存,针对非易失性存储器的一个很典型的攻击就是物理攻击,攻击者很容易获取存储器里面的用户机密信息,这就为非易失性存储器在移动系统中的使用带来了很大的挑战。近年来非易失性存储器得到学术界和工业界的广泛关注,研究人员针对其性能改进做了大量优化工作,未来非易失性存储器将在存储器领域中占据主要角色,而存储数据的安全性便成为人们关注的要点。
[0003]智能手机等移动设备日益普及,大量的用户私密信息存储在设备里,存储信息的安全性急待解决。提高移动设备的数据安全性尤为重要。针对非易失性存储器在移动系统中的安全性研究已经展开,S.Chhabra and D.Solihin, “1-nvmm: a securenon-volatile main memory system with incremental encrypt1n,,,The 38th AnnualInternat1nal Symposium on in Computer Architecture (ISCA), pp.177 - 188, IEEE,2011 (S.Chhabra and D.Solihin, 1-nvmm: —种基于增量加密的安全非易失内存系统,第38借计算机系统结构国际研讨会2011,第177-188页)于2011年提出名为i_NVMM的基于AES的加密算法。该技术采用AES算法加密在NVM的冷区数据,在结束应用程序是菜加密所有的数据。虽然1-NVMM加密技术能最小化延迟和能量开销,而比冷区数据更敏感的热区数据却不受保护,存在很大的安全隐患。J.Kong and H.Zhou, “Improving privacy andlifetime of pcm-based main memory, ”
Internat1nal Conference on Dependable Systems and Networks (DSN), pp.333 - 342,IEEE, 2010( J.Kong and H.Zhou,改善基于相变存储器内存的私密性和寿命,可靠性系统和网络的国际会议2010,第333-342页)介绍一个基于counter-mode XOR加密技术,为每个内存数据块计算crypto-PAD代替直接与AES加密数据,然而该算法却增加存储代价。目前,现有技术并没有考虑到移动系统中数据的访存和数据特性,主要采用直接加密算法或者加密部分数据,但降低了系统的整体性能,如增加了功耗和增加了时延。

【发明内容】

[0004]本发明所要解决的技术问题是从操作系统中资源管理的层面,提供一种计算机存储器的加密方法,它能降低存储器数据加密所需的功耗;相应地,还提供一种计算机存储器的解密方法,它降低系统的时延,保证系统快速响应。
[0005]要解决上述技术问题,本发明提供的一种计算机存储器的加密方法,包括有以下步骤:
步骤1、将需要加密的数据划分为多个数据块;
步骤2、对每个数据小块进行hash运算,对得到的结果做加密运算,得到数据块对应的中间变量值(记为PAD值);
步骤3、判断要写入的数据的地址是否非易失性存储器中频繁写的热区;
步骤4、将热区数据块的PAD值放在缓存中;
步骤5、通过把数据块的内容与其对应的PAD值做异或运算得到加密后的数据;
步骤6、将加密后的数据写入非易失性存储器的存储单元。
[0006]本发明还提供的一种计算机存储器的解密方法,包括有以下步骤:
步骤1、读取要解密的数据块;
步骤2、判断要读取的数据块是否为热区数据,如是,热区数据则从缓存里读取其对应的PAD值;否则,按加密过程的方法,去重新计算PAD值;
步骤3、通过把数据块的内容与其对应的PAD值做异或运算得到最初的数据。
[0007]由于本发明的加密方法通过步骤4不断地把属于热区的数据块的PAD值缓存起来,避免了大量解密过程中PAD值的重计算操作,从而降低了系统功耗,延长了系统电池的寿命。由于本发明提出的加密算法的解密过程在步骤2中获取PAD值时,与非易失性存储器访问数据能并行执行,减少了系统解密的时间,缩短系统响应的时延。
[0008]本发明具有如下的优点:避免了频繁被写的热区数据块PAD值的重计算操作,实现了系统功耗的节约;另外,PAD值的获取与数据块的访问可以并行执行,实现了系统时延的降低即延长设备的寿命,能保证系统快速响应。
【附图说明】
[0009]本发明的【附图说明】如下:
图1为本发明数据加密的流程图;
图2为本发明数据解密的流程图;
图3本发明的数据存储状态示意图。
【具体实施方式】
[0010]下面结合附图和实施例对本发明作进一步说明:
如图1所示,本发明的数据加密流程如下:程序开始于步骤101;
在步骤102,根据具体应用程序,初始化热区的起始逻辑地址、热区长度,保存热区起始物理地址的初始化;
在步骤103,数据分块,将要写入的数据分成大小相同的块,数据块可以设置为不同的大小尺寸,比如 128Bits,256Bits,512Bits,1024Bits 等;
在步骤104,判定要写入的数据块是否完成全部加密,若已完成,则执行步骤112,否则,执行步骤105 ;
在步骤105,对将要写入的数据块采用目前最广泛使用的hash算法SHA (Secure HashAlgorithm,译作安全杂凑算法),得到hash操作的输出结果(记为Mid); Hash函数属于很成熟的信息安全领域的加密算法,“An Overview of IncrementalHash Funct1n Based on Pair Block Chaining,,.Yunling, S., & Xianghua, M.1nformat1n Technology and Applicat1ns, (2010),Internat1nal Forum on (Vol.3,pp.332-335).1EEE.(“一个基于双块连接的增量hash函数综述”,Yunling, S.,&Xianghua, M,国际信息技术和应用研讨会2010,第332-335页)于2010年7月做了一个基于双链接的增量hash函数的综述,也就是对hash函数做了理论,有效性,安全和应用方面的整体分析。
[0011]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1