LibreSSL 项目近日正式发布了 LibreSSL 4.0 版本,这是 4.x 分支的首个稳定版本,标志着项目进入了一个新的里程碑。该版本带来了多项重要的改进和功能增强,进一步提升了安全性和性能,以更好地满足现代网络通信的需求。
LibreSSL 是一个开源项目,源自 OpenBSD 社区,专注于实现和维护TLS(传输层安全协议),并因其简洁、安全的代码质量而受到多个操作系统的广泛采用。TLS 在保护网络数据传输方面起着至关重要的作用,而 LibreSSL 的目标是提供一个高效、可靠的实现方案,适用于各种系统和应用环境。
LibreSSL 是 OpenSSH 在 OpenBSD、Dragonfly BSD 和 Windows 平台上的默认 TLS 提供程序,同时也可选用于 FreeBSD、Gentoo Linux、OPNsense 以及 macOS 系统。
新版本的发布与主要更新
此次发布的 LibreSSL 4.0 版本与 OpenBSD 7.6 同时推出,为用户带来了全面的跨平台支持增强、内部优化、以及兼容性和安全性的显著提升。
跨平台支持大幅增强
LibreSSL 4.0 对其跨平台支持进行了重要改进,初步实现了在 Emscripten(一种用于在浏览器中运行 C/C++ 代码的工具链)上的构建支持。这一更新使得在更广泛的平台上使用 LibreSSL 成为可能,进一步扩展了其应用范围。
同时,LibreSSL 也开始逐步放弃对过时平台的支持,例如移除了对 mips32 架构的支持,集中资源在更加现代化的平台上。
Windows 用户的改进
对于 Windows 用户,LibreSSL 4.0 也做出了重要改进,特别是延长了日期兼容性,支持到 2038 年之后 的系统使用。这一改进确保了 Windows 平台上长期使用的稳定性,特别是在处理未来的时间兼容性问题时,能够更好地应对潜在风险。
重要的内部优化
LibreSSL 4.0 进行了大量内部代码的清理和优化工作,尤其是在 X509 信任检查 方面的简化处理,使得代码更加简洁、效率更高。同时,项目团队还移除了许多过时的加密实现,尤其是针对旧架构的算法,使得整体加密性能和安全性得到了提升。
公共 API 的变化
为了进一步提高维护性和透明度,LibreSSL 4.0 从 公共 API 中移除了部分汇编函数,并通过 C 函数 进行封装。这一变动简化了开发者对 API 的调用,并减少了未来维护代码的复杂性。
新增功能与兼容性调整
LibreSSL 4.0 还为 openssl 的 cms 命令 增加了一个新选项,称为“CRLfile”。这个选项允许用户在验证过程中指定额外的证书吊销列表(CRL),进一步提升了安全性。
此外,项目文档也得到了更新,以确保与最新版本的功能保持一致,帮助用户更好地理解并使用这些新功能。
过时协议的移除
在安全性方面,LibreSSL 4.0 彻底移除了对 TLSv1.0 和 TLSv1.1 等过时协议的支持,同时删除了一些不再安全的函数和算法,如 Whirlpool 加密算法。这些变动旨在鼓励开发者和用户采用更加现代的加密选项,从而提高系统的整体安全性。
错误修复与安全性提升
LibreSSL 4.0 还包含了一系列重要的错误修复。例如,在 RSA 密钥交换 中进行了恒定时间实现,防止了 时间攻击,进一步增强了系统的安全性。
同时,在支持组和密钥共享扩展方面的改进,减少了配置错误的可能性和安全漏洞的风险,使得系统在处理加密任务时更加可靠。
总结
LibreSSL 4.0 是该项目的一次重要更新,显著提升了其在多个平台上的兼容性和稳定性。无论是在跨平台支持、公共 API 简化,还是在安全性和错误修复方面,LibreSSL 4.0 都展现了其强大的改进能力。
对于开发者和系统管理员来说,升级到 LibreSSL 4.0 可以带来更高的安全性和更高效的操作体验。更多详情可以查阅 OpenBSD 邮件列表 上的发布公告。
重点回顾
- 跨平台支持:新增 Emscripten 支持,移除 mips32 支持。
- 安全增强:移除 TLSv1.0 和 TLSv1.1 支持,引入新加密测试。
- Windows 改进:日期兼容性扩展至 2038 年后。
- 错误修复:RSA 密钥交换以恒定时间实现,防止时间攻击。
这次发布让 LibreSSL 更加现代化,并且为未来的开发奠定了坚实基础。