เครื่องมือการคอมโพสิชันตัวระบุอุปกรณ์

Device Identifier Composition Engine (DICE) เป็นข้อกำหนดของกลุ่มการประมวลผลข้อมูลที่เชื่อถือได้ (TCG) ที่ได้รับการนำมาใช้ใน Android โดยจะสร้างชุดข้อมูลระบุตัวตนในการเข้ารหัสที่มีประสิทธิภาพและแก้ไขไม่ได้สำหรับเฟิร์มแวร์แต่ละรายการที่โหลดระหว่างลำดับการบูต ข้อมูลประจำตัวเหล่านี้ช่วยให้สามารถยืนยันสถานะความปลอดภัยของอุปกรณ์จากระยะไกล ซึ่งจะหลบเลี่ยงได้ก็ต่อเมื่อมีการบุกรุก ROM เท่านั้น

กระบวนการสร้าง DICE

กระบวนการดึงข้อมูล DICE ที่ง่ายขึ้น

รูปที่ 1 กระบวนการดึงข้อมูล DICE ที่ง่ายขึ้น

กระบวนการดึงข้อมูล DICE ช่วยให้มั่นใจได้ว่าการเปลี่ยนแปลงรูปภาพเฟิร์มแวร์จะส่งผลให้มีตัวระบุที่ไม่ซ้ำกันใหม่สำหรับระยะนั้นและทุกระยะหลังจากนั้น เนื่องจากเฟิร์มแวร์แต่ละระยะที่โหลดจะวัดและรับรองระยะถัดไป เพื่อสร้างตัวตนที่ไม่ซ้ำกันและคีย์ที่เกี่ยวข้องซึ่งป้องกันการลักลอบใช้หรือแทรกแซง หน่วยความจําแบบอ่านอย่างเดียว (ROM) จะประมวลผลการวัดค่า การกําหนดค่า และข้อมูลลับที่ไม่ซ้ำกันของอุปกรณ์ (UDS) ด้วยฟังก์ชันการสร้างคีย์ (KDF) เพื่อดึงข้อมูลลับสําหรับการโหลดระยะถัดไป ข้อมูลลับนี้เรียกว่าตัวระบุอุปกรณ์แบบผสม (CDI)

ระยะที่ 0: เริ่มต้น

กระบวนการ DICE เริ่มต้นด้วย ROM ของชิปเซ็ตที่โหลด UDS จากกลุ่มข้อมูลที่แก้ไขไม่ได้ ซึ่งโดยปกติแล้วจะเป็นฟิวส์ UDS นี้ได้รับการจัดสรรอย่างปลอดภัยด้วยค่าแบบสุ่มที่เข้ารหัสระหว่างกระบวนการผลิตชิป หลังจากอ่าน UDS แล้ว ROM จะใช้กลไกการล็อกฮาร์ดแวร์ซึ่งขึ้นอยู่กับผู้ให้บริการ เช่น กลอนเดือยตาย เพื่อล็อกการเข้าถึง UDS จนกว่าจะบูตครั้งถัดไป

ระยะที่ 1: การสร้างคีย์เริ่มต้น

ROM ใช้ UDS เป็นอินพุตของฟังก์ชันการสร้างคีย์ (KDF) เพื่อสร้างคู่คีย์แบบไม่สมมาตรถาวรซึ่งระบุอุปกรณ์เครื่องนั้นๆ ได้อย่างไม่ซ้ำกัน โดยจะวัดเฟิร์มแวร์ระยะถัดไป รวมถึงข้อมูลเมตาเกี่ยวกับสภาพแวดล้อมการบูต เช่น การเปิดใช้การบูตอย่างปลอดภัยหรือไม่ จากนั้น ROM จะรวม UDS, การวัดเฟิร์มแวร์ และข้อมูลการกําหนดค่าใน KDF เพื่อดึงข้อมูล CDI รายการแรก ซึ่งจะส่งไปยังระยะถัดไปแบบลับ

ระยะที่ 2 ถึง n: การสร้างคีย์แบบย้อนกลับ

จากนั้นระบบจะทําขั้นตอนนี้ซ้ำ ในขั้นตอนต่อๆ ไปทั้งหมด CDI จากขั้นตอนก่อนหน้าจะทำหน้าที่เป็นอินพุตสำหรับ KDF ใหม่ KDF นี้ใช้ CDI และแฮชของอิมเมจเฟิร์มแวร์ถัดไปเพื่อสร้าง CDI ใหม่ที่ได้ แต่ละระยะจะสร้างคู่คีย์ของตนเองและใช้คู่คีย์ดังกล่าวเพื่อลงนามในใบรับรองที่มีข้อมูลการวัดเฉพาะระยะและข้อมูลเมตาอื่นๆ ที่เกี่ยวข้อง