5 คะแนน โดย GN⁺ 2024-07-24 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Let’s Encrypt วางแผนยุติการรองรับ OCSP (Online Certificate Status Protocol) และเปลี่ยนไปใช้ Certificate Revocation Lists (CRLs) ให้เร็วที่สุดเท่าที่จะเป็นไปได้
  • ทั้ง OCSP และ CRLs เป็นกลไกสำหรับเผยแพร่ข้อมูลการเพิกถอนใบรับรอง แต่ CRLs มีข้อได้เปรียบหลายอย่างเหนือกว่า OCSP
  • Let’s Encrypt ให้บริการ OCSP responder มาตั้งแต่เปิดตัวเมื่อ 10 ปีก่อน และได้เพิ่มการรองรับ CRLs ในปี 2022
  • เว็บไซต์และผู้เข้าชมจะไม่ได้รับผลกระทบจากการเปลี่ยนแปลงนี้ แต่ซอฟต์แวร์บางตัวที่ไม่ใช่เบราว์เซอร์อาจได้รับผลกระทบ

เหตุผลที่ยุติการรองรับ OCSP

  • OCSP ก่อให้เกิดความเสี่ยงด้านความเป็นส่วนตัวบนอินเทอร์เน็ตอย่างมีนัยสำคัญ
  • เมื่อมีการตรวจสอบสถานะการเพิกถอนใบรับรองผ่าน OCSP หน่วยงานออกใบรับรอง (CA) จะทราบได้ทันทีว่าเว็บไซต์ใดถูกเข้าชมจาก IP address ใด
  • Let’s Encrypt ไม่ได้เก็บข้อมูลนี้โดยตั้งใจ แต่ตามกฎหมายอาจถูกบังคับให้ต้องเก็บรวบรวมได้
  • CRLs ไม่มีปัญหานี้

การทำให้โครงสร้างพื้นฐานของ CA เรียบง่ายขึ้น

  • การรักษาโครงสร้างพื้นฐาน CA ของ Let’s Encrypt ให้เรียบง่ายที่สุดเท่าที่จะทำได้เป็นสิ่งสำคัญ
  • การให้บริการ OCSP ใช้ทรัพยากรจำนวนมาก และเมื่อรองรับ CRLs แล้ว บริการ OCSP ก็ไม่จำเป็นอีกต่อไป

การตัดสินใจของ CA/Browser Forum

  • ในเดือนสิงหาคม 2023, CA/Browser Forum ได้ผ่านมติให้ CA ที่ได้รับความเชื่อถือสาธารณะสามารถให้บริการ OCSP ได้ตามความสมัครใจ
  • โปรแกรม root ส่วนใหญ่ ยกเว้นของ Microsoft ไม่ได้บังคับให้ต้องมี OCSP อีกต่อไป
  • หาก Microsoft Root Program เปลี่ยนให้ OCSP เป็นทางเลือกเช่นกัน Let’s Encrypt มีแผนจะประกาศกำหนดการที่ชัดเจนและรวดเร็วสำหรับการยุติบริการ OCSP

แนะนำให้เลิกพึ่งพาบริการ OCSP

  • ผู้ที่ยังพึ่งพาบริการ OCSP อยู่ในปัจจุบันควรเริ่มกระบวนการเลิกพึ่งพาให้เร็วที่สุด
  • หากใช้ใบรับรองของ Let’s Encrypt เพื่อปกป้องการสื่อสารที่ไม่ใช่ผ่านเบราว์เซอร์ เช่น VPN ควรตรวจสอบว่าซอฟต์แวร์ยังทำงานได้ถูกต้องแม้ใบรับรองจะไม่มี OCSP URL
  • การทำงานของ OCSP ส่วนใหญ่เป็นแบบ "fail open" ทำให้ระบบไม่ล่มแม้จะไม่สามารถดึง OCSP response ได้

สรุปโดย GN⁺

  • อธิบายเหตุผลที่ Let’s Encrypt จะยุติการรองรับ OCSP และเปลี่ยนไปใช้ CRLs รวมถึงความสำคัญของเรื่องนี้
  • เน้นว่า OCSP อาจก่อปัญหาด้านความเป็นส่วนตัว และ CRLs ช่วยแก้ปัญหานี้ได้อย่างไร
  • กล่าวถึงความจำเป็นในการทำให้โครงสร้างพื้นฐานของ CA เรียบง่ายขึ้นและประหยัดทรัพยากร
  • สะท้อนการตัดสินใจของ CA/Browser Forum และความคาดหวังต่อแผนในอนาคตของ Microsoft
  • ให้คำแนะนำแก่ผู้ใช้ที่ยังพึ่งพาบริการ OCSP อยู่

2 ความคิดเห็น

 
mintdevelopers 2024-07-24

CRL มีปัญหาเรื่องความเร็วในการอัปเดต/ซิงก์ และเมื่อขนาดใหญ่ขึ้นก็อาจมีข้อจำกัดด้านความเร็วในการค้นหาด้วย เลยสงสัยว่าจะแก้ปัญหานี้อย่างไร อีกทั้งก็คาดว่าปริมาณใบรับรองที่ Let’s Encrypt จัดการอยู่น่าจะมหาศาลเมื่อเทียบกับผู้ให้บริการใบรับรองรายอื่น ๆ

 
GN⁺ 2024-07-24
ความคิดเห็นจาก Hacker News
  • หลังจากสร้าง OCSP Watch แล้ว มักพบกรณีที่ CA ลืมไปว่าเคยออกใบรับรองนั้น เมื่อค้นหาใบรับรองใน CT log

    • ไม่สามารถตรวจจับสิ่งนี้ได้ เพราะ CRL ไม่ได้ให้สถานะของใบรับรองที่ออกทั้งหมด
    • อยากให้ root program ยกเลิกข้อกำหนดที่ต้องใส่ URL ของ OCSP ไว้ในใบรับรอง และให้เปิดเผย URL ของ OCSP ของผู้ออกใบรับรองทั้งหมดใน CCADB
  • ควรเพิ่มข้อจำกัด Must Staple ให้กับใบรับรองทุกใบแบบบังคับไปเลย

    • สิ่งนี้ช่วยแก้ปัญหาความเป็นส่วนตัว และเปิดให้รองรับได้กว้างนอกเหนือจากเบราว์เซอร์
  • letsencrypt คือโครงสร้างพื้นฐานอินเทอร์เน็ตที่ขับเคลื่อนโดยชุมชนตามที่เราเคยจินตนาการไว้เมื่อ 20 ปีก่อน

    • รัก letsencrypt
  • หาก Microsoft Root Program ทำให้ OCSP เป็นเพียงตัวเลือก letsencrypt ก็มีแผนจะยุติบริการ OCSP

    • คาดว่า Microsoft จะดำเนินการเปลี่ยนแปลงนี้ภายใน 6~12 เดือน
    • หากต้องการติดตามอัปเดต แนะนำให้ติดตามหมวด API Announcements บน Discourse
  • การจัดการใบรับรองเป็นปัญหาที่น่าสนใจตรงจุดตัดระหว่างพฤติกรรมมนุษย์กับวิทยาการคอมพิวเตอร์

    • ในทางทฤษฎีมันเรียบง่าย แต่ในความเป็นจริงกลับซับซ้อนมาก
  • สงสัยว่าการรองรับ CRL บนเว็บเซิร์ฟเวอร์เป็นอย่างไร

    • NGINX และ Apache รองรับเฉพาะ OCSP stapling
  • อยากให้มีคำอธิบายแบบเข้าใจง่ายว่ามันมีความหมายอย่างไรสำหรับคนที่ใช้ LetsEncrypt

    • หากใช้เซิร์ฟเวอร์อย่าง Nginx หรือ Caddy สงสัยว่าจำเป็นต้องเปลี่ยนแปลงอะไรหรือไม่
  • หากไม่ได้ใช้ Chrome หรือ Firefox จะตรวจสอบการเพิกถอนใบรับรองได้อย่างไร

    • สิ่งนี้ทำให้เว็บเปิดกว้างน้อยลง
  • สงสัยว่ามีผู้ให้บริการใบรับรองฟรีหรือราคาถูกที่รองรับ ACME, DNS-01 challenge และ OCSP หรือไม่

    • สงสัยว่ามีเจ้าอื่นนอกจาก ZeroSSL หรือไม่
  • CRL ขยายขนาดได้ไม่ดีและใช้เวลานานในการอัปเดต

    • สงสัยว่าทำไมถึงไม่มีรูปแบบไบนารีมาตรฐาน เพื่อแก้ปัญหาที่ CRL โตจนมีขนาดระดับกิกะไบต์
    • หากใช้ cuckoo filter หรือโครงสร้างข้อมูลคล้ายกัน ก็อาจดึง binary blob เวอร์ชันล่าสุดได้บ่อยครั้ง