W fazie rejestracji urządzenia przygotowuje się je do przechowywania VDC przez zarejestrowanie klucza tożsamości w systemie wystawcy.
Przebieg żądania
Opis przebiegu
| Krok | Źródło | Opis |
|---|---|---|
| 1 | Urządzenie z Androidem |
Na urządzeniu użytkownika utworzono nowe żądanie VDC. Wystawca musi utworzyć nowy klucz tożsamości. Aby rozpocząć ten
proces, urządzenie użytkownika wywołuje funkcję getDeviceRegistrationNonce.
|
| 2 | serwerach Google. |
Google przekazuje żądanie getDeviceRegistrationNonce do
wystawcy.
|
| 3 | serwerach wystawcy. |
Wystawca generuje nonce, zapisuje go z
deviceReferenceId, i zwraca nonce do Google.
|
| 4 | serwerach Google. | Google przekazuje nonce do urządzenia użytkownika. |
| 5 | Urządzenie z Androidem |
Urządzenie użytkownika podpisuje nonce i umieszcza go w certyfikacie x509.
Jest on uwzględniany w wywołaniu registerDevice w celu zweryfikowania urządzenia.
|
| 6 | serwerach Google. | Google relays the registerDevice call to the Issuer. |
| 7 | serwerach wystawcy. | Wystawca przeprowadza testy integralności urządzenia i zapisuje klucz tożsamości powiązany z urządzeniem. |
Jak sprawdzić integralność urządzenia
Atestowanie urządzenia to funkcja zabezpieczeń, która umożliwia wystawcom sprawdzenie integralności urządzenia przed jego zarejestrowaniem. Pomaga to zapobiegać rejestrowaniu urządzeń, które zostały naruszone lub na których działa nieautoryzowane oprogramowanie.
Aby sprawdzić integralność urządzenia, wystawca powinien:
- Sprawdzić łańcuch certyfikatów wysłany w żądaniu
/registerDevice. Certyfikat główny w łańcuchu musi być zgodny z certyfikatem dostarczonym przez Google. - Upewnić się, że certyfikat główny nie znajduje się na liście odwołanych certyfikatów .
- Przeanalizować certyfikat wierzchołka ścieżki, odczytać rozszerzenia i sprawdzić te elementy:
- Wartość
attestationChallengejest zgodna z wartościąnoncewysłaną podczas operacji/getDeviceRegistrationNonce. teeEnforced.rootOfTrustma te właściwości:deviceLocked=TRUEverifiedBootState=VERIFIED
- Nazwy pakietów w
softwareEnforced.attestationApplicationIdsą zgodne zcom.google.android.gmslubcom.google.android.gsf.
- Wartość
Wyjaśnienie poszczególnych części procesu atestowania urządzenia
- Łańcuch certyfikatów: łańcuch certyfikatów to seria certyfikatów, które uwierzytelniają tożsamość urządzenia. Certyfikat główny w łańcuchu jest najbardziej zaufanym certyfikatem, a każdy kolejny certyfikat w łańcuchu jest podpisany przez certyfikat znajdujący się powyżej.
- Lista odwołanych certyfikatów: lista odwołanych certyfikatów (CRL) to lista certyfikatów, które zostały odwołane z jakiegoś powodu. Jeśli certyfikat główny w łańcuchu certyfikatów atestowania urządzenia znajduje się na liście CRL, certyfikat jest nieważny i nie należy ufać atestowaniu urządzenia.
- Certyfikat wierzchołka ścieżki: certyfikat wierzchołka ścieżki to certyfikat, który jest przypisany do urządzenia. Zawiera informacje o urządzeniu, takie jak jego identyfikatory sprzętowe i wersja oprogramowania.
- Rozszerzenia: rozszerzenia to dodatkowe informacje zawarte w certyfikacie. Certyfikat atestowania urządzenia zawiera kilka rozszerzeń, które służą do weryfikacji integralności urządzenia. Więcej informacji znajdziesz w schemacie danych rozszerzenia certyfikatu schema.