Red Hat Training

A Red Hat training course is available for RHEL 8

3.4. X.509 鍵でカーネルモジュールを認証するための要件

RHEL 8 では、カーネルモジュールがロードされると、カーネルはカーネルシステムキーリング (.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 に読み込まれます。
    • カーネルの再構築なしでキーセットを拡張することはできません。

表3.2 カーネルモジュールの読み込み認証要件

モジュールの署名公開鍵ありおよび署名が有効UEFI セキュアブートの状態sig_enforceモジュールの読み込みカーネルの汚染

署名なし

-

有効でない

有効でない

成功

はい

有効でない

有効

失敗

-

有効

-

失敗

-

署名あり

いいえ

有効でない

有効でない

成功

はい

有効でない

有効

失敗

-

有効

-

失敗

-

署名あり

はい

有効でない

有効でない

成功

いいえ

有効でない

有効

成功

いいえ

有効

-

成功

いいえ