苹果PCC与机密计算:核心安全差异深度解析

Thenewstack

在快速发展的网络安全领域,新术语和技术层出不穷,常常导致混淆。在近期涌现的进步中,苹果去年宣布的私人云计算(Private Cloud Compute, PCC)——旨在为Apple Intelligence提供私人访问——经常与机密计算(Confidential Computing)一同被讨论。尽管这两种技术都旨在增强云环境中的数据安全性并利用专用硬件,但它们应对不同的威胁模型,并采用不同的基本方法。理解这些区别对于评估安全技术和就保护敏感工作负载做出明智决策的组织至关重要。

苹果推出PCC是为了将其长期以来对设备端处理和用户隐私的承诺扩展到更大的人工智能模型。随着这些模型复杂性的增长,设备端处理变得不那么可行,从而需要基于云的解决方案。PCC的核心理念是,即使在使用远程云资源时,也能达到与设备端处理相媲美的隐私水平。这通过使用高度安全的硬件-软件供应链构建的专用节点来实现。这些节点采用安全启动机制,以确保所有代码都由硬件支持的密钥签名;静态数据则使用随机密钥加密,且在重启之间无法访问。此外,用户数据在从设备传输到特定PCC节点期间会被加密,从而防止攻击者将流量重定向到受损节点。PCC的一个关键特性是其远程证明能力,这允许节点以加密方式验证它们正在运行公开列出的软件。这种机制不仅使苹果,也使外部研究人员能够独立验证PCC节点上运行代码的完整性,通过公开可验证性来增强透明度和建立信任。PCC主要防御网络级攻击、中间人场景,以及通过其透明验证过程可能出现的苹果自身滥用。

相比之下,机密计算专注于保护正在活跃处理中或“使用中”的数据。它通过在硬件支持的可信执行环境(Trusted Execution Environment, TEE)内运行敏感应用程序来实现这一点。TEE与中央处理器(CPU)并行运行,为数据完整性、数据保密性和代码完整性提供强大的保障。实际上,机密计算将信任边界从软件转移到硬件,确保其他用户,甚至底层操作系统和虚拟机管理程序,都无法干扰或读取在TEE内运行的应用程序的数据。与PCC类似,机密计算也利用远程证明。在这里,证明提供了应用程序确实在TEE内执行的加密证据。应用程序及其在TEE内的环境由硬件密钥签名,允许远程验证者确认预期的应用程序正在预期的安全环境中运行。机密计算的威胁模型专门针对特权软件攻击(包括受损的操作系统和虚拟机管理程序)、共享云基础设施固有的多租户风险,以及在处理过程中云提供商本身无法完全信任敏感数据的场景。

尽管这两种技术都包含远程证明并依赖专用硬件来保障安全,但它们的目标却截然不同。两者都向远程方证明在哪个设备上运行了什么,但它们服务于不同的验证目的,并在技术堆栈的不同层级运行。PCC利用专用硬件供应链和硬件密钥来防止对其节点的篡改,从而确保基础设施本身的完整性。另一方面,机密计算使用硬件TEE来隔离代码执行,并采用硬件签名密钥来验证隔离环境的完整性。

根本区别在于它们对信任的处理方式。PCC提供强化的通信和受信任的云设备环境,旨在建立对基础设施及其通信路径的信任。然而,在受信任的PCC环境中,数据是解密后以明文形式处理的。相比之下,机密计算的操作前提是云设备和基础设施可能仍然不受信任。它甚至在处理过程中也通过加密来保护数据,确保信息保持加密状态,并且只能在硬件保护的TEE环境中访问。简而言之,PCC旨在提高对云基础设施的信任,而机密计算则旨在尽管对云基础设施可能存在不信任,也要保护数据。

苹果的私人云计算与机密计算之间的选择,在很大程度上取决于组织的具体威胁模型、基础设施限制以及对其云环境的信任假设。PCC为利用云AI处理的苹果设备提供了强大的保护,但其模型依赖于苹果对紧密集成硬件供应链和整个生态系统的独特控制能力,这使得其难以广泛复制。对于寻求在无法完全控制的云环境中保护敏感工作负载的组织而言,机密计算提供了一种更广泛适用的方法。即使在使用第三方云提供商和共享基础设施时,它也能提供强大的保护,使其适用于苹果特定生态系统之外的更广泛用例。