本頁使用了標題或全文手工轉換

OpenSSL

維基百科,自由的百科全書
跳到: 導覽搜尋
Confusion grey.svg
提示:本條目的主題不是OpenSSH
OpenSSL
OpenSSL logo.png
開發者 OpenSSL專案
初始版本 1998
穩定版本
穩定版本

1.1.0h(2018年3月27日,​22天前​(2018-03-27[1][±]

1.0.2o(2018年3月27日,​22天前​(2018-03-27[1][±]
預覽版本 1.1.1 beta 2(2018年4月3日,​15天前​(2018-04-03[2][±]
程式語言 C語言組譯
類型 安全性加密函數庫
特許條款 Apache特許條款1.0及原版BSD特許條款
網站 www.openssl.org
原始碼庫 github.com/openssl/openssl

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

其主要函數庫是以C語言所寫成,實作了基本的加密功能,實作了SSL與TLS協定。OpenSSL可以運行在OpenVMSMicrosoft Windows以及絕大多數類Unix作業系統上(包括SolarisLinuxMac OS X與各種版本的開放源碼BSD作業系統)。它也提供了一個移植版本,可以在IBM i(OS/400)上運作。

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

歷史[編輯]

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

主要版本釋出[編輯]

OpenSSL版本歷史[3][4]
版本 釋出時間 備註 最後一個更新
舊版本,不再支援: 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[5] 2012年3月14日 1.0.1u(2016年9月22日)
舊版本,仍被支援: 1.0.2[6] 2015年1月22日 1.0.2n(2017年12月2日)
當前版本: 1.1.0[7] 2016年8月25日 1.1.0g(2017年11月2日)
最新預覽版本: 1.1.1[8] 2018年3月20日 Beta 1
未來版本: 1.1.1[10] 2018年4月3日 Beta 2
2018年4月17日 Beta 3
2018年5月1日 Beta 4
2018年5月15日 釋出
格式:
舊版本
舊版本,仍被支援
目前版本
最新的預覽版
未來版本

演算法[編輯]

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

加密
AESBlowfishCamelliaSEED英語SEEDCAST-128英語CAST-128DESIDEARC2英語RC2RC4RC5英語RC5TDESGOST 28147-89英語GOST (块状加密)[11]
密碼雜湊函數
MD5MD4MD2英語MD2 (cryptography)SHA-1SHA-2RIPEMD-160MDC-2英語MDC-2GOST R 34.11-94英語GOST (hash function),[11] BLAKE2英語BLAKE (hash function)#BLAKE2、Whirlpool[12]
公開金鑰加密
RSADSA迪菲-赫爾曼密鑰交換橢圓曲線、GOST R 34.10-2001[11]

(從1.0版開始,橢圓曲線迪菲-赫爾曼金鑰交換用於支援前向安全性[13])

心臟出血漏洞[編輯]

OpenSSL 1.0.1版本(不含1.0.1g)含有一個嚴重漏洞,可允許攻擊者讀取伺服器的記憶體資訊。該漏洞影響三分之二的活躍網站[14]

分支[編輯]

Agglomerated SSL[編輯]

在2009年,OpenSSL API受挫之後,當時的OpenBSD開發人員Marco Peereboom建立了分支Agglomerated SSL(assl),它重新使用OpenSSL API,但提供了更簡單的外部介面。[15]

LibreSSL[編輯]

2014年4月的心臟出血漏洞事件之後,OpenBSD專案成員以OpenSSL 1.0.1g作為分支,建立一個名為LibreSSL的專案。[16]在縮減OpenSSL的代碼庫的第一周,將超過90,000行的C語言代碼從分支中刪除。[17]

BoringSSL[編輯]

2014年6月,釋出了自己的OpenSSL分支BoringSSL。[18]Google計劃與OpenSSL和LibreSSL的開發者合作。[19][20][21]

參見[編輯]

參考[編輯]

  1. ^ 1.0 1.1 OpenSSL: Newslog. [2018-03-27]. 
  2. ^ OpenSSL: Newslog. [2018-04-04]. 
  3. ^ OpenSSL – Changelog. OpenSSL Software Foundation. [2016-09-26]. 
  4. ^ OpenSSL – Release Strategy. OpenSSL Software Foundation. [2016-09-26]. 
  5. ^ OpenSSL 1.0.1 Series Release Notes. [2017-02-20]. (原始內容存檔於2015-01-20). 
  6. ^ OpenSSL 1.0.2 Series Release Notes. [2017-02-20]. 
  7. ^ OpenSSL 1.1.0 Series Release Notes. [2017-02-20]. 
  8. ^ https://www.openssl.org/news/changelog.html#x0
  9. ^ Caswell, Matt. Using TLS1.3 With OpenSSL - OpenSSL Blog. www.openssl.org. OpenSSL Foundation. 2018-02-08 (英語). 
  10. ^ https://www.openssl.org/policies/releasestrat.html
  11. ^ 11.0 11.1 11.2 GOST engine OpenSSL 1.0.0 README. cvs.openssl.org. (原始內容存檔於2013-04-15). 
  12. ^ OpenSSL source code, directory crypto/whrlpool. [2017-08-29]. 
  13. ^ Protecting data for the long term with forward secrecy. [2012-11-05]. 
  14. ^ OpenSSL安全協議存在漏洞危及網絡用戶數據安全. 網易科技報道. 2014-04-09 [2014-04-10] (中文(中國大陸)‎). 
  15. ^ security/assl: assl-1.5.0p0v0 – hide awful SSL API in a sane interface. OpenBSD ports. 2014-05-22 [2015-02-10]. 
  16. ^ OpenBSD has started a massive strip-down and cleanup of OpenSSL. OpenBSD journal. 2014-04-15. 
  17. ^ OpenBSD forks, prunes, fixes OpenSSL. ZDNet. 21 April 2014 [21 April 2014]. 
  18. ^ https://boringssl.googlesource.com/boringssl/ BoringSSL
  19. ^ Google unveils independent 'fork' of OpenSSL called 'BoringSSL'. Ars Technica. 2014-06-21. 
  20. ^ BoringSSL. Adam Langley's Weblog. 2014-06-20. 
  21. ^ https://nakedsecurity.sophos.com/2014/06/24/boringssl-wants-kill-the-excitement-that-led-to-heartbleed/

外部連結[編輯]