9.18. 使用 Trustee attestation 服务器自动解锁加密的卷


您可以通过信任密钥代理服务(KBS)使用远程测试来自动加密和解密 LUKS 卷。Clevis pin trustee 保护磁盘加密密钥。在发布密钥之前,您的平台必须向远程服务器证明其完整性。

机密计算工作负载要求磁盘加密密钥永远不会公开。不要将它们公开给基础架构提供商或任何不受信任的软件。在这些环境中,只能在平台通过远程测试证明其完整性后解密 LUKS 卷。

如果没有 信任ee pin,Clevis 无法将 LUKS 卷绑定到 Trustee attestation 服务器。Operator 必须实施标准 Clevis 和 LUKS 工具之外的自定义密钥检索工作流。

信任ee pin 解决了两个主要用例:

  • 用于 OpenShift 的机密集群,集群节点在受信任的执行环境(TEEs)中运行。它们必须在测试后解锁加密的根卷。
  • 带有 KubeVirt 或 OpenShift Virtualization 的机密虚拟机,在 TEEs 内运行的客户虚拟机必须在不需要 Operator 干预的情况下解密其虚拟磁盘。

在这两种情况下,Trustee 服务器都充当策略强制点。只有在验证平台时,才会发布磁盘加密。根据参考值检查认证证据。

RHEL 通过 clevis-pin- trustee 软件包提供 Clevis pin 信任ee。当您使用 信任ee pin绑定 LUKS 卷时,Clevis 会将加密密钥存储在远程信任者服务器上。您只能在计算机通过测试后检索此密钥。这证明了在 genuine Trusted Execution Environment (TEE)中运行的。

trustee pin 通过 clevis-encrypt-trusteeclevis-decrypt-trustee 命令与标准 Clevis 框架集成。pin 还包括 60clevis-pin-trustee dracut 模块,用于在早期引导过程中自动解锁 root 卷。

管理员可以将 LUKS 加密卷绑定到 Trustee 服务器。使用 clevis luks bind -d < device> trustee ' &lt;config&gt; ' 命令。配置指定:

  • 服务器 URL
  • 加密密钥的资源路径
  • 可选参数,如 TLS 证书、重试计数和测试数据

例 9.3. 将加密的卷绑定到 Trustee 服务器

以下命令将加密卷(位于 /dev/sda2) 绑定到服务器 https://trustee1.example.comhttps://trustee2.example.com

# clevis luks bind -d /dev/sda2 trustee '{"servers":[{"url":"https://trustee1.example.com:8080","cert":"/etc/pki/tls/certs/trustee1.pem"}, "url":"https://trustee2.example.com:8080","cert":"/etc/pki/tls/certs/trustee2.pem"}],"path":"default/mycluster/rootkey","num_retries":5,"initdata":"{\"cc_eventlog\":\"value1\"}"}'

绑定卷后,dracut initramfs 模块会在早期引导过程中自动解锁它。这会触发 trustee-attester 二进制文件。二进制文件执行远程测试,并从 Trustee KBS 检索解密密钥。标准 Clevis 命令与 trustee pin 一起工作: clevis luks listclevis luks unbindclevis luks unlock。您可以将 信任ee 与 SSS pin 中的其他 pins (tangtpm2)合并。这可启用多因素或多策略解锁设置。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部