安智客之前多次提到过,百度,阿里,Google都在积极布局TEE,都积极发展自己的TEEOS,微软也不会缺席,将为Linux 操作系统带来“可信执行环境”的支持,为机密计算提供安全保障机制,并且通过开源、联盟的方式统一应用接口。
早在今年8月21日,加州圣地亚哥开源峰会上Linux基金会宣布成立“机密计算联盟”(Confidential Computing Consortium),机密计算联盟将汇集硬件供应商、云供应商、开发者、开源专家和学者,托管各种技术开源项目和开放规范,以加速机密计算市场的发展;影响技术和法规标准;并构建为TEE(Trusted Execution Environment,可信执行环境)开发提供正确环境的开源工具。https://confidentialcomputing.io
“对于能够改变一个行业的技术,最早期的工作通常是在整个行业内与开源技术的协作下完成的。”Linux基金会执行董事Jim Zemlin说:“机密计算联盟是未来计算安全的一个领先指标,它将帮助定义和构建开放技术,以支持所使用数据的这种信任基础设施。”
目前机密计算联盟主要是通过提供一个用于构建和签名受硬件保护的受信任应用程序的SDK---open enclave SDK。
目前硬件平台支持英特尔SGX和ARM TrustZone,Linux(X86-64和AARCH-64)和Windows(X86-64)。
目前参与者计划向机密计算联盟提供几个开源项目,包括:
Intel® Software Guard Extensions(Intel®SGX)软件开发工具包,这是基于SGX实现的,旨在帮助应用程序开发者使用受保护的安全区保护代码和数据免于在硬件层泄露或修改。
https://01.org/intel-softwareguard-extensions
Microsoft Open Enclave SDK是一个开源框架,允许开发者使用一个独立的安全区抽象,构建可信的执行环境应用程序。开发者可以构建跨多个TEE体系结构运行的应用程序。
https://openenclave.io/
Red Hat Enarx是一个使用TEE保护应用程序提供硬件独立性的项目。受信任的执行环境(TEE)提供了平台抽象。
http://enarx.io/
该功能运作在“保密计算”(Confidential Computing)这个项目名下,旨在让应用程序在受保护的环境中执行,以避免操作系统本身、数据和代码受到损害。该项目的目标是:创建一种受信任的执行环境(TEE),可以创建和运行“私有,可替代,无服务器”应用程序的方法。换句话说,为TEE提供平台抽象。
此外,被 IBM 收购的 Red Hat,也在贡献其 Enrax 框架,主要面向公共云服务。
注:
机密计算:专注于保护使用中的数据,云计算中的当前方法处理静态数据和传输中的数据,但对使用中的数据进行加密被认为是为敏感数据提供完全加密的生命周期的具挑战性的步骤。机密计算将使加密的数据能够在内存中进行处理,而不会暴露给系统的其他部分。机密计算将减少敏感数据的暴露,并为用户提供更好的控制和透明度。
另外,去年5月Google 开源了一个机密运算开发框架 Asylo。该框架旨在提供一个在可信执行环境TEE中执行的应用的开发框架和 SDK ,以确保应用及资料的安全性。TEE通过一个专门的执行环境 Enclave 来有效防范针对操作系统、固件、驱动等底层软件对战的攻击,减轻内部恶意人员或是未经授权的第三方泄漏资料的风险。
https://github.com/google/asylo
还有RISC-V也不干落后。
Keystone: Open-source Secure Hardware Enclave 是 MIT 和 UC Berkeley 在2018年初联合启动的一个开源计划,准备建立一个支持硬件隔离运行空间的可信执行环境TEE,基于它的安全计算将能保护私有数据在共有平台上的安全运行,阻止第三方程序甚至操作系统对安全计算的窥探和篡改。他们认为,在enclave方案中,当前已经有商业实现,比如Intel的SGX和ARM的TrustZone,但由于其封闭性生态并没有大规模应用,在安全风险方面也存在无法有效审计的问题。
早在 2016 年,MIT 的研究人员在 Sanctum 项目中尝试使用 RISC-V 实现 Intel SGX 类似的功能基础PoC。Keystone作为Sanctum的后续版本在Sanctum的基础上使用了PMP以增强monitor本身的安全性,同时也有计划简化用户空间的开发库。
https://github.com/keystone-enclave