11.16. Trustee アテステーションサーバーを使用した暗号化ボリュームの自動ロック解除
Trustee Key Broker Service (KBS) を介したリモートアテステーションを使用することで、LUKS で暗号化されたボリュームの自動暗号化および復号化を有効にできます。Clevis ピン トラスティは、ディスク暗号化キーを解放する前に、プラットフォームがリモートサーバーに対してその完全性を証明することを要求することで、ディスク暗号化キーの保護に役立ちます。
機密性の高いコンピューティングワークロードでは、ディスク暗号鍵がインフラストラクチャープロバイダーや信頼できないソフトウェアスタックに決して公開されてはならない。このような環境では、LUKS ボリュームの復号は、鍵データがリリースされる前に、プラットフォームがリモート認証によってその完全性をアテステーションすることを条件とする必要があります。
トラスティ ピンがない場合、Clevis には LUKS ボリュームをトラスティアテステーションサーバーにバインドするメカニズムがないため、オペレーターは標準の Clevis および LUKS ツール以外で独自のキー取得ワークフローを実装する必要があります。
受託者 用ピンは、主に以下の 2 つの用途に対応します。
- OpenShift の機密クラスターでは、クラスターノードは Trusted Execution Environments (TEE) 内で実行され、アテステーション後に暗号化されたルートボリュームを自律的にロック解除する必要があります。
- KubeVirt または OpenShift Virtualization を使用した機密仮想マシンでは、TEE 内で実行されるゲスト仮想マシンは、オペレーターの介入なしに仮想ディスクを復号化する必要があります。
どちらのシナリオにおいても、トラストサーバーはポリシー適用ポイントとして機能し、要求元のプラットフォームのアテステーション証拠が参照値のセットに対して検証された場合にのみ、ディスク暗号鍵を解放します。
RHEL は 、clevis-pin-trustee パッケージを通じて Clevis ピン トラスト を提供しています。LUKS ボリュームを トラステッド PIN にバインドすると、Clevis は暗号鍵をリモートのトラステッドサーバーに保存します。このキーは、マシンが認証に合格し、正規のトラステッド実行環境 (TEE) で実行されていることがアテステーションされた後にのみ取得できます。
トラスティ ピンは 、clevis-encrypt-trustee コマンド と clevis-decrypt-trustee コマンドを介して、標準の Clevis フレームワークと統合されます。このピンには、起動初期段階でルートボリュームのロック解除を自動化するための 60clevis-pin-trustee dracut モジュールも含まれています。
管理者は 、clevis luks bind -d <device> trustee ' <config> ' コマンドを使用して、LUKS で暗号化されたボリュームを 1 つ以上の Trustee サーバーにバインドできます。ここで、設定では、サーバーの URL、暗号鍵のリソースパス、および TLS アテステーション書、再試行回数、認証初期化データなどのオプションパラメーターを指定します。
例11.1 暗号化されたボリュームをトラステッドサーバーにバインドする
以下のコマンドは 、/dev/sda2 にある暗号化されたボリュームを、サーバー https://trustee1.example.com および https://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 コマンド (clevis luks list、clevis luks unbind、clevis luks unlock) は、トラスティ PIN と連携して動作します。多要素認証または複数ポリシーによるロック解除設定のために、SSS(Shamir の秘密分散) ピン内で、トラステッド認証を 他の tang および tpm2 ピンと組み合わせることができます。