苹果私有云计算机 (PCC) 侧重于加强与节点的通信,而保密计算侧重于使用中的加密。PCC 通过强化基础设施提高信任,保密计算则假定基础设施不受信任,通过加密保护数据。两者都包含远程证明功能,但服务于不同的验证目的。选择取决于威胁模型和基础设施约束。
译自:Apple’s Private Cloud Compute vs. Confidential Computing
作者:Marina Moore
你可能听说过苹果去年宣布的私有云计算机 (PCC),它允许私有访问 Apple Intelligence。 伴随着围绕这项技术和保密计算的所有讨论,以及安全领域中“CC”首字母缩略词的激增,我经常被问到:这些是同一回事吗?
简短的回答是否定的。 但在这里,我们将详细介绍,并比较私有云计算机和保密计算的威胁模型,以了解每种技术实际解决了哪些问题。
在这个较长的答案中,很明显,虽然这两种技术都使用专用硬件并允许对机器进行远程证明,但 PCC 侧重于加强与节点的通信,而保密计算侧重于使用中的加密。
理解这种区别对于评估安全技术并就保护敏感工作负载做出明智决策的组织至关重要。
什么是苹果的私有云计算机?
苹果公司去年夏天宣布了 PCC,作为其私有、离线使用 AI 模型的解决方案。 以前,苹果一直专注于设备端处理,允许用户数据保留在设备上。 随着过去几年中大型 AI 模型的兴起,这种设备端处理不再可行,这促使苹果开发了 PCC。
PCC 的想法是在使用云计算资源的同时,实现与设备端处理类似的隐私。
具体来说,PCC 涉及使用强化的硬件软件供应链创建的专用节点。 这些节点使用安全启动来确保所有代码都由硬件支持的密钥签名,并且所有静态数据都使用无法在重新启动之间访问的随机密钥进行加密。
数据从用户设备加密到特定的 PCC 节点,因此攻击者无法将流量定向到受损节点。 有关更多详细信息,包括一些非常有趣的细微攻击,我建议阅读苹果的完整说明。
我想重点介绍的一个功能是远程证明。 PCC 使用远程证明来允许节点以加密方式证明正在运行公开列出的软件。 这种远程证明不仅允许苹果,也允许外部研究人员测试此断言。
这里的重点是证明软件的完整性并实现公共可验证性——创建关于实际运行代码的透明度。 这为防止苹果本身侵犯用户隐私提供了强大的保护。
PCC 的威胁模型:PCC 主要防御网络级攻击、中间人攻击以及不受信任的中介可能拦截或重定向用户数据的场景。 它还通过其透明机制防止苹果本身潜在的滥用。
那么,这与保密计算相比如何呢?
什么是保密计算?
保密计算允许对使用中的数据进行加密。 它通过在硬件可信执行环境 (TEE) 上运行敏感应用程序来实现。 此 TEE 与 CPU 并排放置,并提供数据完整性、数据保密性和代码完整性。
实际上,这会将信任从软件转移到硬件,并确保其他用户,甚至操作系统,都无法干扰或读取应用程序中的数据。 有关更多详细信息,请参阅我之前关于保密计算的文章。
我想为进行比较而重点介绍的一个功能是远程证明。 在保密计算中,远程证明提供了应用程序正在 TEE 上运行的证明。 TEE 上的应用程序和环境由硬件密钥签名,允许远程验证器确保预期的应用程序正在预期的 TEE 上运行。
正如我们在之前关于远程证明的文章中所探讨的那样,这种机制侧重于证明 TEE 执行和应用程序在隔离硬件环境中的身份。
保密计算的威胁模型:保密计算防御特权软件攻击(包括受损的操作系统和虚拟机监控程序)、共享云基础设施中的多租户风险以及云提供商本身在处理过程中无法完全信任敏感数据的场景。
PCC 和保密计算有哪些相似之处?
PCC 和保密计算都包含远程证明功能。 两者都向远程方证明哪个设备上运行了什么,尽管它们服务于不同的验证目的并在技术堆栈的不同层上运行。
这两种技术也使用专门的硬件来实现安全性。 PCC 使用专门的硬件供应链来防止篡改 PCC 节点,并在这些节点上使用硬件密钥。 保密计算使用硬件 TEE 在隔离环境中运行代码,并使用硬件签名密钥。
主要区别:PCC 与保密计算
PCC 和保密计算具有根本不同的目标和威胁模型。 PCC 提供与云设备的强化通信,以确保数据在传输和处理过程中的隐私,但它不会在 PCC 节点上运行时加密应用程序。 数据在受信任的 PCC 环境中解密并以明文方式处理。
另一方面,保密计算为在远程共享基础设施上运行的敏感应用程序提供使用中的加密和隔离。 数据即使在处理过程中也保持加密状态,只能在受硬件保护的 TEE 环境中访问。
简而言之:PCC 通过强化基础设施本身来提高对云设备和与其通信路径的信任,而保密计算假定云设备和基础设施将保持不受信任,而是通过加密(即使在处理过程中)来保护数据。
远程证明机制的重点也不同。 PCC 的证明强调软件透明度和公共可验证性,以通过开放性建立信任。 保密计算的证明证明了在隔离硬件环境中的安全执行,侧重于技术保证而不是透明度。
我应该使用 PCC 还是保密计算?
虽然 PCC 为使用云 AI 处理的苹果设备提供了强大的保护,但它不是适用于所有人的模型。 苹果拥有完善的硬件供应链,用于构建受信任的节点,并且它控制着这些节点和连接到这些节点的设备,从而提供了一些强大的加密保证。 如果没有这些因素,PCC 将很难复制。
对于希望保护其无法完全控制的云环境中的敏感工作负载的组织来说,保密计算提供了一种更广泛适用的方法。 即使在使用第三方云提供商和共享基础设施时,它也能提供保护,使其适用于苹果严格控制的生态系统之外的更广泛的用例。
这两种方法之间的选择取决于您的特定威胁模型、基础设施约束以及对云环境的信任假设。