0Pricing
Cryptology Academy · บทเรียน

OCSP Stapling และความโปร่งใสของใบรับรอง

กำหนดค่า OCSP stapling เพื่อเพิ่มประสิทธิภาพ และทำความเข้าใจบันทึก Certificate Transparency เพื่อให้ตรวจสอบย้อนหลังได้

OCSP Stapling และความโปร่งใสของใบรับรอง เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหา CRL

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

OCSP สำหรับตรวจสอบสถานะแบบเรียลไทม์

Online Certificate Status Protocol (OCSP, RFC 6960) ช่วยให้ไคลเอ็นต์สอบถามตัวตอบสนอง OCSP ของ CA แบบเรียลไทม์ เพื่อดูสถานะการเพิกถอนของใบรับรองที่ระบุ การตอบกลับ OCSP จะระบุว่าใบรับรองมีสถานะ "good" "revoked" หรือ "unknown" และได้รับการลงนามโดย CA วิธีนี้มีประสิทธิภาพมากกว่าการดาวน์โหลด CRL ทั้งหมด

ปัญหาความเป็นส่วนตัวของ OCSP

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

กลไกการแนบ OCSP

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

การกำหนดค่าการแนบ OCSP

การกำหนดค่าการแนบ OCSP ของ Nginx ต้องมี "ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8;" ในบล็อกเซิร์ฟเวอร์ คำสั่ง ssl_certificate_by_lua_block หรือ ssl_trusted_certificate จะจัดเตรียมสายโซ่สำหรับการตรวจสอบ ส่วน Apache ต้องมี "SSLUseStapling on" ใน VirtualHost เซิร์ฟเวอร์ทั้งสองจะเก็บการตอบกลับไว้ในแคชและเรียกข้อมูลใหม่ก่อนหมดอายุ

ส่วนขยาย OCSP แบบต้องแนบ

ส่วนขยาย X.509 OCSP แบบต้องแนบ (RFC 7633) แจ้งเบราว์เซอร์ว่าเซิร์ฟเวอร์ของใบรับรองนี้จะแนบการตอบกลับ OCSP เสมอ หากเบราว์เซอร์เชื่อมต่อกับเซิร์ฟเวอร์แล้วไม่ได้รับการตอบกลับที่แนบมา เบราว์เซอร์จะปฏิเสธการเชื่อมต่อ วิธีนี้ป้องกันผู้โจมตีที่มีใบรับรองซึ่งถูกเพิกถอนจากการปิดกั้นการตอบกลับ OCSP เพื่อบังคับให้เกิดพฤติกรรมยอมรับเมื่อการตรวจสอบล้มเหลว

แนวคิดความโปร่งใสของใบรับรอง

Certificate Transparency (CT) คือระบบที่กำหนดให้ CA ที่ได้รับความเชื่อถือสาธารณะทั้งหมดบันทึกใบรับรองทุกใบที่ออกลงในบันทึกที่ตรวจสอบได้สาธารณะและเพิ่มข้อมูลได้อย่างเดียว ก่อนส่งมอบใบรับรอง บันทึกเหล่านี้ช่วยให้เจ้าของโดเมน นักวิจัย และผู้ตรวจติดตามตรวจพบใบรับรองที่ออกผิดหรือได้มาโดยฉ้อโกงสำหรับโดเมนใด ๆ

การประทับเวลาลายเซ็นใบรับรองของ CT

เมื่อ CA ส่งใบรับรองไปยังบันทึก CT บันทึกจะส่งคืน Signed Certificate Timestamp (SCT) โดย SCT คือคำยืนยันที่ลงนามด้วยการเข้ารหัสลับว่าใบรับรองได้รับการบันทึกแล้ว SCT อาจฝังอยู่ในตัวใบรับรอง ส่งผ่านส่วนขยาย TLS หรือแนบอยู่ในการตอบกลับ OCSP Chrome กำหนดให้มี SCT อย่างน้อยสองรายการเพื่อให้เกิดความเชื่อถือ

ข้อกำหนด CT ของ Chrome

Google Chrome กำหนดให้ใบรับรอง TLS ที่ได้รับความเชื่อถือสาธารณะทั้งหมดต้องใช้ Certificate Transparency ตั้งแต่เดือนเมษายน 2018 ใบรับรองที่ไม่มี SCT ที่ถูกต้องจะถูก Chrome ปฏิเสธพร้อมแสดงข้อผิดพลาดของใบรับรอง ข้อกำหนดนี้ทำให้ CA รายใหญ่ทั้งหมดต้องบันทึก CT อย่างมีประสิทธิผล เนื่องจาก CA ที่ใบรับรองถูก Chrome ปฏิเสธจะไม่สามารถดำเนินงานเป็น CA สาธารณะได้

การตรวจจับใบรับรองที่ออกผิดผ่าน CT

บันทึก CT ช่วยให้ทุกคนตรวจติดตามใบรับรองที่ออกให้กับโดเมนของตนได้ บริการอย่าง crt.sh และ CT Monitor ของ Facebook ช่วยให้เจ้าของโดเมนค้นหาบันทึก CT ทั้งหมดเพื่อหาใบรับรองที่มีโดเมนของตนอยู่ในช่องชื่อเรื่องหรือ SAN การออกใบรับรองโดยไม่ได้รับอนุญาต (เช่น โดย CA ที่ถูกบุกรุกหรือจากการแย่งชิงเส้นทาง BGP) จะตรวจพบได้ภายในไม่กี่ชั่วโมง

ระบบนิเวศบันทึก CT

บันทึก CT ดำเนินงานโดยองค์กรอิสระหลายแห่ง รวมถึง Google (Argon, Xenon), Cloudflare (Nimbus), DigiCert, Sectigo และองค์กรอื่น ๆ การมีผู้ดำเนินงานบันทึกหลายรายช่วยป้องกันไม่ให้หน่วยงานใดหน่วยงานหนึ่งปกปิดใบรับรองที่ถูกบันทึกไว้ เบราว์เซอร์กำหนดให้ SCT มาจากบันทึกในรายการที่ได้รับอนุมัติ เพื่อควบคุมคุณภาพของบันทึกที่ได้รับความเชื่อถือ

การตรวจสอบการแนบ OCSP

การแนบ OCSP แก้ปัญหาใดเมื่อเทียบกับ OCSP มาตรฐาน

สรุปบทเรียน: OCSP และ CT

CRL มีขนาดใหญ่และข้อมูลล้าสมัย ส่วน OCSP ให้สถานะการเพิกถอนแบบเรียลไทม์แต่เปิดเผยข้อมูลการท่องเว็บแก่ CA การแนบ OCSP จะส่งสถานะการเพิกถอนที่ดึงไว้ล่วงหน้าระหว่างการจับมือ TLS จึงช่วยรักษาความเป็นส่วนตัว OCSP แบบต้องแนบจะป้องกันการหลีกเลี่ยงด้วยการยอมรับเมื่อการตรวจสอบล้มเหลว Certificate Transparency จะบันทึกใบรับรองที่ออกทั้งหมด ทำให้ตรวจพบใบรับรองที่ออกผิดผ่าน SCT ได้ Chrome กำหนดให้ใช้ CT ตั้งแต่ปี 2018

คำถามที่พบบ่อย

บทเรียน “OCSP Stapling และความโปร่งใสของใบรับรอง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “OCSP Stapling และความโปร่งใสของใบรับรอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “OCSP Stapling และความโปร่งใสของใบรับรอง”

กำหนดค่า OCSP stapling เพื่อเพิ่มประสิทธิภาพ และทำความเข้าใจบันทึก Certificate Transparency เพื่อให้ตรวจสอบย้อนหลังได้ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “OCSP Stapling และความโปร่งใสของใบรับรอง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐานสำคัญของ OpenSSL ผ่านบรรทัดคำสั่ง
  2. การสร้างและจัดการสายโซ่ใบรับรอง
  3. OCSP Stapling และความโปร่งใสของใบรับรอง
  4. Let's Encrypt และการทำงานอัตโนมัติด้วยโพรโทคอล ACME
← กลับไปที่ Cryptology Academy