Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.10. Policy-Based Decryption を使用した暗号化ボリュームの自動ロック解除の設定

Policy-Based Decryption(PBD)は、ユーザーパスワード、Trusted Platform Module(TPM)デバイス、システムに接続する PKCS#11 デバイスなどを使用して、物理ドライブおよび仮想マシンへの暗号化した root ボリュームとセカンダリーボリュームのロックを解除できるようにする技術の集合です。
PBD をテクノロジーとしては、ポリシーにさまざまなロック解除メソッドを組み合わせて、さまざまな方法で同じボリュームのロックを解除する機能を作成できます。Red Hat Enterprise Linux における PBD の現在の実装は、Clevis フレームワークと、ピンと呼ばれるプラグインで構成されます。各ピンは、個別のアンロック機能を提供します。現在、利用可能なピンは、TPM またはネットワークサーバーを使用してボリュームのロックを解除できるもののみです。
NBDE(Network Bound Disc Encryption)は、暗号化したボリュームを特別なネットワークサーバーにバインドできるようにする PBD 技術のサブカテゴリーです。NBDE の現在の実装には、Tang サーバーと、Tang サーバー用の Clevis ピンが含まれます。

4.10.1. NBDE(Network-Bound Disk Encryption)

NBDE(Network-Bound Disk Encryption)を使用すると、ユーザーは、システムの起動時にパスワードを手動で入力せずに、物理マシンおよび仮想マシンのハードドライブの root ボリュームを暗号化できます。
Red Hat Enterprise Linux 7 では、NBDE は、以下のコンポーネントおよび技術により実装されます。

図4.2 Clevis および Tang を使用した Network-Bound ディスク暗号化

Clevis および Tang を使用した Network-Bound ディスク暗号化
Tang は、ネットワークの存在へのデータをバインドするサーバーです。セキュリティーが保護された特定のネットワークにシステムをバインドする際に利用可能なデータを含めるようにします。Tang はステートレスで、TLS または認証は必要ありません。エスクローベースのソリューション (サーバーが暗号鍵をすべて保存し、使用されたことがあるすべての鍵に関する知識を有する) とは異なり、Tang はクライアントの鍵と相互作用することはないため、クライアントから識別情報を得ることがありません。
Clevis は、自動復号用のプラグ可能なフレームワークです。NBDE では、Clevis は、LUKS ボリュームの自動アンロックを提供します。clevis パッケージは、クライアントで使用される機能を提供します。
Clevis ピン は、Clevis フレームワークへのプラグインです。このようなピンの 1 つは、NBDE サーバー (Tang) との相互作用を実装するプラグインです。
Clevis および Tang は、一般的なクライアントおよびサーバーのコンポーネントで、ネットワークがバインドされた暗号化を提供します。Red Hat Enterprise Linux 7 では、これは LUKS と組み合わせて、root および非 root のストレージボリュームの暗号化および復号化に使用され、Network-Bound Disk Encryption を実現します。
クライアントおよびサーバー側のコンポーネントはいずれも Jos コールライブラリーを使用し 、暗号化および復号化操作を実行します。
NBDE のプロビジョニングを開始すると、Tang サーバーの Clevis ピンは、Tang サーバーの、アドバタイズされた非対称鍵の一覧を取得します。もしくは、鍵が非対称であるため、Tang の公開鍵の一覧を帯域外に配布して、クライアントが Tang サーバーにアクセスしなくても動作できるようにします。このモードは オフラインプロビジョニングと呼ばれます
Tang 用の Clevis ピンは、公開鍵のいずれかを使用して、固有で、暗号論的に強力な暗号鍵を生成します。この鍵を使用してデータを暗号化すると、この鍵は破棄されます。Clevis クライアントは、使いやすい場所に、このプロビジョニング操作で生成した状態を保存する必要があります。データを暗号化するこのプロセスは プロビジョニング手順 です。NBDE のプロビジョニング状態は、luksmeta パッケージを利用する LUKS ヘッダーに保存されます。
クライアントがそのデータにアクセスする準備ができると、プロビジョニング手順で生成したメタデータを読み込み、応答して暗号鍵を戻します。このプロセスは 復旧手順 です。
Clevis は、NBDE ではピンを使用して LUKS ボリュームをバインドしているため、自動的にロックが解除されます。バインドプロセスが正常に終了すると、提供されている Dracut アンロックを使用してディスクをアンロックできます。
ネットワーク接続が確立される前に起動する必要があるファイルシステムが含まれる /tmp/var/usr/local/ ディレクトリーなど、LUKS で暗号化したデバイスはすべて root ボリューム とみなされます。また、ネットワークが起動する前に実行するサービスが使用するすべてのマウントポイント(例: /var/log/var/log/audit/、または /opt など)は、root デバイスに切り替えると、早期にマウントする必要があります。/etc/fstab ファイルに _netdev オプションを使用せずに、root ボリュームを特定できます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。