当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于存储器保护的高速缓存和数据组织制造技术

技术编号:16707979 阅读:21 留言:0更新日期:2017-12-02 23:13
本公开涉及用于存储器保护的高速缓存和数据组织。可以通过在提供对加密数据的存储器保护的同时组织高速缓存和/或数据结构来加快设备中的存储器保护操作。示例设备可以包括处理模块和存储器模块。处理模块可以包括存储器加密引擎(MEE),所述存储器加密引擎用于对从所述存储器模块加载的加密数据进行解密、或者使用存储在所述存储器模块中的安全元数据在同样存储于所述存储器模块中之前对明文数据进行加密。示例安全元数据可以包括版本(VER)数据、存储器认证码(MAC)数据和计数器数据。与本公开一致,与所述MEE相关联的高速缓存可以被分区以将所述VER和MAC数据与计数器数据分开。数据组织可以包括:包括对应于同一数据线中特定数据的所述VER和MAC数据。

Cache and data organization for memory protection

The present disclosure relates to cache and data organizations for memory protection. The memory protection operation in the device can be accelerated by organizing cache and / or data structures while providing memory protection for encrypted data. The sample device can include a processing module and a memory module. The processing module may include a memory encryption engine (MEE), the memory encryption engine for security metadata decrypts encrypted data from the memory module is loaded or stored in the memory module in the same storage prior to the memory module of the plaintext data is encrypted. The sample security metadata can include Version (VER) data, memory authentication code (MAC) data, and counter data. In accordance with the present disclosure, the cache associated with the MEE may be partitioned to separate the VER and MAC data from the counter data. The data organization may include: including the VER and MAC data that correspond to the specific data in the same data line.

【技术实现步骤摘要】
【国外来华专利技术】用于存储器保护的高速缓存和数据组织
本公开涉及数据安全,并且更具体地涉及可以通过高速缓存分区和/或数据组织来实现加快存储器保护的设备。
技术介绍
随着越来越多的日常交易变得电子化,电子数据安全已经成为开发的重点。计算设备不断被用来交换金融数据、个人标识数据等。因此,黑客可能企图损害计算设备以访问这种有价值的信息。例如,恶意软件(例如,恶意程序)可能会被加载以被动或主动地攻击计算设备。被动攻击可包括:恶意程序观察在处理器与存储器之间传递的数据,以获取密码或其他敏感或机密数据。主动攻击可涉及改变存储器中所存储的数据以触发非典型结果,如允许未经许可的用户访问计算设备。在任一实例中,计算设备的存储器中的与计算设备中的处理器进行交换的明文(未加密)数据等是主要的漏洞。设备制造商、部件制造商、软件开发商等继续努力开发对抗漏洞的保护措施。基于软件的恶意程序检测和消除解决方案通常在计算设备中的操作系统(OS)的特权级别下运行。这些解决方案可以有效抵御较低权限的攻击,但可能无法对抗像根程序病毒包(rootkit)那样的较高权限的恶意程序。现在正在出现一些基于硬件的保护解决方案,这些保护解决方案在启动计算设备的过程中很早就实行,并且因此可能会甚至在恶意程序活动之前建立保护措施。已知良好的保护固件可能会在启动期间早期加载,所述保护固件可以执行各种功能,例如检查后续加载的软件是否与已知良好的版本相适合、建立存储器的保护区,其中可以保护数据免受敌意软件的访问等。尽管这些保护措施的益处可能是显而易见的,硬件保护系统可能引入的至少一个问题是非常低水平的额外处理开销导致例如计算设备的整体性能较慢。附图说明所要求保护的主题的各种实施例的特征和优点将随着以下具体实施方式进行并且通过参照附图变得明显,其中,相同的数字指代相同的部件,并且在附图中:图1展示了根据本公开的至少一个实施例的包括用于存储器保护的高速缓存和数据组织的示例设备;图2展示了根据本公开的至少一个实施例可用的设备的示例配置;图3展示了根据本公开的至少一个实施例的与读取数据相关联的攀树(treewalk)的示例;图4展示了根据本公开的至少一个实施例的与写入数据相关联的攀树的示例;图5展示了根据本公开的至少一个实施例的现有的高速缓存和数据组织以及改进的高速缓存和数据组织的示例;图6展示了根据本公开的至少一个实施例的用于存储器保护的示例操作。虽然以下具体实施方式将参考说明性实施例进行,但是许多替代方案、修改及其变体将对本领域的技术人员而言是明显的。具体实施方式本公开涉及用于存储器保护的高速缓存和数据组织。总体上,可以通过在仍然对加密数据提供存储器保护的同时组织高速缓存和/或数据结构来加快设备中的存储器保护操作(例如,变得更快)。示例设备可以至少包括处理模块和存储器模块。处理模块可以包括存储器加密引擎(MEE),所述存储器加密引擎用于对从所述存储器模块加载的加密数据进行解密、或者使用存储在所述存储器模块中的安全元数据在同样存储于所述存储器模块中之前对明文数据进行加密。所述安全元数据可以包括版本(VER)数据、存储器认证码(MAC)数据和计数器数据。与本公开一致,与所述MEE相关联的高速缓存可以被分区以将所述VER和MAC数据与计数器数据分开。将VER和MAC数据与计数器数据分开可以增加用于在MEE高速缓存中定位数据的成功率,减少从存储器加载的安全元数据量,并且提高整体数据处理性能。数据组织可以包括:例如,包括对应于同一数据线中的特定数据的VER和MAC数据,这可以减少存储器保护所需的读取数量,从而可以提高数据处理性能。在至少一个实施例中,包括存储器保护的示例设备可以包括存储器模块和处理模块。处理模块可以至少包括MEE,所述MEE用于进行以下各项中的至少一项:使用从所述存储器模块加载的安全元数据对从所述存储器模块加载的加密数据进行解密;或者使用所述安全元数据在存储于所述存储器模块中之前对明文数据进行加密。MEE至少包括用于保持所述安全元数据的分区高速缓存。在至少一个实施例中,所述处理模块可以包括用于处理所述明文数据的至少一个处理核、以及用于在处理过程中保持所述明文数据的至少一部分的至少一个核高速缓存。例如,所述至少一个处理核可以用于从MEE接收所述经解密的数据,并且在存储于所述存储器模块中之前将所述明文数据提供给MEE以便进行加密。MEE可以用于对所述加密数据进行解密并且使用计数器模式加密来对所述明文数据进行加密。所述安全元数据可以至少包括与所述加密数据或明文数据相对应的MAC数据、VER数据和计数器数据。就此而言,MEE可以进一步用于至少使用所述MAC数据来认证从所述存储器模块加载的所述加密数据、并且至少使用所述计数器数据来认证所述VER数据。例如,MEE高速缓存可以包括用于保持VER和MAC数据的第一分区。就此而言,MEE可以进一步用于确定存在于所述第一分区中的版本数据已经被认证。MEE高速缓存还可以包括用于保持计数器数据的第二分区。在至少一个实施例中,MAC和VER数据可以被存储在数据线中,所述数据线在单次读取操作中可从所述存储器模块加载到所述第一分区中。与本公开一致,能够对数据进行加密和解密的设备的替代配置可以包括例如存储器模块和处理模块,所述处理模块至少包括MEE,所述MEE用于进行以下各项中的至少一项:使用从所述存储器模块加载的安全元数据对从所述存储器模块加载的加密数据进行解密;或者使用所述安全元数据在存储于所述存储器模块中之前对明文数据进行加密,其中,所述安全元数据至少包括与存储于数据线中的所述加密数据或明文数据相对应的MAC数据和VER数据,所述数据线在单次读取操作中可从所述存储器模块加载。MEE可以进一步包括用于保持所述安全元数据的高速缓存。高速缓存可以包括用于保持MAC和VER数据的第一分区。安全元数据可以进一步包括计数器数据,并且高速缓存可以进一步包括用于保持所述计数器数据的第二分区。例如,MEE可以用于至少使用所述MAC数据来认证从所述存储器模块加载的所述加密数据、并且至少使用所述计数器数据来认证所述VER数据。与本公开一致,一种用于存储器保护的方法可以例如包括:接收用于对从存储器模块加载的加密数据进行解密或用于对待存储在所述存储器模块中的明文数据进行加密的请求;判定与所述加密数据或明文数据相对应的安全元数据是否已经存在于分区高速缓存中;以及如果确定了所述安全元数据已经存在于所述分区高速缓存中,则使用所述安全元数据来对所述加密数据进行解密或对所述明文数据进行加密。图1展示了根据本公开的至少一个实施例的包括用于存储器保护的高速缓存和数据组织的示例设备。最初,在描述与本公开一致的各种实施例时,可以参考诸如由英特尔公司开发的软件防护扩展(SoftwareGuardExtensions:SGX)、可能组成SGX的组件以及SGX可能运行的方式的技术。SGX已经被本文中采用以提供用于理解各个公开的实施例的可容易理解的观点,并且不旨在将实施方式限于仅采用SGX。此外,如本文所提及的,“存储器保护”总体上可以包括通过加密、完整性和/或重放保护来保护数据的机密性。完整性保护可以防御攻击,其中例如攻击者可以在解密之前修改存储器中的加密数据。重放保护可以防止攻击,本文档来自技高网...
用于存储器保护的高速缓存和数据组织

【技术保护点】
一种包括存储器保护的设备,所述设备包括:存储器模块;以及处理模块,所述处理模块至少包括:存储器加密引擎,所述存储器加密引擎用于进行以下各项中的至少一项:使用从所述存储器模块加载的安全元数据对从所述存储器模块加载的加密数据进行解密;或者使用所述安全元数据在存储于所述存储器模块中之前对明文数据进行加密,所述存储器加密引擎至少包括用于保持所述安全元数据的分区高速缓存。

【技术特征摘要】
【国外来华专利技术】2015.03.18 US 14/661,0441.一种包括存储器保护的设备,所述设备包括:存储器模块;以及处理模块,所述处理模块至少包括:存储器加密引擎,所述存储器加密引擎用于进行以下各项中的至少一项:使用从所述存储器模块加载的安全元数据对从所述存储器模块加载的加密数据进行解密;或者使用所述安全元数据在存储于所述存储器模块中之前对明文数据进行加密,所述存储器加密引擎至少包括用于保持所述安全元数据的分区高速缓存。2.如权利要求1所述的设备,其中,所述处理模块包括用于处理所述明文数据的至少一个处理核以及用于在处理过程中保持所述明文数据的至少一部分的至少一个核高速缓存。3.如权利要求2所述的设备,其中,所述至少一个处理核用于从所述存储器加密引擎接收所述经解密的数据,并且在存储于所述存储器模块中之前将所述明文数据提供给所述存储器加密引擎以便加密。4.如权利要求1所述的设备,其中,所述存储器加密引擎用于对所述加密数据进行解密并且使用计数器模式加密来对所述明文数据进行加密。5.如权利要求1所述的设备,其中,所述安全元数据至少包括与所述加密数据或所述明文数据相对应的存储器认证码数据、版本数据和计数器数据。6.如权利要求5所述的设备,其中,所述存储器加密引擎用于至少使用所述存储器认证码数据来认证从所述存储器模块加载的所述加密数据,并且至少使用所述计数器数据来认证所述版本数据。7.如权利要求5所述的设备,其中,所述存储器加密引擎高速缓存包括用于保持所述版本数据和所述存储器认证码数据的第一分区。8.如权利要求7所述的设备,其中,所述存储器加密引擎用于确定存在于所述第一分区中的版本数据已经被认证。9.如权利要求7所述的设备,其中,所述存储器加密引擎高速缓存包括用于保持所述计数器数据的第二分区。10.如权利要求5所述的设备,其中,所述存储器认证码数据和所述版本数据被存储在数据线中,所述数据线在单次读取操作中能从所述存储器模块加载到所述第一分区中。11.一种包括存储器保护的设备,所述设备包括:存储器模块;以及处理模块,所述处理模块至少包括存储器加密引擎,所述存储器加密引擎用于进行以下各项中的至少一项:使用从所述存储器模块加载的安全元数据对从所述存储器模块加载的加密数据进行解密;或者使用所述安全元数据在存储于所述存储器模块中之前对明文数据进行加密,其中,所述安全元数据至少包括与存储于数据线中的所述加密数据或明文数据相对应的存储器认证码数据和版本数据,所述数据线在单次读...

【专利技术属性】
技术研发人员:S·查博拉R·玛卡拉姆J·麦克考密克B·巴塔查里亚
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1