![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/UEFI_Secure_Boot_DB_certificate.png/640px-UEFI_Secure_Boot_DB_certificate.png&w=640&q=50)
OpenSSL
安全套接層和傳輸層安全性協定協議的開源實現 / 維基百科,自由的 encyclopedia
在電腦網路上,OpenSSL是一個開放原始碼的軟件函式庫套件,應用程式可以使用這個套件來進行安全通訊,避免竊聽,同時確認另一端連線者的身份。這個套件廣泛被應用在互聯網的網頁伺服器上。
此條目或章節需要時常更新。有關事物或許會隨着時間而有所變化。 |
![]() | |
![]() | |
開發者 | OpenSSL專案 |
---|---|
首次釋出 | 1998 |
目前版本 |
![]() |
原始碼庫 | ![]() |
程式語言 | C語言、組譯、Perl |
類型 | 安全性加密函式庫 |
特許條款 | 3.0以前:OpenSSL與SSLeay雙重特許條款 3.0開始:Apache特許條款2.0 |
網站 | www |
其主要函式庫是以C語言所寫成,實作了基本的加密功能,實作了SSL與TLS協定。OpenSSL可以運行在OpenVMS、 Microsoft Windows以及絕大多數類Unix作業系統上(包括Solaris,Linux,Mac 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]
主要版本釋出
版本 | 初始版本日期 | 備註 | 最近更新版本 |
---|---|---|---|
舊版本,不再支援: 0.9.1 | 1998年12月23日 |
|
0.9.1c(1998年12月23日) |
舊版本,不再支援: 0.9.2 | 1999年3月22日 |
|
0.9.2b(1999年4月6日) |
舊版本,不再支援: 0.9.3 | 1999年5月25日 |
|
0.9.3a(1999年5月27日) |
舊版本,不再支援: 0.9.4 | 1999年8月9日 |
|
0.9.4(1999年4月9日) |
舊版本,不再支援: 0.9.5 | 2000年2月28日 |
|
0.9.5a(2000年4月1日) |
舊版本,不再支援: 0.9.6 | 2000年9月24日 |
|
0.9.6m(2004年3月17日) |
舊版本,不再支援: 0.9.7 | 2002年12月31日 |
|
0.9.7m(2007年2月23日) |
舊版本,不再支援: 0.9.8 | 2005年7月5日 |
|
0.9.8zh(2015年12月3日) |
舊版本,不再支援: 1.0.0 | 2010年3月29日 |
|
1.0.0t(2015年12月3日) |
舊版本,不再支援: 1.0.1[7] | 2012年3月14日 |
|
1.0.1u(2016年9月22日) |
舊版本,不再支援: 1.0.2[8] | 2015年1月22日 | 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) |
|
3.1.2 (2023年8月1日 (2023-08-01)) |
格式: 舊版本 舊版本,仍被支援 目前版本 最新的預覽版 未來版本 |
演算法
OpenSSL支援許多不同的加密演算法:
- 加密
- AES、Blowfish、Camellia、Chacha20、Poly1305、SEED(英語:SEED)、CAST-128(英語:CAST-128)、DES、IDEA、RC2(英語:RC2)、RC4、RC5、TDES、GOST 28147-89(英語:GOST (block cipher))[15]、SM4
- 密碼雜湊函數
- MD5、MD4、MD2、SHA-1、SHA-2、SHA-3、RIPEMD-160、MDC-2(英語:MDC-2)、GOST R 34.11-94(英語:GOST (hash function))[15]、BLAKE2、Whirlpool[16]、SM3
- 公開金鑰加密
- RSA、DSA、ECDSA、ECDHE、迪菲-赫爾曼金鑰交換、橢圓曲線密碼學、X25519、Ed25519(英語:EdDSA#Ed25519)、X448(英語:Curve448)、Ed448(英語:Curve448)、GOST 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/ECDH,SM3替代MD5/SHA-1/SHA-256,SM4替代DES/AES,SM9替代PKI/CA體系,所有代碼在GitHub上開源[26],並由北京大學資訊保安實驗室開發和維護[27]。此專案獲得2015年度中國Linux軟件大賽二等獎(一等獎空缺)[28]。
參見
註記
參考
- OpenSSL version 3.3.1 published. 2024年6月4日 [2024年6月5日].
- OpenSSL Management Committee. OpenSSL Software Foundation. [2018-07-22]. (原始內容存檔於2018-07-22).
- OpenSSL Committers. OpenSSL Software Foundation. [2018-07-22]. (原始內容存檔於2018-07-22).
- Marquess, Steve. Akamai sponsors TLS 1.3. openssl-announce (郵寄清單). 2017-01-19 [2018-11-09]. (原始內容存檔於2017-02-01).
- OpenSSL – Changelog. OpenSSL Software Foundation. [2016-09-26]. (原始內容存檔於2016-09-13).
- OpenSSL – Release Strategy. OpenSSL Software Foundation. [2016-09-26]. (原始內容存檔於2016-10-06).
- OpenSSL 1.0.1 Series Release Notes. [2017-02-20]. (原始內容存檔於2015-01-20).
- OpenSSL 1.0.2 Series Release Notes. [2017-02-20]. (原始內容存檔於2014-09-04).
- OpenSSL 1.1.0 Series Release Notes. [2017-02-20]. (原始內容存檔於2018-03-17).
- Caswell, Matt. OpenSSL 1.1.1 Is Released - OpenSSL Blog. www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始內容存檔於2018-09-15) (英語).
- Inc., OpenSSL Foundation,. OpenSSL 1.1.1 Is Released - OpenSSL Blog. www.openssl.org. [2018-09-18]. (原始內容存檔於2018-09-15).
- Caswell, Matt. Using TLS1.3 With OpenSSL - OpenSSL Blog. www.openssl.org. OpenSSL Foundation. 2018-02-08 [2018-02-17]. (原始內容存檔於2018-02-09) (英語).
- Caswell, Matt. OpenSSL 1.1.1 Is Released. www.openssl.org. OpenSSL Foundation. 2018-09-11 [2018-09-18]. (原始內容存檔於2018-09-15) (英語).
- Matt Caswell. The Holy Hand Grenade of Antioch. OpenSSL Blog. 2018-11-28 [2019-10-07]. (原始內容存檔於2021-09-07).
- GOST engine OpenSSL 1.0.0 README. cvs.openssl.org. [2020-12-09]. (原始內容存檔於2013-04-15).
- OpenSSL source code, directory crypto/whrlpool. [2017-08-29]. (原始內容存檔於2019-02-17).
- Protecting data for the long term with forward secrecy. [2012-11-05]. (原始內容存檔於2016-03-04).
- OpenSSL安全协议存在漏洞危及网络用户数据安全. 網易科技報道. 2014-04-09 [2014-04-10]. (原始內容存檔於2014-04-12) (中文(中國大陸)).
- security/assl: assl-1.5.0p0v0 – hide awful SSL API in a sane interface. OpenBSD ports. 2014-05-22 [2015-02-10]. (原始內容存檔於2015-02-10).
- OpenBSD has started a massive strip-down and cleanup of OpenSSL. OpenBSD journal. 2014-04-15 [2018-02-14]. (原始內容存檔於2014-07-01).
- OpenBSD forks, prunes, fixes OpenSSL. ZDNet. 21 April 2014 [21 April 2014]. (原始內容存檔於2014-04-21).
- https://boringssl.googlesource.com/boringssl/ (頁面存檔備份,存於互聯網檔案館) BoringSSL
- Google unveils independent 'fork' of OpenSSL called 'BoringSSL'. Ars Technica. 2014-06-21 [2018-02-14]. (原始內容存檔於2014-06-23).
- GmSSL —— 支持国密算法和标准的 OpenSSL 分支. 開源中國. [2016-05-17]. (原始內容存檔於2019-10-19).
- 首届中国Linux软件大赛:100万元奖金发出. 安全牛. [2015年12月12日]. (原始內容存檔於2019年10月19日).
外部連結
- OpenSSL官方網站
- SSLeay檔案庫
- OpenSSL License vs GPL(頁面存檔備份,存於互聯網檔案館)
- wget's readme file,including the GPL with exception
- mICQ COPYING file,citing the GPL and including the exception
- OpenSSL FAQ entry on interaction between the OpenSSL and GNU licenses(頁面存檔備份,存於互聯網檔案館)
- OpenSSL Quick Reference Guide (頁面存檔備份,存於互聯網檔案館)
- OpenSSL Cookbook - A Short Guide to the Most Frequently Used OpenSSL Features and Commands By Ivan Ristić (頁面存檔備份,存於互聯網檔案館)