บริษัท
เมื่อผู้ใช้เยี่ยมชมเว็บไซต์ HTTPS ของคุณผู้ใช้จะต้องตอบกลับด้วยการทำงาน คีย์สาธารณะและใบรับรอง SSL ที่ถูกต้องซึ่งเชื่อมโยงคีย์กับข้อมูลประจำตัวของคุณไม่ว่าจะเป็นบุคคล บริษัท หรือองค์กร ใบรับรองจะออกเสมอพร้อมกับวันหมดอายุที่กำหนดไว้ล่วงหน้าซึ่งรวมอยู่ในใบรับรองที่ลงนามแล้วและเบราว์เซอร์จะตรวจสอบวันหมดอายุเสมอและจะปฏิเสธใบรับรองที่หมดอายุใด ๆ
อย่างไรก็ตามในบางกรณีใบรับรองต้องถูกทำเครื่องหมายว่าไม่ถูกต้อง (และเชื่อถือได้ที่ใบรับรองเหล่านั้นจะต้องเป็น เพิกถอน) ก่อน มันหมดอายุ ตัวอย่างทั่วไปรวมถึงเจ้าของเซิร์ฟเวอร์ที่มีหลักฐาน (หรือเพียงแค่สงสัย) ว่าคีย์ส่วนตัวของพวกเขาถูกบุกรุก (เช่นถูกขโมยถูกขโมยหรือถูกทำลาย) เนื่องจากบุคคลที่สามที่ถือกุญแจส่วนตัวนี้สามารถผ่านการควบคุมความปลอดภัยเครือข่ายเบราว์เซอร์ทั้งหมด
ดังนั้นผู้ขายเบราว์เซอร์จึงจำเป็นต้องมี เชื่อถือได้ในที่สาธารณะ ผู้ออกใบรับรอง (CA) เพื่อดำเนินการอย่างน้อยหนึ่งวิธีในการเพิกถอนใบรับรองที่มีปัญหาและแจ้งให้เบราว์เซอร์ปฏิเสธใบรับรองที่ถูกเพิกถอนเหล่านี้
ประวัติโดยย่อของ (ปัญหาของ) การตรวจสอบการเพิกถอน
ในยุคแรก ๆ ของ SSL วิธีที่ CA ใช้คือการเผยแพร่สถานะการเพิกถอนใบรับรองในเอกสารที่สาธารณชนสามารถเข้าถึงได้ที่เรียกว่า รายการเพิกถอนใบรับรอง (ซี.อาร์.แอล.) CRL เป็นเพียงรายการของใบรับรองทั้งหมดที่ CA เคยเพิกถอนก่อนหมดอายุ CA เผยแพร่ CRLs เวอร์ชันล่าสุดเป็นระยะ ๆ ซึ่งเบราว์เซอร์จำเป็นต้องปรึกษา ก่อน แต่ละการเชื่อมต่อ HTTPS
ตามธรรมชาติเป็น HTTPS (และ SSL /TLS) การยอมรับเพิ่มขึ้นในช่วงหลายปีที่ผ่านมาขนาดของ CRL ที่เผยแพร่ก็เช่นกัน ข้อกำหนดในการดาวน์โหลดและแยกวิเคราะห์ CRL ขนาดใหญ่ก่อนการเชื่อมต่อแต่ละครั้งจะกำหนดค่าใช้จ่ายเครือข่ายที่เพิ่มขึ้นเรื่อย ๆ เห็นได้ชัดอย่างรวดเร็วว่าวิธี CRL ไม่ได้ปรับขนาดได้ดี
เพื่อลดปัญหาการปรับขนาดเบราว์เซอร์และ CA ที่ออกแบบและดำเนินการ โปรโตคอลสถานะใบรับรองออนไลน์ (อคส). CA ที่เชื่อถือได้แบบสาธารณะเช่น SSL.comตอนนี้ดูแลเซิร์ฟเวอร์ HTTP ธรรมดา ๆ ที่เรียกว่า ผู้ตอบสนอง OCSP. เบราว์เซอร์สามารถติดต่อผู้ตอบกลับเพื่อขอสถานะการเพิกถอนใบรับรองเดี่ยวที่ออกโดย CA แทนที่จะต้องได้รับและประมวลผล CRL ทั้งหมด
ผู้ตอบสนองของ OCSP เซ็นคำตอบด้วยคีย์การลงนามส่วนตัวของ CA และเบราว์เซอร์สามารถตรวจสอบได้ว่าสถานะการเพิกถอนที่ได้รับนั้นสร้างขึ้นโดย CA จริง
น่าเสียดายที่ถึงแม้ว่า OCSP ดูเหมือนจะเป็นโซลูชันที่มีประสิทธิภาพในตอนแรกโพรโทคอลใหม่ได้พิสูจน์แล้วว่ามีประสิทธิภาพในทางปฏิบัติความปลอดภัยและปัญหาความเป็นส่วนตัว
ปัญหาด้านประสิทธิภาพ
การติดต่อผู้ตอบกลับสำหรับใบรับรองทุกครั้งที่พบเบราว์เซอร์หมายความว่าเบราว์เซอร์จำเป็นต้องดำเนินการตามคำขอ HTTP เพิ่มเติมสำหรับการเชื่อมต่อ HTTPS ใหม่แต่ละครั้ง ค่าใช้จ่ายในเครือข่ายนี้สามารถรับรู้ได้โดยผู้ใช้โดยเฉพาะในหน้าเว็บที่มีเนื้อหาบุคคลที่สามที่เก็บไว้ในเซิร์ฟเวอร์การกระจายเนื้อหาระยะไกล (ซึ่งแต่ละคนอาจมีใบรับรองหนึ่งใบหรือมากกว่า)
การตอบสนอง เป็นหลักการสำคัญของการออกแบบส่วนต่อประสานผู้ใช้ที่ดี การล่าช้าเป็นเวลานานอาจเป็นสาเหตุหลักของความหงุดหงิดของผู้ใช้และอาจทำให้ผู้ใช้เชื่อว่าเว็บไซต์ของคุณไม่ทำงานหรือท่าทางการป้อนข้อมูลของพวกเขาถูกเพิกเฉย
มีอะไรอีกมากมาย การศึกษา ในอดีตมีการเชื่อมโยงความเร็วในการโหลดหน้าเว็บและการตอบสนองที่รวดเร็วกับ SEO ที่ปรับปรุงแล้วและอัตราการแปลงที่เพิ่มขึ้น ในความเป็นจริงอเมซอนได้คำนวณว่าความล่าช้าเพียงหนึ่งวินาทีสามารถทำให้พวกเขามีค่าใช้จ่ายได้ $1.6 billion รายปี
(สำหรับรายละเอียดเพิ่มเติมว่าความเร็วในการโหลดหน้าเว็บมีผลต่อเว็บไซต์ของคุณอย่างไรและการเพิ่มประสิทธิภาพที่แนะนำโปรดดูที่ของเรา บทความ อธิบายว่าการลบเนื้อหาแบบผสมออกจากเว็บไซต์ของคุณจะช่วยปรับปรุงประสิทธิภาพได้อย่างไร)
ปัญหาด้านความปลอดภัย
นอกจากนี้ยังมีข้อกังวลด้านความปลอดภัยที่สำคัญกับ OCSP ความจริงที่ว่าการใช้งาน OCSP ที่ใช้งานได้จริงส่วนใหญ่ไม่น่าเชื่อถือเพียงพอ (ไม่ว่าจะเกิดจากความล่าช้าของเครือข่ายหรือการกำหนดค่าหรือข้อผิดพลาดของแอปพลิเคชัน) กระตุ้นเบราว์เซอร์และซอฟต์แวร์ไคลเอ็นต์อื่น ๆ นุ่มล้มเหลว โหมด.
ซึ่งหมายความว่าหากเซิร์ฟเวอร์ OCSP ไม่สามารถเข้าถึงหรือหมดเวลาในขณะที่ให้การตอบสนองเบราว์เซอร์จะ พิจารณาใบรับรองว่าถูกต้อง และดำเนินการเชื่อมต่อ HTTPS ต่อไป
เหตุผลเบื้องหลังคือเนื่องจากเซิร์ฟเวอร์ OCSP สามารถให้บริการเว็บไซต์ได้หลายล้านเว็บไซต์และเป็นไปได้ที่เซิร์ฟเวอร์ OCSP จะล้มเหลวได้ทุกเมื่อการวางการเชื่อมต่อกับความล้มเหลว OCSP ทุกครั้งจะส่งผลกระทบต่อประสบการณ์การท่องเว็บของผู้ใช้หลายล้านคน แม้ว่าเซิร์ฟเวอร์ OCSP จะทำงาน แต่ใช้เวลานานในการตอบกลับสิ่งนี้จะเพิ่มความล่าช้าในการรับรู้และความยุ่งยากของผู้ใช้
ชายกลางคน (MITM) เป็นที่ทราบกันว่าผู้โจมตีใช้ประโยชน์จากพฤติกรรมนี้โดยการปิดกั้น ทั้งหมด การเชื่อมต่อกับผู้ตอบสนอง OCSP ซึ่งหมายความว่าพวกเขาสามารถใช้ใบรับรองและคู่คีย์ที่ถูกขโมยสำหรับไซต์ที่เป็นอันตรายได้โดยไม่คำนึงถึงสถานะการเพิกถอนใบรับรอง
ปัญหาความเป็นส่วนตัว
ในที่สุดเนื่องจากใบรับรองเชื่อมโยงกับคีย์และชื่อโดเมนและเบราว์เซอร์ขอสถานะการเพิกถอนก่อนการเชื่อมต่อ HTTPS ใหม่ทุกครั้งจึงหมายความว่าเบราว์เซอร์รั่วไหลส่วนสำคัญของประวัติเว็บของผู้ใช้ไปยังผู้ตอบสนอง OCSP
แน่นอนว่า CA ที่เชื่อถือได้ต่อสาธารณะไม่ใช่องค์กรที่ประสงค์ร้ายที่ต้องการทำลายความเป็นส่วนตัวของผู้ใช้ (CA ที่มีชื่อเสียงมักจะพยายามอย่างต่อเนื่อง ป้องกัน ความปลอดภัยและความเป็นส่วนตัวของผู้ใช้) อย่างไรก็ตามในกรณีที่มีการบุกรุกของผู้ตอบสนอง OCSP ของ CA ข้อมูลที่แลกเปลี่ยนกับเซิร์ฟเวอร์ที่ไม่น่าเชื่อถือนั้นอาจนำไปสู่การเปิดเผยข้อมูลที่ละเอียดอ่อนและเป็นส่วนตัว
OCSP เย็บเล่มเพื่อช่วยเหลือ
เพื่อลดปัญหาเหล่านี้เบราว์เซอร์และ CA จึงมีวิธีการใหม่ในการกำหนดสถานะของใบรับรองที่เรียกว่า การเย็บ OCSP. การเย็บเล่ม OCSP ช่วยให้เว็บเซิร์ฟเวอร์ (แทนเบราว์เซอร์) รับการตอบสนอง OCSP ที่ลงนามแล้วสำหรับใบรับรองซึ่งสามารถเก็บไว้ได้นานถึง 7 วัน
เซิร์ฟเวอร์รวมถึง (หรือ แก่น) การตอบสนองที่แคช OCSP ในการตอบสนอง HTTPS ของพวกเขาควบคู่ไปกับใบรับรอง SSL เอง วิธีนี้เบราว์เซอร์สามารถตรวจสอบลายเซ็น CAs ในการตอบสนอง OCSP และมั่นใจได้ว่าใบรับรองยังไม่ถูกเพิกถอนก่อนที่การเชื่อมต่อที่ปลอดภัยจะถูกสร้างขึ้นและไม่ต้องดำเนินการร้องขอเพิ่มเติมราคาแพงไปยังเซิร์ฟเวอร์ OCSP ด้วยตนเอง
การเย็บเล่ม OCSP เป็นวิธีการแก้ปัญหาที่เรียบง่าย แต่มีประสิทธิภาพมากสำหรับปัญหาที่กล่าวถึงข้างต้น เซิร์ฟเวอร์สามารถดึงการตอบสนอง OCSP ที่แคชไว้ในเวลาของตนเองซึ่งจะลบค่าใช้จ่ายด้านประสิทธิภาพที่กำหนดโดย CRL และ OCSP รวมถึงข้อกังวลเกี่ยวกับข้อมูลส่วนบุคคล
อย่างไรก็ตามการเย็บ OCSP ด้วยตัวเองไม่ได้ช่วยแก้ปัญหาความปลอดภัยที่ล้มเหลวของ OCSP ได้อย่างสมบูรณ์ เนื่องจากการเย็บเล่มถูกนำไปใช้ในเซิร์ฟเวอร์เบราว์เซอร์จึงไม่สามารถทราบได้ว่าเซิร์ฟเวอร์รองรับการเย็บเล่มจริงหรือไม่
ด้วยเหตุนี้ผู้โจมตี MITM ที่มีใบรับรองที่ถูกขโมย (แต่ถูกเพิกถอน) สามารถทำการโจมตีแบบดาวน์เกรดได้โดยให้บริการใบรับรองโดยไม่ต้องเย็บเล่ม OCSP เบราว์เซอร์ของเหยื่อไม่สามารถยืนยันได้ว่าเซิร์ฟเวอร์รองรับการเย็บเล่มจริงหรือไม่และดำเนินการค้นหาตัวตอบสนอง OCSP ตามปกติ
ผู้โจมตีของ MITM สามารถบล็อกการสืบค้น OCSP นี้และบังคับให้เบราว์เซอร์ยอมรับใบรับรองอย่างถูกต้อง
OCSP ต้องเย็บเล่ม
การโจมตีครั้งนี้กระตุ้นให้ผู้ผลิต CA และเบราว์เซอร์แนะนำส่วนขยายสำหรับใบรับรอง SSL ที่กำหนดไว้ RFC 7633ที่เรียกกันทั่วไปว่า อคส ต้อง Staple (แม้ว่า RFC จะไม่ได้กล่าวถึงชื่อนี้ซึ่งอาจทำให้เกิดความสับสนได้) สิ่งนี้จะกำหนดให้เย็บเล่ม OCSP สำหรับใบรับรอง หากเบราว์เซอร์พบใบรับรองที่มีส่วนขยายนี้ซึ่งใช้โดยไม่ต้องใช้ OCSP Stapling จะถูกปฏิเสธ OCSP Must-Staple ช่วยลดการโจมตีแบบปรับลดรุ่นดังกล่าวและยังช่วยลดปริมาณการใช้งานที่ไม่จำเป็นไปยังผู้ตอบสนอง OCSP ของ CA ซึ่งสามารถช่วยปรับปรุงประสิทธิภาพของ OCSP โดยรวมได้อีกด้วย
หากคุณสนใจที่จะเปิดใช้งานส่วนขยาย OCSP Must-Staple ในใบรับรองของคุณโปรดติดต่อตัวแทนฝ่ายสนับสนุนของเราที่ สนับสนุน@ssl.com .
เปิดใช้งานการเย็บเล่ม OCSP ในเซิร์ฟเวอร์ของคุณ
เพื่อช่วยให้คุณไม่ต้องเจอปัญหานี้ส่วนต่อไปนี้มีคำแนะนำเกี่ยวกับวิธีการเปิดใช้งานการเย็บเล่ม OCSP ในเครื่องของคุณ อาปาเช่ และ Nginx สภาพแวดล้อม:
อาปาเช่
หากต้องการเปิดใช้งานการเย็บเล่ม OCSP ในของคุณ อาปาเช่ เซิร์ฟเวอร์โปรดเพิ่มบรรทัดต่อไปนี้ในไฟล์คอนฟิกูเรชันของเซิร์ฟเวอร์ของคุณ
# OCSP Stapling เฉพาะใน httpd 2.3.3 ขึ้นไปเท่านั้น SSLUseStapling บน SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors ปิด SSLStaplingCache shmcb: / var / run / ocsp (128000)
Nginx
หากต้องการเปิดใช้งานการเย็บเล่ม OCSP ในของคุณ Nginx เซิร์ฟเวอร์โปรดเพิ่มข้อความต่อไปนี้ในไฟล์กำหนดค่าเซิร์ฟเวอร์ของคุณ
# OCSP Stapling --- # เรียกระเบียน OCSP จาก URL ใน ssl_certificate และแคชใน ssl_stapling on; ssl_stapling_verify บน;
สรุป
เว็บเป็นเครือข่ายที่ซับซ้อนขององค์ประกอบที่พึ่งพาซึ่งกันและกัน (โดยปกติ) ทำงานอย่างกลมกลืนเพื่อมอบประสบการณ์การท่องเว็บที่ราบรื่น อย่างไรก็ตามความซับซ้อนที่เพิ่มมากขึ้นของระบบนี้สร้างพื้นผิวการโจมตีที่กว้างขึ้นและช่วยให้การโจมตีเครือข่ายใหม่ถูกออกแบบและดำเนินการ
จำนวนองค์ประกอบที่แท้จริงเพิ่มความล่าช้าและเกิดความล่าช้าซึ่งหมายความว่าองค์กรจำเป็นต้องหาวิธีในการปรับปรุงการรักษาความปลอดภัยโดยไม่กระทบต่อประสบการณ์ของผู้ใช้ การเปิดใช้งานการเย็บเล่ม OCSP จะทำให้คุณมีโอกาสน้อยมากในการปรับปรุงความปลอดภัย และ ประสิทธิภาพสำหรับเว็บไซต์ของคุณในเวลาเดียวกัน
และเช่นเคยเรายินดีที่จะตอบคำถามของคุณเกี่ยวกับการเย็บเล่ม OCSP หรือปัญหาอื่น ๆ - เพียงส่งอีเมลถึงเราที่ สนับสนุน@ssl.com.