مرحله ثبت دستگاه با ثبت کلید هویت در سیستم «صادرکننده»، دستگاه را برای ذخیره کردن VDC آماده میکند.
جریان درخواست
شرح جریان
| مرحله | منبع | شرح |
|---|---|---|
| 1 | دستگاه مجهز به Android |
درخواست کارت نقدی مجازی جدیدی در دستگاه کاربر ایجاد شده است. «صادرکننده» باید کلید هویت جدیدی ایجاد کند. دستگاه کاربر
برای شروع این فرایند با getDeviceRegistrationNonce
تماس میگیرد.
|
| 2 | سرورهای Google |
Google درخواست getDeviceRegistrationNonce را به
«صادرکننده» رله میکند.
|
| 3 | سرورهای صادرکننده |
«صادرکننده» یک عدد یکباراستفاده تولید میکند، آن را با
deviceReferenceId ذخیره میکند، و عدد یکباراستفاده را به Google برمیگرداند.
|
| 4 | سرورهای Google | Google عدد یکباراستفاده را به دستگاه کاربر رله میکند. |
| 5 | دستگاه مجهز به Android |
دستگاه کاربر مقدار یکبارمصرف را امضا میکند و آن را در گواهینامه x509 جاسازی میکند.
این مورد در تماس registerDevice برای درستیسنجی دستگاه گنجانده شده است.
|
| 6 | سرورهای Google | Google تماس registerDevice را به «صادرکننده» منتقل میکند. |
| 7 | سرورهای صادرکننده | «صادرکننده» بررسیهای تمامیت دستگاه را انجام میدهد و کلید هویت مرتبط با دستگاه را ذخیره میکند. |
نحوه تأیید تمامیت دستگاه
تصدیق دستگاه ویژگی امنیتیای است که به صادرکنندگان امکان میدهد پیشاز ثبت دستگاه، یکپارچگی آن را درستیسنجی کنند. این کار به جلوگیری از ثبت دستگاههایی که دستکاری شدهاند یا نرمافزار غیرمجاز اجرا میکنند کمک میکند.
برای تأیید تمامیت دستگاه، صادرکننده باید:
- زنجیره گواهینامه ارسالشده در درخواست
/registerDeviceرا اعتبارسنجی کنید. گواهینامه ریشه در زنجیره باید با گواهینامه ارائهشده توسط Google مطابقت داشته باشد. - مطمئن شوید گواهینامه ریشه بخشی از فهرست گواهینامههای باطلشده نباشد.
- گواهینامه نهایی را تجزیه کنید، افزونهها را بخوانید، و موارد زیر را درستیسنجی کنید:
- مقدار
attestationChallengeباnonceارسالشده درطول عملیات/getDeviceRegistrationNonceمطابقت دارد. -
teeEnforced.rootOfTrustخصوصیات زیر را دارد:deviceLocked=TRUEverifiedBootState=VERIFIED
- نام بستهها در
softwareEnforced.attestationApplicationIdباcom.google.android.gmsیاcom.google.android.gsfمطابقت دارد.
- مقدار
توضیح بخشهای مختلف فرایند گواهی دستگاه
- زنجیره گواهینامه: زنجیره گواهینامه مجموعهای از گواهینامهها است که هویت دستگاه را اصالتسنجی میکند. گواهینامه ریشه در زنجیره، قابلاعتمادترین گواهینامه است و هر گواهینامه بعدی در زنجیره توسط گواهینامه بالاتر از آن امضا میشود.
- فهرست گواهینامههای باطلشده: فهرست گواهینامههای باطلشده (CRL) فهرستی از گواهینامههایی است که به دلایلی باطل شدهاند. اگر گواهینامه ریشه در زنجیره گواهینامه تصدیق دستگاه در «فهرست گواهینامههای باطلشده» باشد، گواهینامه نامعتبر است و نباید به تصدیق دستگاه اعتماد کرد.
- گواهینامه نهایی: گواهینامه نهایی گواهینامهای است که مختص دستگاه است. این گزارش حاوی اطلاعاتی درباره دستگاه است، مثل شناسههای سختافزاری و نسخه نرمافزار آن.
- افزونهها: افزونهها بخشهای اطلاعاتی اضافهای هستند که در گواهینامه گنجانده میشوند. گواهینامه تصدیق دستگاه حاوی تعدادی افزونه است که برای درستیسنجی تمامیت دستگاه استفاده میشود. برای اطلاعات بیشتر، به طرحواره دادههای افزونه گواهی مراجعه کنید.