การสร้างและการจัดการกุญแจที่ลงชื่อ LocalPolicy
การสร้าง
เมื่อมีการติดตั้ง macOS เป็นครั้งแรกในโรงงาน หรือเมื่อมีการดำเนินการลบข้อมูลแล้วติดตั้งใหม่แบบเชื่อมต่อนั้น Mac จะเรียกใช้โค้ดจากดิสก์ RAM การกู้คืนแบบชั่วคราวเพื่อกำหนดค่าเริ่มต้นของสถานะเริ่มต้น ในระหว่างกระบวนการนี้ สภาพแวดล้อมการกู้คืนจะสร้างกุญแจสาธารณะและกุญแจส่วนตัวคู่ใหม่ซึ่งจะถูกจัดเก็บใน Secure Enclave กุญแจส่วนตัวเรียกว่า Owner Identity Key (OIK) ถ้ามี OIK ใดๆ อยู่ก่อนแล้ว กุญแจจะถูกทำลายในกระบวนการนี้ สภาพแวดล้อมการกู้คืนยังกำหนดค่าเริ่มต้นของกุญแจที่ใช้ในการล็อคการเข้าใช้เครื่องอีกด้วย ซึ่งเรียกว่า User Identity Key (UIK) ส่วนหนึ่งของกระบวนการดังกล่าวที่เกิดขึ้นเฉพาะกับ Mac ที่มี Apple Silicon คือเมื่อมีการร้องขอการรับรอง UIK เพื่อการล็อคการเข้าใช้เครื่อง ชุดของข้อจำกัดที่ร้องขอที่จะบังคับใช้เมื่อถึงเวลาตรวจสอบความถูกต้องบน LocalPolicy จะถูกรวมไปด้วย ถ้าอุปกรณ์ไม่สามารถรับรอง UIK สำหรับการล็อคการเข้าใช้เครื่องได้ (ตัวอย่างเช่น เนื่องจากอุปกรณ์ผูกอยู่กับบัญชี “ค้นหา Mac ของฉัน” และถูกแจ้งเป็นอุปกรณ์สูญหาย) อุปกรณ์จะไม่สามารถดำเนินการต่อเพื่อสร้างนโยบายภายในเครื่องได้ ถ้าอุปกรณ์ได้รับการออกใบรับรอง User identity Certificate (ucrt) ใบรับรอง ucrt นั้นจะมีข้อจำกัดนโยบายที่กำหนดโดยเซิร์ฟเวอร์และข้อจำกัดนโยบายที่ผู้ใช้ร้องขอในส่วนขยาย X.509 v3
เมื่อดึงข้อมูลการล็อคการเปิดใช้งาน/ucrt
สำเร็จแล้ว ข้อมูลจะถูกเก็บไว้ในฐานข้อมูลทางฝั่งเซิร์ฟเวอร์และส่งคืนไปยังอุปกรณ์ด้วย เมื่ออุปกรณ์มี ucrt คำขอการรับรองสำหรับกุญแจสาธารณะที่สัมพันธ์กับ OIK จะถูกส่งไปที่เซิร์ฟเวอร์ Basic Attestation Authority (BAA) BAA จะตรวจสอบยืนยันคำขอการรับรอง OIK โดยใช้กุญแจสาธารณะจาก ucrt ที่จัดเก็บอยู่ในฐานข้อมูลที่ BAA เข้าถึงได้ ถ้า BAA สามารถตรวจสอบยืนยันการรับรองได้ เซิร์ฟเวอร์จะรับรองกุญแจสาธารณะ แล้วส่งคืน Owner Identity Certificate (OIC) ที่ลงชื่อโดย BAA และมีข้อจำกัดที่จัดเก็บใน ucrt OIC จะถูกส่งกลับไปยัง Secure Enclave หลังจากนั้น เมื่อใดก็ตามที่ Secure Enclave ลงชื่อ LocalPolicy ใหม่ ก็จะแนบ OIC ไปกับ Image4 ด้วย LLB มีความเชื่อถือแบบในตัวในใบรับรองราก BAA ซึ่งทำให้ระบบเชื่อถือ OIC ซึ่งส่งผลให้ระบบเชื่อถือลายเซ็น LocalPolicy โดยรวม
ข้อจำกัด RemotePolicy
ไฟล์ Image4 ทั้งหมด ไม่ใช่แค่นโยบายภายในเครื่อง มีข้อจำกัดในการประเมินรายการ Image4 ข้อจำกัดเหล่านี้มีการเข้ารหัสโดยใช้ข้อมูลจำเพาะวัตถุพิเศษ (OID) ในใบรับรองปลายทาง คลังการตรวจสอบยืนยัน Image4 จะค้นหา OID ของข้อจำกัดใบรับรองแบบพิเศษจากใบรับรองในระหว่างการประเมินลายเซ็น แล้วประเมินข้อจำกัดในเชิงกลไกที่ระบุในนั้น ข้อจำกัดมีรูปแบบดังต่อไปนี้:
ต้องมี X
ต้องไม่มี X
X ต้องมีค่าเฉพาะ
ตัวอย่างเช่น สำหรับลายเซ็น “โดยเฉพาะ” ข้อจำกัดใบรับรองจะประกอบด้วย “ต้องมี ECID” และ สำหรับลายเซ็น “สากล” จะต้องประกอบด้วย “ต้องไม่มี ECID” ข้อจำกัดเหล่านี้ได้รับการออกแบบมาเพื่อให้แน่ใจว่าไฟล์ Image4 ทั้งหมดที่ลงชื่อโดยกุญแจที่กำหนดต้องปฏิบัติตามข้อกำหนดบางประการเพื่อหลีกเลี่ยงการสร้างรายการ Image4 ที่ลงชื่อที่มีข้อผิดพลาด
ในบริบทของ LocalPolicy แต่ละไฟล์ ข้อจำกัดใบรับรอง Image4 เหล่านี้จะเรียกว่า RemotePolicy RemotePolicy อื่นอาจมีอยู่สำหรับ LocalPolicy ของสภาพแวดล้อมการเริ่มการทำงานอื่น RemotePolicy ถูกใช้เพื่อจำกัด LocalPolicy ของ recoveryOS ดังนั้นเมื่อมีการเริ่มการทำงาน recoveryOS ระบบจะทำงานเหมือนกับการเริ่มการทำงานด้วยความปลอดภัยแบบเต็มเท่านั้น การทำเช่นนี้จะเพิ่มความเชื่อถือในความสมบูรณ์ของสภาพแวดล้อมการเริ่มการทำงาน recoveryOS ซึ่งเป็นที่ที่เปลี่ยนแปลงนโยบายได้ RemotePolicy จะจำกัด LocalPolicy ให้ประกอบด้วย ECID ของ Mac ที่ LocalPolicy ถูกสร้างขึ้น และแฮช Nonce ของนโยบายระยะไกล (rpnh
) เฉพาะที่จัดเก็บอยู่ในส่วนประกอบพื้นที่จัดเก็บข้อมูลอย่างปลอดภัยบน Mac rpnh
และ RemotePolicy จะเปลี่ยนแปลงเฉพาะเมื่อมีการทำงานสำหรับ “ค้นหา Mac ของฉัน” และการล็อคการเข้าใช้เครื่อง เช่น การลงทะเบียน การเลิกลงทะเบียน การล็อคระยะไกล และการลบล้างจากทางไกล ข้อจำกัดของนโยบายระยะไกลจะมีการกำหนดและระบุเมื่อมีการรับรอง User Identity Key (UIK) และจะมีการลงชื่อเข้า User identity Certificate (ucrt) ที่ออกให้ ข้อจำกัดบางรายการของนโยบายระยะไกล เช่น ECID, ChipID และ BoardID จะถูกกำหนดโดยเซิร์ฟเวอร์ วิธีนี้ได้รับการออกแบบมาเพื่อป้องกันอุปกรณ์ไม่ให้ลงชื่อไฟล์ LocalPolicy สำหรับอุปกรณ์เครื่องอื่น ข้อจำกัดอื่นๆ ของนโยบายระยะไกลอาจระบุโดยอุปกรณ์เพื่อช่วยป้องกันการดาวน์เกรดความปลอดภัยของ Local Policy โดยไม่ดำเนินการทั้งการตรวจสอบสิทธิ์ภายในเครื่องที่จำเป็นต่อการเข้าถึง OIK ปัจจุบันและการตรวจสอบสิทธิ์ระยะไกลของบัญชีที่มีการล็อคการเข้าใช้อุปกรณ์