موتور ترکیب شناسه دستگاه

موتور ترکیب شناسه دستگاه (DICE) یک مشخصه گروه محاسبات قابل اعتماد (TCG) است که در اندروید به کار گرفته شده است. این موتور مجموعه‌ای از هویت‌های رمزنگاری قوی و تغییرناپذیر را برای هر قطعه از میان‌افزار بارگذاری شده در طول توالی بوت ایجاد می‌کند. این هویت‌ها امکان تأیید از راه دور وضعیت امنیتی دستگاه را فراهم می‌کنند که تنها با به خطر انداختن ROM می‌توان از آن فرار کرد.

فرآیند استخراج DICE

فرآیند استخراج DICE ساده شده

شکل ۱. فرآیند ساده‌شده‌ی استخراج DICE.

فرآیند استخراج DICE تضمین می‌کند که هرگونه تغییر در هر تصویر میان‌افزار منجر به یک شناسه منحصر به فرد جدید برای آن مرحله و هر مرحله پس از آن می‌شود. دلیل این امر آن است که هر مرحله میان‌افزار بارگذاری شده، مرحله بعدی را اندازه‌گیری و تأیید می‌کند و هویت‌های منحصر به فرد و کلیدهای مرتبطی را ایجاد می‌کند که از دور زدن یا دستکاری جلوگیری می‌کند. حافظه فقط خواندنی (ROM) اندازه‌گیری، پیکربندی و رمز منحصر به فرد دستگاه (UDS) را با یک تابع استخراج کلید (KDF) پردازش می‌کند تا رمز مرحله بعدی که باید بارگذاری شود را استخراج کند. این رمز به عنوان شناسه دستگاه مرکب (CDI) شناخته می‌شود.

مرحله ۰: مقداردهی اولیه

فرآیند DICE با بارگذاری UDS توسط ROM چیپست از یک بانک داده تغییرناپذیر، معمولاً فیوزها، آغاز می‌شود. این UDS در طول فرآیند تولید تراشه با یک مقدار تصادفی رمزنگاری‌شده به طور ایمن فراهم می‌شود. پس از خواندن UDS، ROM از یک مکانیزم قفل سخت‌افزاری وابسته به فروشنده مانند یک چفت برای قفل کردن دسترسی UDS تا بوت بعدی استفاده می‌کند.

مرحله ۱: استخراج کلید اولیه

ROM از UDS به عنوان ورودی به یک تابع استخراج کلید (KDF) برای تولید جفت کلید نامتقارن دائمی که به طور منحصر به فرد آن دستگاه را شناسایی می‌کند، استفاده می‌کند. این تابع، مرحله بعدی میان‌افزار، از جمله فراداده‌های مربوط به محیط بوت مانند فعال بودن بوت امن را اندازه‌گیری می‌کند. سپس ROM، UDS، اندازه‌گیری میان‌افزار و داده‌های پیکربندی در KDF را ترکیب می‌کند تا اولین CDI را استخراج کند که به عنوان یک رمز به مرحله بعدی منتقل می‌شود.

مرحله ۲ تا n: استخراج کلید بازگشتی

سپس این فرآیند تکرار می‌شود. در تمام مراحل بعدی، CDI از مرحله قبل به عنوان ورودی برای یک KDF جدید عمل می‌کند. این KDF از CDI و هش تصویر میان‌افزار بعدی برای تولید یک CDI مشتق شده جدید استفاده می‌کند. هر مرحله جفت کلید خود را تولید می‌کند و از آن برای امضای گواهی حاوی اندازه‌گیری‌های خاص هر مرحله و سایر فراداده‌های مرتبط استفاده می‌کند.