Stan urządzenia

Stan urządzenia wskazuje, w jaki sposób można swobodnie umieścić oprogramowanie na urządzeniu i czy weryfikacja jest wymuszana. Stany urządzeń to LOCKED oraz UNLOCKED LOCKED urządzeń nie pozwala na błyskanie nowych na urządzeniu, podczas gdy urządzenia UNLOCKED pozwalają modyfikacji.

Po włączeniu urządzenia program rozruchowy najpierw sprawdza, czy urządzenie LOCKED lub UNLOCKED. Jeśli urządzenie UNLOCKED, program rozruchowy wyświetli użytkownikowi ostrzeżenie, a następnie będzie kontynuować uruchamia się nawet wtedy, gdy wczytany system operacyjny nie jest podpisany przez źródło zaufania.

Jeśli urządzenie to LOCKED, program rozruchowy wykona czynności opisane w artykule Weryfikowanie rozruchu w celu weryfikacji za pomocą oprogramowania urządzenia. Urządzenia LOCKED uruchamiają się tylko wtedy, gdy: wczytany system operacyjny jest prawidłowo podpisany przez źródło zaufania. Więcej informacji: Proces uruchamiania.

zmiany stanu urządzenia

Aby zmienić stan urządzenia, użyj polecenie fastboot flashing [unlock | lock]. Ochrona użytkownika dane, wszystkie przejścia między stanami umożliwiają wyczyszczenie partycji danych i prośba o pozwolenie na przed usunięciem danych.

Przejście z UNLOCKED na LOCKED jest oczekiwane, gdy użytkownik kupuje używane urządzenie służące do programowania. W wyniku zablokowania urządzenia użytkownik powinien mieć pewność, że jest w stanie określonym przez urządzenie producenta, o ile nie ma ostrzeżenia. LOCKED do Gdy deweloper chce ją wyłączyć, następuje przejście w tryb UNLOCKED. weryfikacji na urządzeniu w celach programistycznych.

Źródło zaufania

Źródło zaufania to klucz kryptograficzny używany do podpisywania kopii Androida zapisanych na urządzeniu. Prywatna część korzeni zaufania jest znana tylko producenta urządzenia i służy do podpisywania wszystkich wersji Androida przeznaczonych dystrybucji danych. Publiczna część zaufania jest osadzona w urządzeniu, są przechowywane w danym miejscu, więc nie można go modyfikować (zwykle w trybie tylko do odczytu) pamięci masowej).

Podczas wczytywania Androida program rozruchowy używa źródła zaufania do weryfikacji autentyczności. Więcej informacji o tym procesie znajdziesz na stronie Weryfikacja podczas uruchamiania. Urządzenia mogą mieć wiele programów rozruchowych, więc w grę może wchodzić wiele kluczy kryptograficznych.

Konfigurowalny przez użytkownika poziom zaufania

Urządzenia mogą opcjonalnie zezwolić użytkownikowi na skonfigurowanie głównego katalogu zaufania (na potrzeby np. klucz publiczny). Urządzenia mogą używać tego ustalonego przez użytkownika źródła zaufania dla Weryfikacja podczas uruchamiania zamiast wbudowanego źródła zaufania. Dzięki temu użytkownik może: instaluj i używaj niestandardowych wersji Androida bez naruszania bezpieczeństwa i z ulepszeniami funkcji weryfikacji podczas uruchamiania.

Jeśli zaimplementowano możliwy do ustawienia przez użytkownika poziom zaufania, należy to zrobić w taki sposób, które:

  • Do ustawienia/usunięcia konfigurowanego przez użytkownika poziomu głównego dla zaufania.
  • Tylko użytkownik może określić główny poziom zaufania, który można ustawić przez użytkownika. Nie może musi być ustawiona fabrycznie lub w dowolnym punkcie pośrednim, zanim użytkownik otrzyma urządzenia.
  • Konfigurowany przez użytkownika główny element zaufania jest przechowywany w pamięci masowej, na którą ujawniono modyfikację. Wykrywanie zmian oznacza, że można wykryć, czy Android zmodyfikowano dane, np. zostały zastąpione lub zmienione.
  • Jeśli jest ustawiony główny poziom zaufania, który można ustawić przez użytkownika, urządzenie powinno zezwalać na dostęp do wersji Androida podpisanego za pomocą wbudowanego źródła zaufania lub ustawień jest podstawą zaufania do uruchomienia.
  • Przy każdym uruchomieniu urządzenia z zastosowanym przez użytkownika poziomem zaufania powinno zostać wyświetlone powiadomienie, że urządzenie wczytuje niestandardową wersję Androida. Dla: np. ekrany ostrzegawcze, zobacz LOCKED urządzeń z niestandardowym zestawem kluczy.

Jednym ze sposobów wdrożenia konfigurowanego przez użytkownika źródła zaufania jest wykorzystanie partycję, którą można flashować lub wyczyścić tylko wtedy, gdy urządzenie jest UNLOCKED stan. W przypadku urządzeń Google Pixel 2 stosowana jest ta metoda, partycja wirtualna ma nazwę avb_custom_key. Format pliku dane w tej partycji to dane wyjściowe funkcji avbtool extract_public_key. Oto przykład, jak ustawić konfigurowany przez użytkownika poziom zaufania:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

Określony przez użytkownika poziom główny zaufania można usunąć, wysyłając:

fastboot erase avb_custom_key