Let's Encrypt ได้ปิดบริการ Online Certificate Status Protocol (OCSP) อย่างเป็นทางการแล้ว ซึ่งถือเป็นการปิดฉากบทหนึ่งของโครงสร้างพื้นฐานความปลอดภัยบนเว็บที่ดำเนินมานานกว่าทศวรรษ การเปลี่ยนแปลงนี้ส่งผลต่อวิธีที่เบราว์เซอร์และซอฟต์แวร์อื่น ๆ ตรวจสอบว่าใบรับรองดิจิทัลถูกเพิกถอนหรือไม่ โดยบังคับให้เปลี่ยนไปใช้ Certificate Revocation Lists (CRLs) เป็นวิธีหลักในการตรวจสอบสถานะใบรับรอง
การตัดสินใจนี้ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนเทคโนโลยีเกี่ยวกับการแลกเปลี่ยนพื้นฐานระหว่างความเป็นส่วนตัว ความปลอดภัย และความเป็นไปได้ในทางปฏิบัติของโครงสร้างพื้นฐานเว็บ แม้ว่า Let's Encrypt จะจัดการคำขอ OCSP ได้ถึง 340 พันล้านครั้งต่อเดือนในช่วงจุดสูงสุด แต่บริการนี้ก็ทำให้เกิดข้อกังวลด้านความเป็นส่วนตัวอย่างมีนัยสำคัญที่นำไปสู่การยุติบริการในที่สุด
สถิติบริการ OCSP ณ เวลาปิดระบบ:
- ปริมาณการใช้งานสูงสุด: 340 พันล้านคำขอต่อเดือน
- การจัดการของ CDN: 140,000 คำขอต่อวินาที
- โหลดของเซิร์ฟเวอร์หลัก: 15,000 คำขอต่อวินาที
- ระยะเวลาการให้บริการ: 10 ปี พร้อมการสนับสนุนจาก Akamai CDN
ข้อกังวลด้านความเป็นส่วนตัวเป็นแรงผลักดันให้เกิดการเปลี่ยนแปลง
เหตุผลหลักในการปิดบริการ OCSP มาจากความเป็นส่วนตัวของผู้ใช้ ทุกครั้งที่มีคนเข้าชมเว็บไซต์ เบราว์เซอร์จะติดต่อเซิร์ฟเวอร์ของ Let's Encrypt เพื่อตรวจสอบว่าใบรับรองของเว็บไซต์ยังใช้ได้อยู่หรือไม่ ซึ่งหมายความว่าผู้ออกใบรับรองสามารถเห็นได้ว่าผู้ใช้เข้าชมเว็บไซต์ใดบ้างจากที่อยู่ IP เฉพาะ แม้ว่า Let's Encrypt จะไม่ได้ตั้งใจเก็บข้อมูลนี้ไว้ แต่ความเป็นไปได้ที่จะเก็บข้อมูลไว้โดยไม่ตั้งใจหรือถูกบังคับทางกฎหมายให้เก็บรวบรวมข้อมูลก็ก่อให้เกิดความเสี่ยงด้านความเป็นส่วนตัวที่ยอมรับไม่ได้
การถกเถียงในชุมชนเผยให้เห็นความรู้สึกที่หลากหลายเกี่ยวกับข้อโต้แย้งด้านความเป็นส่วนตัวนี้ นักพัฒนาบางคนชี้ให้เห็นว่าผู้ใช้ส่งข้อมูลการเรียกดูทั้งหมดไปยังเซิร์ฟเวอร์ DNS อยู่แล้ว จึงตั้งคำถามว่าทำไม OCSP ถึงควรได้รับการปฏิบัติที่แตกต่าง ส่วนคนอื่น ๆ โต้แย้งว่าการที่มีการรั่วไหลของความเป็นส่วนตัวอยู่แล้วหนึ่งเรื่องไม่ได้เป็นเหตุผลที่จะสร้างอีกเรื่องหนึ่งขึ้นมา
โซลูชันทางเทคนิคและข้อจำกัด
ชุมชนเทคโนโลยีได้เสนอทางเลือกหลายแบบที่สามารถแก้ไขปัญหาความเป็นส่วนตัวของ OCSP โดยไม่ต้องละทิ้งระบบทั้งหมด OCSP stapling ได้กลายเป็นโซลูชันที่มีแนวโน้มดี โดยเว็บเซิร์ฟเวอร์จะดึงสถานะการเพิกถอนมาเองและรวมไว้กับใบรับรอง ซึ่งจะขจัดการสื่อสารโดยตรงระหว่างเบราว์เซอร์และผู้ออกใบรับรอง
อย่างไรก็ตาม การนำการเปลี่ยนแปลงดังกล่าวไปใช้ทั่วทั้งระบบนิเวศเว็บมีความท้าทายอย่างมาก ผู้สร้างเบราว์เซอร์ต้องเผชิญกับการสร้างสมดุลที่ยากลำบาก พวกเขาต้องการให้เซิร์ฟเวอร์นำไปใช้อย่างแพร่หลายก่อนที่จะบังคับใช้คุณสมบัติความปลอดภัยใหม่ แต่เซิร์ฟเวอร์จะไม่นำคุณสมบัติที่เบราว์เซอร์ไม่บังคับใช้มาปรับใช้ ปัญหาไก่กับไข่นี้ในอดีตใช้เวลาหลายปีในการแก้ไข เช่นเดียวกับการเปลี่ยนผ่านจากใบรับรอง SHA-1 ที่ใช้เวลาเจ็ดปี
พลวัตพื้นฐานของการเปลี่ยนแปลงใด ๆ ในระบบนิเวศเว็บคือต้องสามารถปรับใช้แบบค่อยเป็นค่อยไป ในแง่ที่ว่าเมื่อองค์ประกอบ A เปลี่ยนแปลง มันจะไม่เกิดการพังทลายกับระบบนิเวศที่มีอยู่
ทางเลือก CRL และการแลกเปลี่ยน
Certificate Revocation Lists เป็นการกลับไปใช้วิธีการเก่าที่เบราว์เซอร์ดาวน์โหลดรายการใบรับรองที่ถูกเพิกถอนทั้งหมดแทนการตรวจสอบใบรับรองแต่ละใบแบบเรียลไทม์ แม้ว่าจะแก้ปัญหาความเป็นส่วนตัวได้ แต่ก็ก่อให้เกิดความท้าทายใหม่เรื่องขนาดไฟล์ ความถี่ในการอัปเดต และประสิทธิภาพเครือข่าย
CRLs อาจมีขนาดใหญ่มากเมื่อสะสมใบรับรองที่ถูกเพิกถอน และไม่ได้อัปเดตทันทีเมื่อใบรับรองต้องถูกเพิกถอน ผู้สร้างเบราว์เซอร์อย่าง Mozilla ได้พัฒนาโซลูชันที่ซับซ้อนอย่าง CRLite เพื่อแก้ไขปัญหาเหล่านี้ แต่นักวิจารณ์โต้แย้งว่าสิ่งเหล่านี้ดูเหมือนการแก้ไขปัญหาที่ซับซ้อนมากกว่าโซลูชันที่สง่างาม
การถกเถียงในชุมชนเผยให้เห็นความหงุดหงิดกับวิธีการนี้ โดยนักพัฒนาบางคนเรียกมันว่าโซลูชันที่น่าเกลียดที่ต้องใช้เทคโนโลยีเพิ่มเติมอย่าง Bloom filters เพื่อให้ใช้งานได้จริง ลักษณะเรียลไทม์ของ OCSP ที่สามารถได้รับสถานะใบรับรองทันทีนั้นมีข้อได้เปรียบที่ชัดเจนซึ่ง CRLs พยายามจับคู่แต่ทำได้ยาก
ใบรับรองอายุสั้นเป็นอนาคต
บางทีแนวโน้มที่สำคัญที่สุดที่เกิดขึ้นจากการเปลี่ยนแปลงนี้คือการผลักดันให้ใช้ใบรับรองที่มีอายุสั้นลงอย่างมาก Let's Encrypt เสนอใบรับรอง 6 วันในเวอร์ชันเบต้าอยู่แล้ว พร้อมแผนสำหรับใบรับรอง 24 ชั่วโมงในอนาคตอันใกล้ วิธีการนี้ทำให้การเพิกถอนมีความสำคัญน้อยลง หากใบรับรองใช้ได้เพียงหนึ่งวัน ก็ไม่จำเป็นต้องมีระบบเพิกถอนที่ซับซ้อนมากนัก
อุตสาหกรรมกำลังเคลื่อนไปสู่อายุใบรับรองสูงสุด 47 วันภายในปี 2029 แต่ผู้เชี่ยวชาญหลายคนเชื่อว่าระยะเวลาที่สั้นกว่านั้นจะกลายเป็นมาตรฐาน สิ่งนี้แสดงถึงการเปลี่ยนแปลงพื้นฐานในวิธีที่เราคิดเกี่ยวกับความปลอดภัยของใบรับรอง โดยเปลี่ยนจากใบรับรองอายุยาวที่มีระบบเพิกถอนซับซ้อนไปเป็นใบรับรองที่ต่ออายุบ่อย ๆ และหมดอายุอย่างรวดเร็วหากถูกบุกรุก
วิวัฒนาการของอายุการใช้งานใบรับรอง:
- มาตรฐานปัจจุบันของ Let's Encrypt : 90 วัน
- เป้าหมายของอุตสาหกรรมภายในปี 2029: สูงสุด 47 วัน
- บริการเบต้าของ Let's Encrypt : 6 วัน
- ความเป็นไปได้ในอนาคต: ใบรับรองที่มีอายุ 24 ชั่วโมง
การใช้งานเฉพาะเบราว์เซอร์เพิ่มความซับซ้อน
สถานการณ์จะซับซ้อนมากขึ้นเมื่อพิจารณาว่าเบราว์เซอร์ต่าง ๆ จัดการการเพิกถอนใบรับรองอย่างไร Chrome ใช้ระบบของตัวเองที่เรียกว่า CRLSets ซึ่งดาวน์โหลดบัญชีดำที่คัดสรรมาจาก Google แทนการตรวจสอบ OCSP หรือ CRL แบบดั้งเดิม Firefox ได้นำ CRLite มาใช้เพื่อการตรวจสอบการเพิกถอนที่ครอบคลุมมากขึ้น
วิธีการเฉพาะเบราว์เซอร์เหล่านี้หมายความว่าผลกระทบจากการปิดบริการ OCSP ของ Let's Encrypt แตกต่างกันไปตามเบราว์เซอร์ที่ผู้ใช้เลือก สภาพแวดล้อมองค์กรต้องเผชิญกับความท้าทายเป็นพิเศษ เนื่องจากเบราว์เซอร์บางตัวไม่ทำการตรวจสอบ CRL สำหรับผู้ออกใบรับรองภายในองค์กรโดยค่าเริ่มต้น จึงต้องมีการกำหนดค่านโยบายเฉพาะเพื่อรักษาความปลอดภัย
วิธีการเพิกถอนของเบราว์เซอร์:
- Chrome: CRLSets (รายการดำที่คัดสรรโดย Google )
- Firefox: CRLite (การตรวจสอบการเพิกถอนแบบครอบคลุม)
- แบบดั้งเดิม: การตรวจสอบ OCSP และ CRL (กำลังถูกยกเลิกการใช้งาน)
มองไปข้างหน้า
การสิ้นสุดบริการ OCSP ของ Let's Encrypt แสดงถึงมากกว่าแค่การเปลี่ยนแปลงทางเทคนิค มันสะท้อนถึงลำดับความสำคัญที่เปลี่ยนแปลงไปในความปลอดภัยเว็บ การตัดสินใจนี้ให้ความสำคัญกับความเป็นส่วนตัวของผู้ใช้และความเรียบง่ายในการดำเนินงานมากกว่าการตรวจสอบการเพิกถอนแบบเรียลไทม์ โดยเดิมพันว่าอายุใบรับรองที่สั้นลงจะให้ประโยชน์ด้านความปลอดภัยเทียบเท่า
แม้ว่าชุมชนเทคโนโลยียังคงแบ่งแยกว่าสิ่งนี้เป็นความก้าวหน้าหรือก้าวถอยหลัง แต่ความเป็นจริงในทางปฏิบัติชัดเจน OCSP กำลังจางหายไป และอนาคตของความปลอดภัยใบรับรองอยู่ที่การต่ออายุบ่อย ๆ มากกว่าระบบเพิกถอนที่ซับซ้อน ความสำเร็จของวิธีการนี้จะขึ้นอยู่กับว่าระบบนิเวศจะปรับตัวเข้ากับการจัดการอายุใบรับรองที่สั้นมากในระดับใหญ่ได้ดีเพียงใด
อ้างอิง: OCSP Service Has Reached End of Life