На этапе регистрации устройства оно подготавливается к хранению VDC путем регистрации ключа идентификации в системе эмитента.
Порядок обработки запросов
Описание процесса
| Шаг | Источник | Описание |
|---|---|---|
| 1 | устройство Android; |
На устройстве пользователя создан новый запрос VDC. Эмитент должен создать новый ключ идентификации. Для этого устройство пользователя вызывает getDeviceRegistrationNonce.
|
| 2 | серверах Google. |
Google пересылает запрос getDeviceRegistrationNonce эмитенту.
|
| 3 | Серверы эмитента |
Эмитент создает одноразовый код, сохраняет его вместе с объектом deviceReferenceId и возвращает код в Google.
|
| 4 | серверах Google. | Google передает однократно используемый номер на устройство пользователя. |
| 5 | Устройство Android |
Устройство пользователя подписывает nonce и встраивает его в сертификат 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) содержит сертификаты, действие которых по какой-либо причине прекращено. Если корневой сертификат в цепочке сертификатов подтверждения устройства находится в списке CRL, то сертификат недействителен и подтверждению устройства доверять нельзя.
- Сертификат конечного субъекта. Это сертификат, относящийся к определенному устройству. Содержит информацию об устройстве, например его аппаратные идентификаторы и версию ПО.
- Расширения. Это дополнительная информация, включенная в сертификат. Сертификат аттестации устройства содержит ряд расширений, которые используются для проверки целостности устройства. Дополнительную информацию можно найти в схеме данных расширения сертификата.