SSL/TLS
SSL/TLS (Secure Sockets Layer / Transport Layer Security)
โปรโตคอลการเข้ารหัสที่รักษาความปลอดภัยการสื่อสารผ่านอินเทอร์เน็ตโดยการเข้ารหัสข้อมูลระหว่างไคลเอนต์ (เบราว์เซอร์) และเซิร์ฟเวอร์ ยืนยันตัวตนเซิร์ฟเวอร์ และรับรองความสมบูรณ์ของข้อมูลระหว่างการส่ง
รายละเอียดทางเทคนิค
SSL ถูกยกเลิกแล้ว TLS 1.2 และ 1.3 เป็นมาตรฐานปัจจุบัน TLS handshake สร้างการเชื่อมต่อที่ปลอดภัย: ไคลเอนต์ส่ง cipher suite ที่รองรับ เซิร์ฟเวอร์ตอบกลับด้วยใบรับรองและ cipher ที่เลือก แลกเปลี่ยนข้อมูลคีย์ (ECDHE สำหรับ forward secrecy) และสร้างคีย์เซสชันแบบสมมาตร TLS 1.3 ลด handshake เหลือหนึ่ง round-trip (1-RTT หรือ 0-RTT สำหรับ resumption) และกำหนดให้ต้องมี forward secrecy และ AEAD cipher (AES-GCM, ChaCha20-Poly1305) ใบรับรองออกโดย Certificate Authority (CA) และตรวจสอบโดยใช้ X.509 PKI chain Let"s Encrypt ให้ใบรับรองฟรีแบบอัตโนมัติ
ตัวอย่าง
```javascript
// SSL/TLS — Web Crypto API example
const data = new TextEncoder().encode('sensitive data');
const hash = await crypto.subtle.digest('SHA-256', data);
const hex = Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0')).join('');
```