Sicherheit der Funktion „Autoschlüssel“ in iOS
Entwickler haben die Möglichkeit, eine Option für den sicheren und schlüsselfreien Zugang zu einem Fahrzeug auf einem unterstützten iPhone und einer damit gekoppelten Apple Watch zur Verfügung zu stellen.
Koppeln für Eigentümer
Der Eigentümer muss den Nachweis erbringen, dass sich das Fahrzeug in seinem Besitz befindet (wobei die Art, wie dieser Nachweis erbracht wird, abhängig vom Autohersteller ist). Er kann den Kopplungsvorgang in der App des Autoherstellers starten. Ihm steht dafür ein Link zur Verfügung, den er direkt vom Autohersteller oder über das Menü im Fahrzeug erhält. In allen Fällen muss der Eigentümer für den Kopplungsprozess ein vertrauliches Einmalpasswort bereitstellen. Es wird verwendet, um mithilfe des Protokolls SPAKE2+ und der NIST-P-256-Kurve einen sicheren Kopplungskanal zu generieren. Bei Verwendung der App oder des Links in der E-Mail wird das Passwort automatisch auf das iPhone transferiert. Beim Starten des Kopplungsvorgangs über das Fahrzeug muss das Passwort hingegen manuell eingegeben werden.
Teilen von Schlüsseln
Das gekoppelte iPhone des Eigentümers kann Schlüssel mit iPhone-Geräten qualifizierter Familienmitglieder und Freunde (und mit ihren gekoppelten Apple Watch-Geräten) teilen, indem es mithilfe von iMessage und IDS (Apple Identity Service) eine gerätespezifische Einladung versendet. Alle das Teilen betreffenden Befehle werden unter Verwendung von IDS mit Ende-zu-Ende-Verschlüsselung ausgetauscht. Das gekoppelte iPhone-Gerät des Eigentümers erzwingt, dass der IDS-Kanal während des Kopplungsvorgangs nicht geändert wird, um das Weiterleiten von Einladungen zu verhindern.
Wird die Einladung akzeptiert, erstellt das iPhone-Gerät des Familienmitglieds oder der befreundeten Person einen digitalen Schlüssel und sendet danach die Zertifikatskette für die Schlüsselgenerierung zurück an das gekoppelte iPhone-Gerät des Eigentümers. Auf diese Weise wird sichergestellt, dass der Schlüssel auf einem authentischen Apple-Gerät erstellt wird. Das gekoppelte iPhone des Eigentümers signiert den öffentlichen ECC-Schlüssel des iPhone-Geräts des Familienmitglieds oder der befreundeten Person und sendet diese Signatur zurück an das iPhone-Gerät des Familienmitglieds oder der befreundeten Person. Der Signiervorgang auf dem Gerät des Eigentümers setzt die Benutzerauthentifizierung (per Face ID, Touch ID oder durch die Eingabe des Codes) und eine sichere Benutzerabsicht voraus (siehe Verwendung von Face ID und Touch ID). Die Autorisierung wird angefordert, wenn die Einladung versendet und im Secure Element gespeichert wird, damit sie zur Verfügung steht, wenn das befreundete Gerät die Signieranforderung zurücksendet. Die Schlüsselberechtigungen werden dem Fahrzeug entweder online durch den Fahrzeug-OEM-Server oder während der ersten Verwendung des geteilten Schlüssels bereitgestellt.
Löschen eines Schlüssels
Schlüssel können vom Gerät des Fahrzeugeigentümers aus oder im Fahrzeug selbst vom Gerät des Schlüsselnutzers gelöscht werden. Das Löschen wird auf dem iPhone des Schlüsselnutzers sofort umgesetzt, selbst wenn der Schlüsselnutzer den Schlüssel aktiv in Gebrauch hat. Daher wird eine deutliche Warnung angezeigt, bevor der Löschvorgang ausgeführt wird. Das Löschen von Schlüsseln im Fahrzeug kann jederzeit oder nur dann möglich sein, wenn das Fahrzeug online ist.
In beiden Fällen wird das Löschen auf dem Gerät des Schlüsselnutzers und im Fahrzeug an einen Schlüsselbestandsserver (KIS, Key Inventory Server) des Autoherstellers gemeldet, auf dem die für ein Fahrzeug ausgegebenen Schlüssel für Versicherungszwecke registriert werden.
Der Eigentümer kann das Löschen von der Rückseite seines Eigentümerausweises anfordern. Die Anforderung wird zunächst an den Autohersteller gesendet, damit der Schlüssel im Fahrzeug gelöscht wird. Die Bedingungen, unter denen der Schlüssel vom Fahrzeug entfernt wird, werden vom jeweiligen Autohersteller vorgegeben. Erst nachdem der Schlüssel vom Fahrzeug entfernt wurde, sendet der Server des Autoherstellers eine Aufkündigungsanforderung an das Gerät des Schlüsselnutzers.
Nachdem der Schlüssel auf dem Gerät aufgekündigt wurde, erstellt das Applet, mit dem die digitalen Autoschlüssel verwaltet werden, eine kryptografisch verschlüsselte Bescheinigung für die erfolgte Aufkündigung. Sie dient als Nachweis für das Löschen durch den Autohersteller und wird verwendet, um den Schlüssel vom KIS-Server zu entfernen.
NFC-Standardtransaktionen
Bei Fahrzeugen mit einem NFC-Schlüssel wird zwischen dem Lesegerät und einem iPhone ein sicherer Kanal initiiert, indem temporäre Schlüsselpaare auf dem Lesegerät und dem iPhone generiert werden. Mit einer Methode der Schlüsselvereinbarung kann auf beiden Seiten ein Shared Secret hergeleitet und für die Generierung eines geteilten symmetrischen Schlüssels verwendet werden. Hierbei kommen die Diffie-Hellman-Methode, eine Funktion für die Schlüsselherleitung, und Signaturen aus dem beim Kopplungsvorgang etablierten Langzeitschlüssel zum Einsatz.
Der temporäre öffentliche Schlüssel, der auf Fahrzeugseite generiert wird, wird mit dem privaten Langzeitschlüssel des Lesegeräts signiert, was seinerseits die Authentifizierung des Lesegeräts durch das iPhone zur Folge hat. Aus der Sicht des iPhone-Geräts ist dieses Protokoll darauf ausgelegt, dass sensible persönliche und personenbezogene Daten nicht gegenüber einem Angreifer offengelegt werden, der die Kommunikation abfängt.
Das iPhone-Gerät verwendet schließlich den etablierten sicheren Kanal, um die ID seines öffentlichen Schlüssels zusammen mit der Signatur, die aus einer datenbasierten Anfrage des Lesegeräts hergeleitet wird, und weiteren App-spezifischen Daten zu verschlüsseln. Durch diese Verifizierung der iPhone-Signatur durch das Lesegerät kann das Lesegerät das Gerät authentifizieren.
Schnelle Transaktionen
Das iPhone generiert ein Kryptogramm auf der Basis eines Shared Secret aus einer vorhergehenden Standardtransaktion. Dies ermöglicht dem Fahrzeug das schnelle Authentifizieren des Geräts in Performance-sensitiven Szenarien. Optional kann ein sicherer Kanal zwischen dem Fahrzeug und dem Gerät etabliert werden, indem Sitzungsschlüssel aus einem Shared Secret einer vorhergehenden Standardtransaktion und einem neuen temporären Schlüsselpaar hergeleitet werden. Erbringt das Fahrzeug den Nachweis, dass es den sicheren Kanal etablieren kann, wird es gegenüber dem iPhone authentifiziert.
BLE-/UWB-Standardtransaktionen
Bei Fahrzeugen mit einem UWB-Schlüssel wird eine Bluetooth LE-Sitzung zwischen dem Fahrzeug und dem iPhone hergestellt. Ähnlich wie bei NFC-Transaktionen wird ein gemeinsames geteiltes Secret auf beiden Seiten hergeleitet und für die Herstellung der sicheren Sitzung verwendet. Mit dieser Sitzung wird nachfolgend ein UWB Ranging Secret Key (URSK) hergeleitet und akzeptiert. Der URSK wird dem UWB-Radio auf dem Gerät des Benutzers und im Fahrzeug bereitgestellt, um die genaue Position des Benutzergeräts in der Nähe oder innerhalb des Fahrzeugs zu ermitteln. Das Fahrzeug verwendet dann die Position des Geräts, um zu entscheiden, ob das Aufschließen und Starten des Fahrzeugs erlaubt ist. URSKs besitzen eine vordefinierte TTL. Um eine Unterbrechung bei der Bereichsermittlung zu verhindern, wenn eine TTL abläuft, können URSKs vorab im Geräte-SE und im Fahrzeug-HSM/SE hergeleitet werden, während die sichere Bereichsermittlung nicht aktiv, aber BLE verbunden ist. Dadurch ist keine Standardtransaktion notwendig, um einen neuen URSK in zeitkritischen Situationen zu erzeugen. Der vorab hergeleitete URSK kann sehr schnell an die UWB-Radios des Fahrzeugs und des Geräts übertragen werden, um eine Unterbrechung der UWB-Bereichsermittlung zu verhindern.
Datenschutz und Privatsphäre
Der KIS (Key Inventory Server) des Autoherstellers speichert weder die Geräte-ID noch die SEID oder die Apple-ID. Auf dem Server wird nur eine veränderliche Kennung – die CA-Kennung – der jeweiligen Instanz gespeichert. Diese Kennung ist an keinerlei persönliche oder personenbezogene Daten auf dem Gerät oder an den Server gebunden. Sie wird gelöscht, wenn vom Benutzer (mit der Option „Alle Inhalte und Einstellungen löschen“) alle Daten und der gesamte Inhalt vom Gerät gelöscht werden.