
การพิสูจน์อุปกรณ์ที่มีการจัดการสำหรับอุปกรณ์ Apple
การพิสูจน์อุปกรณ์ที่มีการจัดการมีใน iOS 16, iPadOS 16, macOS 14, tvOS 16, visionOS 1.1, watchOS 9 ขึ้นไป ซึ่งจะใช้ Secure Enclave เพื่อให้การรับรองการเข้ารหัสเกี่ยวกับข้อมูลประจำตัวของอุปกรณ์และสถานะความปลอดภัย อุปกรณ์ iPad, iPhone, Apple TV ต้องใช้ชิป A11 Bionic ขึ้นไป และรองรับเฉพาะคอมพิวเตอร์ Mac ที่มี Apple Silicon เท่านั้น การพิสูจน์อุปกรณ์ที่มีการจัดการช่วยในการปกป้องจากภัยคุกคามต่อไปนี้:
อุปกรณ์ที่มีความเสี่ยงซึ่งให้ข้อมูลเท็จเกี่ยวกับคุณสมบัติของอุปกรณ์เอง
อุปกรณ์ที่มีความเสี่ยงซึ่งให้การพิสูจน์ที่เก่าเกินไป
อุปกรณ์ที่มีความเสี่ยงซึ่งส่งข้อมูลจำเพาะของอุปกรณ์อื่น
การดึงข้อมูลกุญแจส่วนตัวสำหรับการใช้บนอุปกรณ์ที่ประสงค์ร้าย
ผู้โจมตีที่เข้าควบคุมการขอใบรับรองเพื่อหลอกผู้ให้บริการออกใบรับรอง (CA) ให้ออกใบรับรองแก่ผู้โจมตี
เมื่อใช้การพิสูจน์อุปกรณ์ที่มีการจัดการ อุปกรณ์สามารถขอการพิสูจน์จากเซิร์ฟเวอร์การพิสูจน์ของ Apple ได้ ซึ่งจะคืนค่าอาร์เรย์ข้อมูลที่ประกอบด้วยใบรับรองปลายทางและใบรับรองกลางซึ่งมีรากฐานอยู่ใน CA ที่มีรากการพิสูจน์องค์กรของ Apple ใบรับรองปลายทางสามารถประกอบด้วยคุณสมบัติเฉพาะตามที่แสดงในตารางด้านล่างได้ ทั้งนี้ขึ้นอยู่กับประเภทอุปกรณ์
OID และค่า | เวอร์ชั่นระบบปฏิบัติการขั้นต่ำที่รองรับ | คำอธิบาย | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 เลขประจำเครื่อง | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | แสดงถึงเลขประจำเครื่องของอุปกรณ์และสามารถใช้เพื่อระบุอุปกรณ์ได้ ในการช่วยปกป้องความเป็นส่วนตัวของผู้ใช้ ค่านี้จะไม่รวมอยู่เมื่อใช้การพิสูจน์อุปกรณ์ที่มีการจัดการกับการลงทะเบียนผู้ใช้ | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | แสดงถึง ID ฮาร์ดแวร์ที่ไม่ซ้ำกันและสามารถใช้เพื่อระบุอุปกรณ์ได้ บน Mac ค่า UDID จะตรงกับ UDID การกำหนดสิทธิ์ของอุปกรณ์ ในการช่วยปกป้องความเป็นส่วนตัวของผู้ใช้ ค่านี้จะไม่รวมอยู่เมื่อใช้การพิสูจน์อุปกรณ์ที่มีการจัดการกับการลงทะเบียนผู้ใช้ | |||||||||
1.2.840.113635.100.8.10.2 เวอร์ชั่น sepOS | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | แสดงถึงเวอร์ชั่นของเฟิร์มแวร์ Secure Enclave | |||||||||
1.2.840.113635.100.8.11.1 รหัสแสดงความใหม่ | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | รหัสที่ไม่ซ้ำกันและไม่สามารถคาดเดาได้ที่ระบุถึงการพิสูจน์ที่เฉพาะเจาะจง รหัสนี้จะระบุว่าการพิสูจน์ถูกสร้างขึ้นหลังจากที่รหัสถูกสร้าง | |||||||||
1.2.840.113635.100.8.13.1 สถานะ SIP | macOS 14 | แสดงถึงสถานะการเปิดใช้งาน SIP บน Mac ที่มี Apple Silicon | |||||||||
1.2.840.113635.100.8.13.2 สถานะการเริ่มการทำงานอย่างปลอดภัย | macOS 14 | แสดงถึงการกำหนดค่าการเริ่มการทำงานอย่างปลอดภัยที่เลือกของ Mac ที่มี Apple Silicon | |||||||||
1.2.840.113635.100.8.13.3 ส่วนขยายเคอร์เนลของบริษัทอื่นที่อนุญาต | macOS 14 | แสดงว่าส่วนขยายเคอร์เนลของบริษัทอื่นได้รับอนุญาตหรือไม่บน Mac ที่มี Apple Silicon | |||||||||
1.2.840.113635.100.8.10.3 เวอร์ชั่น LLB | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | แสดงถึงเวอร์ชั่นของตัวโหลดเริ่มต้นระบบระดับต่ำ | |||||||||
1.2.840.113635.100.8.10.1 เวอร์ชั่นระบบปฏิบัติการ | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | แสดงถึงเวอร์ชั่นระบบปฏิบัติการและ iBoot | |||||||||
1.2.840.113635.100.8.9.4 ID ของอุปกรณ์รายการอัปเดตซอฟต์แวร์ | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | พิสูจน์ | |||||||||
คำขอพิสูจน์เริ่มจากคำขอ DeviceInformation ที่ส่งโดยบริการจัดการอุปกรณ์หรือเริ่มจากการติดตั้งการกำหนดค่า ACME ในทั้งสองกรณี อุปกรณ์จะได้รับรหัสแสดงความใหม่จากบริการจัดการอุปกรณ์หรือโซลูชั่น ACME เมื่อใช้การพิสูจน์ DeviceInformation รหัสแสดงความใหม่คือค่าของ DeviceAttestationNonce ที่ระบุในคำขอ เมื่อใช้การพิสูจน์ ACME รหัสแสดงความใหม่คือแฮช SHA-256 ของโทเค็นจากคำถาม device-attest-01 ค่าผลลัพธ์ถูกรวมไว้เป็นคุณสมบัติในใบรับรองปลายทางและอนุญาตให้บริการจัดการอุปกรณ์หรือโซลูชั่น ACME ตรวจสอบยืนยันว่าการพิสูจน์ตรงกับคำขอ
เมื่อได้รับการพิสูจน์ บริการเบื้องหลังต้องดำเนินการตรวจสอบความถูกต้องอย่างรอบคอบ การตรวจสอบเหล่านี้ประกอบด้วยการรับรองว่าใบรับรองปลายทางออกโดย CA ที่มีรากการพิสูจน์องค์กรของ Apple ด้วยการเปรียบเทียบแฮชของรหัสแสดงความใหม่กับค่าที่คาดไว้ และตรวจวิเคราะห์คุณสมบัติอื่นๆ ในการพิสูจน์
ขึ้นอยู่กับโมเดลการปรับใช้ขององค์กร การพิสูจน์อุปกรณ์ที่มีการจัดการสามารถเป็นพื้นฐานสำคัญของการปรับใช้ที่ทันสมัยและปลอดภัยและสามารถใช้ในวิธีต่างๆ ได้:
ใช้ใบรับรองที่ออกโดย ACME เพื่อตรวจสอบสิทธิ์การเชื่อมต่อจากลูกข่ายไปยังบริการจัดการอุปกรณ์ และใช้การพิสูจน์
DeviceInformationเพื่อตรวจสอบยืนยันคุณสมบัติของอุปกรณ์อย่างต่อเนื่องตรวจสอบยืนยันข้อมูลประจำอุปกรณ์และสถานะความปลอดภัย และให้โซลูชั่น ACME ดำเนินการประเมินความน่าเชื่อถือก่อนออกใบรับรอง วิธีนี้จะทำให้มั่นใจได้ว่ามีเพียงอุปกรณ์ที่ตรงตามมาตรฐานที่กำหนดเท่านั้นที่จะได้รับใบรับรอง
ฝังคุณสมบัติของอุปกรณ์จากการพิสูจน์ในใบรับรอง ACME และดำเนินการประเมินความน่าเชื่อถือของฝ่ายที่ให้บริการ
กุญแจที่ผูกกับฮาร์ดแวร์
ในฐานะส่วนหนึ่งของการออกใบรับรองโดยใช้โปรโตคอล ACME อุปกรณ์อาจถูกขอให้ทำการพิสูจน์ ซึ่งจะทำให้คู่กุญแจได้รับการปกป้องโดย Secure Enclave เพื่อรับประโยชน์จากความปลอดภัยระดับสูงของฮาร์ดแวร์และช่วยป้องกันการส่งออกกุญแจส่วนตัวด้วย
ในการสร้างกุญแจที่ผูกกับฮาร์ดแวร์ การกำหนดค่า ACME ต้องใช้อัลกอริทึม ECSECPrimeRandom กับกุญแจที่มีขนาด 256 หรือ 384 บิต วิธีนี้จะระบุคู่กุญแจบนเส้นโค้ง P-256 หรือ P-384 ตามที่กำหนดไว้ใน NIST SP 800-186
ในการสร้างกุญแจส่วนตัว ลำดับแรก Secure Enclave จะใช้รายการต่อไปนี้เพื่อสร้างข้อมูลลับการเข้ารหัสที่ถูกห่อ:
การรวม True Random Number Generator (TRNG) ของฮาร์ดแวร์
Entropy ที่จัดเก็บอยู่ภายในพื้นที่จัดเก็บข้อมูลถาวรที่ปลอดภัยของ Secure Enclave
กุญแจการปกป้องข้อมูล
ระบบปฏิบัติการจัดเก็บข้อมูลลับที่ถูกห่อ แต่ข้อมูลลับที่ถูกห่อไร้ประโยชน์เมื่ออยู่ลำพัง Secure Enclave ต้องใช้ข้อมูลลับเดียวกัน, Entropy เดียวกันที่จัดเก็บไว้ และกุญแจการปกป้องข้อมูลเดียวกัน เพื่อรับกุญแจส่วนตัว เนื่องจาก Entropy ที่จัดเก็บไว้และกุญแจการปกป้องข้อมูลมีลักษณะเฉพาะตัวสำหรับ Secure Enclave เฉพาะนั้น จึงมีเพียง Secure Enclave เท่านั้นที่สามารถสร้างกุญแจส่วนตัวที่ซึ่งจะผูกกุญแจที่ผูกกับฮาร์ดแวร์เข้ากับ Secure Enclave นั้นได้อย่างมีประสิทธิภาพ
เมื่อลบข้อมูลอุปกรณ์แล้ว Secure Enclave จะลบ Entropy ที่จัดเก็บไว้ ด้วยเหตุนี้ กุญแจที่ผูกกับฮาร์ดแวร์จะไม่สามารถสร้างใหม่ได้หลังจากการสำรองข้อมูลและกู้คืน แม้ว่าจะกู้คืนมายังอุปกรณ์เดียวกันก็ตาม
การกำหนดค่าที่มีเพย์โหลด ACME พร้อมด้วยกุญแจที่ผูกกับฮาร์ดแวร์จะถูกเอาออกเมื่อกู้คืน ถ้ากุญแจที่ผูกกับฮาร์ดแวร์ถูกใช้เป็นข้อมูลประจำตัวลูกข่ายบริการจัดการอุปกรณ์ อุปกรณ์จะเลิกลงทะเบียน ในสถานการณ์นี้ ถ้าอุปกรณ์ลงทะเบียนผ่านการลงทะเบียนการกำหนดสิทธิ์อุปกรณ์อัตโนมัติ อุปกรณ์จะดึงข้อมูลโปรไฟล์การลงทะเบียนอีกครั้งและลงทะเบียนอีกครั้ง