
ความปลอดภัยของกระบวนการพิสูจน์
ความปลอดภัยของกระบวนการพิสูจน์
เมื่อการกำหนดค่า ACME ระบุกุญแจที่ผูกกับฮาร์ดแวร์หรือเมื่อบริการจัดการอุปกรณ์ขอพิสูจน์ DeviceInformation อุปกรณ์จะใช้ขั้นตอนต่อไปนี้:
ระบบปฏิบัติการขอกุญแจที่ผูกกับฮาร์ดแวร์จาก Secure Enclave ซึ่งเรียกว่ากุญแจที่พิสูจน์แล้ว สำหรับการพิสูจน์ ACME กุญแจนี้เป็นส่วนหนึ่งของข้อมูลประจำตัวใบรับรองที่ออกไว้ สำหรับการพิสูจน์
DeviceInformationกุญแจจะถูกสร้างโดยระบบปฏิบัติการและใช้ซ้ำสำหรับการพิสูจน์DeviceInformationในภายหลังทั้งหมดตลอดระยะเวลาการลงทะเบียนระบบปฏิบัติการขอพิสูจน์ฮาร์ดแวร์จาก Secure Enclave โดยระบุกุญแจที่พิสูจน์แล้ว รหัสแสดงความใหม่ และคุณสมบัติที่ต้องการพิสูจน์
Secure Enclave สร้างและส่งการพิสูจน์ฮาร์ดแวร์ใหม่กลับไป
ระบบปฏิบัติการส่งการพิสูจน์ฮาร์ดแวร์ไปยังเซิร์ฟเวอร์การพิสูจน์ของ Apple
เซิร์ฟเวอร์การพิสูจน์ตรวจสอบคำขอและปฏิเสธการออกใบรับรองการพิสูจน์หรือสร้างการพิสูจน์ที่มีเพียงคุณสมบัติและค่าที่สามารถยืนยันได้เท่านั้น กุญแจสาธารณะของใบรับรองการพิสูจน์ตรงกับกุญแจที่พิสูจน์แล้ว
ระบบปฏิบัติการให้ใบรับรองการพิสูจน์ที่เป็นผลลัพธ์กับบริการจัดการอุปกรณ์หรือโซลูชั่น ACME
โปรดดูที่การตรวจสอบการพิสูจน์อุปกรณ์ที่มีการจัดการบนเว็บไซต์นักพัฒนาของ Apple สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบใบรับรองการพิสูจน์ที่ให้มา
เกี่ยวกับการพิสูจน์ฮาร์ดแวร์
เมื่อ Secure Enclave สร้างการพิสูจน์ฮาร์ดแวร์ องค์ประกอบเหล่านี้จะรวมอยู่กับองค์ประกอบอื่นๆ ด้วย:
ข้อมูลจำเพาะของลอจิกบอร์ดหลัก
กุญแจสาธารณะของกุญแจที่พิสูจน์แล้ว
แฮชของส่วนประกอบซอฟต์แวร์ต่อไปนี้ ซึ่งคำนวณระหว่างกระบวนการเริ่มการทำงานและจัดเก็บอยู่ในการลงทะเบียนฮาร์ดแวร์ (คล้ายกับ Sealed Key Protection):
เฟิร์มแวร์ Secure Enclave (sepOS)
รายการ Image4 ที่แนบกับ LLB ซึ่งยังมีการวัดค่าของเฟิร์มแวร์อื่นๆ ทั้งหมดที่จับคู่กับระบบอีกด้วย
รายการ Image4 ของระบบปฏิบัติการซึ่งมีการวัดค่าของเฟิร์มแวร์ทั้งหมดที่จับคู่กับ OS
ค่าเฉพาะอุปกรณ์อื่นๆ เช่น ECID และ ChipID
รายละเอียดของ LocalPolicy บนคอมพิวเตอร์ Mac
รหัสแสดงความใหม่
ถ้า Secure Enclave ไม่สามารถแกะห่อกุญแจที่พิสูจน์แล้วได้ Secure Enclave จะปฏิเสธที่จะสร้างการพิสูจน์ฮาร์ดแวร์ วิธีนี้ช่วยให้แน่ใจว่ากุญแจที่พิสูจน์แล้วจะผูกกับ Secure Enclave ที่เฉพาะเจาะจงนั้นและคุณสมบัติอื่นๆ ที่พิสูจน์แล้วทั้งหมดจะผูกกับกุญแจนั้น
องค์ประกอบอื่นๆ ทั้งหมดเหล่านี้จะรวมกันเป็นโครงสร้างแบบไบนารีที่กำหนดเองและลงชื่อด้วย UIK ซึ่งจะผูกการพิสูจน์ฮาร์ดแวร์เข้ากับข้อมูลประจำตัวเฉพาะที่การพิสูจน์ของ Apple สามารถตรวจสอบยืนยันได้ เพื่ออนุญาตให้ผูกคำขอกับบันทึกการเปิดใช้งานที่ระบุ จากนั้นจึงผูกกับบันทึกการผลิตที่ระบุ
การสร้างใบรับรองการพิสูจน์
เมื่อเซิร์ฟเวอร์การพิสูจน์ของ Apple ได้รับคำขอพิสูจน์ เซิร์ฟเวอร์จะ:
ตรวจสอบลายเซ็น User Identity Key (UIK) ของการพิสูจน์ฮาร์ดแวร์ ถ้าลายเซ็นไม่ถูกต้อง การพิสูจน์จะไม่ถูกสร้าง
ค้นหา
ucrtในบันทึกการเปิดใช้งานของ Apple ซึ่งสอดคล้องกับกุญแจสาธารณะของ UIK ถ้าไม่พบucrtการพิสูจน์จะไม่ถูกสร้างค้นหา
scrtซึ่งสอดคล้องกับucrtของอุปกรณ์scrtคือใบรับรองที่ออกโดยเซิร์ฟเวอร์ของ Apple ระหว่างการผลิตโดยอิงจาก Silicon Identity Key (SIK) SIK ถูกสร้างโดย Secure Enclave และกุญแจสาธารณะจะถูกเก็บรวบรวมระหว่างการผลิตจากอุปกรณ์ SIK ใช้ระหว่างการเปิดใช้งานเพื่อตรวจสอบยืนยันว่า Secure Enclave ของอุปกรณ์ที่เปิดใช้งานมีกุญแจส่วนตัว SIK จะคงอยู่ตลอดอายุการใช้งานของอุปกรณ์และทำหน้าที่เป็นข้อมูลจำเพาะที่ไม่ซ้ำกัน เมื่อใช้scrtบันทึกการผลิตของอุปกรณ์จะถูกดึงข้อมูล ถ้าไม่พบบันทึก การพิสูจน์จะไม่ถูกสร้างตรวจสอบยืนยันว่าข้อมูลจำเพาะของส่วนประกอบฮาร์ดแวร์ตรงกับบันทึกการผลิต ถ้าข้อมูลจำเพาะของส่วนประกอบไม่ตรงกับบันทึกการผลิต การพิสูจน์จะไม่ถูกสร้าง
คัดลอกรหัสแสดงความใหม่ไปยังการพิสูจน์ หากมี
ถ้าการพิสูจน์ขอ:
เปรียบเทียบแฮชที่คำนวณแล้วของส่วนประกอบซอฟต์แวร์กับแฮชที่รู้จักจากบันทึกการสร้าง หากตรงกัน หมายเลขเวอร์ชั่นแบบทางการจะถูกแทรกลงในการพิสูจน์ หากไม่ตรงกัน OID จะถูกเว้นไว้หรือค่าจะว่างเปล่า
เมื่อสร้างภาพดิสก์ของ LLB, Secure Enclave หรือระบบปฏิบัติการหลัก แฮชจะถูกคำนวณและบันทึกไว้ในฐานข้อมูลบันทึกการสร้าง พร้อมกับหมายเลขเวอร์ชั่นแบบทางการของภาพดิสก์เหล่านี้
คำนวณ UDID จาก ECID และ ChipID
คัดลอกค่าของ OID ที่ขอจาก LocalPolicy ลงในการพิสูจน์ หากอุปกรณ์คือ Mac
ผลลัพธ์ในทางปฏิบัติของการตรวจสอบเหล่านี้คือ การพิสูจน์จะไม่ถูกสร้างหากเซิร์ฟเวอร์การพิสูจน์ไม่สามารถจดจำได้ว่าอุปกรณ์เป็นฮาร์ดแวร์ของแท้จาก Apple คุณสมบัติแต่ละรายการในใบรับรองการพิสูจน์จะรวมอยู่ก็ต่อเมื่อเซิร์ฟเวอร์การพิสูจน์สามารถตรวจสอบยืนยันค่าของคุณสมบัติได้ ยกเว้นรหัสแสดงความใหม่ซึ่งรวมไว้โดยไม่มีการตรวจสอบ