ห่วงโซ่ใบรับรองของเซิร์ฟเวอร์สามารถแทนที่ที่เก็บความเชื่อถือของไคลเอนต์ได้หรือไม่
ห่วงโซ่ที่สมบูรณ์คือหลักฐาน ไม่ใช่คำสั่ง การตรวจสอบเกิดขึ้นที่ไคลเอนต์ด้วยสมอของตัวเอง เซิร์ฟเวอร์จึงบังคับการตัดสินใจเรื่องความเชื่อถือไม่ได้
เบราว์เซอร์แสดงคำเตือนใบรับรองบนเว็บไซต์ที่ห่วงโซ่สมบูรณ์ และปฏิกิริยาแรกคือการแก้ไขเซิร์ฟเวอร์ ปกติแล้วเซิร์ฟเวอร์นำเสนอสิ่งที่ควรจะเป็นอย่างถูกต้อง ไคลเอนต์เป็นผู้ตัดสินว่าจะยอมรับสมอใด และการจัดเรียงใบรับรองระดับกลางแบบใดก็ไม่สามารถเปลี่ยนการตัดสินใจนั้นจากอีกด้านของการเชื่อมต่อได้ ขอบเขตนี้ อธิบายสิ่งส่วนใหญ่ที่ดูเหมือนปัญหาใบรับรอง
การตรวจสอบทำงานที่ไคลเอนต์ ด้วยสมอของไคลเอนต์
การตรวจสอบเส้นทางนำใบรับรองที่นำเสนอมาสร้างห่วงโซ่ไปยังสมอความเชื่อถือที่ระบบตรวจสอบมีอยู่แล้ว RFC 5280 อธิบายรูปแบบนั้น และวางการเลือกสมอไว้ที่การใช้งานภายในเครื่อง ไม่ใช่ที่เซิร์ฟเวอร์ แอปพลิเคชันสามารถเพิ่มนโยบายของตนเองบนนั้นได้ เช่น กุญแจที่ปักหมุด ที่เก็บความเชื่อถือขององค์กร หรือการตรวจสอบตัวตนที่เข้มงวดกว่า รายการใบรับรองที่เซิร์ฟเวอร์ส่งมาเป็นหลักฐานที่เสนอให้กระบวนการนั้น ไม่ใช่คำสั่งสำหรับกระบวนการนั้น
ดังนั้นห่วงโซ่ที่สมบูรณ์พิสูจน์ว่าเซิร์ฟเวอร์มีชิ้นส่วนครบ แต่ไม่ได้พิสูจน์ว่าไคลเอนต์จะยอมรับ
เพื่อดูว่าเซิร์ฟเวอร์ส่งอะไรจริง ๆ ให้รัน openssl s_client -connect app.example.net:443 -servername app.example.net -showcertsและนับจำนวนใบรับรองในผลลัพธ์ ห่วงโซ่ที่ไม่สมบูรณ์ตรงนั้นคือการแก้ไขฝั่งเซิร์ฟเวอร์ ห่วงโซ่ที่สมบูรณ์ย้ายคำถามไปที่ไคลเอนต์และสมอของไคลเอนต์ ซึ่งเซิร์ฟเวอร์ไม่มีสิทธิ์ออกเสียง
สิ่งที่การตรวจสอบ TLS เปลี่ยนแปลงจริง ๆ
อุปกรณ์ตรวจสอบจะสิ้นสุดเซสชัน TLS ฝั่งไคลเอนต์และเปิดเซสชันแยกไปยังบริการจริง จากนั้นไคลเอนต์ตรวจสอบใบรับรองของอุปกรณ์ ซึ่งต้องเชื่อมโยงไปยังสมอที่ไคลเอนต์ไว้วางใจ นี่คือเหตุผลที่อุปกรณ์ที่ได้รับการจัดการได้รับรากของการตรวจสอบผ่านการจัดการอุปกรณ์ และเป็นเหตุผลที่อุปกรณ์ส่วนบุคคลที่ไม่มีรากนั้นแสดงคำเตือน
การจัดวางนี้เป็นเจตนาและเป็นภายในเครื่อง ไม่มีสิ่งใดในห่วงโซ่ของเซิร์ฟเวอร์ต้นทางสามารถบังคับเบราว์เซอร์ที่ไม่ได้จัดการให้ยอมรับตัวตนแทนได้ และไม่มีสิ่งใดในนั้นขัดขวางอุปกรณ์ที่จัดการแล้วไม่ให้ทำเช่นนั้น
การสิ้นสุด VPN ไม่ใช่การถอดรหัส HTTPS
ชั้น VPN ขนส่งแพ็กเก็ตระหว่างไคลเอนต์และเกตเวย์ การถอดชั้นนี้ออกหรือการอ่านการกำหนดค่าของชั้นนี้ไม่ได้เปิดเผยเพย์โหลด HTTPS ภายใน
เซสชัน TLS ยังคงทำงานระหว่างเบราว์เซอร์และเว็บเซิร์ฟเวอร์ด้วยกฎการตรวจสอบเดียวกัน เว้นแต่มีบางอย่างสิ้นสุดเซสชันนั้นอย่างชัดเจน การสับสนสองชั้นนี้ทำให้เกิดคำขอให้ผู้ดูแล VPN จัดหาใบรับรอง ทั้งที่ใบรับรองนั้นเป็นของการพร็อกซีตรวจสอบหรือของเว็บไซต์เอง ถามว่าองค์ประกอบใดเป็นผู้นำเสนอใบรับรองก่อนเปลี่ยนที่เก็บความเชื่อถือใด ๆ
กำหนดความคาดหวังในองค์ประกอบที่คุณควบคุม
หากคุณดำเนินการแอปพลิเคชันและไคลเอนต์ของแอปนั้น ให้กำหนดตัวตนบริการที่คาดหวัง ผู้ออกใบรับรองที่ยอมรับ และข้อกำหนดการปักหมุดหรือการพิสูจน์ตัวตนไคลเอนต์ร่วมกัน วางแผนการต่ออายุและการกู้คืนเพื่อให้การเปลี่ยนใบรับรองที่ชอบด้วยกฎหมายไม่กลายเป็นการหยุดให้บริการ หากคุณดำเนินการเฉพาะเซิร์ฟเวอร์สาธารณะ ให้จัดทำเอกสารว่าต้องการการพิสูจน์ตัวตนแบบใดและรองรับสภาพแวดล้อมไคลเอนต์ใด การส่งห่วงโซ่ที่ต้องการไม่ได้ยืนยันอุปกรณ์ของคนแปลกหน้า
บนอุปกรณ์ที่ได้รับการจัดการ ให้แก้ไขความไม่เข้ากันผ่านเจ้าของแอปพลิเคชันและเครือข่าย การปิดการตรวจสอบ การเพิ่มรากที่อธิบายไม่ได้ หรือการพยายามฝ่าฝืนนโยบายการตรวจสอบไม่ได้สร้างความสัมพันธ์แบบเพียร์ที่ตั้งใจไว้
ทดสอบผลลัพธ์ในโปรไฟล์ไคลเอนต์ที่สะอาด ไม่ใช่บนเครื่องที่เพิ่มข้อยกเว้นไว้แล้ว นี่คือการตรวจสอบเดียวที่แสดงว่าอุปกรณ์ใหม่จะประสบอะไร