เครื่องมือสร้างตัวระบุอุปกรณ์ (DICE) เป็นฟีเจอร์ด้านความปลอดภัยของ Android ที่ให้การรับรองที่มีประสิทธิภาพและปรับปรุงความสมบูรณ์ของอุปกรณ์ด้วยการสร้างข้อมูลระบุตัวตนแบบเข้ารหัสที่ไม่ซ้ำกันสำหรับอุปกรณ์แต่ละเครื่อง DICE มีประโยชน์อย่างยิ่งในการสร้างข้อมูลประจำตัวของอุปกรณ์ที่ใช้ได้ในสถานการณ์ที่ต้องมีการพิสูจน์ตัวตนที่มีประสิทธิภาพและการสื่อสารที่ปลอดภัย
การจัดสรรกุญแจจากระยะไกล (RKP)
การใช้ DICE สำหรับการมอบหมายคีย์จากระยะไกลมีประโยชน์หลักๆ หลายประการ
การลดพื้นที่การโจมตี
DICE ช่วยเพิ่มประสิทธิภาพ RKP โดยวางรากฐานความน่าเชื่อถือในฐานการคำนวณที่เชื่อถือได้ (TCB) ที่เล็กที่สุดเท่าที่จะเป็นไปได้ในอุปกรณ์ ซึ่งมักจะเป็นชิปเอง ไม่ใช่ภายในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) วิธีนี้ช่วยลดพื้นที่ในการโจมตีได้อย่างมากและลดความเสี่ยงของการประนีประนอม RKP อย่างถาวร
การกู้คืนจากการประนีประนอม TEE
DICE มีกลไกในการกู้คืนความน่าเชื่อถือในอุปกรณ์ แม้ว่าจะมีช่องโหว่ใน TEE หรือ bootloader ที่อาจส่งผลต่อความถูกต้องของเอกสารรับรองคีย์ที่ KeyMint สร้างขึ้น
ที่ผ่านมา ช่องโหว่ในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE) หรือบูตโหลดเดอร์ส่งผลให้มีการเพิกถอนคีย์การรับรองทั้งหมดสำหรับอุปกรณ์ที่ได้รับผลกระทบทั้งหมด โดยไม่มีเส้นทางในการกู้คืนความน่าเชื่อถือ แม้ว่าจะมีการแก้ไขช่องโหว่แล้วก็ตาม เนื่องจาก TEE ทำการยืนยันจากระยะไกลผ่านอิมเมจ Android ที่โหลดผ่านการเปิดเครื่องที่ได้รับการยืนยันของ Android ซึ่งทำให้พิสูจน์ต่อบุคคลที่อยู่ระยะไกลไม่ได้ว่ามีการใช้แพตช์แล้ว DICE แก้ไขปัญหานี้ด้วยการเปิดใช้การยืนยันสถานะเฟิร์มแวร์ปัจจุบันจากระยะไกลได้ แม้ไม่ได้อยู่ใน Android ก็ตาม ซึ่งช่วยให้อุปกรณ์ที่ได้รับผลกระทบกลับมาเชื่อถือได้
การตรวจสอบสิทธิ์ร่วมกันของสภาพแวดล้อมแบบแยก
โดเมนแอปพลิเคชันแต่ละโดเมนที่กระบวนการ DICE สิ้นสุดลงจะได้รับข้อมูลระบุตัวตนในรูปแบบคีย์ที่มีเชนใบรับรองที่ย้อนกลับไปยังรูทความน่าเชื่อถือที่แชร์ซึ่งมาจาก ROM กระบวนการดึงข้อมูล DICE จะแยกออกเป็นสาขาต่างๆ เมื่อเส้นทางการโหลดแยกจากกัน เพื่อสร้างต้นไม้ของใบรับรองทั้งหมดที่ใช้รูทเดียวกัน และสร้างโครงสร้างพื้นฐานคีย์สาธารณะ (PKI) ในอุปกรณ์
PKI นี้ช่วยให้คอมโพเนนต์ใน Enclave ที่ปลอดภัยแยกต่างหากสามารถตรวจสอบสิทธิ์ซึ่งกันและกันได้ ตัวอย่างที่เป็นรูปธรรมอย่างหนึ่งคือ Secretkeeper ซึ่งเป็นเลเยอร์การแยกแยะฮาร์ดแวร์ (HAL) ที่อนุญาตให้เครื่องเสมือนที่มีสิทธิ์ (pVM) สื่อสารกับ TEE เพื่อรับข้อมูลลับที่เสถียรซึ่งสามารถใช้เพื่อจัดเก็บข้อมูลที่ถาวรได้อย่างปลอดภัย