کاربردهای DICE

Device Identifier Composition Engine (DICE) وضعیت امنیتی اندروید را به روش‌های مختلف بهبود می‌بخشد، با موارد استفاده بیشتر در توسعه با گسترش یکپارچه‌سازی این معماری.

تامین کلید از راه دور

مورد استفاده اولیه برای DICE این بود که ریشه اعتماد برای پروتکل تامین کلید از راه دور (RKP) در کوچکترین TCB ​​موجود برای تراشه، ROM، به جای TEE ایجاد شود. این تا حد زیادی سطح حمله را برای به خطر انداختن دائمی RKP کاهش می دهد. مهمتر از آن، توانایی بازیابی اعتماد در دستگاه‌ها پس از مصالحه در TEE یا بوت‌لودر که می‌تواند بر اعتبار گواهی‌های کلیدی که KeyMint ایجاد می‌کند را تحت تأثیر قرار دهد، می‌دهد.

از لحاظ تاریخی، آسیب‌پذیری‌ها در TEE یا بوت‌لودر منجر به لغو کامل کلیدهای تأیید برای همه دستگاه‌های آسیب‌دیده شده، بدون هیچ راهی برای بازیابی اعتماد، حتی اگر آسیب‌پذیری‌ها وصله شده باشند. این به این دلیل بود که نمی‌توان به یک طرف راه دور ثابت کرد که وصله‌ها اعمال شده‌اند، زیرا تأیید از راه دور توسط TEE روی تصویر Android که از طریق Android Verified Boot بارگیری می‌شد انجام می‌شد. DICE این شکاف را با ارائه توانایی تأیید از راه دور وضعیت فعلی سفت‌افزار بارگذاری‌شده خارج از اندروید، می‌بندد.

احراز هویت متقابل محیط های ایزوله

هر دامنه برنامه ای که DICE به آن خاتمه می یابد، یک هویت به شکل یک کلید با یک زنجیره گواهی که به ریشه مشترک اعتماد مشتق شده توسط ROM باز می گردد، دریافت می کند. از آنجایی که فرآیند اشتقاق DICE با تقسیم مسیرهای بارگیری منشعب می شود، این درختی از گواهی ها ایجاد می کند که ریشه یکسانی دارند. بنابراین، یک PKI روی دستگاه در طول فرآیند DICE ایجاد می شود.

PKI ایجاد شده توسط فرآیند اشتقاق DICE مکانیزمی را برای مؤلفه‌ها در محصورهای امن جداگانه ایجاد می‌کند تا به طور متقابل یکدیگر را تأیید کنند. یک مثال عینی از این، SecretKeeper، یک HAL مورد اعتماد است که به pVM ها اجازه می دهد با TEE ارتباط برقرار کنند تا یک راز پایدار دریافت کنند، که می تواند برای ذخیره ایمن داده های پایدار استفاده شود.