8.2. 信頼できる鍵および暗号化された鍵
信頼できる鍵 および 暗号化鍵 は、システムセキュリティーを強化する上で重要な要素です。
信頼できる鍵と暗号化された鍵は、カーネルキーリングサービスを使用するカーネルが生成する可変長の対称鍵です。たとえば、拡張検証モジュール (EVM) が実行中のシステムの整合性を検証および確認できるように、キーの整合性を検証できます。ユーザーレベルのプログラムがアクセス可能なのは、暗号化された ブロブ の形式での鍵のみです。
- 信頼できる鍵
信頼できる鍵は、鍵の作成と暗号化 (保護) の両方に使用される Trusted Platform Module (TPM) チップを必要とします。各 TPM には、ストレージルートキーと呼ばれるマスターラッピングキーがあります。これは TPM 自体に保存されます。
注記Red Hat Enterprise Linux 8 は、TPM 1.2 と TPM 2.0 の両方をサポートしています。詳細は、Red Hat ナレッジベースソリューション Is Trusted Platform Module (TPM) supported by Red Hat? を参照してください。
TPM 2.0 チップのステータスを確認できます。
$ cat /sys/class/tpm/tpm0/tpm_version_major 2
TPM 2.0 チップを有効にし、マシンのファームウェアの設定を通じて TPM 2.0 デバイスを管理することもできます。
さらに、TPM の platform configuration register (PCR) 値の特定セットを使用して、信頼できる鍵を保護できます。PCR には、ファームウェア、ブートローダー、およびオペレーティングシステムを反映する整合性管理値のセットが含まれます。PCR で封印されたキーは、暗号化されたシステム上の TPM によってのみ復号化できます。ただし、PCR で封印された信頼できるキーをキーリングにロードすると、それに関連付けられた PCR 値が検証されます。検証後、新しいカーネルの起動をサポートするために、新しい PCR 値または将来の PCR 値でキーを更新できます。また、1 つのキーを、それぞれ異なる PCR 値を持つ複数の Blob として保存することもできます。
- 暗号化鍵
- 暗号化鍵はカーネル Advanced Encryption Standard (AES) を使用するため、TPM を必要としません。これにより、暗号化鍵は信頼できる鍵よりも高速になります。暗号化鍵は、カーネルが生成した乱数を使用して作成され、ユーザー空間のブロブへのエクスポート時に マスターキー により暗号化されます。
マスターキーは信頼できる鍵か、ユーザーキーのいずれかです。マスターキーが信頼されていない場合、暗号化されたキーのセキュリティーは、暗号化に使用されたユーザーキーによって決まります。