6.8.3. Sequoia PGP での PQC を使用した RPM パッケージへの署名
Sequoia PGP を使用して PQC アルゴリズムで RPM パッケージに署名することで、第三者がパッケージの内容を改ざんできないようにします。
耐量子計算機暗号 (PQC) は、量子コンピューターからの攻撃に耐えるように設計された一連のアルゴリズムであり、ソフトウェアのセキュリティーを強化します。
RPM パッケージマネージャーは、OpenPGP 標準を使用してパッケージに署名します。OpenPGPv6 では、ハイブリッド方式の鍵および署名のサポートが導入されています。これは、現在の暗号化アルゴリズムと PQC アルゴリズムを組み合わせることで、単一障害点を回避し、生成される署名の信頼性を高めます。
RHEL バージョン 10.1 以降では、RPMv6 署名がサポートされています。この形式を使用すると、パッケージに複数の OpenPGP 署名を追加して、RPM レベルで冗長性を高めることができます。
パッケージへの署名は、RPMv4 署名と RPMv6 署名の両方を組み合わせて行うことができます。この機能を使用すると、複数の異なる RPM バージョンを使用して同じ署名を検証できます。RHEL 10.1 以降、RPM は RPMv6 署名が存在する場合はそれだけを検証し、RPMv4 署名は無視します。パッケージに RPMv6 署名が存在しない場合、RPM は RPMv4 署名を使用します。以前の RHEL バージョンでは、RPM はデフォルトで RPMv4 の署名を検証し、RPMv6 の署名は無視していました。RHEL 9.7 以降の RHEL 9 バージョンでは、RPMv6 署名のサポートを有効にできます。
6.8.3.1. PQC 鍵の作成 リンクのコピーリンクがクリップボードにコピーされました!
耐量子計算機暗号 (PQC) アルゴリズムを使用してパッケージに署名するには、まず Sequoia PGP でハイブリッドキーペアを作成します。
別のアルゴリズムを指定することも可能です。たとえば、次の手順では ML-DSA-87-Ed448 アルゴリズムを使用します。
手順
Sequoia PGP ツールをインストールします。
# dnf install sequoia-sqOpenPGP 鍵ペアを生成します。
$ sq key generate --own-key --expiration=never \ --cannot-authenticate --cannot-encrypt \ --email <vendor_email> --name "<vendor_name>" \ --cipher-suite mldsa87 --profile rfc9580<vendor_email> と <vendor_name> を、RPM パッケージを提供するソフトウェアベンダーのメールと名前に置き換えます。
このコマンドは、プライマリーキーと署名用のサブキーを生成します。
生成された鍵ペアを確認します。
$ sq key list --cert-email <vendor_email>- <ml_dsa_fingerprint> - user IDs: - <vendor_email> (authenticated) - <vendor_name> (authenticated) - created 2025-10-03 14:36:44 UTC - usable for signing - @softkeys/<ml_dsa_fingerprint>: available, unlocked - <subkey_fingerprint> - created 2025-10-03 14:36:44 UTC - usable for signing - @softkeys/<subkey_fingerprint>: available, unlockedPQC OpenPGP 証明書をエクスポートします。
$ sq cert export --cert-email '<vendor_email>' > RPM-PGP-KEY-VENDOR
次のステップ