Perfect Forward Secrecy (PFS) คืออะไร
Perfect Forward Secrecy คืออะไร
Perfect Forward Secrecy (PFS) หมายความว่าหากคีย์ส่วนตัวระยะยาวของเซิร์ฟเวอร์รั่วในอนาคต ผู้โจมตีที่เคยบันทึกทราฟฟิกไว้จะถอดรหัสเซสชันเก่าไม่ได้ เพราะแต่ละเซสชันใช้ ephemeral key คนละชุด
ใน TLS คุณสมบัตินี้ได้จาก Diffie-Hellman แบบชั่วคราว ได้แก่ DHE และ ECDHE ไม่ได้จาก RSA key exchange แบบดั้งเดิมที่เข้ารหัส pre-master secret ด้วยคีย์สาธารณะของใบรับรอง
ทำไม TLS 1.3 จึงบังคับ PFS
RFC 8446 ตัด RSA key exchange ออกจากโปรโตคอล การแลกเปลี่ยนคีย์ใน TLS 1.3 ใช้ (EC)DHE เสมอ (ยกเว้น PSK บางโหมดที่ออกแบบมาต่างออกไป)
บน TLS 1.2 ต้องเลือก cipher ที่ขึ้นต้นด้วย ECDHE- หรือ DHE- เอง ถ้าเปิด AES128-SHA แบบ RSA อยู่ด้วย ไคลเอนต์อาจได้เซสชันที่ไม่มี PFS
กลุ่มเส้นโค้งและพารามิเตอร์
Mozilla และ NIST แนะนำเส้นโค้งเช่น X25519 และ NIST P-256 สำหรับ ECDHE บน DHE แบบคลาสสิก ต้องใช้กลุ่มที่แข็งแรงเพียงพอ ตามแนวใน RFC 7919 (ffdhe) ไม่ควรใช้ DH 1024 บิต
สรุป
PFS เป็นคุณสมบัติพื้นฐานของ TLS สมัยใหม่ ไม่ใช่ส่วนเสริม ตรวจเกรดหรือรายการ cipher ว่าไม่มี RSA key exchange และรองรับ ECDHE บน TLS 1.2