Rejestracja urządzenia

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:

  1. Sprawdzić łańcuch certyfikatów wysłany w żądaniu /registerDevice. Certyfikat główny w łańcuchu musi być zgodny z certyfikatem dostarczonym przez Google.
  2. Upewnić się, że certyfikat główny nie znajduje się na liście odwołanych certyfikatów .
  3. Przeanalizować certyfikat wierzchołka ścieżki, odczytać rozszerzenia i sprawdzić te elementy:
    • Wartość attestationChallenge jest zgodna z wartością nonce wysłaną podczas operacji /getDeviceRegistrationNonce.
    • teeEnforced.rootOfTrust ma te właściwości:
      • deviceLocked=TRUE
      • verifiedBootState=VERIFIED
    • Nazwy pakietów w softwareEnforced.attestationApplicationId są zgodne z com.google.android.gms lub com.google.android.gsf.

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.