6.8.3. 使用 PQC 使用 Sequoia PGP 签名 RPM 软件包
使用 Sequoia PGP 使用 PQC 算法签署 RPM 软件包,以确保任何第三方不能更改其内容。
post-quantum 加密(PQC)是一组算法,旨在通过量级计算机实现攻击,从而增强软件安全性。
RPM 软件包管理器使用 OpenPGP 标准为软件包签名。OpenPGPv6 引入了对混合密钥和证书的支持。它们将当前的加密算法与 PQC 算法相结合,防止单一故障点并在生成的签名中增加信任。
从版本 10.1 开始,RHEL 支持 RPMv6 签名。使用这个格式,您可以在软件包中添加多个 OpenPGP 签名,增加 RPM 级别的冗余。
您可以组合 RPMv4 和 RPMv6 签名来为软件包签名。有了这个功能,您可以使用不同的 RPM 版本来验证相同的签名。从 RHEL 10.1 开始,RPM 仅验证 RPMv6 签名(如果存在),并忽略 RPMv4 签名。如果软件包中没有 RPMv6 签名,RPM 将使用 RPMv4 签名。在以前的 RHEL 版本中,RPM 验证 RPMv4 签名并默认忽略 RPMv6。在 RHEL 9.7 及更新的版本中,您可以启用 RPMv6 签名支持。
6.8.3.1. 创建 PQC 密钥 复制链接链接已复制到粘贴板!
要使用 post-quantum 加密(PQC)算法签署软件包,请首先创建一个带有 Sequoia PGP 的混合密钥对。
在生成 PQC 密钥时,您可以指定不同的 PQC 算法。例如,以下流程使用 ML-DSA-87-Ed448 算法。
流程
安装 Sequoia PGP 工具:
# dnf install sequoia-sq生成一个 OpenPGP 密钥对:
$ sq key generate --own-key --expiration=never \ --cannot-authenticate --cannot-encrypt \ --email <vendor_email> --name "<vendor_name>" \ --cipher-suite mldsa87 --profile rfc9580将 <vendor_email > 和 & lt;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, unlocked导出 PQC OpenPGP 证书:
$ sq cert export --cert-email '<vendor_email>' > RPM-PGP-KEY-VENDOR
后续步骤