19.6. 公開鍵と秘密鍵の生成

セキュアブート対応システムでカスタムカーネルまたはカスタムカーネルモジュールを使用するには、X.509 の公開鍵と秘密鍵のペアを生成する必要があります。生成された秘密鍵を使用して、カーネルまたはカーネルモジュールに署名できます。また、対応する公開鍵をセキュアブートの Machine Owner Key (MOK) に追加することで、署名済みのカーネルまたはカーネルモジュールを検証できます。

警告

強力なセキュリティー対策とアクセスポリシーを適用して、秘密鍵の内容を保護します。悪用すれば、この鍵は、一致する公開鍵で認証されるシステムのセキュリティーに危害を与えるために使用できます。

手順

  • X.509 の公開鍵と秘密鍵のペアを作成します。

    • カスタムカーネル モジュール に署名するだけの場合:

      # efikeygen --dbdir /etc/pki/pesign \
                  --self-sign \
                  --module \
                  --common-name 'CN=Organization signing key' \
                  --nickname 'Custom Secure Boot key'
    • カスタム カーネル に署名する場合:

      # efikeygen --dbdir /etc/pki/pesign \
                  --self-sign \
                  --kernel \
                  --common-name 'CN=Organization signing key' \
                  --nickname 'Custom Secure Boot key'
    • RHEL システムが FIPS モードを実行している場合:

      # efikeygen --dbdir /etc/pki/pesign \
                  --self-sign \
                  --kernel \
                  --common-name 'CN=Organization signing key' \
                  --nickname 'Custom Secure Boot key'
                  --token 'NSS FIPS 140-2 Certificate DB'
      注記

      FIPS モードでは、efikeygen が PKI データベース内でデフォルトの NSS Certificate DB トークンを検索できるように、--token オプションを使用する必要があります。

      公開鍵と秘密鍵は /etc/pki/pesign/ ディレクトリーに保存されます。

重要

セキュリティー上、署名鍵の有効期間内にカーネルとカーネルモジュールに署名することが推奨されます。ただし、sign-file ユーティリティーは警告を発すしません。また、鍵は有効期限に関係なく Red Hat Enterprise Linux 9 で使用できます。