LibreSSL

生活百科 2023-01-25 18:03生活百科www.aizhengw.cn

LibreSSL

LibreSSL是OpenSSL加密软体库的一个分支,为一个安全套接层(SSL)和传输层安全(TLS)协定的开源实现。在OpenSSL爆出心脏出血安全漏洞之后,一些OpenBSD开发者于2014年4月创立了LibreSSL,目标是重构OpenSSL的代码,以提供一个更安全的替代品。LibreSSL复刻自OpenSSL库的1.0.1g分支,它将遵循其他OpenBSD项目所使用的安全指导原则。

基本介绍

  • 中文名LibreSSL
  • 分支OpenSSL加密软体库
  • 创立时间2014年4月
  • 目标重构OpenSSL的代码

历史

在OpenSSL爆出心脏出血漏洞后的一周之内,OpenBSD开发团队便决定自行维护一个OpenSSL分支。开发团队于2014年4月11日注册libressl.org域名,该项目于2014年4月22日公布。
OpenBSD开发团队随即开始清理OpenSSL的代码,在第一周,LibreSSL开发团队删去了9000多行的代码。一些陈旧或无用代码被移除,对一些比较罕见的作业系统的支持也被移除。LibreSSL最初的目标平台是OpenBSD 5.6,但当代码稳定之后,还移植至其他平台。截至2014年4月,该项目仍在寻求“稳定的”外部资金支持。

变化详情

记忆体相关

一些较显着和重要的变化包括更换自定义的记忆体访问调用为标準函式(例如strlcpy、calloc、asprintf、reallocarray等)。这有助于在将来用更先进的记忆体调试器,或通过观察程式的崩溃情况来发现快取溢出等错误。CVS提交日誌中也记录了对潜在双重释放记忆体的修复(包括空指针值的显式分配)。

加密算法

原本不安全的种子生成方法(由核心原生提供)被移除,以确保随机数种子是通过安全的随机数生成器产生的。又新加入了一系列算法,包括ChaCha20、Poly1305等。

其他改动

加入了的完整性检查,以检查长度参数、无符号到有符号变数的赋值、指针值/方法返回值等数据的有效性。启用了一些使之更加安全的编译器选项和标誌(-Wuninitialized,-Werror等),这有助于发现潜在问题。为遵循良好的编程风格,项目也提高了代码可读性并清理空白字元,使之匹配BSD的代码风格(KNF)。移除了不必要或不安全的宏和变数;移除了未使用的或旧的程式集、应用程式、演示及文档档案/代码(Perl脚本、C语言档案等)。移除了对FIPS 140-2支持、不安全的算法Dual_EC_DRBG及旧的协定/加密器(SSLv2)。

OpenSSL

在计算机网路上,OpenSSL是一个开放原始码的软体库包,应用程式可以使用这个包来进行安全通信,避免窃听,确认另一端连线者的身份。这个包广泛被套用在网际网路的网页伺服器上。
其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协定。OpenSSL可以运行在OpenVMS、Microsoft Windows以及绝大多数类Unix作业系统上(包括Solaris,Linux,Mac OS X与各种版本的开放原始码BSD作业系统)。它也提供了一个移植版本,可以在IBM i(OS/400)上运作。
虽然此软体是开放原始码的,但其许可书条款与GPL有冲突之处,故GPL软体使用OpenSSL时(如Wget)必须对OpenSSL给予例外。

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有