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_mechanismkey_wrap_generate_iv。这些选项分别默认为 CKM_AES_CBC_PADTrue,以保持向后兼容性。