20.4. X.509 鍵でカーネルモジュールを認証するための要件
Red Hat Enterprise Linux 9 では、カーネルモジュールがロードされると、カーネルはカーネルシステムキーリング (.builtin_trusted_keys
) およびカーネルプラットフォームキーリング (.platform
) からの公開 X.509 キーに対してモジュールの署名をチェックします。.platform
キーリングには、サードパーティーのプラットフォームプロバイダーおよびカスタム公開鍵からのキーが含まれます。カーネルシステムの .blacklist
キーリングからの鍵は検証から除外されます。
UEFI セキュアブート機能が有効になっているシステムでカーネルモジュールをロードするには、特定の条件を満たす必要があります。
UEFI セキュアブートが有効な場合、または
module.sig_enforce
カーネルパラメーターが指定されている場合:-
署名がシステムキーリング (
.builtin_trusted_keys
) およびプラットフォームキーリング (.platform
) からの鍵に対して認証されている署名済みのカーネルモジュールだけを読み込みできます。 -
公開鍵は、システムで拒否されたキーのキーリング (
.blacklist
) に配置できません。
-
署名がシステムキーリング (
UEFI セキュアブートが無効で
module.sig_enforce
カーネルパラメーターが指定されていない場合:- 公開鍵なしで、未署名のカーネルモジュールと署名済みカーネルモジュールを読み込むことができます。
システムが UEFI ベースでない場合、または UEFI セキュアブートが無効になっている場合:
-
カーネルに埋め込まれた鍵のみが
.builtin_trusted_keys
および.platform
に読み込まれます。 - カーネルの再構築なしでキーセットを拡張することはできません。
-
カーネルに埋め込まれた鍵のみが
モジュールの署名 | 公開鍵ありおよび署名が有効 | UEFI セキュアブートの状態 | sig_enforce | モジュールの読み込み | カーネルのテイント |
---|---|---|---|---|---|
署名なし | - | 有効でない | 有効でない | 成功 | はい |
有効でない | 有効 | 失敗 | - | ||
有効 | - | 失敗 | - | ||
署名あり | いいえ | 有効でない | 有効でない | 成功 | はい |
有効でない | 有効 | 失敗 | - | ||
有効 | - | 失敗 | - | ||
署名あり | はい | 有効でない | 有効でない | 成功 | いいえ |
有効でない | 有効 | 成功 | いいえ | ||
有効 | - | 成功 | いいえ |