OpenSSL 3.6 已于今日正式发布,这是一次重大更新,为这个开源、跨平台和免费的软件库引入了许多新功能和改进。该库为应用程序和网站提供在计算机网络上的安全通信。
OpenSSL 3.6 的亮点包括根据[SP 800-208]在 FIPS 和默认提供者中支持 LMS 签名验证,以及通过 EVP_KDF_CTX_set_SKEY() 、 EVP_KDF_derive_SKEY() 和 EVP_PKEY_derive_SKEY() 函数支持 EVP_SKEY 不透明对称密钥对象到密钥派生和密钥交换提供者方法。
此外,OpenSSL 3.6 引入了 openssl configutl 实用工具,可用于处理 OpenSSL 配置文件并转储等效配置文件。它还增加了对支持 C-99 特性的编译器的支持,因为 ANSI-C 工具链已不再足够用于构建 OpenSSL。
其他新功能包括在 DH 密钥生成中使用 FIPS 140-3 PCT,在 FIPS 模式下对 SLH-DSA 密钥导入使用 PCT,以及支持 FIPS 提供者对 RSA、EC 和 ECX 密码学算法进行密钥导入的 PCT,这是由 FIPS 140-3 IG 10.3 规定的。
此外,此版本增加了对 CMS 的 KEMRecipientInfo(RFC 9629)和 ML-KEM(draft-ietf-lamps-cms-kyber)的支持,为 FIPS 提供者增加了对 FIPS 186-5 确定性 ECDSA 签名生成的支持,支持服务器证书的 TLS 1.3 OCSP 多 stapling,以及支持设置自由函数 thunk 到 OPENSSL_sk 堆栈类型。
它还引入了针对 AES-CFB128 算法的 Intel AVX-512 和 VAES 优化,根据 NIST SP 800-132 将 PKCS12 的默认 macsaltlen 从 8 增加到 16,提高了 FIPS 和非 FIPS 实现之间新生成的 PKCS12 存储的互操作性,并在 AArch64(ARM 64 位)上增加了对交错 AES-CBC+HMAC-SHA 算法的支持。
除此之外,此版本增加了 PKEY 对象的 NIST 安全类别,并为 FIPS 提供者增加了对 FIPS 186-5 确定性 ECDSA 签名生成的支持。它还移除了对 VxWorks 平台的支持,并弃用了 EVP_PKEY_ASN1_METHOD 相关函数。
最后但同样重要的是,OpenSSL 3.6 为 OpenSSL 应用程序添加了 CRYPTO_MEM_SEC 和 CRYPTO_MEM_SEC_MINSIZE 选项以初始化安全内存,为 LoongArch 架构添加了 SHA-2 汇编实现以提升性能,并在 QUIC 中添加了当所有流 FIN 都被确认时的通知。
OpenSSL 3.6 还添加了一个缺失的检查,即调用者指示的输出缓冲区大小至少与 RSA 模数的字节数一样大,以强化 RSA 公钥“加密”操作的提供者实现。
也值得注意的一点是,安全内存分配调用不再用于 HMAC 密钥, openssl req 不再在 SKID/AKID 设置为 none 时生成具有空扩展列表的证书,并且新的 CRYPTO_THREAD_[get|set]_local API 已扩展以减少对操作系统线程局部变量的依赖。
查看项目 GitHub 页面上的发布说明,以获取关于 OpenSSL 3.6 中包含的更改的更多详细信息。如果您想从源代码编译它,也可以从同一位置下载。
图片来源:OpenSSL 项目(由 Marius Nestor 编辑)
转自 OpenSSL 3.6 Officially Released with LMS Signature Verification Support, More – 9to5Linux
Linuxeden开源社区