Gerätestatus

Der Gerätestatus gibt an, wie frei Software auf ein Gerät geflasht und ob die Überprüfung erzwungen wird. Die Gerätestatus sind LOCKED und UNLOCKED. LOCKED Geräte verhindern, dass du neues flashen kannst auf dem Gerät installiert, während UNLOCKED-Geräte Änderung.

Beim Einschalten prüft der Bootloader zuerst, ob das Gerät LOCKED oder UNLOCKED. Wenn ein Gerät UNLOCKED, zeigt der Bootloader dem Nutzer eine Warnung und fährt mit dem nächsten Schritt fort. auch wenn das geladene Betriebssystem nicht vom Root of Trust signiert ist.

Ist das Gerät LOCKED, durchläuft der Bootloader die Schritte unter Zu überprüfender Startvorgang wird überprüft die Software des Geräts. LOCKED-Geräte starten nur dann, wenn der das geladene Betriebssystem ordnungsgemäß vom Root of Trust signiert ist. Weitere Informationen finden Sie unter Der Bootvorgang:

Gerätestatus ändern

Wenn Sie den Status eines Geräts ändern möchten, verwenden Sie den Befehl fastboot flashing [unlock | lock]. Zum Schutz des Nutzers Daten werden bei allen Statusübergängen die Datenpartitionen gelöscht und der Nutzer wird bevor die Daten gelöscht werden.

Die Umstellung von UNLOCKED auf LOCKED wird erwartet, wenn Nutzende kaufen ein gebrauchtes Entwicklungsgerät. Wenn das Gerät gesperrt wird, Nutzer sollten darauf vertrauen können, dass sie sich in einem vom Gerät erzeugten Zustand befinden. solange keine Warnung angezeigt wird. Die LOCKED zu Die Umstellung auf UNLOCKED wird erwartet, wenn ein Entwickler die Funktion deaktivieren möchte Überprüfung auf dem Gerät zu Entwicklungszwecken.

Vertrauensbasis

Root of Trust ist der kryptografische Schlüssel zum Signieren der Android-Kopie die auf dem Gerät gespeichert sind. Der private Teil der Vertrauensbasis ist nur dem des Geräteherstellers und wird zur Signierung jeder Android-Version verwendet, die für Verteilung. Der öffentliche Teil des Root of Trust ist in das Gerät eingebettet und an einem Ort gespeichert ist, an dem er nicht manipuliert werden kann (normalerweise schreibgeschützt). Speicher).

Beim Laden von Android prüft der Bootloader mithilfe des Root of Trust, Authentizität. Weitere Informationen zu diesem Vorgang finden Sie unter Starten überprüfen: Geräte haben möglicherweise Es können mehrere Bootloader und mehrere kryptografische Schlüssel aktiv sein.

Vom Nutzer einstellbarer Root of Trust

Auf den Geräten kann der Nutzer optional die Root of Trust-Konfiguration (für z. B. ein öffentlicher Schlüssel). Geräte können diesen vom Nutzer einstellbaren Root of Trust für Verifizierter Bootmodus anstelle des integrierten Root of Trust. So können Nutzende benutzerdefinierte Versionen von Android installieren und nutzen, ohne die Sicherheit zu gefährden Verbesserungen des verifizierten Bootmodus.

Wenn eine vom Nutzer eingestellte Vertrauensbasis implementiert wird, sollte dies so erfolgen, dass:

  • Zum Festlegen/Löschen des vom Nutzer eingestellten Stammverzeichnisses ist eine physische Bestätigung erforderlich. vertrauenswürdig sind.
  • Der vom Nutzer einstellbare Root of Trust kann nur vom Endnutzer festgelegt werden. Es darf nicht am Werk oder an einem beliebigen Zwischenpunkt festgelegt werden, bevor der Endanwendende .
  • Der vom Nutzer einstellbare Root of Trust wird in einem manipulationssicheren Speicher abgelegt. Tamper-evident bedeutet, dass ermittelt werden kann, ob Android die Daten manipuliert wurden, z. B. wenn sie überschrieben oder geändert wurden.
  • Wenn ein vom Nutzer eingestellter Root of Trust festgelegt wurde, sollte auf dem Gerät eine Version Android ist entweder mit dem integrierten Root of Trust oder der vom Nutzer einstellbaren Root of Trust.
  • Jedes Mal, wenn das Gerät mit dem vom Nutzer einstellbaren Root of Trust startet, sollte benachrichtigt werden, dass das Gerät eine benutzerdefinierte Android-Version lädt. Für zum Beispiel Warnbildschirmen, LOCKED Geräte mit benutzerdefiniertem Schlüssel.

Eine Möglichkeit, den vom Nutzer einsetzbaren Root of Trust zu implementieren, ist eine virtuelle Partition, die nur geflasht oder gelöscht werden kann, wenn sich das Gerät im UNLOCKED. Die Google Pixel 2-Geräte nutzen diesen Ansatz und heißt die virtuelle Partition avb_custom_key. Das Format des der Daten in dieser Partition avbtool extract_public_key-Befehl. Hier ist ein Beispiel, wie Sie den vom Nutzer einstellbaren Root of Trust:

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

Der vom Nutzer einstellbare Root of Trust kann mit folgendem Befehl gelöscht werden:

fastboot erase avb_custom_key