上虞论坛 上虞 Intel承诺在即将到来的cpu中实现全内存加密

Intel承诺在即将到来的cpu中实现全内存加密

在英特尔周二的安全日活动中,该公司为其硬件中以安全为中心的功能制定了当前和未来的愿景。

英特尔的Anil Rao和Scott Woodgate开始了他们的演讲,讨论了英特尔的SGX(软件保护扩展),但他们对公司计划将全内存加密带到未来英特尔CPU的报道更有趣。

英特尔SGX-宣布于2014年,并于2015年与Skylake微体系结构一起推出-是第一批硬件加密技术之一,旨在保护内存区域不受未经授权的用户的影响,直到并包括系统管理员本身。 SGX是一组x86_64CPU指令,允许进程在内存中创建一个硬件加密的“飞地”。 存储在加密飞地中的数据只在CPU中解密-即使如此,它也只在飞地本身执行的指令的请求下解密。

因此,即使有根(系统管理员)访问运行系统的人也不能有效地读取或更改SGX保护的飞地。 这是为了允许在共享系统上安全地进行机密、高风险的数据处理-例如云VM主机。 使这种工作负载能够从本地拥有和操作的数据中心转移到大规模的公共云中,可以降低操作成本,并可能更好地运行时间、可伸缩性,甚至降低功耗。

英特尔的SGX有几个问题。 第一个也是最明显的是,它是专有的和特定于供应商的-如果您设计一个应用程序来使用SGX来保护其内存,那么该应用程序将只在英特尔处理器上运行。 第二,你必须围绕SGX设计你的应用程序-你不能只是翻转一个开关并打开它。

SGX飞地的规模也有限。 系统上的所有飞地必须适合于EnclavePage缓存,该缓存目前仅限于128MiBtotal-而不是每个进程128MiB。 显然,您不能在128MIB中安装整个操作系统-甚至大多数容器-这意味着应用程序开发人员必须仔细和极其困难地决定内存的哪些部分是“机密”的,哪些不是。

最后,SGX的使用可能会受到严重的性能影响。 IBM的Danny Harnik在2017年相当广泛地测试了SGX的性能,他发现许多常见的工作负载在SGX飞地内执行时很容易看到吞吐量下降20%至50%。

哈尼克的测试并不是100%完美的,正如他自己明确指出的,特别是在某些情况下,他的编译器似乎产生了比没有SGX更少优化的代码。 即使人们决定将这些案例视为“可能是可修复的”,它们也有助于突出先前的投诉-需要仔细开发专门用于SGX用例的应用程序,而不仅仅是翻转一个假设的“是的,请加密这个”开关。

目前,软件保护扩展是唯一的英特尔提供。 但在讨论了SGX在现实世界中的使用之后,拉奥转向了未来的英特尔技术-特别是全内存加密。 英特尔将其版本的全内存加密称为TME(总内存加密)或MKTM E(多键总内存加密)。 不幸的是,这些功能目前是蒸汽软件。 虽然英特尔去年5月提交了一个巨大的Linux内核补丁程序来启用这些功能,但仍然没有提供它们的真实世界处理器。

由于没有TME或MKTME启用的处理器可用,使用今天确实存在的类似技术解释基本技术概念是有意义的-AMD的中小企业(安全内存加密)和SEV(安全加密虚拟化)。 出于明显的原因,这不是英特尔演讲的一部分-但这是唯一的方式来谈论概念已经实现,现实世界的意义。

中小企业和SGX一样,需要开发商进行一些规划。 然而,一个更严格的SME子集,称为TSME-透明安全内存加密-将允许使用SME对整个系统RAM进行加密。 作为一个完整的系统功能,TSME在系统BIOS(或UE FI)中被启用或禁用,它不需要应用程序开发人员的特殊规划-一旦启用,一切都是加密的,这就是所有关于它的话。

AMD的内存加密方法对性能的影响也远小于英特尔S GX. 在2018年的一次演讲中,韦恩州立大学和休斯顿大学的研究人员显示,尽管英特尔的SGX对性能有重大影响,但大多数工作量完全没有受到安全加密虚拟化(AMD中小企业的一个子集,允许全VM加密,每个覆盖的虚拟机都使用单独的密钥)的影响。

由于英特尔的TME和MKTME目前仍然是假设的,现在还不能对它们的性能影响做出任何大胆的预测。 但是,有了AMD的例子在我们面前,似乎合理的期望,他们应该没有真正的性能影响在使用,不像SGX。

拉奥和伍德盖特通过谈论SGX在Azure中的使用情况来勇敢地面对事物。 但似乎很明显,在AMD的EpycCPU中已经实现的全系统内存加密方法-甚至在他们的一些桌面线路中-将产生更大的持久影响。 英特尔关于自己即将推出的全内存加密的幻灯片被贴上了“创新”的标签,但它们看起来更像是赶上了已经确立的竞争。

本文来自网络,不代表上虞论坛立场,转载请注明出处:https://www.shangyuluntan.com/11655

作者: sylt

上一篇
下一篇