ใบรับรอง VPN ของ Mac: ทำไมตัวเลือกอัตลักษณ์จึงว่างเปล่า
ไคลเอนต์ต้องมีใบรับรองพร้อมกุญแจส่วนตัว ในที่จัดเก็บที่มันอ่านได้ ตรวจสอบอัตลักษณ์ก่อน แล้วจึงตรวจว่าเกตเวย์ยอมรับหรือไม่
คุณติดตั้งใบรับรองแล้ว มันปรากฏใน Keychain Access พร้อมชื่อที่จำง่าย แต่ตัวเลือกอัตลักษณ์ของไคลเอนต์ VPN ยังคงว่างเปล่า ไคลเอนต์ไม่ได้มองหาใบรับรอง มันมองหาอัตลักษณ์ คือใบรับรองที่จับคู่กับกุญแจส่วนตัวซึ่งพิสูจน์ความเป็นเจ้าของได้ เก็บไว้ในที่ที่ไคลเอนต์ได้รับอนุญาตให้อ่าน
สิ่งที่ไคลเอนต์ขอคืออัตลักษณ์
กรอบความปลอดภัยของ Apple มองใบรับรองและอัตลักษณ์เป็นวัตถุที่แตกต่างกัน ใบรับรองเป็นข้อมูลสาธารณะ อัตลักษณ์คือใบรับรองนั้นบวกกับกุญแจส่วนตัว และมีเพียงอัตลักษณ์เท่านั้นที่ทำให้ความท้าทายสำเร็จได้ ส่วนใบรับรอง CA ที่เชื่อถือได้นั้นช่วยให้ไคลเอนต์ประเมินผู้ออกใบรับรองได้ แต่ไม่ได้ทำให้เครื่องกลายเป็นผู้ถือข้อมูลรับรองไคลเอนต์ที่ออกให้
| Item | What it can do | What it cannot do |
|---|---|---|
| CA or server certificate | Validate the gateway's chain | Authenticate this client |
| Client certificate without key | Nothing for authentication | Prove possession of anything |
| Identity (cert plus key) | Answer the authentication challenge | Guarantee the gateway accepts it |
ด้วยเหตุนี้ การนำเข้าไฟล์ .cer จึงไม่เคยสร้างอัตลักษณ์ไคลเอนต์ที่ใช้งานได้ ไฟล์มีเพียงวัสดุสาธารณะ และไม่ว่าคุณจะเปลี่ยนชื่อหรือให้ความเชื่อถืออย่างไร มันก็ไม่กลายเป็นคู่กุญแจ
สามเหตุผลที่ตัวเลือกยังว่างเปล่า
เหตุผลแรกคือไม่มีกุญแจส่วนตัว ซึ่งหมายความว่ากระบวนการลงทะเบียนหรือนำเข้าไม่ได้ส่งมอบเลย เหตุผลที่สองคือที่จัดเก็บที่ไคลเอนต์ไม่ได้ตรวจสอบ โปรไฟล์ระดับผู้ใช้จะดูในพวงกุญแจของผู้ใช้ และรายการที่วางไว้ในที่จัดเก็บของระบบอาจมองไม่เห็นสำหรับมัน เหตุผลที่สามคือความไม่สอดคล้องของวัตถุประสงค์หรือนโยบาย ซึ่งใบรับรองมีอยู่แต่ไม่ใช้ได้สำหรับการพิสูจน์ตัวตนไคลเอนต์ตามกฎของการติดตั้งใช้งาน
security find-identity -v -p ssl-client
คำสั่งนี้แสดงอัตลักษณ์ที่ระบบถือว่าใช้ได้สำหรับการพิสูจน์ตัวตนไคลเอนต์ หากจำนวนเป็นศูนย์ ปัญหาอยู่เหนือไคลเอนต์ VPN และการแก้ไขโปรไฟล์จะไม่ช่วย หากอัตลักษณ์ปรากฏที่นี่แต่ไม่ปรากฏในไคลเอนต์ ความแตกต่างอยู่ที่ที่จัดเก็บหรือขอบเขตของไคลเอนต์
กุญแจส่วนตัวอยู่ที่ไหน และใครใช้ได้บ้าง
เมื่อคุณนำเข้าอัตลักษณ์ผ่าน Keychain Access กล่องโต้ตอบการนำเข้าจะเสนอพวงกุญแจปลายทาง พวงกุญแจใดถูกต้องขึ้นอยู่กับไคลเอนต์และขึ้นกับว่าโปรไฟล์เป็นระดับผู้ใช้หรือระดับอุปกรณ์ คำตอบเก่าที่แนะนำพวงกุญแจของระบบไม่ใช่กฎสากล และการคัดลอกรายการระหว่างที่จัดเก็บไม่ใช่การซ่อม
System Roots คือชุดความเชื่อถือ การวางใบรับรองไว้ที่นั่นเปลี่ยนว่าผู้ออกใบรับรองรายใดที่ระบบเชื่อถือ มันไม่ได้สร้างกุญแจส่วนตัว และไม่ใช่ที่จัดเก็บอัตลักษณ์ การย้ายใบรับรองที่ไม่เกี่ยวข้องเพื่อเติมตัวเลือกให้เต็มคือการซ่อมแบบที่ทิ้งเครื่องไว้กับชุดความเชื่อถือที่ขยายออกอย่างถาวร
การเข้าถึงกุญแจส่วนตัวเป็นการควบคุมแยกต่างหาก การให้สิทธิ์ทุกแอปพลิเคชันใช้กุญแจ แก้ปัญหาการเลือกของไคลเอนต์รายหนึ่งและมอบความสามารถเดียวกันให้ทุกอย่างอื่นบนเครื่อง มอบให้ไคลเอนต์ที่ต้องการ และตรวจว่ากุญแจได้รับการสนับสนุนจากฮาร์ดแวร์หรือทำเครื่องหมายว่าไม่สามารถส่งออกได้ หากเป็นเช่นนั้น ต้องใช้ผู้ให้บริการที่ได้รับการสนับสนุนแทนสำเนาที่ส่งออก
โปรไฟล์ชี้ไปยังข้อมูลรับรองอย่างไร
ในการกำหนดค่า IKEv2 แบบเนทีฟที่จัดการอยู่ โปรไฟล์อ้างอิงเพย์โหลดข้อมูลรับรองผ่าน PayloadCertificateUUID สิ่งที่สำคัญคืออัตลักษณ์ที่อ้างอิงและวิธีการจัดเตรียม การแก้ไขชื่อที่แสดงในโปรไฟล์ไม่สามารถซ่อมการอ้างอิงที่ชี้ไปยังเพย์โหลดผิดหรือเพย์โหลดที่ไม่เคยส่งมอบกุญแจ
ผู้ให้บริการบุคคลที่สามอาจใช้กลไกการเลือกที่แตกต่างไปเลย เช่นที่จัดเก็บของตัวเองหรือพรอมต์ของระบบ อ่านเอกสารของผู้ให้บริการรายนั้นแทนการถ่ายโอนสมมติฐานของโปรไฟล์เนทีฟ และตรวจสอบการอ้างอิงในโปรไฟล์ที่ติดตั้งจริง ไม่ใช่ฉบับร่างในคอนโซลการจัดการ
การเลือกและการยอมรับเป็นหลักชัยที่แยกจากกัน
ตัวเลือกที่เต็มหมายความว่าไคลเอนต์หาและใช้อัตลักษณ์ได้ มันไม่ได้บอกอะไรว่าเกตเวย์จะยอมรับหรือไม่ เซิร์ฟเวอร์ยังตรวจสอบผู้ออกใบรับรอง ช่วงเวลาที่ใช้ได้ สถานะการเพิกถอน และ การแมปข้อมูลรับรองนั้นไปยังบัญชี.
ทดสอบทั้งสองขั้นตอนอย่างชัดเจนตามลำดับนั้น ยืนยันว่ามีการเสนออัตลักษณ์ เชื่อมต่อ แล้วให้เจ้าของเกตเวย์ยืนยันว่าข้อมูลรับรองใดถูกนำเสนอและกฎการแมปใดใช้งานมัน หากไคลเอนต์เสนออัตลักษณ์และเซิร์ฟเวอร์ปฏิเสธ งานที่เหลืออยู่ฝั่งเซิร์ฟเวอร์ การติดตั้งใบรับรองใหม่บน Mac จะไม่เปลี่ยนผลลัพธ์นั้นไม่ว่าจะทำซ้ำกี่ครั้ง