[论文解读] MAGE: Mutual Attestation for a Group of Enclaves without Trusted Third Parties
Mage 提出了一种无需依赖可信第三方的 Intel SGX 本地环境组间相互认证的框架。它使每个本地环境仅通过自身初始数据即可推导出其他本地环境的度量值,通过一种新颖的度量推导技术克服了信任建立中的相互依赖问题,其原型展示了在真实场景中的可行性与性能。
Intel Software Guard Extensions (SGX) local and remote attestation mechanisms enable an enclave to attest its identity (i.e., the enclave measurement, which is the cryptographic hash of its initial code and data) to an enclave. To verify that the attested identity is trusted, one enclave usually includes the measurement of the enclave it trusts into its initial data in advance assuming no trusted third parties are available during runtime to provide this piece of information. However, when mutual trust between these two enclaves is required, it is infeasible to simultaneously include into their own initial data the other's measurements respectively as any change to the initial data will change their measurements, making the previously included measurements invalid. In this paper, we propose MAGE, a framework enabling a group of enclaves to mutually attest each other without trusted third parties. Particularly, we introduce a technique to instrument these enclaves so that each of them could derive the others' measurements using information solely from its own initial data. We also provide a prototype implementation based on Intel SGX SDK, to facilitate enclave developers to adopt this technique.
研究动机与目标
- 解决机密计算中本地环境之间相互信任的挑战,即每个本地环境必须在不依赖外部权威机构的情况下验证对方的身份。
- 解决远程认证中的相互依赖问题:任一本地环境都无法在其初始数据中包含对方的度量值,否则将导致自身度量值失效。
- 通过允许每个本地环境仅使用自身初始数据和运行时信息,密码学地推导出其对等本地环境的度量值,实现去中心化、无信任的相互认证。
- 支持需要相互信任的安全协作应用,如去中心化微服务或隐私保护数据共享,且不引入可信中介。
- 通过基于 Intel SGX SDK 的原型实现,提供一种实用且可扩展的解决方案,推动本地环境开发者在真实世界中的采用。
提出的方法
- 提出一种度量推导机制,使每个本地环境能够仅使用自身初始数据和运行时动态生成的共享密钥,计算出另一本地环境的 MRENCLAVE。
- 采用基于密钥派生函数(KDF)和通过安全通道建立的共享密钥的密码学构造,将推导过程与本地环境的身份和运行时上下文绑定。
- 通过自定义运行时组件对本地环境进行增强,利用预先共享的“身份到推导参数”映射表,计算对等本地环境的度量值,确保正确性与完整性。
- 利用 Intel SGX 的硬件背书认证与密封机制,将推导出的度量值与实际本地环境代码和数据绑定,确保仅正确本地环境能生成有效度量值。
- 设计一种协议,使每个本地环境能够独立地将对方的推导度量值与报告值进行验证,实现双向信任建立,且无需硬编码对等度量值。
- 使用 Intel SGX SDK 实现该框架,集成现有认证与密封原原子,确保兼容性与性能。
实验结果
研究问题
- RQ1如何在不依赖可信第三方的情况下,使两个或多个本地环境相互认证对方的身份?
- RQ2何种机制使一个本地环境能够仅凭自身初始数据和运行时信息,推导出另一本地环境的度量值?
- RQ3能否以一种避免因硬编码对等度量值而引发的相互依赖问题的方式实现相互认证?
- RQ4在基于 SGX 的真实系统中,通过运行时度量推导实现相互认证的性能开销如何?
- RQ5该方法如何扩展以支持在去中心化信任模型下,多个本地环境之间的组级相互认证?
主要发现
- Mage 通过允许每个本地环境仅使用自身初始数据和共享密钥,成功实现了无需可信第三方的本地环境间相互认证。
- 原型实现表明,度量推导机制在可行性与性能上均表现良好,其延迟在可接受范围内,但存在由密码学操作和安全通道建立带来的可测量开销。
- 该框架支持在如隐私保护疫情追踪等用例中的安全协作,其中移动设备与云本地环境可在相互信任的前提下交换数据。
- Mage 通过将对等度量值的存储与本地环境自身初始数据解耦,避免了相互依赖问题,从而保持了本地环境 MRENCLAVE 的完整性。
- 该解决方案与现有的 Intel SGX 安全原原子(包括报告生成与密封)兼容,可无缝集成至现有本地环境开发工作流。
- 该框架不支持本地环境更新,因为代码变更将使推导出的度量值失效,需重新评估信任,这与不可变、可审计本地环境的安全模型保持一致。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。