กระบวนการเริ่มการทำงานสำหรับ Mac ที่มี Apple Silicon
เมื่อเปิด Mac ที่มี Apple Silicon อุปกรณ์จะดำเนินการกระบวนการเริ่มการทำงานที่คล้ายกันอย่างมากกับกระบวนการเริ่มการทำงานของ iPhone และ iPad
ชิปจะเรียกใช้โค้ดจาก Boot ROM ในขั้นตอนแรกของลำดับการตรวจสอบความน่าเชื่อถือ การเริ่มต้นระบบอย่างปลอดภัยของ macOS บน Mac ที่มี Apple Silicon ไม่ได้ตรวจสอบยืนยันเพียงโค้ดระบบปฏิบัติการเท่านั้น แต่ยังรวมถึงนโยบายความปลอดภัยและแม้แต่ kext (รองรับ แต่ไม่แนะนำ) ที่กำหนดค่าโดยผู้ใช้ที่ได้รับอนุญาตอีกด้วย
เมื่อเปิดใช้ LLB (ซึ่งย่อมาจาก Low Level Bootloader) ระบบจะตรวจสอบลายเซ็นและโหลดเฟิร์มแวร์ที่จับคู่กับระบบสำหรับคอร์ SoC ภายใน เช่น พื้นที่จัดเก็บข้อมูล จอภาพ การจัดการระบบ และตัวควบคุม Thunderbolt LLB ยังทำหน้าที่ในการโหลด LocalPolicy อีกด้วย ซึ่งเป็นไฟล์ที่ลงชื่อโดยหน่วยประมวลผล Secure Enclave ไฟล์ LocalPolicy จะอธิบายการกำหนดค่าที่ผู้ใช้เลือกไว้สำหรับการเริ่มการทำงานระบบและนโยบายความปลอดภัยของรันไทม์ LocalPolicy มีรูปแบบโครงสร้างข้อมูลเหมือนกับวัตถุการเริ่มการทำงานอื่นๆ ทั้งหมด แต่ LocalPolicy จะถูกลงชื่อภายในเครื่องโดยกุญแจส่วนตัวซึ่งมีให้เฉพาะภายใน Secure Enclave ของคอมพิวเตอร์บางเครื่องแทนการลงชื่อโดยเซิร์ฟเวอร์ส่วนกลางของ Apple (เช่น รายการอัปเดตซอฟต์แวร์)
ในการช่วยป้องกันการเล่นซ้ำของ LocalPolicy ก่อนหน้า LLB ต้องค้นหาค่าป้องกันการเล่นซ้ำจากส่วนประกอบพื้นที่จัดเก็บข้อมูลอย่างปลอดภัยที่มี Secure Enclave ติดตั้งอยู่ ในการทำเช่นนี้ LLB จะใช้ Secure Enclave Boot ROM และตรวจสอบให้แน่ใจว่าค่าป้องกันการเล่นซ้ำใน LocalPolicy ตรงกับค่าป้องกันการเล่นซ้ำในส่วนประกอบพื้นที่จัดเก็บข้อมูลอย่างปลอดภัย การทำเช่นนี้จะช่วยป้องกันไม่ให้ LocalPolicy เดิมที่อาจได้รับการกำหนดค่าสำหรับความปลอดภัยต่ำถูกปรับใช้กับระบบอีกครั้งหลังจากที่อัปเกรดความปลอดภัย ผลลัพธ์คือ การเริ่มต้นระบบอย่างปลอดภัยบน Mac ที่มี Apple Silicon ไม่เพียงจะช่วยป้องกันการย้อนกลับของเวอร์ชั่นระบบปฏิบัติการ แต่ยังป้องกันการดาวน์เกรดนโยบายความปลอดภัยอีกด้วย
ไฟล์ LocalPolicy จะบันทึกว่าระบบปฏิบัติการได้รับการกำหนดค่าความปลอดภัยแบบเต็ม ความปลอดภัยลดลง หรือความปลอดภัยที่อนุญาต
ความปลอดภัยแบบเต็ม: ระบบจะทำงานเหมือนกับ iOS และ iPadOS และอนุญาตการเริ่มการทำงานซอฟต์แวร์ที่มีให้ใช้ล่าสุดในขณะที่มีการติดตั้งเท่านั้น
ความปลอดภัยลดลง: LLB ถูกสั่งการให้เชื่อถือลายเซ็น “สากล” ที่รวมเข้ากับระบบปฏิบัติการ ซึ่งอนุญาตให้ระบบเรียกใช้ macOS เวอร์ชั่นเก่ากว่าได้ เนื่องจาก macOS เวอร์ชั่นเก่ากว่าจะมีช่องโหว่ที่หลีกเลี่ยงไม่ได้ โหมดความปลอดภัยนี้จึงได้รับการอธิบายว่าเป็นความปลอดภัยแบบลดลง นโยบายระดับนี้ยังเป็นระดับที่จำเป็นในการรองรับการเริ่มการทำงานส่วนขยายเคอร์เนล (kext) อีกด้วย
ความปลอดภัยที่อนุญาต: ความปลอดภัยนี้จะทำงานเหมือนความปลอดภัยแบบลดลง ซึ่งจะใช้การตรวจสอบยืนยันลายเซ็นสากลสำหรับ iBoot และอื่นๆ รวมถึงยังบอก iBoot ว่าควรยอมรับวัตถุการเริ่มการทำงานบางรายการที่ลงชื่อโดย Secure Enclave ด้วยกุญแจเดียวกันกับที่ลงชื่อ LocalPolicy นโยบายระดับนี้จะรองรับผู้ใช้ที่กำลังสร้าง ลงชื่อ และเริ่มการทำงานเคอร์เนล XNU แบบกำหนดเองของตัวเอง
ถ้า LocalPolicy ระบุกับ LLB ว่าระบบปฏิบัติการที่เลือกทำงานในโหมดความปลอดภัยแบบเต็ม LLB จะประเมินลายเซ็นที่ได้รับการปรับให้เป็นส่วนตัวสำหรับ iBoot ถ้าระบบปฏิบัติการทำงานในโหมดความปลอดภัยลดลงหรือความปลอดภัยที่อนุญาต ระบบจะประเมินลายเซ็นสากล ข้อผิดพลาดเกี่ยวกับการตรวจสอบยืนยันลายเซ็นจะทำให้ระบบเริ่มการทำงานไปยัง recoveryOS เพื่อให้ตัวเลือกการซ่อมแซม
หลังจาก LLB ส่งต่อไปยัง iBoot ระบบจะโหลดเฟิร์มแวร์ที่จับคู่กับ macOS เช่น เฟิร์มแวร์สำหรับ Neural Engine ที่ปลอดภัย, Always On Processor และเฟิร์มแวร์อื่นๆ นอกจากนี้ iBoot ยังดูข้อมูลเกี่ยวกับ LocalPolicy ที่ส่งมาจาก LLB อีกด้วย ถ้า LocalPolicy ระบุว่าควรมีคอลเลกชั่นเคอร์เนลเสริม (AuxKC) แล้ว iBoot จะค้นหา AuxKC บนระบบไฟล์ ตรวจสอบยืนยันว่าลงชื่อโดย Secure Enclave ด้วยกุญแจเดียวกันกับ LocalPolicy จากนั้นตรวจสอบยืนยันว่าแฮชตรงกันกับแฮชที่จัดเก็บอยู่ใน LocalPolicy ถ้า AuxKC ได้รับการตรวจสอบยืนยันแล้ว iBoot จะวาง AuxKC อยู่ในหน่วยความจำที่มีคอลเลกชั่นเคอร์เนลเริ่มการทำงานก่อนที่จะล็อคพื้นที่หน่วยความจำแบบเต็มโดยครอบคลุมคอลเลกชั่นเคอร์เนลเริ่มการทำงานและ AuxKC ด้วยการปกป้องความสมบูรณ์ของหน่วยประมวลผลร่วมของระบบ (SCIP) ถ้านโยบายระบุว่าควรมี AuxKC แต่หาไม่พบ ระบบจะดำเนินการเริ่มการทำงานเข้าสู่ macOS ต่อไปโดยไม่มี AuxKC นอกจากนี้ iBoot ยังทำหน้าที่ตรวจสอบยืนยันแฮชรากสำหรับดิสก์โวลุ่มระบบที่ลงชื่อ (SSV) อีกด้วย ทั้งนี้เพื่อตรวจสอบให้แน่ใจว่าระบบไฟล์ที่จะต่อเชื่อมเคอร์เนลมีการตรวจสอบยืนยันความสมบูรณ์อย่างเต็มรูปแบบ