Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

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

セキュアブートを有効化したシステム上でカーネルモジュールを使用する作業を正常に行うには、公開および秘密 X.509 鍵ペアを生成する必要があります。後で秘密鍵を使用してカーネルモジュールに署名します。セキュアブートで署名済みモジュールを検証するには、適切な公開鍵を Machine Owner Key (MOK) に追加する必要があります。

このキーペア生成のパラメーターの一部は、設定ファイルで指定するのが最適です。

手順

  1. キーペア生成のパラメーターで設定ファイルを作成します。

    # cat << EOF > configuration_file.config
    [ req ]
    default_bits = 4096
    distinguished_name = req_distinguished_name
    prompt = no
    string_mask = utf8only
    x509_extensions = myexts
    
    [ req_distinguished_name ]
    O = Organization
    CN = Organization signing key
    emailAddress = E-mail address
    
    [ myexts ]
    basicConstraints=critical,CA:FALSE
    keyUsage=digitalSignature
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid
    EOF
  2. X.509 公開鍵と秘密鍵のペアを以下の例のように作成します。

    # openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 \
    -batch -config configuration_file.config -outform DER \
    -out my_signing_key_pub.der \
    -keyout my_signing_key.priv

    公開鍵は my_signing_key_pub.der ファイルに書き込まれます。この秘密鍵は my_signing_key.priv ファイルに書き込まれます。

    重要

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

  3. 必要に応じて、以下の例のように公開鍵の有効期限を確認できます。

    # openssl x509 -inform der -text -noout -in my_signing_key_pub.der
    
    Validity
                Not Before: Feb 14 16:34:37 2019 GMT
                Not After : Feb 11 16:34:37 2029 GMT
  4. カーネルモジュールを認証、読み込むすべてのシステムに公開鍵を登録します。
警告

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