تطبيقات DICE

يحسّن محرك تركيب معرف الجهاز (DICE) الوضع الأمني لنظام Android بعدة طرق مختلفة، ويجري تطوير المزيد من حالات الاستخدام مع اتساع نطاق تكامل هذه البنية.

توفير مفتاح التحكّم عن بُعد

كانت حالة الاستخدام الأصلية لبرنامج DICE هي تأسيس جذر الثقة لبروتوكول توفير المفاتيح عن بُعد (RKP) في أصغر وحدة تحكّم في حدود الثقة (TCB) متاحة للشريحة، وهي ذاكرة القراءة فقط (ROM)، بدلاً من استخدام وحدة التحكّم في حدود الثقة (TEE). يؤدي ذلك إلى تقليل مساحة الهجوم بشكل كبير للاختراق الدائم لـ RKP. والأهم من ذلك، أنّه يمنح القدرة على استعادة الثقة في الأجهزة بعد عمليات اختراق في وحدة TEE أو أداة التمهيد التي يمكن أن تؤثر في صلاحية عمليات إثبات ملكية المفاتيح التي ينشئها KeyMint.

سابقًا، كانت الثغرات الأمنية في بيئة التنفيذ الموثوقة (TEE) أو برنامج الإقلاع تؤدي إلى إبطال كامل لمفاتيح المصادقة لكل الأجهزة المتأثرة، بدون توفُّر مسار لاستعادة الثقة حتى إذا تم تصحيح الثغرات. ويعود السبب في ذلك إلى أنّه لم يكن من الممكن إثبات لأحد الأطراف البعيدة أنّه تم تطبيق الرقع، لأنّه تم إجراء التحقق عن بُعد من خلال TEE على صورة Android التي يتم تحميلها من خلال ميزة "التشغيل المتحقَّق منه" في Android. يسدّ DICE هذه الفجوة من خلال توفير إمكانية التحقّق عن بُعد من الحالة الحالية للبرامج الثابتة المحمَّلة خارج نظام Android.

المصادقة المتبادلة للبيئات المعزولة

يتلقّى كل نطاق تطبيق ينتهي فيه DICE هوية في شكل مفتاح مع سلسلة شهادات تعود إلى جذر الثقة المشترَك الذي تم إنشاؤه بواسطة ROM. وبما أنّ عملية اشتقاق DICE تتفرع عند تقسيم مسارات التحميل، يؤدي ذلك إلى إنشاء شجرة من الشهادات التي تتشارك الجذر نفسه. وبالتالي، يتم إنشاء PKI على الجهاز أثناء عملية DICE.

ينشئ PKI الذي تم إنشاؤه من خلال عملية اشتقاق DICE آلية للمكوّنات الموجودة في حصون آمنة منفصلة للمصادقة بشكل متبادل. ومن الأمثلة الملموسة على ذلك SecretKeeper، وهو واجهة برمجة تطبيقات برمجية موثوق بها لنظام التشغيل (HAL) تسمح لأجهزة افتراضية للمؤسسات بالتواصل مع بيئة التنفيذ الموثوق بها (TEE) لتلقّي سر ثابت يمكن استخدامه لتخزين البيانات الثابتة بأمان.