เบื้องหลังแม่กุญแจเขียว HTTPS และ SSL/TLS Certificate รหัสผ่านของเราปลอดภัยจริงไหม?
หากย้อนกลับไปเมื่อ 10-15 ปีก่อน เว็บไซต์ส่วนใหญ่บนอินเทอร์เน็ตยังคงขึ้นต้นด้วย http:// ธรรมดาๆ ไม่มีรูปแม่กุญแจสีเขียวหรือไอคอนความปลอดภัยใดๆ กำกับอยู่ แต่ในปัจจุบัน หากคุณเปิดเว็บใดก็ตามที่ไม่รองรับ HTTPS เบราว์เซอร์อย่าง Google Chrome จะขึ้นตัวอักษรสีแดงเตือนตัวโตๆ ทันทีว่า “Not Secure (ไม่ปลอดภัย)”
แม่กุญแจเล็กๆ ตัวนี้มีความสำคัญอย่างไร และมันปกป้องรหัสผ่าน รหัสบัตรเครดิต รวมถึงข้อมูลแช็ตของเราจากการดักฟังได้อย่างไร? วันนี้เราจะมาแงะดูเบื้องหลังการทำงานของ HTTPS และ SSL/TLS Handshake กันครับ!
HTTP vs HTTPS: ส่งไปรษณียบัตร vs ส่งจดหมายปิดผนึกในกล่องเหล็ก
เพื่อเข้าใจความแตกต่าง ลองเปรียบเทียบง่ายๆ แบบนี้ครับ:
- HTTP (ไม่มีตัว S): เหมือนคุณเขียนรหัสผ่านและข้อความลงบน “ไปรษณียบัตรเปลือยๆ” ระหว่างที่บุรุษไปรษณีย์หรือคนส่งของเดินผ่าน ใครๆ ก็สามารถชะโงกหน้ามาอ่านข้อความบนการ์ดใบนั้นได้ทันทีแบบ Cleartext
- HTTPS (Hypertext Transfer Protocol Secure): คือการนำข้อความนั้นมา “เข้ารหัสด้วยเกราะ SSL/TLS” บุรุษไปรษณีย์และคนดักฟังจะมองเห็นเพียงตัวอักษรขยะที่ไม่มีความหมาย มีเพียงเซิร์ฟเวอร์ปลายทางเท่านั้นที่ถอดรหัสอ่านออก
TLS Handshake: พิธีกรรม 4 วินาทีทองก่อนเริ่มคุย
ทุกครั้งที่คุณเปิดเว็บที่มี HTTPS ก่อนที่หน้าเว็บจะแสดงขึ้นมา คอมพิวเตอร์ของคุณกับเซิร์ฟเวอร์จะทำสิ่งที่เรียกว่า TLS Handshake:
- Client Hello: เบราว์เซอร์เราส่งเสียงทักเซิร์ฟเวอร์ว่า “สวัสดีครับ ผมรองรับมาตรฐานการเข้ารหัสเวอร์ชันไหนบ้างนะ”
- Server Hello + Certificate: เซิร์ฟเวอร์ตอบกลับมาพร้อมกับยื่น “ใบรับรองดิจิทัล (SSL Certificate)” ให้ตรวจ
- ตรวจบัตรประชาชนดิจิทัล: เบราว์เซอร์ของเราจะตรวจสอบว่า ใบรับรองนี้ออกโดยหน่วยงานกลางที่น่าเชื่อถือ (Certificate Authority หรือ CA เช่น Let’s Encrypt, DigiCert) หรือไม่ ถ้าไม่ใช่ จะขึ้นเตือนจอแดงทันที!
- แลกกุญแจลับ (Session Key): ทั้งสองฝ่ายสร้างกุญแจลับร่วมกัน และเริ่มส่งข้อมูลหน้าเว็บแบบเข้ารหัสสมบูรณ์แบบ
ด้วยกลไกอันยอดเยี่ยมนี้ ทำให้แม้คุณจะนั่งเล่นเน็ตอยู่ในร้านกาแฟที่มีคนคอยดักฟังแพ็กเก็ต ข้อมูลรหัสผ่านที่คุณพิมพ์ลงในเว็บ HTTPS ก็จะไม่มีวันถูกถอดรหัสออกมาได้เลยครับ!