hsm
https://baijiahao.baidu.com/s?id=1659679748983782811&wfr=spider&for=pc
在周二举行的英特尔安全日活动上,该公司针对其硬件中注重安全性的功能制定了现在和将来的愿景。
英特尔的Anil Rao和Scott Woodgate在对英特尔SGX(软件保护扩展)的当前和未来的讨论中开始了他们的演讲,但是他们对公司将全内存加密引入未来的Intel CPU的计划的报道更为有趣。
软件防护扩展
英特尔SGX于2014年发布,并于2015年与Skylake微体系结构一起推出,是旨在保护内存区域免受未经授权用户(包括系统管理员在内)的首批硬件加密技术之一。SGX是一组x86_64 CPU指令,它允许进程在经过硬件加密的内存中创建“安全区”。存储在加密区域中的数据仅在CPU内部解密,即使如此,也仅应在区域自身执行的指令请求下解密。
结果,即使具有超级用户(系统管理员)访问运行系统的权限的人也无法有效地读取或更改受SGX保护的飞地。这旨在允许在共享系统(例如云VM主机)上安全地进行机密,高风险的数据处理。使此类工作负载能够从本地拥有和运营的数据中心移出并进入大规模公共云,可以降低运营成本,并可能提高正常运行时间,可扩展性,甚至降低功耗。
英特尔的SGX有几个问题。第一个也是最明显的一点是,它是专有的且特定于供应商的-如果您设计应用程序以利用SGX保护其内存,则该应用程序将仅在Intel处理器上运行。第二个是您必须 围绕SGX 设计应用程序-您不能只打开开关然后打开它。
SGX飞地的大小也受到限制。系统上的所有安全区域都必须适合安全区域页面缓存,该限制当前限制为 总计 128MiB,而不是每个进程128MiB。显然,您不能仅在128MiB中容纳整个操作系统,甚至不能容纳大多数容器,这意味着应用程序开发人员必须对内存的哪些部分是“机密的”和哪些不是“机密的”做出谨慎而极其困难的决定。
IBM的Danny Harnik在SGX飞地内部测试了多个功能,包括Intel sgxsdk API提供的sgx_sha256_msg。
最后,对SGX的使用可能会严重影响性能。IBM的Danny Harnik 在2017年对 SGX性能进行了相当广泛的测试,他发现在SGX 隔离区中执行许多常见的工作负载后,吞吐量很容易看到降低20%至50%。
正如他本人明确指出的那样,Harnik的测试并不是100%完美的-特别是在某些情况下,与SGX相比,他的编译器生成的代码优化程度更低。即使一个人决定将这些案例“可能是可修复的”动手,也可以用来突出一个较早的抱怨-需要仔细开发专门针对SGX用例的应用程序,而不仅仅是翻转假设的“是,请对此加密”开关。\
全内存加密
目前,Software Guard Extensions是唯一可用的Intel产品。但是,在讨论了SGX在现实世界中的使用之后,Rao转向了未来的英特尔技术,特别是全内存加密。英特尔将其全内存加密版本称为TME(总内存加密)或MKTME(多键总内存加密)。不幸的是,这些功能目前还只是蒸气器。尽管英特尔在 去年五月提交了一个庞大的Linux内核 补丁集来启用这些功能,但是仍然没有实际的处理器可以提供这些功能。
由于没有可用的启用TME或MKTME的处理器,因此可以使用当今确实存在的类似技术(AMD的SME(安全内存加密)和SEV(安全加密虚拟化))来解释基本技术概念。出于明显的原因,这不是Intel演示的一部分,但这是在已经实现的现实世界中谈论这些概念的唯一方法。
2016年,AMD提出了一种新技术来保护未授权用户的内存,称为SME(安全内存加密)。与英特尔的SGX不同,SME允许在RAM中的任何页面都可以在硬件中进行加密和解密。任何标记为加密的页面都将使用临时的128位AES密钥进行加密,该密钥在每次重新启动时通过硬件RNG(随机数生成器)生成。这些临时密钥只能由CPU硬件本身访问,不能向用户(包括root或系统管理员级别的用户)公开。
像SGX一样,SME需要开发人员进行一些计划。但是,更严格的SME子集称为TSME(透明安全内存加密),将允许使用SME对整个系统RAM进行加密。作为整个系统的功能,可以在系统BIOS(或UEFI)中启用或禁用TSME,并且不需要应用程序开发人员进行任何特殊计划-启用后,所有内容都被加密,仅此而已。
AMD的内存加密方法所产生的性能影响也远小于Intel SGX。在2018年的一次演讲中,来自韦恩州立大学和休斯敦大学的研究人员表明,大多数工作负载完全不受安全加密虚拟化(AMD SME的子集的支持,该子集允许全VM加密,并且每个涵盖的虚拟机使用单独的密钥),尽管英特尔SGX对性能产生重大影响。
由于英特尔的TME和MKTME目前仍是假设的,因此现在就对其性能的影响进行大胆的预测还为时过早。但随着AMD在我们面前的例子,似乎是合理的期望,他们 应该在使用中几乎没有真正的性能的影响,不像新加坡。
结论
现在可能很难就英特尔的安全路线图进行精彩的演讲。推测性预测漏洞对英特尔处理器的危害大于对竞争对手的伤害,并且该公司还因更快,更易于使用的硬件内存加密技术而在市场上被击败。
Rao和Woodgate通过谈论SGX在Azure中的使用情况以及正在使用中,勇敢面对。但是,显然在AMD的Epyc CPU中,甚至在某些台式机产品中已经实现的系统范围的内存加密方法,将产生更大的持久影响。英特尔关于即将推出的全内存加密的幻灯片被标记为“创新”,但它们看起来更像是在追赶已经建立的竞争。