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