建议:PIE 非托管计算模型中的关键发现
模型在作业结束后移除操作员解密任何内容的能力。 设备仍然使用模型指定为不受信任的组件发布的未验证公钥进行加密。
Developed by Robert E. Beckner III (Merlin) | rbeckner.com
我已经为25年构建系统,我喜欢构建那些有意设计且运作精简的事物,只携带足以证明其价值的向量。在这种方法中,最小化我存储的用户数据始终对我有意义,原因超越了显而易见的。 他们数据的主权很重要。 在其下是更简单的东西:事物应归其所属。 我构建的大部分是处理,处理架构不可能以其他方式运作。 持有从未需要的记录是无价值的向量。 将其视为优化而非合规练习,是保持设计诚实的关键——以这种方式构建的系统往往自然而然地与监管保持良好关系,因为几乎没有剩余可供监管。所以当 Mary Camacho 的公告出现在我的 X 订阅中时,我以我自己的方式阅读了她的架构。 她已将其核心以 Creative Commons 许可证发布到公共记录中,细节足以让工程师重建,并且她对其所依赖的前沿技术直言不讳。在整个过程中,我在服务器内部放置了一个对抗实体并跟踪它能达到的范围。 它能超过工作者。几乎所有随后的工作都是通过语音对话完成的——通过30 语音笔记,边思考边大声朗读,并从不同角度测试关注点,直到它要么成立,要么崩溃。我注意到:设备加密给先写入声明记录的人#
公开说明直接指定操作顺序。 工作者声称工作并发布其密钥,随后设备才加密:设备在该协议中的角色以同等精度指定:— §2.1, 数据流(每个工作)
- 工作者 → 协调:轮询并声称工作(写一次,先赢),发布工人的公钥。
- 设备 ← 协调:轮询,检索工人的公钥,推导共享密钥,加密有效载荷。
设备在获知工人公钥后,执行自己的 X25519 交换和针对工人密钥的 ML-KEM 封装,产生自己的公钥贡献(X25519 公钥 ‖ ML-KEM 密文)和共享密钥。— §4.2, 与工人生命周期绑定在获知时。 在19页中,没有对工人短暂公钥的签名,没有证书,没有设备评估的证明,也没有预共享密钥。 缺失是有意的,并被呈现为优势:模型在没有证明文件、TPM 报价或测量启动工件的情况下进行解密,并且不保留任何预配置的工人秘密。因此设备将其有效载荷加密给声明记录中所持的任何公钥,没有手段区分合法工人密钥与其他任何人的。 任何能够先写入声明的人都成为设备加密的对象,机密有效载荷在其手中解密。
flowchart TB
subgraph BEFORE["之前:按发布"]
direction TB
A2{“谁先声明?”} -->|真正的工人| A3["真正的密钥"]
A2 -->|任何其他写入者| A4["攻击者密钥"]
A3 --> A5["设备加密到它"]
A4 --> A5
A5 --> A6["密钥持有者可以读取"]
end
subgraph AFTER["之后:签名密钥"]
direction TB
B2{“签名有效?”} -->|是| B3["已验证的工人密钥"]
B2 -->|否| B4["拒绝,重试"]
B3 --> B5["只有真正的工人读取"]
end
A6 ~~~ B2Copy source加密技术是可靠的,介绍部分未经过身份验证#
攻击者没有破坏任何东西。 X25519 和 ML-KEM-768 都按规定工作。 攻击者提供一个密钥并成为协议的合法方。这是未经过身份验证的密钥协商,其失败模式是该领域最古老的结果。 普通的 Diffie-Hellman 未验证任何人,易被替换自己公钥的方利用。 密钥封装机制继承了这一属性,这也是为什么 RFC 9180 将接收方公钥的真实性放在其自身范围之外,并假设周围的应用通过证书、密钥目录或离线验证来建立它。 这个模型就是周围的应用,它使用的通道来分发接收方密钥是其自身信任模型标记为不可信的组件。公开说明预见了邻近攻击并加以关闭:索赔是写一次/先赢,因此后来的工人无法劫持工作密钥交换。— §6,参考实现该推理是可靠的,机制按其所述工作。 它涵盖了两种对称情况之一。
| 威胁 | 由一次性写入声明处理 |
|---|---|
| 第二个工作者覆盖现有声明 | 是的——写入被拒绝 |
| 未授权方先写入声明 | 否——第一次写入获胜 |
中间人(网关、协调、存储、监控)永远不会拥有足够的密钥材料来推导任何一个秘密。 攻击者如果破坏协调或存储,只能获得不透明的 blob 和公钥。— §4.3,独立的单向密钥第一句是准确的。 第二句描述了一个读取的攻击者。 写入攻击者在设备轮询之前将选定的公钥放入声明记录,且对能够安排成为对手的一方来说,推导合法秘密变得不必要。 谁管理该记录的内容,谁就能读取有效载荷,这使得协调层成为机密性的可信组件——§3所说的唯一不应存在的组件除了设备和工作者之外。对声明的诚实界限:这并不意味着今天开放互联网上的任何人都能读取这些数据。 在实际部署中,写入声明的能力位于云网络和凭证之后,披露描述了设备路径上的身份验证网关。 精确的问题是,机密性现在依赖于该外围,而架构的核心承诺是它在不信任设备与工作者之间组件的情况下保持安全。