10.8. TPM 2.0 ポリシーを使用して LUKS 暗号化ボリュームの手動登録を設定する
Trusted Platform Module 2.0 (TPM 2.0) ポリシーを使用して、LUKS 暗号化ボリュームのロック解除を設定できます。
前提条件
- アクセス可能な TPM2.0 互換デバイス。
- システムが 64 ビット Intel アーキテクチャー、または 64 ビット AMD アーキテクチャーである。
手順
既存の LUKS 暗号化ボリュームのロックを自動的に解除するには、
clevis-luks
サブパッケージをインストールします。yum install clevis-luks
# yum install clevis-luks
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PBD 用 LUKS 暗号化ボリュームを特定します。次の例では、ブロックデバイスは /dev/sda2 と呼ばれています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow clevis luks bind
コマンドを使用して、ボリュームを TPM 2.0 デバイスにバインドします。以下に例を示します。clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa"}'
# clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa"}' ... Do you wish to initialize /dev/sda2? [yn] y Enter existing LUKS password:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、以下の 4 つの手順を実行します。
- LUKS マスター鍵と同じエントロピーを使用して、新しい鍵を作成します。
- Clevis で新しい鍵を暗号化します。
- LUKS2 ヘッダートークンに Clevis JWE オブジェクトを保存するか、デフォルト以外の LUKS1 ヘッダーが使用されている場合は LUKSMeta を使用します。
LUKS を使用する新しい鍵を有効にします。
注記バインド手順では、空き LUKS パスワードスロットが少なくとも 1 つあることが前提となっています。そのスロットの 1 つを
clevis luks bind
コマンドが使用します。あるいは、特定の Platform Configuration Registers (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"}'
# clevis luks bind -d /dev/sda2 tpm2 '{"hash":"sha256","key":"rsa","pcr_bank":"sha256","pcr_ids":"0,1"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要PCR ハッシュ値がシール時に使用されるポリシーと一致し、ハッシュを書き換えることができる場合にのみ、データをアンシールできるため、PCR の値が変更された場合、暗号化されたボリュームのロックを手動で解除できる強力なパスフレーズを追加します。
shim-x64
パッケージをアップグレードした後、システムが暗号化されたボリュームのロックを自動的に解除できない場合は、Red Hat ナレッジベースソリューション Clevis TPM2 no longer decrypts LUKS devices after a restart を参照してください。
- ボリュームは、現在、既存のパスワードと Clevis ポリシーを使用してロックを解除できます。
システムの起動プロセスの初期段階でディスクバインディングを処理するようにするには、インストール済みのシステムで
dracut
ツールを使用します。yum install clevis-dracut dracut -fv --regenerate-all
# yum install clevis-dracut # dracut -fv --regenerate-all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Clevis JWE オブジェクトが LUKS ヘッダーに適切に置かれていることを確認するには、
clevis luks list
コマンドを使用します。clevis luks list -d /dev/sda2
# clevis luks list -d /dev/sda2 1: tpm2 '{"hash":"sha256","key":"rsa"}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow