Faza rejestracji urządzenia przygotowuje urządzenie do przechowywania DC przez zarejestrowanie klucza tożsamości w systemie wystawcy.
Przepływ żądania
Opis przepływu
| Krok | Źródło | Opis |
|---|---|---|
| 1 | urządzenie z Androidem; |
Na urządzeniu użytkownika utworzono nowe żądanie DC. Wydawca musi utworzyć nowy klucz tożsamości. Urządzenie użytkownika wywołuje metodę getDeviceRegistrationNonce, aby rozpocząć ten proces.
|
| 2 | serwerach Google. |
Google przekazuje żądanie getDeviceRegistrationNonce do wydawcy.
|
| 3 | Serwery wystawcy |
Wystawca generuje wartość nonce, zapisuje ją w deviceReferenceId i zwraca do Google.
|
| 4 | serwerach Google. | Google przekazuje nonce na urządzenie użytkownika. |
| 5 | urządzenie z Androidem; |
Urządzenie użytkownika podpisuje wartość nonce i osadza ją w certyfikacie x509.
Jest to uwzględnione w wywołaniu registerDevice w celu weryfikacji urządzenia.
|
| 6 | serwerach Google. | Google przekazuje połączenie registerDevice do wydawcy. |
| 7 | Serwery wystawcy | Wydawca przeprowadza testy integralności urządzenia i przechowuje 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 weryfikację integralności urządzenia przed jego zarejestrowaniem. Pomaga to zapobiegać rejestracji urządzeń, które zostały zmodyfikowane lub na których działa nieautoryzowane oprogramowanie.
Aby zweryfikować integralność urządzenia, wystawca powinien:
- Sprawdź łańcuch certyfikatów wysłany w żądaniu
/registerDevice. Certyfikat główny w łańcuchu musi być zgodny z certyfikatem dostarczonym przez Google. - Upewnij się, że certyfikat główny nie jest częścią listy odwołanych certyfikatów.
- Przeanalizuj certyfikat liścia, odczytaj rozszerzenia i sprawdź, czy:
- Wartość
attestationChallengejest zgodna z wartościąnonceprzesłaną podczas operacji/getDeviceRegistrationNonce. teeEnforced.rootOfTrustma te właściwości:deviceLocked=TRUEverifiedBootState=VERIFIED
- Nazwy pakietów w
softwareEnforced.attestationApplicationIdpasują docom.google.android.gmslubcom.google.android.gsf.
- Wartość
Wyjaśnienie różnych części procesu potwierdzania 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 z jakiegoś powodu unieważnione. Jeśli certyfikat główny w łańcuchu certyfikatów zaświadczenia o urządzeniu znajduje się na liście CRL, certyfikat jest nieważny i nie należy ufać zaświadczeniu o urządzeniu.
- Certyfikat wierzchołka ścieżki: certyfikat wierzchołka ścieżki jest certyfikatem przypisanym do urządzenia. Zawiera informacje o urządzeniu, takie jak identyfikatory sprzętu i wersja oprogramowania.
- Rozszerzenia: rozszerzenia to dodatkowe informacje zawarte w certyfikacie. Certyfikat atestu urządzenia zawiera szereg rozszerzeń, które służą do weryfikacji integralności urządzenia. Więcej informacji znajdziesz w schemacie danych rozszerzenia certyfikatu.