Marc Meunier 2021年10月29日
将高度敏感的信息(如个人、财务或医疗数据)共享到云上可能存在风险。因为数据在被处理之前必须被解密。在处理之前、期间和之后的短暂时间内,当数据暂时未加密时,黑客可以通过执行内存转储、危害根用户或执行其他恶意行为来进行破坏。
云服务的一个相对较新的功能,称为“保密计算”,将这种风险降至最低。应用程序代码和用户内数据被隔离在一个称为可信执行环境(TEE)的基于硬件的区域中。TEE使代码和数据对外部世界不可见和不可知。计算机堆栈资源(包括操作系统和虚拟机的管理程序)无法访问TEE中的数据,云提供商或其员工也无法查看TEE中的数据。
其结果是更安全的云操作,更容易遵守严格的隐私法规,并将更广泛的活动转移到混合、公共和多云环境。
超越云端
保密计算也可以在云外部使用,因为许多边缘和物联网设备必须保护在用数据。嵌入式系统已经有了自己的硬件保护版本,形式为硬件安全模块(HSM)和可信平台模块(TPM)。但使用这些模块通常需要只有专家才具备的专业知识,而且功能相当有限。
然而,这种情况正在发生变化,因为一些协作性的行业努力已经使普通开发人员能够访问保密计算。现在有许多构建块支持TEE的使用和保密应用程序的开发。
在Arm,我们的目标是简化保密计算的使用。我们还参与了大量的工作,从解决方案构建中抽象出复杂性。我们的目标是帮助开发人员花更少的时间处理基线安全特性,这样他们就可以花更多的时间专注于增加价值的新想法。
模块化方法
这方面的一个例子是我们与Microsoft Azure的物联网团队以及边缘安全开发领跑者Scalys的开发人员的合作。我们共同创造了一种保密计算的模块化方法。
下图所示的方法使用Arm TrustZone,结合Arm项目Cassini计划,在Azure IoT边缘开发机器中提供安全基础。这包括OpenEnclave软件开发工具包(SDK)和Scalys提供的Azure认证的TrustBox Edge。对于更深入的研究,微软和Scalys也在Arm DevSummit 2021上介绍了这个主题。https://devsummit.arm.com/en/sessions/61
边缘/物联网保密计算的模块化解决方案
整体架构提供端到端保护,跨越构建管道、云基础设施和配备保密飞地的终端设备。使用构建管道和目标设备之间的公共对称加密密钥,开发人员可以生成只有目标设备才能解密和执行的加密应用程序。
开发人员使用熟悉的工具,包括EnclaveSDK和VisualStudioIDE。应用程序可以在本地调试和测试,然后再加密并嵌入到一个保密包中,为安全存储和传输做好准备。
Enclave设备蓝图(https://aka.ms/enclave-device-blueprint)的项目页面包括真实世界的实现以及有关Enclave设备、关键组件、解决方案和演示的信息。
我们还编写了一份白皮书,总结了保密计算的趋势,更深入地介绍了Arm/Microsoft/Scalys协作,并链接到支持edge和IoT设备保密计算的行业项目。https://aka.ms/edb-whitepaper