Entwickleroptionen sichern

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Gemäß dem Android Compatibility Definition Document müssen OEMs eine Möglichkeit bieten, die Anwendungsentwicklung zu ermöglichen. Die Bereitstellung von mobilähnlichen Entwickleroptionen in Autos macht diese Autos jedoch anfällig für Angriffe. Der Zugriff auf Entwickleroptionen kann jetzt von einem OEM mithilfe eines authentifizierten kryptografischen Token-Mechanismus überwacht werden. Insbesondere kann ein OEM:

  • Legen Sie vor dem ersten Start die gewünschten Standardeinschränkungen fest.
  • Autorisieren Sie Entwickler sicher, auf Wunsch mit Krypto-Token.
  • Wenden Sie Beschränkungsänderungen an, sobald ein Entwickler sowohl authentifiziert als auch autorisiert ist.

Dieser Artikel beschreibt eine Referenzimplementierung, die aus einer Debugging-Restriktions-Controller-Anwendung und einem Remote-Token-Aussteller-Endpunkt besteht.

Terminologie

Zusätzlich zu Terminologie werden diese Begriffe in diesem Artikel verwendet:

  • JSON Web Signature (JWS), definiert in RFC 7515
  • Nationales Institut für Standards und Technologie (NIST)

Entwurf

OEMs können Entwickler mit JSON Web Signature (JWS) Tokens (RFC7515) autorisieren. In der Referenzimplementierung werden Zugriffstoken von OEMs ausgestellt und von der Einschränkungscontroller-App verwendet. Zugriffstoken sind darauf ausgelegt, Replay-Angriffen und gefälschten Token zu widerstehen.

Abbildung 1. Design

Integration und Konfiguration

OEMs müssen die gewünschten Standardeinschränkungen beim ersten Booten angeben. Dies erfolgt mit mehreren statischen Ressourcenüberlagerungen, um die Standardwerte im AOSP-Framework zu überschreiben.

Die Standardeinschränkungen für den Headless-Systembenutzer können mit der Zeichenfolge config_defaultFirstUserRestrictions in frameworks/base/core/res/res/values/config.xml werden, zum Beispiel:

<!-- User restrictions set when the first user is created.
         Note: Also update appropriate overlay files. -->
    <string-array translatable="false" name="config_defaultFirstUserRestrictions">
        <item>no_debugging_features</item>
    </string-array>

Die Standardeinschränkungen für Fahrer, Beifahrer und Gäste können in frameworks/base/core/res/res/xml/config_user_types.xml . Ein OEM kann Overlay| diese Zeichenfolgen, um die Standardeinschränkungen für jeden Benutzertyp festzulegen, zum Beispiel:

<user-types>
    <full-type name="android.os.usertype.full.SECONDARY" >
        <default-restrictions no_debugging_features="true"/>
    </full-type>
    <full-type name="android.os.usertype.full.GUEST" >
        <default-restrictions no_debugging_features="true"/>
    </full-type>
</user-types>

Eine Referenzimplementierung wird an der folgenden Stelle in AOSP bereitgestellt:

packages/apps/Car/DebuggingRestrictionController

Testen

Google empfiehlt OEMs, mit der Referenzimplementierung zu beginnen und darauf aufzubauen.

  1. Nachdem Sie die gewünschten Einschränkungen in den Overlay-Dateien konfiguriert haben, kompilieren Sie AAOS und validieren Sie die definierten Flows. Verwenden Sie die Referenzanwendung und den lokalen JWS-fähigen Dienst, um Ihre Zugriffseinstellungen zu überprüfen.
  2. Konfigurieren Sie das System für die Verwendung Ihres JWS-fähigen Cloud-Dienstes (optional). Stellen Sie sicher, dass Sie den gewünschten Datenfluss in Ihrem Back-End-Dienst beobachten.