Cipher Suite คืออะไร และเลือกอย่างไร
Cipher Suite คืออะไร
Cipher suite คือชุดอัลกอริทึมที่คู่ TLS ตกลงใช้ร่วมกัน ใน TLS 1.2 ชื่อชุดมักบอกทั้ง key exchange, authentication, encryption และ MAC เช่น ECDHE-RSA-AES128-GCM-SHA256
รายชื่อที่จดทะเบียนอยู่ที่ IANA TLS Parameters
TLS 1.2 กับ TLS 1.3
TLS 1.2 เจรจาชุดจากรายการที่ทั้งสองฝ่ายรองรับ หากเซิร์ฟเวอร์ยอมรับชุดอ่อน ไคลเอนต์เก่าอาจถูกดึงไปใช้ชุดนั้น
TLS 1.3 แยก cipher ออกจาก key exchange ชุดมาตรฐานใน RFC 8446 คือ
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256
ทั้งหมดเป็น AEAD (Authenticated Encryption with Associated Data) ไม่ใช้ MAC แยกแบบ HMAC-CBC
สิ่งที่ควรหลีกเลี่ยง
- NULL, EXPORT, anonymous (A)DH
- RC4 ตามข้อสรุปใน RFC 7465
- 3DES ซึ่งเหลือความแข็งแรงประมาณ 112 บิตและถูกจำกัดในเบราว์เซอร์
- CBC ใน TLS 1.2 เมื่อมีทางเลือก GCM หรือ ChaCha20
- RSA key exchange (ไม่มี PFS)
แนวทางเลือกชุด
ใช้พรีเซ็ต Mozilla SSL Configuration ระดับ Intermediate สำหรับเว็บทั่วไป ระดับ Modern จะเหลือเฉพาะ TLS 1.3 ซึ่งตัดไคลเอนต์เก่าออก
บนเซิร์ฟเวอร์ ตรวจชุดที่เปิดจริงด้วยเครื่องมือสแกนหรือ nmap ssl-enum-ciphers เมื่อได้รับอนุญาตให้ทดสอบระบบของตนเอง
สรุป
เลือกเฉพาะ ECDHE คู่ AEAD และปิดชุดมรดก การเปิด cipher กว้างเพื่อความเข้ากันได้มักลดเกรดความปลอดภัยโดยไม่จำเป็นในปัจจุบัน