OpenSSL

在上,OpenSSL是一個開放原始碼軟體函式庫套件,應用程式可以使用這個套件來進行安全通訊,避免竊聽,同時確認另一端連線者的身份。這個套件廣泛被應用在網際網路的網頁伺服器上。

OpenSSL
開發者OpenSSL專案
初始版本1998
穩定版本1.1.1j(2021年2月16日2021-02-16[1][±]
預覽版本3.0 Alpha 11(2021年1月28日2021-01-28[2][±]
源代码库
编程语言C语言汇编Perl
类型安全性加密函式庫
许可协议Apache许可证1.0及原版BSD许可证
网站www.openssl.org

其主要函式庫是以C語言所寫成,實作了基本的加密功能,實作了SSL與TLS協定。OpenSSL可以運行在OpenVMSMicrosoft Windows以及絕大多數類Unix作業系統上(包括SolarisLinuxMac OS X與各種版本的開放原始碼BSD作業系統)。

雖然此軟體是開放原始碼的,但其授權書條款與GPL有衝突之處,故GPL軟體使用OpenSSL時(如Wget)必須對OpenSSL給予例外。

歷史

OpenSSL計劃在1998年開始,其目標是發明一套自由的加密工具,在網際網路上使用。OpenSSL以Eric Young以及Tim Hudson兩人開發的SSLeay為基礎,隨著兩人前往RSA公司任職,SSLeay在1998年12月停止開發。因此在1998年12月,社群另外分支出OpenSSL,繼續開發下去。

OpenSSL管理委員會目前由7人組成[3],有13個開發人員[4]具有提交權限(其中許多人也是OpenSSL管理委員會的一部分)。只有兩名全職員工(研究員),其餘的是志願者。

該項目每年的預算不到100萬美元,主要依靠捐款。 TLS 1.3的開發由Akamai贊助。[5]

主要版本发布

OpenSSL版本历史[6][7]
版本发布时间备注最近更新版本
舊版本,不再支援: 0.9.1 1998年12月23日
  • OpenSSL项目的正式开启
0.9.1c(1998年12月23日)
舊版本,不再支援: 0.9.2 1999年3月22日
  • 取代0.9.1c
0.9.2b(1999年4月6日)
舊版本,不再支援: 0.9.3 1999年5月25日
  • 取代0.9.2b
0.9.3a(1999年5月27日)
舊版本,不再支援: 0.9.4 1999年8月9日
  • 取代0.9.3a
0.9.4(1999年4月9日)
舊版本,不再支援: 0.9.5 2000年2月28日
  • 取代0.9.4
0.9.5a(2000年4月1日)
舊版本,不再支援: 0.9.6 2000年9月24日
  • 取代0.9.5a
0.9.6m(2004年3月17日)
舊版本,不再支援: 0.9.7 2002年12月31日
  • 取代0.9.6m
0.9.7m(2007年2月23日)
舊版本,不再支援: 0.9.8 2005年7月5日
  • 取代0.9.7m
0.9.8zh(2015年12月3日)
舊版本,不再支援: 1.0.0 2010年3月29日
  • 取代0.9.8n
1.0.0t(2015年12月3日)
舊版本,不再支援: 1.0.1[8] 2012年3月14日
  • 取代1.0.0
  • 维护至2016年12月31日
  • 支持RFC 6520 TLS/DTLS心跳
  • 支持SCTP
  • RFC 5705 TLS key material exporter
  • RFC 5764 DTLS-SRTP协商
  • Next Protocol Negotiation
  • PSS signatures in certificates, requests and 证书吊销列表
  • Support for password based recipient info for CMS
  • 支持TLS v1.2以及TLS v1.1
  • Preliminary FIPS capability for unvalidated 2.0 FIPS module
  • 支持安全远程密码协议(SRP)
1.0.1u(2016年9月22日)
舊版本,不再支援: 1.0.2[9] 2015年1月22日
  • 取代1.0.1
  • 维护至2019年12月31日(长期维护)
  • Suite B支持TLS 1.2和DTLS 1.2
  • 支持DTLS 1.2
  • TLS自动选择椭圆曲线(EC)
  • 用於設置TLS支持的簽名算法和曲線的API
  • SSL_CONF配置API
  • 支持TLS Brainpool
  • 支持应用层协议协商
  • CMS支持RSA-PSSRSA-OAEPECDH及X9.42 DH
1.0.2u(2019年12月20日 (2019-12-20)
舊版本,不再支援: 1.1.0[10] 2016年8月25日 (2016-08-25)
  • 取代1.0.2h
  • 預計維護到2019年9月[11]
  • 支持BLAKE (RFC 7693)
  • 支持ChaCha20-Poly1305RFC 7539
  • 支持X25519RFC 7748
  • 支持DANE证书透明度
  • 支持扩CCM密碼套件
  • 支持扩展主密钥
  • 移除SSLv2
  • 移除对Kerberos密码包的支持
  • 将RC4和3DES從libssl从DEFAULT密碼套件中移除
  • 将DSS、SEED、IDEA、CAMELLIA以及AES-CCM从DEFAULT密碼套件中移除
  • 将40和56位密码从libssl中移除
1.1.0l(2019年9月10日 (2019-09-10)
當前版本: 1.1.1[12] 2018年9月11日 (2018-09-11) 1.1.1h(2020年9月22日 (2020-09-22)
格式:
舊版本
舊版本,仍被支援
当前版本
最新的预览版
未来版本

算法

OpenSSL支持许多不同的加密算法:

加密
AESBlowfishCamelliaChacha20Poly1305SEEDCAST-128DESIDEARC2RC4RC5TDESGOST 28147-89[15]SM4
密碼雜湊函數
MD5MD4MD2SHA-1SHA-2SHA-3RIPEMD-160MDC-2GOST R 34.11-94[15]BLAKE2Whirlpool[16]SM3
公开密钥加密
RSADSAECDSAECDHE迪菲-赫爾曼密鑰交換椭圆曲线密码学X25519Ed25519X448Ed448GOST R 34.10-2001[15]SM2

(从1.0版开始,橢圓曲線迪菲-赫爾曼金鑰交換用于支持前向安全性[17])

心脏出血漏洞

OpenSSL 1.0.1版本(不含1.0.1g)含有一个严重漏洞,可允许攻击者读取服务器的内存信息。该漏洞於2014年4月被公諸於世,影响三分之二的活跃网站[18]

分支

Agglomerated SSL

在2009年,OpenSSL API受挫之后,当时的OpenBSD开发人员Marco Peereboom创建了分支Agglomerated SSL(assl),它重新使用OpenSSL API,但提供了更简单的外部接口。[19]

LibreSSL

2014年4月的心脏出血漏洞事件之后,OpenBSD项目成员以OpenSSL 1.0.1g作为分支,创建一个名为LibreSSL的项目。[20]在缩减OpenSSL的代码库的第一周,将超过90,000行的C语言代码从分支中删除。[21]

BoringSSL

2014年6月,Google发布了自己的OpenSSL分支BoringSSL[22],计划与OpenSSL和LibreSSL的开发者合作。[23][24][25]

GmSSL

GmSSL支持SM2/SM3/SM4/SM9/ZUC等商用密码,主要使用SM2替代RSA/Diffie-Hellman/ECDSA/ECDHSM3替代MD5/SHA-1/SHA-256SM4替代DES/AESSM9替代PKI/CA体系,所有代码在GitHub上开源[26],并由北京大学信息安全实验室开发和维护[27]。此项目获得2015年度中国Linux软件大赛二等奖(一等奖空缺)[28]

参见

参考

  1. . [2021-02-16].
  2. . [2021-01-28].
  3. . OpenSSL Software Foundation. [2018-07-22]. (原始内容存档于2018-07-22).
  4. . OpenSSL Software Foundation. [2018-07-22]. (原始内容存档于2018-07-22).
  5. Marquess, Steve. . openssl-announce (邮件列表). 2017-01-19 [2018-11-09]. (原始内容存档于2017-02-01).
  6. . OpenSSL Software Foundation. [2016-09-26]. (原始内容存档于2016-09-13).
  7. . OpenSSL Software Foundation. [2016-09-26]. (原始内容存档于2016-10-06).
  8. . [2017-02-20]. (原始内容存档于2015-01-20).
  9. . [2017-02-20]. (原始内容存档于2014-09-04).
  10. . [2017-02-20]. (原始内容存档于2018-03-17).
  11. Caswell, Matt. . www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始内容存档于2018-09-15) (英语).
  12. Inc., OpenSSL Foundation,. . www.openssl.org. [2018-09-18]. (原始内容存档于2018-09-15).
  13. Caswell, Matt. . www.openssl.org. OpenSSL Foundation. 2018-02-08 [2018-02-17]. (原始内容存档于2018-02-09) (英语).
  14. Caswell, Matt. . www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始内容存档于2018-09-15) (英语).
  15. . cvs.openssl.org. [2020-12-09]. (原始内容存档于2013-04-15).
  16. . [2017-08-29]. (原始内容存档于2019-02-17).
  17. . [2012-11-05]. (原始内容存档于2016-03-04).
  18. . 网易科技报道. 2014-04-09 [2014-04-10]. (原始内容存档于2014-04-12) (中文(中国大陆)‎).
  19. . OpenBSD ports. 2014-05-22 [2015-02-10]. (原始内容存档于2015-02-10).
  20. . OpenBSD journal. 2014-04-15 [2018-02-14]. (原始内容存档于2014-07-01).
  21. . ZDNet. 21 April 2014 [21 April 2014]. (原始内容存档于2014-04-21).
  22. https://boringssl.googlesource.com/boringssl/ 页面存档备份,存于 BoringSSL
  23. . Ars Technica. 2014-06-21 [2018-02-14]. (原始内容存档于2014-06-23).
  24. . Adam Langley's Weblog. 2014-06-20 [2018-02-14]. (原始内容存档于2018-06-01).
  25. . [2018-02-14]. (原始内容存档于2018-02-14).
  26. GitHub上的GmSSL頁面
  27. . 开源中国. [2016-05-17]. (原始内容存档于2019-10-19).
  28. . 安全牛. [2015年12月12日]. (原始内容存档于2019年10月19日).

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.