Proof of Observation 验证原理 · TEE 远程证明 + 响应签名
原理不复杂:在中转出口放一个中转方改不动、也伪造不了的硬件“见证人”,让它亲自跟官方对接、再签字证明“这段响应是从官方原样取回、没被改过的”。
PCR0 指纹);② 它这次开机随机生成的签名公钥。于是你不再信运营方,只需核三件事:上游域名 / 路径 / 方法 / 状态 + 请求体哈希 + 响应体哈希PCR0,由 TEE (AWS) 签名点左边的攻击按钮,看右边用户的验证会不会当场识破。
😈 你的攻击手段
你控制中转服务器和部署,想偷工减料
🔍 用户端验证
收到 响应+签名+证明 后自动跑三步
↑ 第 2 步成立有个一次性前提:用户得能把公开源码复现构建出同一个 PCR0——这是「PCR0 ↔ 审计源码」之间唯一的桥。否则 PCR0 只是个对不上任何东西的哈希。这一步与请求无关,验一次即可,做法见 tee-reproducible-build.md。
证明报告由 TEE (AWS) 签发。这不是区块链那种纯数学,而是「信任 TEE (AWS) 这家厂 + 没有 TEE 漏洞」。它把信任从「运营方」搬到了「芯片/云厂商」,没有彻底消灭信任。
OpenAI 不对自己的响应签名。所以「官方真的诚实产出」这件事,最强只能到「TEE 通过真 TLS 观测到了它」,到不了纯数学证明。这是此路线的天花板。
你已经知道验证器核对什么。把中转站返回的完整响应贴进去,浏览器会在本地检查证明链、PCR0 和响应签名。
TEE 每次开机随机生成签名密钥。用户从不预先知道这把公钥——它被 TEE (AWS) 签名的 attestation 当场认证,和 HTTPS 证书一模一样。用户事先固定知道的只有两样:TEE (AWS) 根证书 和 你公开的 PCR0。
就像 HTTPS:你不预先知道网站的公钥,但 CA(你信的根)签的证书把它认证了;服务器重启换了密钥也照样验得过。这里 TEE (AWS) = CA,attestation = 证书,PCR0 = 身份,随机 pk = 被签发的公钥。