ข้ามไปเนื้อหา

โอเพนเอสเอสแอล

จากวิกิพีเดีย สารานุกรมเสรี
OpenSSL
นักพัฒนาThe OpenSSL Project
วันที่เปิดตัว1998; 26 ปีที่แล้ว (1998)
รุ่นเสถียร
Stable3.4.0[1] แก้ไขบนวิกิสนเทศ / 22 ตุลาคม 2024
ที่เก็บข้อมูล
ภาษาที่เขียนภาษาซี, Assembly, Perl
ประเภทCryptography library
สัญญาอนุญาต3.0 and later: Apache-2.0[2]
1.x and earlier: OpenSSL[3]
เว็บไซต์www.openssl.org

โอเพนเอสเอสแอล (อังกฤษ: OpenSSL) เป็น ไลบรารี ซอฟต์แวร์สำหรับแอปพลิเคชันที่ให้การสื่อสารที่ปลอดภัยผ่าน เครือข่ายคอมพิวเตอร์ ป้องกันการดักฟัง และระบุบุคคลที่ปลายอีกด้านหนึ่ง เซิร์ฟเวอร์ อินเทอร์เน็ต ใช้กันอย่างแพร่หลาย รวมถึง เว็บไซต์ ที่ใช้ เอชทีทีพีเอส เป็นส่วนใหญ่

โอเพนเอสเอสแอลมีการใช้งานโปรโตคอล SSL และ TLS แบบโอเพ่นซอร์ส ไลบรารี หลัก ซึ่งเขียนด้วย ภาษาซี ใช้ฟังก์ชัน การเข้ารหัส ขั้นพื้นฐานและมีฟังก์ชันยูทิลิตี้ต่างๆ มี Wrappers ที่อนุญาตให้ใช้ไลบรารีโอเพนเอสเอสแอลในภาษาคอมพิวเตอร์ที่หลากหลาย

OpenSSL Software Foundation (OSF) เป็นตัวแทนของโครงการโอเพนเอสเอสแอล ในความสามารถทางกฎหมายส่วนใหญ่ รวมถึงข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล การจัดการการบริจาค และอื่นๆ OpenSSL Software Services (OSS) ยังเป็นตัวแทนของโครงการ OpenSSL สำหรับสัญญาการสนับสนุนอีกด้วย

โอเพนเอสเอสแอลพร้อมใช้งานใน ระบบปฏิบัติการ แบบยูนิกซ์ ส่วนใหญ่ (รวมถึง ลินุกซ์, แมคโอเอส และ เบิร์กลีย์ซอฟต์แวร์ดิสทริบิวชัน), ไมโครซอฟท์ วินโดวส์ และ OpenVMS

ประวัติโครงการ

[แก้]

โครงการ OpenSSL ก่อตั้งขึ้นในปี 1998 เพื่อมอบชุดเครื่องมือเข้ารหัสฟรีสำหรับโค้ดที่ใช้บนอินเทอร์เน็ต มีพื้นฐานมาจากการแยก SSLeay โดย Eric Andrew Young และ Tim Hudson ซึ่งยุติการพัฒนาอย่างไม่เป็นทางการเมื่อวันที่ 17 ธันวาคม 1998 เมื่อ Young และ Hudson ทั้งคู่ไปทำงานให้กับ RSA Security สมาชิกผู้ก่อตั้งครั้งแรก ได้แก่ Mark Cox, Ralf Engelschall, Stephen Henson, Ben Laurie และ Paul Sutton

การเปิดตัวเวอร์ชัน

[แก้]
การเปิดตัวเวอร์ชันของ OpenSSL [4][5][6]
เวอร์ชัน วันที่เปิดตัวครั้งแรก หมายเหตุ เวอร์ชันย่อยสุดท้าย
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.1[7] 23 ธันวาคม ค.ศ. 1998 (1998-12-23)
  • Official start of the OpenSSL project
0.9.1c (23 December 1998)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.2[7] 22 มีนาคม ค.ศ. 1999 (1999-03-22)
  • Successor of 0.9.1c
0.9.2b (6 April 1999)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.3[7] 25 พฤษภาคม ค.ศ. 1999 (1999-05-25)
  • Successor of 0.9.2b
0.9.3a (27 May 1999)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.4[7] 9 สิงหาคม ค.ศ. 1999 (1999-08-09)
  • Successor of 0.9.3a
0.9.4 (9 August 1999)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.5[7] 28 กุมภาพันธ์ ค.ศ. 2000 (2000-02-28)
  • Successor of 0.9.4
0.9.5a (1 April 2000)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.6[7] 24 กันยายน ค.ศ. 2000 (2000-09-24)
  • Successor of 0.9.5a
0.9.6m (17 March 2004)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.7[7] 31 ธันวาคม ค.ศ. 2002 (2002-12-31)
  • Successor of 0.9.6m
0.9.7m (23 February 2007)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 0.9.8[7] 5 กรกฎาคม ค.ศ. 2005 (2005-07-05)
  • Successor of 0.9.7m
0.9.8zh (3 December 2015)
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 1.0.0[8] 29 มีนาคม ค.ศ. 2010 (2010-03-29)
  • Successor of 0.9.8n
1.0.0t (3 ธันวาคม ค.ศ. 2015 (2015-12-03))
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 1.0.1[9] 14 มีนาคม ค.ศ. 2012 (2012-03-14) 1.0.1u (22 กันยายน ค.ศ. 2016 (2016-09-22))
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 1.0.2[10] 22 มกราคม ค.ศ. 2015 (2015-01-22)
  • Successor of 1.0.1l
  • Supported until 31 December 2019 (Long Term Support)[11]
  • Suite B support for TLS 1.2 and DTLS 1.2
  • Support for DTLS 1.2
  • TLS automatic elliptic curve (EC) selection
  • API to set TLS supported signature algorithms and curves
  • SSL_CONF configuration API
  • TLS Brainpool support
  • ALPN support
  • CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH
  • FIPS 140 support
1.0.2u (20 ธันวาคม ค.ศ. 2019 (2019-12-20))
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 1.1.0[12] 25 สิงหาคม ค.ศ. 2016 (2016-08-25)
  • Successor of 1.0.2h
  • Supported until 11 September 2019[11]
  • Support for BLAKE2 (RFC 7693)
  • Support for ChaCha20-Poly1305 (RFC 7539)
  • Support for X25519 (RFC 7748)
  • Support for DANE and Certificate Transparency
  • Support for CCM Ciphersuites
  • Support for extended master secret
  • SSLv2 removed
  • Kerberos ciphersuite support removed
  • RC4 and 3DES removed from DEFAULT ciphersuites in libssl
  • Remove DSS, SEED, IDEA, CAMELLIA, and AES-CCM from the DEFAULT cipherlist
  • 40 and 56 bit cipher support removed from libssl
  • FIPS 140 support removed
1.1.0l (10 กันยายน ค.ศ. 2019 (2019-09-10))
เวอร์ชันเก่า ไม่สนับสนุนอีกต่อไป: 1.1.1 LTS[13][14] 11 กันยายน ค.ศ. 2018 (2018-09-11) 1.1.1w (11 September 2023)
เวอร์ชันเก่า ยังคงสนับสนุนอยู่: 3.0.0 LTS[16][17][note 1] 7 กันยายน ค.ศ. 2021 (2021-09-07) Ongoing development.
(EOL 2026-09-07)
เวอร์ชันเสถียรปัจจุบัน: 3.1.0[19][20] 14 มีนาคม ค.ศ. 2023 (2023-03-14)
  • Supported until 14 March 2025[11]
  • FIPS 140-3 compliance.
  • Performance enhancements.
Ongoing development.
(EOL 2025-03-14)
สัญลักษณ์:
รุ่นเก่า ไม่ได้รับการสนับสนุนอีกต่อไป
รุ่นเก่า ยังได้รับการสนับสนุน
รุ่นล่าสุด
รุ่นพรีวิวล่าสุด
การเปิดตัวในอนาคต

ช่องโหว่ที่เป็นที่รู้จักกันกว้างขวาง

[แก้]

ฮาร์ตบลีด

[แก้]
โลโก้ของบั๊กฮาร์ตบลีด

OpenSSL รุ่น 1.0.1 ไปจนถึง 1.0.1f มีบั๊ก ในระบบของส่วนขยาย Heartbeat Extension ในตัว TLS ช่องโหว่นี้สามารถทำให้เปิดเผยข้อมูลในหน่วยความจำได้มากถึง 64กิบิไบต์ในแต่ละ heartbeat[21][22] (CVE-2014-0160). การอ่านหน่วยความจำของเซิร์ฟเวอร์สามารถเปิดช่องโหว่ให้ผู้ไม่หวังดีกอบโกยข้อมูลละเอียดอ่อน รวมไปถึงกุญแจส่วนตัวด้วย[23]

เชิงอรรถ

[แก้]
  1. The major version 2.0.0 was skipped due to its previous use in the OpenSSL FIPS module.[18]

อ้างอิง

[แก้]
  1. "OpenSSL 3.4.0". 22 ตุลาคม 2024. สืบค้นเมื่อ 22 ตุลาคม 2024.
  2. "/source/license.html". www.openssl.org. สืบค้นเมื่อ 2021-03-03.
  3. "OpenSSL License | Software Package Data Exchange (SPDX)". spdx.org.
  4. "OpenSSL – Changelog". OpenSSL Software Foundation. สืบค้นเมื่อ 2016-09-26.
  5. "OpenSSL – Release Strategy". OpenSSL Software Foundation. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2016-10-06. สืบค้นเมื่อ 2016-09-26.
  6. "OpenSSL Releases". GitHub. สืบค้นเมื่อ 2022-12-06.
  7. 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 "OpenSSL 0.9.x series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  8. "OpenSSL 1.0.0 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  9. "OpenSSL 1.0.1 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  10. "OpenSSL 1.0.2 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  11. 11.0 11.1 11.2 11.3 11.4 "Release Strategy". www.openssl.org (ภาษาอังกฤษ). OpenSSL Foundation. 2020-01-07. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2016-10-06. สืบค้นเมื่อ 2023-10-14.
  12. "OpenSSL 1.1.0 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  13. 13.0 13.1 Caswell, Matt (2018-09-11). "OpenSSL 1.1.1 Is Released". www.openssl.org (ภาษาอังกฤษ). OpenSSL Foundation.
  14. "OpenSSL 1.1.1 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  15. Caswell, Matt (2018-02-08). "Using TLS1.3 With OpenSSL - OpenSSL Blog". www.openssl.org (ภาษาอังกฤษ). OpenSSL Foundation.
  16. "OpenSSL 3.0 Has Been Released! - OpenSSL Blog". www.openssl.org. สืบค้นเมื่อ 2021-09-08.
  17. "OpenSSL 3.0 series notes". GitHub. สืบค้นเมื่อ 2022-12-06.
  18. 18.0 18.1 Matt Caswell (2018-11-28). "The Holy Hand Grenade of Antioch". OpenSSL Blog. สืบค้นเมื่อ 2019-10-07.
  19. "OpenSSL 3.1 Final Release - OpenSSL Blog". www.openssl.org. สืบค้นเมื่อ 2023-03-15.
  20. "OpenSSL 3.1 series notes". GitHub. สืบค้นเมื่อ 2023-03-15.
  21. OpenSSL.org (เมษายน 7, 2014). "OpenSSL Security Advisory [07 Apr 2014]". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ เมษายน 8, 2014. สืบค้นเมื่อ เมษายน 9, 2014.
  22. OpenSSL (เมษายน 7, 2014). "TLS heartbeat read overrun (CVE-2014-0160)". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ เมษายน 8, 2014. สืบค้นเมื่อ เมษายน 8, 2014.
  23. Codenomicon Ltd (เมษายน 8, 2014). "Heartbleed Bug". สืบค้นเมื่อ เมษายน 8, 2014.