2025.1 系列发布说明¶
20.0.0¶
新特性¶
密钥加密密钥(KEK)轮换已针对 Simple Crypto 插件后端实现。可以随时创建一个新的对称 Fernet 密钥并将其添加到配置文件中。kek 选项在 [simple_crypto_plugin] 部分现在可以多次指定。当配置多个 KEK 时,第一个密钥用于加密新的项目特定密钥(pKEK),其余密钥仅用于解密现有数据。
已向 barbican-manage 添加一个新的子命令,用于使用配置文件中的第一个 kek 重新加密现有的 pKEK。可以执行此命令以确保数据库中的所有 pKEK 都使用特定密钥重新加密。
要完全轮换现有的 KEK,现在可以生成一个新的 KEK 来替换一个现有的密钥。您可以将新密钥作为配置文件中的第一个 kek 添加,并将现有密钥保留为第二个 kek。然后,您可以执行 barbican-manage simple_crypto rewrap_pkek 以使用新密钥重新加密所有现有的 pKEK。命令执行完毕后,您可以从配置文件中删除任何以前的密钥。
升级说明¶
已移除对 Python 3.8 的支持。 现在支持的最低 python 版本是 3.9。
弃用说明¶
选项 [p11_crypto_plugin]hmac_keywrap_mechanism 已被 [p11_crypto_plugin]hmac_mechanism 替换。此选项已重命名以避免混淆,因为此机制仅用于签名加密数据,而从未使用于密钥包装加密。
安全问题¶
PKCS#11 后端驱动程序已更新,以支持较新的密钥包装机制。新部署应使用 CKM_AES_KEY_WRAP_KWP,但 CKM_AES_KEY_WRAP_PAD 和 CKM_AES_CBC_PAD 也受支持,以与尚未实现 PKCS#11 版本 3.0 的旧设备兼容。
Simple Crypto 插件的配置已更新,允许定义多个密钥加密密钥(KEK)。这使得能够按需轮换新的 KEK。如果配置文件中指定了多个 KEK,则第一个 KEK 被认为是“活动”的,这意味着它将被用于加密任何新的项目特定 KEK。任何额外的 KEK 仅在必要时用于解密现有的 pKEK。例如:
[simple_crypto_plugin] # First key is used for ecnrypting new data kek = Yl1EKQ5e4VpK3X7lbWF249GDsk0mrL929P-Mnnz-bdc= # Additionak keys used for decrypting existing data kek = AfXmy1NEfzmtJEYVGrQJ0C2-dr8S0lFoNBX5Vb7MC44= kek = Ua4Y8ryfamShYT_TzxSjok9Tl11OWFSk3whOSY-TIaw=
错误修复¶
修复了 Bug #2036506 - 此补丁将用于包装 pKEK 的硬编码 CKM_AES_CBC_PAD 机制替换为配置此机制的选项。已在配置文件的 [p11_crypto_plugin] 部分添加了两个新选项:key_wrap_mechanism 和 key_wrap_generate_iv。这些选项分别默认为 CKM_AES_CBC_PAD 和 True,以保持向后兼容性。