[发明专利]内存数据保护方法、装置、设备以及存储介质有效
申请号: | 201910398934.8 | 申请日: | 2019-05-14 |
公开(公告)号: | CN111950017B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 章隆兵;李亚伟;王焕东;肖俊华;王剑;汪文祥 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/78 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 张子青;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 数据 保护 方法 装置 设备 以及 存储 介质 | ||
本发明提供一种内存数据保护方法、装置、设备以及存储介质。该方法包括:获取访问指令,当确定访问指令为安全访问指令时,获取安全访问指令所访问的数据块,其中,所述安全访问指令为预先设置在硬件中的特定指令,将获取的数据块进行保密处理后,执行安全访问指令对应的操作,其中,所述数据块占用存储空间的大小在预设范围内,预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小,实现了对内存数据的高效保护,减少了系统功耗和性能损失。
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种内存数据保护方法、装置、设备以及存储介质。
背景技术
在当前信息时代,计算机应用日益普及,计算机系统安全越来越多地受到关注。目前计算机系统通常采用明文方式将程序指令和数据存放在存储器中,很多攻击方法都利用存储器的这个特点,通过获取及篡改存储器中的数据实现攻击。因此,如何保护程序在存储器中的数据安全,对于整个计算机系统的安全至关重要。
目前普遍采用安全内存加密(Secure Memory Encryption,SME)技术对存储器中的数据进行保护,该技术在处理器上集成的内存控制器上设置了专门的加密硬件,每个内存控制器包含一个高性能的高级加密标准(Advanced Encryption Standard,AES)算法的硬件引擎。当往内存写数据时,通过该硬件引擎对内存数据进行加密,当从内存读数据时,通过该硬件引擎对待读取数据进行相应的解密,如图1所示。
内存中包含很多物理内存页,数据是以页的形式依次存储在内存中。在上述对数据进行加密的过程中,控制哪些物理内存页被加密是通过在操作系统中对页表进行设置来实现。在操作系统中,将页表项(PTE)中物理地址的第47位(简称为C-bit)设置为1,则表示对该页要进行加解密,如果置为0,表示正常访问。
然而,由于SME技术并不能灵活应用,仅能以页为单位对内存数据进行加密,容易导致性能损失和产生较大的功耗。
发明内容
本发明提供一种内存数据保护方法、装置、设备以及存储介质,实现了对内存数据的高效保护,减少了功耗和性能损失。
第一方面,本发明提供一种内存数据保护方法,包括:
获取访问指令;
当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为预先设置在硬件中的特定指令;
将获取的所述数据块进行保密处理后,执行所述安全访问指令对应的操作;其中,所述数据块占用存储空间的大小在预设范围内,所述预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小。
在一种具体的实现方式中,确定所述访问指令为安全访问指令的方法包括:
获取所述访问指令对应的操作码;
当所述操作码为特定操作码时,确定所述访问指令为安全访问指令。
进一步地,当确定所述访问指令为安全访问指令后,获取所述安全访问指令所访问的数据块的方法,包括:
获取所述安全访问指令中携带的虚拟地址;
根据TLB,将所述虚拟地址转化为物理地址;
根据所述预设倍数,对所述物理地址进行移位操作,生成所述安全访问指令所访问的数据块对应的物理块地址;
获取所述物理块地址所指示的内存空间中存储的数据块,并将获取的所述数据块确定为所述安全访问指令所访问的数据块;
其中,所述安全访问指令为安全读指令。
在一种具体的实现方式中,安全访问指令还包括安全写指令,则将所述安全访问指令所访问的数据块进行保密处理,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910398934.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置