أداة إنشاء معرّفات الأجهزة (DICE) هي مواصفة مجموعة الحوسبة الموثوق بها (TCG) التي تم اعتمادها في Android. وتنشئ هذه الميزة مجموعة من الهويات التشفيرية القوية وغير القابلة للتغيير لكل جزء من البرامج الثابتة التي يتم تحميلها أثناء تسلسل بدء التشغيل. تتيح هذه الهويات التحقّق عن بُعد من حالة أمان الجهاز، ولا يمكن التحايل عليها إلا من خلال اختراق نظام التشغيل الثابت (ROM).
عملية اشتقاق DICE
الشكل 1: عملية اشتقاق DICE المبسّطة
تضمن عملية اشتقاق DICE أن يؤدي أي تغيير في أي صورة من صور البرامج الثابتة إلى إنشاء معرّف جديد فريد لهذه المرحلة وكل مرحلة لاحقة. ويعود السبب في ذلك إلى أنّ كل مرحلة من مراحل البرامج الثابتة المثبَّتة يقيس أدائها ويعتمدها، ما يؤدي إلى إنشاء هويات فريدة ومفاتيح مرتبطة بها تمنع تجاوزها أو التلاعب بها. تعالج الذاكرة الثابتة (ROM) عملية القياس والضبط وسر الجهاز الفريد (UDS) باستخدام دالة اشتقاق المفتاح (KDF) لاشتقاق السرّ للمرحلة التالية التي سيتم تحميلها. يُشار إلى هذا السر باسم معرّف جهاز مركّب (CDI).
المرحلة 0: الإعداد
تبدأ عملية DICE بتحميل شريحة ROM للشريحة المعالجة الأساسية لوحدة التحكّم في البيانات (UDS) من بنك للبيانات الثابتة، والتي تكون عادةً مصفوفات ذاكرة متضامة. يتم توفير هذا المعرّف الفريد للجهاز بأمان باستخدام قيمة عشوائية تشفيرًا أثناء عملية إنتاج الشريحة. بعد قراءة UDS، يستخدم ملف ROM آلية قفل الأجهزة التي تعتمد على المورّد، مثل قفل لمنع الوصول إلى UDS إلى أن يتم تشغيل الجهاز مرة أخرى.
المرحلة 1: اشتقاق المفتاح الأوّلي
يستخدم ملف ROM معرّف الجهاز الفريد كإدخال لدالة اشتقاق المفتاح (KDF) لإنشاء مفتاحَي التشفير غير المتماثلَين الدائمَين اللذين يحدّدان هذا الجهاز بشكل فريد. يقيس هذا الاختبار مرحلة البرامج الثابتة التالية، بما في ذلك البيانات الوصفية عن بيئة التشغيل، مثل ما إذا كان قد تم تفعيل ميزة "التشغيل الآمن" . بعد ذلك، يجمع ملف ROM بيانات UDS وقياس البرامج الثابتة وبيانات الضبط في دالة KDF لاستخراج أول CDI، والذي يتم تمريره إلى المرحلة التالية كسر.
المرحلة 2 إلى n: اشتقاق المفتاح بشكل متكرر
ثم تتم تكرار العملية. في جميع المراحل اللاحقة، يُستخدَم مفتاح التشفير الوصفي من المرحلة السابقة كإدخال لإنشاء مفتاح تشفير دالة جديد. يستخدم معرّف مفتاح التشفير هذا CDI وتجزئة صورة البرامج الثابتة التالية لإنشاء CDI مشتق جديد. تُنشئ كل مرحلة مفتاحَي تشفير خاصَّين بها وتستخدمهما لتوقيع شهادة تحتوي على قياسات خاصة بالمرحلة وبيانات وصفية أخرى مرتبطة بها.