[发明专利]一种保护内存存储器数据机密性和完整性的方法有效
| 申请号: | 201510009530.7 | 申请日: | 2015-01-07 | 
| 公开(公告)号: | CN104636276B | 公开(公告)日: | 2017-06-13 | 
| 发明(设计)人: | 姚念民;李侠虎;谭国真;高振国;卢志茂;陈炳才 | 申请(专利权)人: | 大连理工大学 | 
| 主分类号: | G06F12/14 | 分类号: | G06F12/14;G06F21/60;G06F21/78 | 
| 代理公司: | 大连理工大学专利中心21200 | 代理人: | 梅洪玉 | 
| 地址: | 116024 辽*** | 国省代码: | 辽宁;21 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 保护 内存 存储器 数据 机密性 完整性 方法 | ||
技术领域
本发明属于计算机数据存储保护技术领域,涉及一种保护内存存储器数据机密性和完整性的方法。
背景技术
随着科学技术的发展,存储在计算机内存中的数据越来越多、越来越重要,内存也由此遭到越来越多的攻击,所以需要对其机密性进行保护,防止信息泄露。内存数据机密性保护领域最常使用的加密方法是计数器模式加密,因为在不考虑counter溢出的情况下,计数器模式加密只会在数据的关键路径上添加一个异或操作引起的延迟。但是counter溢出会使得系统暂停正在进行的任务,分配新的密钥和counter,进行重新加密,占用非常多的系统计算资源。
发明内容
本发明的目的在于提供一种加解密使用的counter的构建方法,改进计数器模式加密方法,消除counter溢出对系统性能的影响,保留计数器模式加密在性能方面的优势,同时保护系统内存数据的完整性。
本发明的技术方案包括以下两个部分:
当CPU将数据块写回内存时:
1.1.1系统为需要写回的数据块分配新的counterassigned,counterassigned可以这样产生,其初始为0,每次产生则自身加(1),可以保证其在溢出之前不重复;
1.1.2使用counterassigned计算用于加解密的counteruse,如式(1),其中||为连接运算,addrblock为数据块的地址;
counteruse=Hashkey(addrblock||counterassigned)(1)
1.1.3使用计算的counteruse计算本次加密使用的密钥keyuse;
1.1.4应用计数器模式加密方法对数据块加密;
1.1.5检查是否可以将counteruse存储在片上缓存中。如果可以存储在片上缓存中,则存储在片上缓存中;否则,丢弃。
1.1.6将数据块和counterassigned写回内存。
当CPU从内存读取数据块时:
1.2.1首先从内存读取数据块;
1.2.2检查这个数据块的counteruse是否存储在片上。如果不在片上缓存中,从
内存中读取这个数据块的counterassigned,将counterassigned和数据块的地址作为带密
钥的MAC函数的输入计算counteruse,如式(1);
1.2.3应用计数器模式加密方法解密这个数据块;存储在counter缓存中的是计算的得到的counteruse,而不是系统为数据块分配的counterassigned。
系统可以预先分配多个密钥在片上存储,使用计算得到的counteruse对系统中可用的密钥的数量求余,确定需要使用哪个密钥keyuse对数据块进行加解密,如式(2),其中mod是取摸运算。
keyuse=keyi,i=counteruse mod n(2)
可以在式(1)中添加另一个非常短的输入counter_i,其产生方式同counterassigned,counter_i可以在内存中单独存储,如式(3)或式(4),其中addrblock为数据块的地址。
counteruse=Hashkey(addrblock||counterassigned||counter_i)(3)
Counteruse=Hashkey(Hashkey(addrblock||counterassigned)||counter_i)(4)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510009530.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体装置
- 下一篇:数据处理装置和数据处理方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





