ARTICLE · 人工智能
面向推理的机密计算
一语总结这篇文章为 AI 推理的机密计算提供了一份严谨的工程指南,阐述了威胁模型、硬件证明的真实含义与局限性、加速器为何会让信任边界复杂化,以及一套用于评估厂商主张的具体问题。
这篇文章将机密计算定义为在技术层面上收窄对云基础设施运营商的残余信任。它指出,普通云安全可以防御其他租户和外部人员,但无法防御有特权的运营商或虚拟机监控器代码读取工作负载内存。可信执行环境(TEE)使用处理器持有的密钥对内存进行加密,并将虚拟机监控器/宿主机操作系统排除在信任边界之外;硬件证明则提供一份关于已加载代码映像的签名声明。
文章提出了一个关键区分:证明只能证明某个特定代码哈希在启用了某些固件特性的真实硬件上运行过;除非验证者能独立地将该哈希对应到可检查的源代码或可复现的构建,否则它无法说明该代码是否可信。文章强调,有意义的问题不是“它是否经过证明”,而是用户能否在请求时,对照一个他们能与可审计代码相关联的度量值来验证该证明。
推理增加了复杂性,因为敏感数据存在于 GPU/加速器内存中,而不仅仅在 CPU 安全区。面向加速器的机密计算必须保护完整路径:CPU 安全区、CPU-加速器链路和加速器内存,并且加速器要参与证明。受保护的 CPU 将明文激活值交给未受保护的加速器,只是转移了暴露面。作者指出了实际存在的性能、可用性和模型目录成本,并敦促向厂商索取实测吞吐量及对模型目录的影响。
文章还列出了信任边界之外的内容:被证明的代码本身(它可能记录提示词)、元数据/流量模式、输出路径、侧信道研究前沿,以及验证者(如果服务运营商检查证明并只显示结果)。最后,文章提出六个尖锐的评估问题,其中最尖锐的是:证明失败时会发生什么?静默回退到不受保护的路径会把整个保证变成一种尽力而为的功能,而失败即关闭则表明存在真正的控制。
- 机密计算在技术层面收窄了对基础设施运营商的信任范围,而不仅仅是合同层面。
可信执行环境使用处理器持有的密钥对内存加密,将虚拟机监控器/宿主机操作系统排除在信任边界之外,并提供关于已加载代码映像的硬件签名证明。这应对的是特权运营商读取工作负载内存这一具体威胁。
- 证明只能说明某个代码哈希在真实硬件上运行过;除非你能独立地根据可审计源代码或可复现构建来验证该哈希,否则它无法证明代码可信。
关键问题在于,用户能否在请求时自行对照一个可与可审查代码关联的度量值来验证证明。如果做不到,证明就只是表明某个东西在无人观察的情况下运行过——这是一个弱得多的性质。
- 在加速器上进行推理要求信任边界扩展到 CPU 安全区、CPU-加速器链路和加速器内存,并且加速器也要参与证明。
受保护的 CPU 将明文激活值传给未受保护的 GPU,只是转移了暴露面。评估任何方案都要追踪这条完整路径,并要求提供实测吞吐量和模型目录成本。
- 若干关键要素仍处于信任边界之外:被证明的代码本身、请求元数据/流量模式、输出路径、侧信道风险,以及受服务运营商控制的验证者。
如果可信环境中运行的代码会记录提示词,那么这种记录也会被忠实且保密地执行。元数据、输出处理、侧信道和验证者独立性,是彼此独立的工程与治理问题。
- 最尖锐的评估问题是:证明失败时会发生什么?失败即关闭表明这是真正的控制;静默回退到不受保护的路径则使保证变成尽力而为。
静默回退通常是由于可用性考量,由没有参与安全讨论的工程师加入的。仅这一个问题就能区分真正的安全控制与被当作安全控制来宣传的优化方案。
面向推理的机密计算
这篇文章将机密计算定义为在技术层面上收窄对云基础设施运营商的残余信任。它指出,普通云安全可以防御其他租户和外部人员,但无法防御有特权的运营商或虚拟机监控器代码读取工作负载内存。可信执行环境(TEE)使用处理器持有的密钥对内存进行加密,并将虚拟机监控器/宿主机操作系统排除在信任边界之外;硬件证明则提供一份关于已加载代码映像的签名声明。
文章提出了一个关键区分:证明只能证明某个特定代码哈希在启用了某些固件特性的真实硬件上运行过;除非验证者能独立地将该哈希对应到可检查的源代码或可复现的构建,否则它无法说明该代码是否可信。文章强调,有意义的问题不是“它是否经过证明”,而是用户能否在请求时,对照一个他们能与可审计代码相关联的度量值来验证该证明。
推理增加了复杂性,因为敏感数据存在于 GPU/加速器内存中,而不仅仅在 CPU 安全区。面向加速器的机密计算必须保护完整路径:CPU 安全区、CPU-加速器链路和加速器内存,并且加速器要参与证明。受保护的 CPU 将明文激活值交给未受保护的加速器,只是转移了暴露面。作者指出了实际存在的性能、可用性和模型目录成本,并敦促向厂商索取实测吞吐量及对模型目录的影响。
文章还列出了信任边界之外的内容:被证明的代码本身(它可能记录提示词)、元数据/流量模式、输出路径、侧信道研究前沿,以及验证者(如果服务运营商检查证明并只显示结果)。最后,文章提出六个尖锐的评估问题,其中最尖锐的是:证明失败时会发生什么?静默回退到不受保护的路径会把整个保证变成一种尽力而为的功能,而失败即关闭则表明存在真正的控制。
文章金句
"如果你不知道预期哈希对应什么——如果你无法把它对应到你可以审查的源代码,或对应到你可以复现的构建——那么证明只能表明有某个东西在无人观察的情况下运行了,这与证明正确的东西运行了是不同且弱得多的性质。
"受保护的 CPU 安全区将明文激活值交给不受保护的加速器,只是转移了暴露面,而非消除暴露面;这类系统的描述可以在每一个单独步骤上都完全准确。
"静默回退会把整个保证变成一种尽力而为的功能;这类行为通常是由没有参与安全讨论的人,出于可用性的原因而加入的。