[论文解读] Intel SGX Enabled Key Manager Service with OpenStack Barbican
本文提出了一种基于 Intel SGX 的 OpenStack Barbican 软件加密插件,通过低成本和高可扩展性的方式,利用硬件强制隔离提升密钥管理安全性。该方案支持远程证明、双向认证,以及端到端的机密性和完整性保护,实现 HSM 级别的安全防护,而无需承担 HSM 的高昂成本或面临可扩展性限制。
Protecting data in the cloud continues to gain in importance, with encryption being used to achieve the desired data protection. While there is desire to use encryption, various cloud components do not want to deal with key management, which points to a strong need for a separate key management system. OpenStack Barbican is a platform developed by the OpenStack community aimed at providing cryptographic functions useful for all environments, including large ephemeral clouds. Barbican exposes REST APIs designed for the secure storage, provisioning and management of secrets such as passwords, encryption keys, and X.509 certificates, and supports plugins for a variety of crypto solutions in the backend. Crypto plugins store secrets as encrypted blobs within the Barbican database. Software based crypto plugins offer a scalable solution, but are vulnerable to system software attacks. Hardware Security Module or HSM plugins offer strong security guarantees, but they are expensive and don't scale well. We propose to build an Intel Software Guard Extension or SGX based software crypto plugin that offers security similar to an HSM with the low cost and scalability of a software based solution. We extend OpenStack Barbican API to support attestation of an Intel SGX crypto plugin, to allow clients higher confidence in the software they are using for storing keys. In addition, the API provides support for mutual attestation for Intel SGX enabled clients, multi-user key distribution, and extensions for protecting the confidentiality and integrity of the backend database.
研究动机与目标
- 为应对云环境中对安全、可扩展密钥管理日益增长的需求,特别是针对短暂性和动态的云工作负载。
- 克服基于软件的加密插件(易受系统级攻击)和基于 HSM 的解决方案(成本高昂且不可扩展)的局限性。
- 设计并实现一种基于软件的 OpenStack Barbican 加密插件,利用 Intel SGX 实现硬件级别的安全保证。
- 扩展 Barbican 的 API 以支持基于 Intel SGX 插件的远程证明,使客户端能够验证密钥管理服务的真实性与完整性。
- 支持多用户密钥分发,并通过 SGX 飞地保护后端数据库的机密性和完整性。
提出的方法
- 扩展 OpenStack Barbican 的 REST API,以支持基于 Intel SGX 的加密插件的远程证明,使客户端能够验证插件的身份与完整性。
- 使用 Intel SGX 部署安全飞地,隔离加密操作,并防止秘密密钥暴露给主机操作系统或其他进程。
- 在客户端与基于 SGX 的密钥管理器之间实现双向证明,确保双方均运行可信代码。
- 通过在 SGX 飞地中对静态数据进行加密,保护后端数据库的机密性和完整性,确保仅授权代码可访问。
- 将基于 SGX 的插件作为 Barbican 的后端模块集成,替代传统的软件或 HSM 插件,同时保持 API 兼容性。
- 利用 Intel 的报价(quoting)和密封(sealing)机制,实现安全密钥配置和对飞地状态的远程验证。
实验结果
研究问题
- RQ1基于 Intel SGX 的软件插件是否能够在保持软件解决方案的成本与可扩展性优势的同时,提供与 HSM 相当的安全保障?
- RQ2如何将远程证明机制集成到 OpenStack Barbican 中,以使客户端能够验证密钥管理服务的可信性?
- RQ3在多用户云环境中,支持客户端与基于 SGX 的密钥管理器之间双向证明需要哪些机制?
- RQ4在云环境中使用基于软件的密钥管理器时,如何保护后端数据库的机密性和完整性?
- RQ5对现有 Barbican API 进行哪些修改,才能支持 SGX 特有的安全功能,如密封与报价?
主要发现
- 所提出的基于 SGX 的插件通过利用 Intel SGX 的硬件强制隔离机制,实现了 HSM 级别的安全保证,即使主机系统被攻破,密钥也不会被泄露。
- 对 SGX 插件的远程证明使客户端能够密码学地验证密钥管理器的真实性与完整性,从而增强对服务的信任。
- 客户端与密钥管理器之间的双向证明确保双方均运行可信代码,有效防范中间人攻击与身份冒充攻击。
- 该解决方案保持与现有 OpenStack Barbican API 的兼容性,可无缝集成到现有云基础设施中,无需进行架构级重构。
- 后端数据库通过在 SGX 飞地中加密保护,确保即使数据库被泄露,敏感信息仍保持机密。
- 实现结果表明,基于软件的密钥管理可在性能开销极小的情况下实现强安全防护,适用于大规模、动态的云环境。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。