10.8. 使用 TPM 2.0 策略配置 LUKS 加密的卷的手动注册
您可以使用受信任的平台模块 2.0 (TPM 2.0)策略配置 LUKS 加密卷的解锁。
先决条件
- 一个可访问的 TPM 2.0 兼容设备。
- 具有 64 位 Intel 或 64 位 AMD 架构的系统。
流程
要自动解锁现有的 LUKS 加密卷,请安装
clevis-luks
子软件包:# yum install clevis-luks
识别 PBD 的 LUKS 加密卷。在以下示例中,块设备是指 /dev/sda2 :
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 12G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 11G 0 part └─luks-40e20552-2ade-4954-9d56-565aa7994fb6 253:0 0 11G 0 crypt ├─rhel-root 253:0 0 9.8G 0 lvm / └─rhel-swap 253:1 0 1.2G 0 lvm [SWAP]
使用
clevis luks bind
命令将卷绑定到 TPM 2.0 设备,例如:# clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa"}' ... Do you wish to initialize /dev/sda2? [yn] y Enter existing LUKS password:
此命令执行四个步骤:
- 使用与 LUKS 主密钥相同的无序状态测量法创建新的密钥。
- 使用 Clevis 加密新密钥.
- 将 Clevis JWE 对象存储在 LUKS2 标头令牌中,或者使用 LUKSMeta(如果使用非默认的 LUKS1 标头)。
启用与 LUKS 一起使用的新密钥。
注意绑定过程假定至少有一个可用的 LUKS 密码插槽。
clevis luks bind
命令占用了其中一个插槽。或者,如果您要将数据封装为特定的平台配置寄存器(PCR)状态,请在
clevis luks bind
命令中添加pcr_bank
和pcr_ids
值,例如:# clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa","pcr_bank":"sha256","pcr_ids":"0,1"}'
重要由于只有 PCR 哈希值与密封时使用的策略匹配,并且可以重写哈希时,数据才会被解封,因此添加一个强大的密码短语,以便您可以在 PCR 中的值变化时手动解锁加密的卷。
如果在升级
shim-x64
软件包后系统无法自动解锁加密的卷,请遵照 重启后,Clevis TPM2 不再解密 LUKS 设备 KCS 文章中的步骤进行操作。
- 现在可以使用您的现有密码和 Clevis 策略来解锁卷。
要启用早期引导系统来处理磁盘绑定,请在已安装的系统上使用
dracut
工具:# yum install clevis-dracut # dracut -fv --regenerate-all
验证
要验证 Clevis JWE 对象是否已成功放入 LUKS 标头中,请使用
clevis luks list
命令:# clevis luks list -d /dev/sda2 1: tpm2 '{"hash":"sha256","key":"rsa"}'
其它资源
-
在系统中的
clevis-luks-bind (
1)、clevis-encrypt-tpm2 (1)
和dracut.cmdline (7)
手册页