เบราว์เซอร์จัดการกับ SSL ที่ถูกเพิกถอนอย่างไร /TLS ใบรับรอง?

รายละเอียดของโปรแกรมเบราว์เซอร์ปัจจุบันสำหรับตรวจสอบสถานะการเพิกถอน SSL /TLS ใบรับรองรวมถึงการทดสอบข้ามเบราว์เซอร์

บทนำ

การตรวจสอบสถานะการเพิกถอน SSL /TLS ใบรับรองที่นำเสนอโดย HTTPS เว็บไซต์เป็นปัญหาต่อเนื่องในการรักษาความปลอดภัยเว็บ นอกเสียจากว่ามีการกำหนดค่าเซิร์ฟเวอร์ให้ใช้งาน การเย็บ OCSPการตรวจสอบการเพิกถอนออนไลน์โดยเว็บเบราว์เซอร์นั้นช้าและเป็นการละเมิดความเป็นส่วนตัว เนื่องจากการสืบค้น OCSP ออนไลน์ล้มเหลวบ่อยครั้งและเป็นไปไม่ได้ในบางสถานการณ์ (เช่นกับพอร์ทัล Captive) โดยทั่วไปแล้วเบราว์เซอร์จะใช้การตรวจสอบ OCSP ในโหมด "soft-fail" จึงทำให้ไม่มีประสิทธิภาพในการยับยั้งผู้โจมตีที่มุ่งมั่น (สำหรับประวัติที่สมบูรณ์ของปัญหานี้โปรดอ่านบทความของ SSL.com การเพิ่มประสิทธิภาพการโหลดหน้า: เย็บ OCSP).

ด้วยเหตุผลเหล่านี้เว็บเบราว์เซอร์จึงได้ติดตั้งโซลูชั่นหลากหลายเพื่อลดหรือขจัดความจำเป็นในการตรวจสอบการเพิกถอนออนไลน์ รายละเอียดที่แน่นอนแตกต่างกันไปตามผู้ให้บริการ แต่โดยทั่วไปโซลูชันเหล่านี้เกี่ยวข้องกับการรวบรวมรายการใบรับรองที่ถูกเพิกถอนจากหน่วยงานผู้ออกใบรับรอง (CA) และผลักดันพวกเขาไปยังเบราว์เซอร์

บทความนี้ให้ข้อมูลสรุประดับสูงของกลยุทธ์การตรวจสอบความถูกต้องที่ใช้โดยเบราว์เซอร์เดสก์ท็อปหลัก ๆ (Chrome, Firefox, Safariและ ขอบ) และเปรียบเทียบการตอบกลับของเบราว์เซอร์เหล่านี้กับตัวอย่างบางส่วน เพิกถอนใบรับรอง โฮสต์โดย SSL.com

สำหรับตัวอย่างของข้อความผิดพลาดของเบราว์เซอร์ที่เกิดจากใบรับรองที่ถูกเพิกถอนโปรดอ้างอิง คู่มือนี้. คุณสามารถตรวจสอบสถานะการเพิกถอนใบรับรองได้ที่ ใบรับรอง.เพิกถอนcheck.com

Google Chrome

Chrome พึ่งพา CRLSet สำหรับการตรวจสอบการเพิกถอน CRLSet เป็นเพียงรายการของใบรับรองที่ถูกเพิกถอนซึ่งถูกส่งไปยังเบราว์เซอร์เป็นการอัปเดตซอฟต์แวร์ ให้เป็นไปตาม เว็บไซต์โครงการ Chromiumกระบวนการที่ Google สร้าง CRLSets เป็นกรรมสิทธิ์ แต่ก็เป็นเช่นนั้น

CRLSets …โดยหลักแล้ว Chrome สามารถบล็อกใบรับรองได้อย่างรวดเร็วในสถานการณ์ฉุกเฉิน ในฐานะที่เป็นฟังก์ชันรองพวกเขายังสามารถมีการเพิกถอนที่ไม่ใช่เหตุฉุกเฉินได้อีกด้วย การเพิกถอนในภายหลังเหล่านี้ได้มาจากการรวบรวมข้อมูล CRL ที่เผยแพร่โดย CA

ข้อความข้างต้นระบุว่าอย่างน้อย บาง ใบรับรองเอนทิตีเอนด์ที่มีลำดับความสำคัญต่ำที่ถูกเพิกถอนอาจสิ้นสุดใน CRLSets แต่เป็นข้อพิจารณารอง

คุณสามารถตรวจสอบเวอร์ชัน CRLSet ที่ติดตั้งในอินสแตนซ์ของ Chrome ได้ในขณะนี้โดยไปที่ chrome://components/:

เวอร์ชัน CRLSet

หมายเหตุ เบราว์เซอร์ Opera ที่ใช้ Chromium ยังใช้ CRLsets สำหรับการตรวจสอบการเพิกถอน คุณสามารถตรวจสอบเวอร์ชั่นที่ติดตั้งได้โดยไปที่ opera://components. ตามที่แหลมออกไป ด้านล่างเบราว์เซอร์ Edge ของ Microsoft เวอร์ชันปัจจุบันยังใช้ Chromium และใช้ CRLSets

ปัจจุบันไม่สามารถกำหนดค่า Chrome ให้ดำเนินการค้นหาข้อความรับรองความถูกต้องออนไลน์ได้โดยตรง อย่างไรก็ตามขึ้นอยู่กับระบบปฏิบัติการการตรวจสอบเหล่านี้อาจดำเนินการโดยไลบรารีใบรับรองพื้นฐานที่ใช้โดยระบบปฏิบัติการ (ที่สามารถมองเห็น ด้านล่าง ในผลจากการทดสอบเบราว์เซอร์ที่ จำกัด เราพบว่าการติดตั้ง Chrome ที่มีหมายเลขเวอร์ชันเดียวกันและ CRLSet ตอบสนองต่อใบรับรองที่ถูกเพิกถอนสองรายการแตกต่างกันใน Windows เทียบกับ macOS)


Mozilla Firefox

เช่นเดียวกับ Google Mozilla จะเก็บรายการใบรับรองที่ถูกเพิกถอนจากส่วนกลางที่เรียกว่า onecrl. OneCRL คือรายการใบรับรองระดับกลางที่ CA ถูกเพิกถอนในโปรแกรมรูทของ Mozilla และถูกส่งไปยังผู้ใช้ Firefox ในการอัปเดตแอปพลิเคชัน เกี่ยวกับใบรับรอง end-entity Mozilla's แผนการเพิกถอน ตั้งข้อสังเกตว่า“ ในอนาคตเมื่อการใช้งานเริ่มต้นได้ผลเราอาจพิจารณาครอบคลุมใบรับรอง EE กับ OneCRL โดยอาจมุ่งเน้นไปที่คลาสเฉพาะในขั้นต้น (เช่นใบรับรอง EV)”

สามารถดาวน์โหลด OneCRL เป็นวัตถุ JSON โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติมหรือดูเป็นหน้าเว็บที่ crt.sh.

ซึ่งแตกต่างจาก Chrome การตั้งค่าเริ่มต้นของ Firefox ยังสอบถามผู้ตอบสนอง OCSP เพื่อยืนยันความถูกต้องของ SSL /TLS ใบรับรอง (คุณสามารถเปลี่ยนการตั้งค่านี้ได้ในการตั้งค่าความปลอดภัยของ Firefox)

สอบถามเซิร์ฟเวอร์ตอบกลับ OCSP

อย่างไรก็ตามเนื่องจากความล้มเหลวในการสืบค้น OCSP เป็นเรื่องปกติ Firefox (เช่นเบราว์เซอร์อื่น ๆ ) จึงใช้นโยบาย "soft-fail" หากต้องการคุณสามารถกำหนดให้มีการตรวจสอบ OCSP อย่างเข้มงวดโดยไปที่ about:config และสลับ security.OCSP.require ไปยัง true.


Apple Safari

แนวทางการเพิกถอนปัจจุบันของ Apple ครอบคลุมโดย Bailey Basile ในการพูดคุย WWDC 2017 ของเธอ แอพของคุณและการพัฒนามาตรฐานความปลอดภัยเครือข่าย. Apple รวบรวมข้อมูลการเพิกถอนใบรับรองจาก CA ที่เชื่อถือได้บนอุปกรณ์ของตนและรวมข้อมูลทั้งหมดไว้ในกลุ่มเดียวซึ่งซอฟต์แวร์ไคลเอ็นต์ของ Apple จะดึงข้อมูลเป็นระยะ ๆ (ดูเหมือนจะเป็นแผนการที่คุ้นเคยหรือยัง)

เมื่อแอปพลิเคชันไคลเอนต์พบใบรับรองที่แสดงในรายการของ Apple จะทำการตรวจสอบ OCSP เพื่อยืนยันว่าใบรับรองถูกเพิกถอนในความเป็นจริง (เว้นแต่เซิร์ฟเวอร์จะให้การตอบสนอง OCSP แบบเย็บเล่ม) โปรดทราบว่าการตรวจสอบ OCSP แบบออนไลน์จะทำได้เฉพาะในกรณีของใบรับรองที่ Apple คิดว่าถูกเพิกถอนแล้วเท่านั้น ใบรับรองที่ไม่อยู่ในบันเดิลที่ดึงมาจาก Apple จะไม่ได้รับการตรวจสอบ

ลิงก์ไปยังรายการเพิกถอนของ Apple และรหัสสำหรับการแยกวิเคราะห์มีอยู่ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม.


Microsoft Edge

Windows เก็บรักษารายการใบรับรองที่ถูกเพิกถอนหรือบัญชีดำในไฟล์ที่เรียกว่า disallowedcert.stl. นี้ รายการบล็อก ให้ข้อมูลเกี่ยวกับการทิ้งเนื้อหาของไฟล์ด้วย PowerShell crt.sh ยังให้ข้อมูลว่าใบรับรองเฉพาะนั้นมีอยู่ในรายการหรือไม่ disallowedcert.stl.

เช่นเดียวกับ Firefox Windows ถูกตั้งค่าให้ตรวจสอบการเพิกถอนใบรับรองตามค่าเริ่มต้น การตั้งค่านี้สามารถดูและเปลี่ยนแปลงได้ในไฟล์ คุณสมบัติของอินเทอร์เน็ต แผงควบคุม:

อย่างไรก็ตาม Edge เวอร์ชันปัจจุบัน (ที่ใช้โครเมียม) เช่น Chrome ต้องอาศัย CRLSets ในการตรวจสอบการเพิกถอนและปรากฏจากการทดสอบของเรา ด้านล่าง เป็นอิสระจากการตั้งค่าการตรวจสอบการเพิกถอนในคุณสมบัติอินเทอร์เน็ต (หมายเหตุ ในเวอร์ชันก่อนหน้าของการทดสอบเหล่านี้ทำในเดือนกันยายน 2019 Internet Explorer และ Edge เวอร์ชันก่อน Chromium ไม่ ทำตามการตั้งค่าเหล่านี้ในคุณสมบัติอินเทอร์เน็ต)


การเปลี่ยนแปลงระหว่างเบราว์เซอร์

เนื่องจาก SSL.com มีกลุ่มของเว็บเซิร์ฟเวอร์ที่โฮสต์ใบรับรองที่ถูกเพิกถอนตัวอย่างเราจึงตัดสินใจทดสอบกับเบราว์เซอร์เดสก์ท็อปหลายประเภทการทดสอบขนาดเล็กที่ไม่ร้ายแรงนี้ได้ดำเนินการในวันที่ 23 กุมภาพันธ์ 2020 เบราว์เซอร์ที่ใช้ ได้แก่ :

  • Chrome 88.0.4324.182, CRLSet เวอร์ชัน 6444 (macOS 10.15.7)
  • Chrome 88.0.4324.182, CRLSet เวอร์ชัน 6444 (Windows 10 Pro)
  • Edge 88.0.705.74, CRLSet เวอร์ชัน 6444 (Windows 10 Enterprise)
  • Firefox 86.0 - การสืบค้น OCSP บน (macOS 10.15.7)
  • Firefox 86.0 - ปิดการค้นหา OCSP (macOS 10.15.7)
  • Safari 14.0.3 (MacOS 10.15.1)

นอกจากนี้เราได้ทดสอบ Chrome และ Edge ใน Windows ด้วยการปิดใช้งานการตรวจสอบการเพิกถอนออนไลน์ในแผงควบคุมคุณสมบัติอินเทอร์เน็ตและ (สำหรับ Chrome, Firefox และ Edge) ตรวจสอบว่าใบรับรองที่เกี่ยวข้องถูกระบุว่าถูกเพิกถอนด้วยโปรแกรมเบราว์เซอร์เฉพาะหรือไม่ใน crt.sh.

  โครม (แมคโอเอส) โครม (วินโดว์) ขอบ (Windows) Firefox (Mac) (เปิด OCSP) Firefox (Mac) (ปิด OCSP) ซาฟารี (Mac)
เพิกถอน-rsa-dv.ssl.com ยกเลิก ไม่ถูกเพิกถอน ไม่ถูกเพิกถอน ยกเลิก ไม่ถูกเพิกถอน ยกเลิก
เพิกถอน-rsa-ev.ssl.com ยกเลิก ยกเลิก ยกเลิก ยกเลิก ไม่ถูกเพิกถอน ยกเลิก
เพิกถอน ecc-dv.ssl.com ยกเลิก ไม่ถูกเพิกถอน ไม่ถูกเพิกถอน ยกเลิก ไม่ถูกเพิกถอน ยกเลิก
เพิกถอน ecc-ev.ssl.com ยกเลิก ยกเลิก ยกเลิก ยกเลิก ไม่ถูกเพิกถอน ยกเลิก

การอภิปรายเรื่องผลลัพธ์

โครเมี่ยม: ใน Windows Chrome แสดงใบรับรองที่ถูกเพิกถอนสองรายการอย่างไม่ถูกต้อง (เพิกถอน-rsa-dv.ssl.com และ เพิกถอน ecc-dv.ssl.com) ถูกต้องและอย่างอื่นที่ถูกเพิกถอน การปิดใช้งานการตรวจสอบความถูกต้องในระบบปฏิบัติการไม่ได้เปลี่ยนแปลงการตอบสนองนี้ น่าสนใจไม่มีใบรับรองสี่รายการที่ถูกเพิกถอนใน CRLSet ใน crt.sh ในขณะทดสอบแนะนำคำถามเพิ่มเติมเกี่ยวกับกระบวนการตรวจสอบการเพิกถอนของ Chrome ใน macOS Chrome แสดงใบรับรองทั้งสี่อย่างถูกต้องตามที่ถูกเพิกถอนซึ่งแสดงให้เห็นถึงความแตกต่างตามแพลตฟอร์มในพฤติกรรมของ Chrome

ขอบ: Edge เวอร์ชันปัจจุบัน (ที่ใช้โครเมียม) ที่ทำมิเรอร์ Chrome ในการแสดง เพิกถอน-rsa-dv.ssl.com และ เพิกถอน ecc-dv.ssl.com ตามที่ถูกต้อง เช่นเดียวกับ Chrome Edge แสดงผลลัพธ์เดียวกันไม่ว่าจะเปิดใช้งานการตรวจสอบความถูกต้องในระบบปฏิบัติการหรือไม่ ไม่มีใบรับรองสี่รายการใดที่แสดงตามที่ระบุไว้ใน disallowedcert.stl on crt.sh.

Firefox: ตามที่คาดไว้จากการให้ความสำคัญกับใบรับรองระดับกลางของ OneCRL Firefox ยอมรับเฉพาะใบรับรองทั้งสี่รายการที่ถูกเพิกถอนโดยเปิดใช้งานการสืบค้น OCSP ในการตั้งค่าของเบราว์เซอร์ แต่ยอมรับทั้งสี่ว่าถูกต้องหากปิดใช้งานการสืบค้น OCSP (หมายเหตุ ใบรับรองเอนทิตีสิ้นสุดที่ถูกเพิกถอนทั้งสี่เหล่านี้ออกจากตัวกลางที่ถูกต้องและไม่ถูกเพิกถอน) เช่นเดียวกับ Chrome crt.sh ไม่แสดงใบรับรองใด ๆ ที่ถูกเพิกถอนใน OneCRL

Safari: Safari บน macOS ยอมรับใบรับรองทั้งสี่อย่างถูกต้องว่าถูกเพิกถอน crt.sh ไม่แสดงข้อมูลการเพิกถอนของ Apple และเราไม่ได้ตรวจสอบเพื่อดูว่าใบรับรองเฉพาะเหล่านี้มีการระบุว่า Apple เพิกถอนแล้วหรือไม่

สรุป

ผลการวิจัยแสดงให้เห็นว่าการเพิกถอนยังคงเป็นปัญหาสำหรับเว็บเบราว์เซอร์บนเดสก์ท็อป (โทรศัพท์มือถือเป็นตัวแทนของโลกที่แตกต่างไปจากเดิม แต่เป็นหัวข้อสำหรับบทความอื่น) การเปิดใช้งานการตรวจสอบ OCSP แบบออนไลน์ (ช้าและไม่ปลอดภัย) เป็นสิ่งที่จำเป็นในการรับรู้ใบรับรองที่ถูกเพิกถอนใน Firefox ในขณะที่ Chrome และ Edge ไม่สามารถรับรู้ใบรับรองที่ถูกเพิกถอนสองรายการบน Windows ไม่ว่าจะเปิดใช้งานการตรวจสอบการเพิกถอนในระบบปฏิบัติการหรือไม่

สำหรับเจ้าของเว็บไซต์ดูเหมือนว่าควรถือว่าโปรแกรมเบราว์เซอร์ต่าง ๆ นั้นเน้นไปที่เหตุการณ์ที่มีลำดับความสำคัญสูง / เหตุฉุกเฉินเช่นรูตที่ถูกเพิกถอนและใบรับรอง CA ระดับกลางและการเพิกถอนใบรับรองเอนทิตีเอนกประสงค์ในสวนนั้น ระยะเวลาไม่ จำกัด ด้วยเหตุนี้การใช้งาน OCSP Stapling และ Staple ที่ต้องห้าม ดูเหมือนจะเป็นวิธีที่ปลอดภัยและมีประสิทธิภาพมากที่สุดเพื่อให้แน่ใจว่าผู้ใช้ปลายทางได้รับข้อมูลที่ถูกต้องเกี่ยวกับการเพิกถอนใบรับรองเอนทิตีปลาย

 

สมัครสมาชิกจดหมายข่าวของ SSL.com

อย่าพลาดบทความใหม่และการอัปเดตจาก SSL.com

เราชอบความคิดเห็นของคุณ

ทำแบบสำรวจของเราและแจ้งให้เราทราบความคิดเห็นของคุณเกี่ยวกับการซื้อครั้งล่าสุดของคุณ