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

Quick Facts 開發者, 首次釋出 ...
OpenSSL
開發者OpenSSL專案
首次釋出1998
目前版本
  • 3.3.2(2024年9月3日;穩定版本)[1]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言C語言組譯Perl
類型安全性加密函式庫
特許條款3.0以前:OpenSSL與SSLeay雙重特許條款
3.0開始:Apache特許條款2.0
網站www.openssl.org
Close

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

雖然此軟件是開放原始碼的,但其3.0以前版本的特許條款與GPL有衝突之處,故GPL軟件使用OpenSSL時(如Wget)必須對OpenSSL給予例外。

歷史

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

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

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

主要版本釋出

More information 版本, 初始版本日期 ...
OpenSSL版本歷史[5][6]
版本 初始版本日期 備註 最近更新版本
舊版本,不再支援: 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[7] 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
  • 支援安全遠端密碼協定英語Secure Remote Password protocol(SRP)
1.0.1u(2016年9月22日)
舊版本,不再支援: 1.0.2[8] 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英語ECC Brainpool
  • 支援應用層協定協商
  • CMS支援RSA-PSS英語RSA-PSSRSA-OAEPECDH及X9.42 DH
1.0.2u(2019年12月20日 (2019-12-20)
舊版本,不再支援: 1.1.0[9] 2016年8月25日 (2016-08-25) 1.1.0l(2019年9月10日 (2019-09-10)
舊版本,不再支援: 1.1.1[11] 2018年9月11日 (2018-09-11) 1.1.1w(2023年9月11日 (2023-09-11)
舊版本,仍被支援: 3.0[note 1] 2021年9月7日 (2021-09-07) 3.0.10 (2023年8月1日 (2023-08-01)
當前版本: 3.1 2023年3月14日 (2023-03-14)
  • FIPS 140-3英語FIPS 140-3合規
  • 效能改善
3.1.2 (2023年8月1日 (2023-08-01)
格式:
舊版本
舊版本,仍被支援
目前版本
最新的預覽版
未來版本
Close

演算法

OpenSSL支援許多不同的加密演算法:

加密
AESBlowfishCamelliaChacha20Poly1305SEED英語SEEDCAST-128英語CAST-128DESIDEARC2英語RC2RC4RC5TDESGOST 28147-89英語GOST (block cipher)[15]SM4
密碼雜湊函數
MD5MD4MD2SHA-1SHA-2SHA-3RIPEMD-160MDC-2英語MDC-2GOST R 34.11-94英語GOST (hash function)[15]BLAKE2Whirlpool[16]SM3
公開金鑰加密
RSADSAECDSAECDHE迪菲-赫爾曼金鑰交換橢圓曲線密碼學X25519Ed25519X448英語Curve448Ed448英語Curve448GOST 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]

參見

註記

參考

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.