机密计算是一种在计算机处理器的保护区内处理数据的方式。该保护区通常位于远程边缘或公有云服务器内,可保证无人能够查看或更改所处理的工作。
随着用户所处理的数据日益丰富,云和边缘网络正在构建一道名为“机密计算”的新防线,保护用户在该环境中处理的数据。
机密计算的定义
机密计算是一种保护在用数据(例如位于内存中、计算过程中的数据等)并防止任何人查看或更改工作的方法。
机密计算使用与处理器相连的加密密钥创建一个可信的执行环境或安全飞地。该安全数字空间支持一种被称为“认证”的加密签名证明,即通过正确配置硬件和固件来防止他人查看或更改其数据或应用代码。
用安全专家的话来说,机密计算保证了数据和代码的隐私性以及它们的完整性。
机密计算有何独到之处?
机密计算是一种相对较新用于保护在用数据的能力。
多年来,计算机一直使用加密技术对网络上传输的数据和存储在驱动器或非易失性存储芯片中的静态数据进行保护。但由于没有实用的方法来运行加密数据的计算,用户面临着在处理器或主存储器内使用他们的数据时被看到、干扰甚至盗窃的风险。
借助机密计算,系统可以覆盖整个数据生命周期,使数据永远不会被暴露。
机密计算增加了一个新的计算机安全层,在处理器上运行时能够保护正在使用的数据。
过去,计算机安全功能主要侧重于保护企业服务器等用户所拥有的系统上的数据。这种情况下,系统软件看到用户的数据和代码是可以的。
但随着云和边缘计算的出现,用户现在经常在不属于他们的计算机上运行他们的工作负载。因此,机密计算把重点转移到保护用户的数据,使其不受机器所有者的影响。
在运行机密计算时,操作系统、管理程序等在云或边缘计算机上运行的软件仍然可以管理工作,比如为用户程序分配内存等,但它永远无法读取或更改用户分配的内存中的数据。
机密计算如何得名
2015 年的一篇研究论文是使用 x86 CPU 中新的 Security Guard Extensions(Intel SGX)展示什么是可能的其中一个。这种方法被称为 VC3,即可验证的机密云计算(Verifiable Confidential Cloud Computing),之后这个名称(或者至少是这个名称的一部分)被保留了下来。
该论文的主要作者 Felix Schuster 表示:“我们开始把它称为机密云计算。”
四年后,Schuster 在德国波鸿共同创办了 Edgeless Systems。该公司开发的工具使用户可以创建自己的机密计算应用程序,以加强数据保护。
他表示,机密计算“就像给你的数据附加了一份契约,只允许它做某些事情。”
机密计算如何工作?
下面我们就来深入了解机密计算。机密计算建立在一个叫做信任根的基础之上,它基于每个处理器独有的安全密钥。
处理器会检查它是否有可以进行安全、测量启动的合适固件。这个过程会产生参考数据,用来验证芯片是否处于可以开始工作的已知安全状态。
接下来,处理器会建立一个与系统其他部分隔离的安全飞地可信执行环境(TEE),用户的应用就在其中运行。应用将加密数据传入 TEE,对其进行解密,然后运行用户的程序,最后对结果进行加密并发送出去。
在任何时候,机器所有者都无法查看用户的代码或数据。
还有一点很关键:它要向用户证明没有人可以篡改数据或软件。
验证流程使用私钥创建安全证书并存储在公共日志中。用户可以使用网络的传输层安全(TLS)来访问它们以验证保密防御措施是否完好并保护他们的工作负载。
(来源:Jethro Beekman)
该证明是通过一个被称为“认证”的多步骤流程实现的(见上图)。
好消息是,研究人员和商业服务已证明了机密计算的可行性,它通常可以在不显著影响性能的情况下保证数据安全。
机密计算运行全景图
缩小安全周界
因此,用户不再需要信任所有远程的独立云和边缘公司的所有软件和系统管理员。
机密计算关闭了许多黑客喜欢使用的后门。它可以隔离程序及其数据免受来自固件、操作系统、管理程序、虚拟机,甚至计算机上的 USB 端口或 PCI Express 连接器等物理接口的攻击。
根据 Identity Theft Resource Center 的一份报告,这项新一级的安全措施有望减少数据泄露。仅在美国,数据泄露事件就从 2010 年的 662 起上升到 2021 年的 1000 多起。
即便如此,目前尚不存在任何万全之策,但机密计算是一种将控制权直接交给“数据所有者”的优秀安全工具。
机密计算用例
首批使用机密计算的用户包括拥有敏感数据集的用户以及银行、医疗机构和政府等受监管的行业,但这仅仅是个开始。
由于可以保护敏感数据和知识产权,机密计算能够让各个团队放心地开展协作。团队成员都能看到证明其内容和代码安全性的验证。
机密计算的应用实例包括:
公司使用区块链执行智能合约
研究型医院联合训练能够分析病人数据趋势的 AI 模型
零售商、电信运营商和其他位于网络边缘的企业在计算机可能受到物理访问的地方保护个人信息
软件厂商可以销售包含 AI 模型和专有算法的产品,同时保留它们的知识产权
虽然机密计算始于公有云服务,但它将会迅速扩散。
用户需要使用机密计算保护无人值守或难以接触的边缘服务器。企业数据中心可以用它来防范内部攻击,保护机密工作负载不受另一个工作负载的影响。
Everest Group 的市场研究人员估计,机密计算市场在五年内可能增长 26 倍。
Schuster 表示,到目前为止,大多数用户处于概念验证阶段并希望能够马上将工作负载投入生产。
未来的机密计算将不限于特殊用途或敏感的工作负载。这项新一级的安全功能将会像托管它的云服务一样普及。
事实上,专家预测机密计算将会像加密一样被广泛使用。
这项技术的潜力促使各厂商于 2019 年推出了机密计算联盟,这是 Linux 基金会的一部分。该联盟成员包括处理器和云领域的领导者以及数十家软件公司。
该组织的项目之一 Open Enclave SDK 是一个用于构建可信执行环境的框架。
机密计算联盟技术顾问委员会成员、Fortanix 技术副总裁 Jethro Beekman 表示:“我们最大的任务是为构成该生态基础的所有开源项目提供支持。” Fortanix 是首批开发机密计算软件的初创企业之一。
Beekman 表示:“这个令人信服的范式把安全落实到数据层面,而不是去担心基础设施的各处细节,这应该能帮助避免每天都出现关于数据泄露的新闻。”Beekman 在 2016 年所写的博士论文就是关于机密计算的。
机密计算如何发展演化
机密计算的实现方式正在迅速发展演化。
在 CPU 层面,AMD 已发布安全加密虚拟化-安全嵌套分页(SEV-SNP)功能。它将英特尔 SGX 中的进程级保护扩展到整台虚拟机,使用户可以在无需重写应用程序的情况下实现机密计算。
领先的处理器制造商一致支持这种方法。英特尔通过新的可信域扩展提供支持。Arm 将自己的实现方式命名为 Realms。
RISC-V 处理器架构的支持者正在一个名为 Keystone 的开源项目中实现机密计算。
加速机密计算
NVIDIA 正通过其 Hopper 架构 GPU 推出应用于虚拟机机密计算的 GPU 加速。
H100 Tensor Core GPU 能够为各种 AI 和高性能计算用例提供机密计算,使这些安全服务用户能够访问加速计算。
示例:GPU 和 CPU 一同提供加速机密计算服务。
同时,云服务提供商正在提供基于一种或多种基础技术或基于其独家混合技术的服务。
机密计算的下一步是什么
机密计算联盟的 Beekman 表示,随着时间推移,行业准则和标准将逐渐出现并扩展到机密计算的各个方面,包括验证、高效安全的 I/O 等。
虽然机密计算仍是一种相对较新的隐私工具,但它凭借保护代码和数据以及保密的能力成为了一种强大的工具。
展望未来,专家预计机密计算将与其他隐私方法融合,例如完全同态加密(FHE)、联邦学习、差分隐私和其他形式的多方计算。
随着对 AI 和隐私的需求增加,能否使用现代隐私工具箱中的所有元素将是成功的关键。
因此,要在整个安全环境中克服各项挑战并发挥机密计算的优势还有很长的路要走。
即刻点击 “阅读原文” 或扫描下方海报二维码,在 NVIDIA On-Demand 上观看 GTC 精选回放,包括主题演讲相关精选、中国本地精选内容、生成式 AI 专题以及全球各行业及领域最新成果!