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

โอเพนเอสเอสแอล (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
== การเปิดตัวเวอร์ชัน ==
{|class="wikitable" style="min-width:40%"
|+ การเปิดตัวเวอร์ชันของ OpenSSL 
|-
! เวอร์ชัน !! วันที่เปิดตัวครั้งแรก !! หมายเหตุ !! เวอร์ชันย่อยสุดท้าย
|-
| 
| 
| align="right" |
Official start of the OpenSSL project
| 0.9.1c (23 December 1998)
|-
| 
| 
| align="right" |
Successor of 0.9.1c
| 0.9.2b (6 April 1999)
|-
| 
| 
| align="right" |
Successor of 0.9.2b
| 0.9.3a (27 May 1999)
|-
| 
| 
| align="right" |
Successor of 0.9.3a
| 0.9.4 (9 August 1999)
|-
| 
| 
| align="right" |
Successor of 0.9.4
| 0.9.5a (1 April 2000)
|-
| 
| 
| align="right" |
Successor of 0.9.5a
| 0.9.6m (17 March 2004)
|-
| 
| 
| align="right" |
Successor of 0.9.6m
| 0.9.7m (23 February 2007)
|-
| 
| 
| align="right" |
Successor of 0.9.7m
| 0.9.8zh (3 December 2015)
|-
| 
| 
| align="right" |
Successor of 0.9.8n
| 1.0.0t 
|-
| 
| 
| align="right" |
Successor of 1.0.0h
Supported until 31 December 2016
RFC 6520 TLS/DTLS heartbeat support
SCTP support
RFC 5705 TLS key material exporter
RFC 5764 DTLS-SRTP negotiation
Next Protocol Negotiation
PSS signatures in certificates, requests and certificate revocation lists (CRL)
Support for password based recipient info for CMS
Support TLS 1.2 and TLS 1.1
Preliminary FIPS 140 capability for unvalidated 2.0 FIPS module
Secure Remote Password protocol (SRP) support
| 1.0.1u 
|-
| 
| 
| align="right" |
Successor of 1.0.1l
Supported until 31 December 2019 (Long Term Support)
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 
|-
| 
| 
| align="right" |
Successor of 1.0.2h
Supported until 11 September 2019
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 
|-
| 
| 
| align="right" |
Successor of 1.1.0i
Supported until 11 September 2023 (Long Term Support)
Support for TLS 1.3
Support for SHA-3
Support for X448 and Ed448 (RFC 7748)
Support for SipHash
Support for ARIA
Support for multi-prime RSA (RFC 8017)
Support for SM2, SM3 and SM4
Heartbeat removed
QNX support removed
| 1.1.1w (11 September 2023)
|-
| 
| 
| align="right" |
Supported until 7 September 2026 (Long Term Support)
Relicensed to the Apache License 2.0
FIPS 140-2 support re-added.
| Ongoing development.(EOL 2026-09-07)
|-
|-
| 
| 
| align="right" |
Supported until 14 March 2025
FIPS 140-3 compliance.
Performance enhancements.
| Ongoing development.(EOL 2025-03-14)
|-
| colspan="4" | 
|}
== ช่องโหว่ที่เป็นที่รู้จักกันกว้างขวาง ==
=== ฮาร์ตบลีด ===
OpenSSL รุ่น 1.0.1 ไปจนถึง 1.0.1f มีบั๊ก ในระบบของส่วนขยาย Heartbeat Extension ในตัว TLS  ช่องโหว่นี้สามารถทำให้เปิดเผยข้อมูลในหน่วยความจำได้มากถึง 64กิบิไบต์ในแต่ละ heartbeat . การอ่านหน่วยความจำของเซิร์ฟเวอร์สามารถเปิดช่องโหว่ให้ผู้ไม่หวังดีกอบโกยข้อมูลละเอียดอ่อน รวมไปถึงกุญแจส่วนตัวด้วย
==เชิงอรรถ==
== อ้างอิง ==
ซอฟต์แวร์เข้ารหัส