TLS 1.3: เปลี่ยนอะไรและตรวจอย่างไร
อัปเดต 2026-11-03 · 6 นาทีในการอ่าน
TLS 1.3 เป็นการแก้ไขโปรโตคอลครั้งแรกในรอบทศวรรษที่ตัดฟีเจอร์ออกแทนที่จะเพิ่ม นั่นคือสิ่งที่ทำให้มันเร็วขึ้นและตั้งค่าผิดยากขึ้น และเป็นเหตุผลที่เซิร์ฟเวอร์ที่พูดได้แค่ TLS 1.2 ไปไม่ถึงเกรดสูงสุด
อะไรเปลี่ยนไปจาก TLS 1.2
TLS 1.3 ลด handshake จากสองรอบเหลือหนึ่งรอบ และเป็นศูนย์เมื่อกลับมาใช้เซสชันเดิม ตัดการแลกคีย์แบบ RSA และ Diffie-Hellman แบบคงที่ออก ทำให้ forward secrecy เป็นข้อบังคับแทนที่จะเป็นทางเลือก ตัดชุดรหัสลับโหมด CBC, RC4, SHA-1 และการบีบอัดออกทั้งหมด และเข้ารหัสส่วนต่าง ๆ ของ handshake มากขึ้น รวมถึงใบรับรอง ทำให้ตัวกลางรู้ข้อมูลน้อยลง
ผลในทางปฏิบัติ คือจุดอ่อนเชิงประวัติศาสตร์เกือบทั้งหมดที่เคยต้องตั้งค่าอย่างระวัง กลายเป็นเรื่องที่เป็นไปไม่ได้ คุณไม่สามารถเจรจาชุดรหัสลับอ่อนโดยไม่ตั้งใจบน TLS 1.3 เพราะโปรโตคอลนิยามเฉพาะชุด AEAD ที่ใช้แฮชสมัยใหม่
ทำไมจึงมีผลกับเกรด
CertH กำหนดให้ต้องมี TLS 1.3 สำหรับ A+ ไม่ว่าอย่างอื่นจะเป็นอย่างไร เว็บที่มีใบรับรองสมบูรณ์ รหัสลับแข็งแรง และ HSTS จะค้างที่ 95 และ A ถ้าไม่มีข้อนี้ บรรทัดเดียวนี้คือเหตุผลที่พบบ่อยที่สุดที่เว็บที่ดูแลดีหยุดอยู่ที่ A
อีกเหตุผลคือตัว handshake เอง บนการเชื่อมต่อมือถือที่หน่วงสูง การประหยัดหนึ่งรอบหมายถึงหลายสิบถึงหลายร้อยมิลลิวินาทีในทุกการเชื่อมต่อใหม่ ผลตรงและวัดได้ต่อความเร็วที่รับรู้
วิธีเปิด
บน nginx การรองรับ TLS 1.3 ขึ้นกับเวอร์ชัน OpenSSL ที่ไบนารีคอมไพล์ด้วย ต้องใช้ OpenSSL 1.1.1 ขึ้นไป ตรวจด้วย nginx -V ดูสตริง built with OpenSSL ก่อนแก้ไขอะไร
บน Apache ใช้ SSLProtocol ก็พอ ถ้า httpd ลิงก์กับ OpenSSL รุ่นใหม่ บน Cloudflare TLS 1.3 เป็นสวิตช์ระดับโซนใน SSL/TLS → Edge Certificates และเปิดเป็นค่าเริ่มต้นในโซนส่วนใหญ่ตั้งแต่ปี 2021
# nginx: does this binary even support TLS 1.3?
nginx -V 2>&1 | tr ' ' '\n' | grep -i openssl
# negotiate TLS 1.3 explicitly and print the protocol
openssl s_client -connect example.com:443 -tls1_3 -servername example.com </dev/null 2>/dev/null | grep -E "Protocol|Cipher"
ข้อควรระวังที่ไม่มีใครพูดถึง
การกลับมาใช้เซสชันแบบ 0-RTT เร็วแต่เล่นซ้ำได้ ผู้โจมตีที่ดัก flight แรกไว้สามารถส่งซ้ำได้ ห้ามเปิด 0-RTT บนปลายทางที่เปลี่ยนสถานะตั้งแต่คำขอแรก เช่นอะไรก็ตามที่เขียนข้อมูล
อุปกรณ์กลางในองค์กรบางตัวยังพังกับ TLS 1.3 การเปิด TLS 1.2 ไว้คู่กันคือทางออกมาตรฐาน คุณยังได้ความเข้ากันได้และยังผ่านข้อกำหนด A+ เพราะตัวให้เกรดมองหาการเสนอ TLS 1.3 ไม่ใช่การปิด TLS 1.2
สุดท้าย CDN หรือโหลดบาลานเซอร์ที่ปิด TLS จะบัง origin ไว้ทั้งหมด แก้ที่ origin โดยไม่แก้ที่ edge ไม่เปลี่ยนอะไรที่สแกนเนอร์ภายนอกมองเห็น
FAQ
ควรปิด TLS 1.2 เมื่อเปิด TLS 1.3 แล้วหรือไม่?
ไม่ควร การเปิด TLS 1.2 ไว้ช่วยรักษาความเข้ากันได้กับไคลเอนต์เก่าและอุปกรณ์กลาง และไม่เสียคะแนน การปิดมันเพียงตัดทางถอยออก
TLS 1.3 เปลี่ยนข้อกำหนดใบรับรองไหม?
มันทำให้อัลกอริทึมเก่าบางตัวใช้ไม่ได้ ใบรับรองคีย์ RSA ยังใช้ได้ แต่เชนต้องใช้อัลกอริทึมลายเซ็นที่โปรโตคอลอนุญาต เช่นลายเซ็น SHA-1 ใช้ไม่ได้ใน TLS 1.3