ทำไมต้องปิด TLS 1.0 และ TLS 1.1
ทำไมต้องปิด TLS 1.0 และ TLS 1.1
TLS 1.0 เผยแพร่ปี 1999 (RFC 2246) และ TLS 1.1 ปี 2006 (RFC 4346) ทั้งสองเวอร์ชันใช้โครงสร้างเข้ารหัสที่ปัจจุบันถือว่าไม่เพียงพอ IETF ประกาศเลิกใช้อย่างเป็นทางการใน RFC 8996 เมื่อเดือนมีนาคม 2021
ช่องโหว่และข้อจำกัดที่ทราบแล้ว
BEAST และ CBC ใน TLS 1.0
การโจมตี BEAST ใช้จุดอ่อนของ CBC กับ implicit initialization vector ใน TLS 1.0 เบราว์เซอร์สมัยใหม่มีทางแก้ฝั่งไคลเอนต์แล้ว แต่โปรโตคอลเองยังออกแบบมาสำหรับยุคเก่า
POODLE และโปรโตคอลมรดก
POODLE โจมตี padding ของ SSL 3.0 และเคยถูกใช้กดให้ดาวน์เกรดจาก TLS การคง TLS เวอร์ชันเก่าเปิดโอกาสให้มี fallback ที่ไม่จำเป็น
ชุดเข้ารหัสที่อ่อน
TLS 1.0/1.1 มักถูกจับคู่กับ RC4 หรือ 3DES NIST แนะนำไม่ให้ใช้ RC4 แล้วตั้งแต่ SP 800-52 Rev. 2
มาตรฐานที่บังคับหรือแนะนำให้ปิด
- PCI DSS เลิกใช้ SSL และ TLS ต้น ๆ มานานแล้ว เวอร์ชัน 4.x กำหนดให้ใช้การเข้ารหัสที่แข็งแรงสำหรับข้อมูลผู้ถือบัตรระหว่างส่ง
- NIST SP 800-52 Rev. 2 กำหนดให้เซิร์ฟเวอร์รัฐบาลสหรัฐฯ รองรับ TLS 1.2 เป็นอย่างน้อย และสนับสนุน TLS 1.3
- เบราว์เซอร์หลัก (Chrome, Firefox, Safari, Edge) ปิด TLS 1.0/1.1 ไปแล้วตั้งแต่ราวปี 2020
วิธีปิดบนเซิร์ฟเวอร์
Apache
SSLProtocol -all +TLSv1.2 +TLSv1.3Nginx
ssl_protocols TLSv1.2 TLSv1.3;หลังตั้งค่า ตรวจด้วย openssl s_client -tls1 และ -tls1_1 ว่าการเชื่อมต่อต้องล้มเหลว
สรุป
การปิด TLS 1.0 และ TLS 1.1 เป็นข้อกำหนดด้านความปลอดภัย ไม่ใช่ทางเลือกเสริม ไคลเอนต์ที่ยังใช้เวอร์ชันเหล่านี้ควรถูกอัปเกรด ไม่ควรเปิดโปรโตคอลเก่าเพื่อความเข้ากันได้ระยะยาว