ثبت دستگاه

مرحله ثبت دستگاه، با ثبت یک کلید هویتی در سیستم صادرکننده، دستگاهی را برای ذخیره DC آماده می کند.

درخواست جریان

شرح جریان

مرحله منبع توضیحات
1 دستگاه مجهز به اندروید یک درخواست DC جدید در دستگاه کاربر ایجاد شده است. یک کلید هویت جدید باید توسط صادرکننده ایجاد شود. دستگاه کاربر با getDeviceRegistrationNonce تماس می گیرد تا این فرآیند را آغاز کند.
2 سرورهای گوگل Google درخواست getDeviceRegistrationNonce را به صادرکننده ارسال می‌کند.
3 سرورهای صادرکننده صادرکننده یک nonce ایجاد می‌کند، آن را با deviceReferenceId ذخیره می‌کند و nonce را به Google برمی‌گرداند.
4 سرورهای گوگل Google nonce را به دستگاه کاربر منتقل می کند.
5 دستگاه مجهز به اندروید دستگاه کاربر nonce را امضا می کند و آن را در گواهی x509 جاسازی می کند. این در تماس registerDevice برای تأیید دستگاه گنجانده شده است.
6 سرورهای گوگل Google تماس registerDevice را به صادرکننده ارسال می کند.
7 سرورهای صادرکننده صادرکننده بررسی های یکپارچگی دستگاه را انجام می دهد و کلید هویت مرتبط با دستگاه را ذخیره می کند.

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

تأیید دستگاه یک ویژگی امنیتی است که به صادرکنندگان اجازه می دهد قبل از ثبت یک دستگاه، یکپارچگی آن را تأیید کنند. این به جلوگیری از ثبت دستگاه هایی که دستکاری شده اند یا نرم افزارهای غیرمجاز را اجرا می کنند، کمک می کند.

برای تأیید یکپارچگی دستگاه، صادرکننده باید:

  1. زنجیره گواهی ارسال شده در درخواست /registerDevice را اعتبار سنجی کنید. گواهی ریشه در زنجیره باید با گواهی ارائه شده توسط Google مطابقت داشته باشد.
  2. اطمینان حاصل کنید که گواهی ریشه بخشی از فهرست ابطال گواهی نیست.
  3. گواهی برگ را تجزیه کنید، پسوندها را بخوانید و موارد زیر را تأیید کنید:
    • مقدار attestationChallenge با nonce ارسال شده در عملیات /getDeviceRegistrationNonce مطابقت دارد.
    • teeEnforced.rootOfTrust دارای ویژگی های زیر است:
      • deviceLocked=TRUE
      • verifiedBootState=VERIFIED
    • نام بسته در softwareEnforced.attestationApplicationId با com.google.android.gms یا com.google.android.gsf مطابقت دارد.

توضیح قسمت های مختلف فرآیند تصدیق دستگاه

  • زنجیره گواهی: زنجیره گواهی مجموعه ای از گواهی ها است که هویت دستگاه را تأیید می کند. گواهی ریشه در زنجیره معتبرترین گواهی است و هر گواهی بعدی در زنجیره توسط گواهی بالای آن امضا می شود.
  • فهرست ابطال گواهی: فهرست ابطال گواهی (CRL) فهرستی از گواهی هایی است که به دلایلی باطل شده اند. اگر گواهی ریشه در زنجیره گواهی تأیید دستگاه روی CRL باشد، گواهی نامعتبر است و نباید به تأیید دستگاه اعتماد کرد.
  • گواهی برگ: گواهی برگ گواهی است که مخصوص دستگاه است. این شامل اطلاعاتی در مورد دستگاه، مانند شناسه های سخت افزاری و نسخه نرم افزاری آن است.
  • برنامه های افزودنی: برنامه های افزودنی اطلاعات اضافی هستند که در گواهی گنجانده شده اند. گواهی تأیید دستگاه حاوی تعدادی برنامه افزودنی است که برای تأیید یکپارچگی دستگاه استفاده می شود. برای اطلاعات بیشتر، به طرح داده های پسوند گواهی مراجعه کنید.