OEM-Unlock: Unterschied zwischen den Versionen

Aus Android Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


Neben der Möglichkeit, die Entsperrung des Bootloader zu erlauben, deaktiviert der ''OEM-Unlock'' (sofern aktiviert) zudem ein Feature der [[Device Protection]]: Android Factory Reset Protection. Dadurch wird es möglich, ein Gerät zurückzusetzen, ohne anschließend ein vorher mit dem Gerät synchronisiertes Google-Konto zu bestätigen. Mehr Informationen zu [[Device Protection|Device Protection ist auf der entsprechenden Seite in diesem Wiki zu finden]].
Neben der Möglichkeit, die Entsperrung des Bootloader zu erlauben, deaktiviert der ''OEM-Unlock'' (sofern aktiviert) zudem ein Feature der [[Device Protection]]: Android Factory Reset Protection. Dadurch wird es möglich, ein Gerät zurückzusetzen, ohne anschließend ein vorher mit dem Gerät synchronisiertes Google-Konto zu bestätigen. Mehr Informationen zu [[Device Protection|Device Protection ist auf der entsprechenden Seite in diesem Wiki zu finden]].
== Technische Umsetzung ==
Damit eine Einstellung sowohl für den Bootloader zur Verfügung steht, in welchem eine Verweigerung des Entsperrens implementiert sein muss, wenn OEM Unlock deaktiviert ist, als auch durch das Android System zur Verfügung steht, muss der Wert der Einstellung in einem ''raw'' Format gespeichert werden (sodass der Bootloader auch darauf zugreifen kann, wenn die Abstraktions-Layer und Implementierungen des Android-Systems nicht zur Verfügung stehen). Dies ist auch bei der OEM-Unlock Einstellung der Fall.<ref>{{Internetquelle|url=http://newandroidbook.com/Articles/Nexus9.html|titel=Nexus 9 Notes|werk=newandroidbook.com|zugriff=2017-07-26}}</ref> In Android selbst ist hierfür eine eigene Partition vorhanden, die Daten persistent abspeichern kann. Die entsprechende Partition ist in der System-Eigenschaft (''System property'') '''ro.frp.pst''' gespeichert.<ref>{{Internetquelle|url=https://github.com/android/platform_frameworks_base/blob/e426dac4e2e668ff6af027ec0c8bbfff40596ba1/services/core/java/com/android/server/PersistentDataBlockService.java#L69|titel=android/platform_frameworks_base|werk=GitHub|sprache=en|zugriff=2017-07-26}}</ref> Die verwendete Partition unterscheidet sich von Gerät zu Gerät, so wird beim [[HTC/10|HTC 10]] die ''frp'' Partition (für '''F'''actory '''R'''eset '''P'''rotection) verwendet<ref>{{Internetquelle|url=https://github.com/LineageOS/android_device_htc_pme/blob/cea96b1061baf50f46b69dd214f390a6d11a8737/system.prop#L51|titel=LineageOS/android_device_htc_pme|werk=GitHub|sprache=en|zugriff=2017-07-26}}</ref>, bei Samsung-Geräten, die auf einem Snapdragon 625 MSM8976 basieren die ''persistent'' Partition.<ref>{{Internetquelle|url=https://github.com/LineageOS/android_device_samsung_msm8976-common/blob/022b32e4bf4257fb573a300229560c38a2965db6/system.prop#L59|titel=LineageOS/android_device_samsung_msm8976-common|werk=GitHub|sprache=en|zugriff=2017-07-26}}</ref> Die Block-Geräte der jeweiligen Partitionen ist zudem widerrum von Gerät zu Gerät unterschiedlich.
Wird die OEM-Unlock Einstellung in den Entwickleroptionen geändert, wird der neue Wert (1 für ''aktiviert'' und 0 für ''deaktiviert'') als Wert/Inhalt zu dieser angegebenen Partition geschrieben und kann anschließend vom Bootloader ausgelesen werden.


== Einzelnachweise ==
== Einzelnachweise ==

Version vom 26. Juli 2017, 22:19 Uhr

Die Option OEM-Unlock (verfügbar ab Android 5.0 Lollipop "Lollipop"[1], auf deutschsprachigen Geräten auch OEM-Entsperrung oder Bootloader-Entsperrung zulassen) ist eine Auswahlbox in den Entwickleroptionen, die als Sicherheitsfunktion gegen das unberechtigte Entsperren des Bootloaders dient. Die (i.d.R. standardmäßig deaktivierte) Option steuert, ob der Bootloader durch eine OEM-Routine (also einer vom Hersteller bereitgestellten Prozedur zum Entsperren des Bootloaders) entsperrt werden kann oder nicht. Ist diese deaktiviert und wird versucht, den Bootloader zu entsperren, verweigert dieser das mit einer Fehlermeldung.

Neben der Möglichkeit, die Entsperrung des Bootloader zu erlauben, deaktiviert der OEM-Unlock (sofern aktiviert) zudem ein Feature der Device Protection: Android Factory Reset Protection. Dadurch wird es möglich, ein Gerät zurückzusetzen, ohne anschließend ein vorher mit dem Gerät synchronisiertes Google-Konto zu bestätigen. Mehr Informationen zu Device Protection ist auf der entsprechenden Seite in diesem Wiki zu finden.

Technische Umsetzung

Damit eine Einstellung sowohl für den Bootloader zur Verfügung steht, in welchem eine Verweigerung des Entsperrens implementiert sein muss, wenn OEM Unlock deaktiviert ist, als auch durch das Android System zur Verfügung steht, muss der Wert der Einstellung in einem raw Format gespeichert werden (sodass der Bootloader auch darauf zugreifen kann, wenn die Abstraktions-Layer und Implementierungen des Android-Systems nicht zur Verfügung stehen). Dies ist auch bei der OEM-Unlock Einstellung der Fall.[2] In Android selbst ist hierfür eine eigene Partition vorhanden, die Daten persistent abspeichern kann. Die entsprechende Partition ist in der System-Eigenschaft (System property) ro.frp.pst gespeichert.[3] Die verwendete Partition unterscheidet sich von Gerät zu Gerät, so wird beim HTC 10 die frp Partition (für Factory Reset Protection) verwendet[4], bei Samsung-Geräten, die auf einem Snapdragon 625 MSM8976 basieren die persistent Partition.[5] Die Block-Geräte der jeweiligen Partitionen ist zudem widerrum von Gerät zu Gerät unterschiedlich.

Wird die OEM-Unlock Einstellung in den Entwickleroptionen geändert, wird der neue Wert (1 für aktiviert und 0 für deaktiviert) als Wert/Inhalt zu dieser angegebenen Partition geschrieben und kann anschließend vom Bootloader ausgelesen werden.

Einzelnachweise

  1. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2015-12-06.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  2. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-07-26.Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-07-26 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-07-26 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatInterner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. In: Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127. Abgerufen am 2017-07-26 (english).Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.