内存数据保护方法、装置、设备以及存储介质制造方法及图纸

技术编号:26377008 阅读:26 留言:0更新日期:2020-11-19 23:45
本发明专利技术提供一种内存数据保护方法、装置、设备以及存储介质。该方法包括:获取访问指令,当确定访问指令为安全访问指令时,获取安全访问指令所访问的数据块,其中,所述安全访问指令为预先设置在硬件中的特定指令,将获取的数据块进行保密处理后,执行安全访问指令对应的操作,其中,所述数据块占用存储空间的大小在预设范围内,预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小,实现了对内存数据的高效保护,减少了系统功耗和性能损失。

【技术实现步骤摘要】
内存数据保护方法、装置、设备以及存储介质
本专利技术涉及计算机安全
,尤其涉及一种内存数据保护方法、装置、设备以及存储介质。
技术介绍
在当前信息时代,计算机应用日益普及,计算机系统安全越来越多地受到关注。目前计算机系统通常采用明文方式将程序指令和数据存放在存储器中,很多攻击方法都利用存储器的这个特点,通过获取及篡改存储器中的数据实现攻击。因此,如何保护程序在存储器中的数据安全,对于整个计算机系统的安全至关重要。目前普遍采用安全内存加密(SecureMemoryEncryption,SME)技术对存储器中的数据进行保护,该技术在处理器上集成的内存控制器上设置了专门的加密硬件,每个内存控制器包含一个高性能的高级加密标准(AdvancedEncryptionStandard,AES)算法的硬件引擎。当往内存写数据时,通过该硬件引擎对内存数据进行加密,当从内存读数据时,通过该硬件引擎对待读取数据进行相应的解密,如图1所示。内存中包含很多物理内存页,数据是以页的形式依次存储在内存中。在上述对数据进行加密的过程中,控制哪些物理内存页被加密是通过在操作系统中对页表进行设置来实现。在操作系统中,将页表项(PTE)中物理地址的第47位(简称为C-bit)设置为1,则表示对该页要进行加解密,如果置为0,表示正常访问。然而,由于SME技术并不能灵活应用,仅能以页为单位对内存数据进行加密,容易导致性能损失和产生较大的功耗。
技术实现思路
本专利技术提供一种内存数据保护方法、装置、设备以及存储介质,实现了对内存数据的高效保护,减少了功耗和性能损失。第一方面,本专利技术提供一种内存数据保护方法,包括:获取访问指令;当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为预先设置在硬件中的特定指令;将获取的所述数据块进行保密处理后,执行所述安全访问指令对应的操作;其中,所述数据块占用存储空间的大小在预设范围内,所述预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小。在一种具体的实现方式中,确定所述访问指令为安全访问指令的方法包括:获取所述访问指令对应的操作码;当所述操作码为特定操作码时,确定所述访问指令为安全访问指令。进一步地,当确定所述访问指令为安全访问指令后,获取所述安全访问指令所访问的数据块的方法,包括:获取所述安全访问指令中携带的虚拟地址;根据TLB,将所述虚拟地址转化为物理地址;根据所述预设倍数,对所述物理地址进行移位操作,生成所述安全访问指令所访问的数据块对应的物理块地址;获取所述物理块地址所指示的内存空间中存储的数据块,并将获取的所述数据块确定为所述安全访问指令所访问的数据块;其中,所述安全访问指令为安全读指令。在一种具体的实现方式中,安全访问指令还包括安全写指令,则将所述安全访问指令所访问的数据块进行保密处理,包括:若所述安全访问指令为安全读指令,则根据所述物理块地址对从内存空间中读取的数据块进行解密;若所述安全访问指令为安全写指令,则对需要写入所述物理块地址对应的内存空间的数据块进行加密;执行所述安全访问指令对应的操作,包括:若所述安全访问指令为安全读指令,则从所述内存空间中读取解密后的数据块;若所述安全访问指令为安全写指令,则将加密后的所述数据块存储至所述内存空间中。进一步地,在所述硬件中预设有查找表,所述查找表包括至少一个数据块的物理块地址和有效位的对应关系;若所述访问指令为安全写指令,则将所述安全访问指令所访问的数据块进行保密处理的同时,还包括:在所述查找表中查找所述数据块的物理块地址;当所述查找表中包含所述数据块的物理块地址,且所述数据块的物理块地址对应的有效位为有效状态时,对所述查找表不进行操作;当所述查找表中包含所述数据块的物理块地址,且所述数据块的物理块地址对应的有效位为无效状态时,将所述数据块的物理块地址对应的有效位置为有效状态;当所述查找表中不包含所述数据块的物理块地址时,将所述数据块的物理块地址存储至所述查找表中的空闲位置,并将所述数据块的物理块地址对应的有效位置为有效状态;当所述访问指令为非安全访问指令时,还包括:获取所述非安全访问指令所访问的物理块地址;当所述查找表包含所述非安全访问指令所访问的物理块地址,且所述非安全访问指令所访问的物理块地址对应的有效位为有效状态时,根据所述非安全访问指令所访问的物理块地址,获取所述非安全访问指令所访问的数据块;将所述非安全访问指令所访问的数据块进行保密处理后,执行所述非安全访问指令对应的操作。第二方面,本专利技术提供一种内存数据保护装置,包括:处理器核心模块,用于获取访问指令;所述处理器核心模块还用于当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为预先设置在硬件中的特定指令;内存控制器模块,用于将获取的所述数据块进行保密处理后,执行所述安全访问指令对应的操作;其中,所述数据块占用存储空间的大小在预设范围内,所述预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小。在一种具体的实现方式中,所述处理器核心模块还用于:获取所述访问指令对应的操作码;当所述操作码为特定操作码时,确定所述访问指令为安全访问指令。进一步地,所述处理器核心模块具体用于:获取所述安全访问指令中携带的虚拟地址;根据TLB,将所述虚拟地址转化为物理地址;根据所述预设倍数,对所述物理地址进行移位操作,生成所述安全访问指令所访问的数据块对应的物理块地址;获取所述物理块地址所指示的内存空间中存储的数据块,并将获取的所述数据块确定为所述安全访问指令所访问的数据块;其中,所述安全访问指令为安全读指令。在一种具体的实现方式中,安全访问指令还包括安全写指令,则所述装置还包括加解密模块;所述加解密模块用于:若所述安全访问指令为安全读指令,则根据所述物理块地址对从内存空间中读取的数据块进行解密;若所述安全访问指令为安全写指令,则对需要写入所述物理块地址对应的内存空间的数据块进行加密;执行所述安全访问指令对应的操作,包括:若所述安全访问指令为安全读指令,则从所述内存空间中读取解密后的数据块;若所述安全访问指令为安全写指令,则将加密后的所述数据块存储至所述内存空间中。进一步地,所述装置还包括物理块地址记录模块;在所述硬件中预设有查找表,所述查找表包括至少一个数据块的物理块地址和有效位的对应关系;所述物理块地址记录模块用于:若所述访问指令为安全写指令,则将所述安全访问指令所访问的数据块进行保密处理的同时,还包括:在所述查找表中查找所述数据块的物理块地址;当所述查找表中包含所本文档来自技高网...

【技术保护点】
1.一种内存数据保护方法,其特征在于,包括:/n获取访问指令;/n当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为预先设置在硬件中的特定指令;/n将获取的所述数据块进行保密处理后,执行所述安全访问指令对应的操作;其中,所述数据块占用存储空间的大小在预设范围内,所述预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小。/n

【技术特征摘要】
1.一种内存数据保护方法,其特征在于,包括:
获取访问指令;
当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为预先设置在硬件中的特定指令;
将获取的所述数据块进行保密处理后,执行所述安全访问指令对应的操作;其中,所述数据块占用存储空间的大小在预设范围内,所述预设范围为一个缓存行所占用存储空间的预设倍数至一个物理内存页所能存储数据量的大小。


2.根据权利要求1所述的方法,其特征在于,确定所述访问指令为安全访问指令的方法包括:
获取所述访问指令对应的操作码;
当所述操作码为特定操作码时,确定所述访问指令为安全访问指令。


3.根据权利要求1或2所述的方法,其特征在于,当确定所述访问指令为安全访问指令后,获取所述安全访问指令所访问的数据块的方法,包括:
获取所述安全访问指令中携带的虚拟地址;
根据转换检测缓冲区TLB,将所述虚拟地址转化为物理地址;
根据所述预设倍数,对所述物理地址进行移位操作,生成所述安全访问指令所访问的数据块对应的物理块地址;
获取所述物理块地址所指示的内存空间中存储的数据块,并将获取的所述数据块确定为所述安全访问指令所访问的数据块;
其中,所述安全访问指令为安全读指令。


4.根据权利要求3所述的方法,其特征在于,安全访问指令还包括安全写指令,则将所述安全访问指令所访问的数据块进行保密处理,包括:
若所述安全访问指令为安全读指令,则根据所述物理块地址对从内存空间中读取的数据块进行解密;
若所述安全访问指令为安全写指令,则对需要写入所述物理块地址对应的内存空间的数据块进行加密;
执行所述安全访问指令对应的操作,包括:
若所述安全访问指令为安全读指令,则从所述内存空间中读取解密后的数据块;
若所述安全访问指令为安全写指令,则将加密后的所述数据块存储至所述内存空间中。


5.根据权利要求3或4所述的方法,其特征在于,在所述硬件中预设有查找表,所述查找表包括至少一个数据块的物理块地址和有效位的对应关系;若所述访问指令为安全写指令,则将所述安全访问指令所访问的数据块进行保密处理的同时,还包括:
在所述查找表中查找所述数据块的物理块地址;
当所述查找表中包含所述数据块的物理块地址,且所述数据块的物理块地址对应的有效位为有效状态时,对所述查找表不进行操作;
当所述查找表中包含所述数据块的物理块地址,且所述数据块的物理块地址对应的有效位为无效状态时,将所述数据块的物理块地址对应的有效位置为有效状态;
当所述查找表中不包含所述数据块的物理块地址时,将所述数据块的物理块地址存储至所述查找表中的空闲位置,并将所述数据块的物理块地址对应的有效位置为有效状态;
当所述访问指令为非安全访问指令时,还包括:
获取所述非安全访问指令所访问的物理块地址;
当所述查找表包含所述非安全访问指令所访问的物理块地址,且所述非安全访问指令所访问的物理块地址对应的有效位为有效状态时,根据所述非安全访问指令所访问的物理块地址,获取所述非安全访问指令所访问的数据块;
将所述非安全访问指令所访问的数据块进行保密处理后,执行所述非安全访问指令对应的操作。


6.一种内存数据保护装置,其特征在于,包括:
处理器核心模块,用于获取访问指令;
所述处理器核心模块还用于当确定所述访问指令为安全访问指令时,获取所述安全访问指令所访问的数据块;其中,所述安全访问指令为...

【专利技术属性】
技术研发人员:章隆兵李亚伟王焕东肖俊华王剑汪文祥
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1