
Sicherheit der Funktion „Autoschlüssel“ in iOS
Entwicklungsteams können sicheren schlüsselfreien Zugang zu einem Fahrzeug mit einem unterstützten iPhone und einer gekoppelten Apple Watch zur Verfügung stellen.
Koppeln für Eigentümer
Eigentümer:innen müssen den Nachweis erbringen, dass sich das Fahrzeug in ihrem Besitz befindet (wobei die Art, wie dieser Nachweis erbracht wird, abhängig vom Autohersteller ist; häufig muss ein oder beide Autoschlüssel mitgebracht werden). Sie können den Kopplungsvorgang in der App des Autoherstellers starten. Ihnen steht dafür ein Link zur Verfügung, den sie direkt vom Autohersteller oder über das Menü im Fahrzeug erhalten. In allen Fällen müssen Eigentümer:innen 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, um einen sicheren Kanal über Global Platform SCP03 für die Datenübertragung zwischen dem Gerät und dem Fahrzeug einzurichten. 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.
Im Kopplungsprozess der Eigentümer:innen sendet das Fahrzeug eine Anfrage über den SCP03-Kanal und fordert das Secure Element des Geräts dazu auf, ein ECC-Schlüsselpaar (Elliptic Curve Cryptography) zu generieren. Die Fahrzeug-ID und der öffentliche Schlüssel des Fahrzeugs werden dann sicher an dieses Schlüsselpaar gekoppelt. Der öffentliche Schlüssel des Geräts (device.PK) wird in einem X.509-Zertifikatformat zusammen mit einer Zertifikatkette zurück an das Fahrzeug gesendet. Diese ist mit dem öffentlichen Schlüssel des Root-Zertifikats des Autoherstellers (root.PK) verifizierbar, der bei der Produktion ins Fahrzeug eingebettet wird. So wird die Verifizierung und Annahme des öffentlichen Schlüssels des Geräts als Eigentümerschlüssel ermöglicht.
Der Eigentümerschlüssel im Secure Element des Geräts bindet auch das root.PK des Autoherstellers, welches vom Fahrzeug über den SCP03-Kanal bereitgestellt wird, sicher an den device.PK für das Teilen des Schlüssels.
Falls aus Versicherungsgründen erforderlich, muss jeder Eigentümerschlüssel beim Server des Autoherstellers hinterlegt werden. Das Gerät sendet seine device.PK-Zertifikatkette an den KTS (Key Tracking Server), welcher eine Signatur zum Bestätigen der Registrierung zurücksendet. Das Gerät stellt dem Fahrzeug am Ende des Eigentümerkopplungsprozesses oder bei der nächsten standardmäßigen Transaktion mit dem Fahrzeug (siehe unten) die Signatur zur Verfügung. Das Fahrzeug aktiviert den Eigentümerschlüssel, wenn die KTS-Signatur erfolgreich verifiziert wurde. Die KTS-Signaturschlüssel sind Besitz des Autoherstellers.
Teilen von Schlüsseln
Das iPhone der absendenden Person kann Schlüssel mit geeigneten Geräten teilen, indem eine Einladungs-URL an Empfänger:innen über beliebige Kommunikationskanäle gesendet wird, z. B. E-Mail, iMessage, WhatsApp, WeChat oder AirDrop. Die URL führt Empfänger:innen zu einem datenschutzgesicherten Posteingang auf einem Relay-Server, der basierend auf einer IETF-Spezifikation implementiert ist. Der Verschlüsselungsschlüssel für den Datenschutz wird als Fragment in der Freigabe-URL gesendet.
Während dieses Vorgangs fordert das iPhone der sendenden Person eine Benutzerauthentifizierung (per Face ID, Touch ID oder durch die Eingabe des Codes) und eine sichere Benutzerabsicht (siehe Verwendung von Optic ID, Face ID und Touch ID). Die Senderautorisierung wird vorübergehend im Secure Element für den späteren Gebrauch, wenn das Empfängergerät die Signaturanfrage zurücksendet, gespeichert.
Für zusätzliche Sicherheit können Absender:innen, um den geteilten Schlüssel zu aktivieren, Empfänger:innen möglicherweise dazu auffordern, eine der vom Autohersteller unterstützten verfügbaren Aktivierungsoptionen oder den eingegebenen Code auf dem Empfängergerät zu verwenden.
Nachdem die Einladung akzeptiert wurde, ruft das Empfängergerät die Schlüsselerstellungsdaten vom Relay-Server-Postfach ab und erstellt einen digitalen Schlüssel gemäß den CCC-Digital-Key-Spezifikationen. Als Bestandteil des Erstellungsprozesses des Schlüssels wird der Schlüssel von Absender:innen signiert. Das Empfängergerät sendet die Zertifikatkette der Schlüsselerstellung über den Relay-Server zurück an das iPhone der Absender:innen. Das iPhone der Absender:innen verwendet dann den root.PK, der im Secure Element eingebettet ist, um zu verifizieren, dass der Empfängerschlüssel mit der erwarteten Zertifikatkette erstellt wurde. Ist dies erfolgreich, signiert das iPhone der Absender:innen den ECC-Public-Schlüssel des Empfängergeräts und sendet die Signatur über den Relay-Server zurück an die Empfänger:innen. Die Signatur wird durch das Aufnehmen der Senderautorisierung, die zuvor im Secure Element gespeichert wurde, autorisiert.
Die Schlüsselberechtigungen und die Absendersignatur werden dem Fahrzeug während der ersten Verwendung des geteilten Schlüssels im Fahrzeug bereitgestellt (weitere Informationen findest du unter Standardtransaktionen). Berechtigungen beschreiben Folgendes:
Zugriffsstufe: Zum Beispiel Entsperren oder Fahren.
Richtlinie für erneutes Teilen: Zum Beispiel kein erneutes Teilen, begrenztes erneutes Teilen oder unbegrenztes erneutes Teilen (hinsichtlich der Länge der Teilkette).
Einige Autohersteller erfordern, dass jeder geteilte Schlüssel beim Server des Herstellers registriert werden muss. Falls erforderlich, sendet das Empfängergerät seine device.PK-Zertifikatkette an den KTS des Autoherstellers, wodurch eine Signatur zum Bestätigen der Registrierung zurückgesendet wird. Das Empfängergerät stellt die Signatur dem Fahrzeug in der ersten Transaktion mit dem Fahrzeug zur Verfügung (weitere Informationen findest du unter Standardtransaktionen). Das Fahrzeug validiert die Signatur, und falls die KTS-Signatur erfolgreich verifiziert wurde, wird der geteilte Schlüssel aktiviert. Diese Signaturschlüssel sind Besitz des Autoherstellers.
Löschen eines Schlüssels
Schlüssel können auf folgende Art und Weise gelöscht werden:
Auf dem Gerät der Fahrzeugeigentümer:innen
Auf dem Gerät der Besitzer:innen
Von einem Freigabegerät mit den passenden Autorisierungen
Innerhalb des Fahrzeugs
Das Löschen wird auf dem iPhone der Schlüsselnutzer:innen sofort umgesetzt, selbst wenn Schlüsselnutzer:innen den Schlüssel aktiv in Gebrauch haben oder das Gerät nicht mit dem Internet verbunden ist.
Das Löschen von Schlüsseln im Fahrzeug kann jederzeit möglich sein, hängt aber von den Richtlinien des Autoherstellers ab:
Jederzeit
Nur, wenn das Fahrzeug online ist
Nur, wenn ein Autoschlüssel vorhanden ist (um zu vermeiden, dass man ohne einen Schlüssel festsitzt)
In jedem Fall wird das Löschen auf dem Gerät der Schlüsselnutzer:innen und im Fahrzeug an den KTS des Autoherstellers gemeldet, auf dem die für ein Fahrzeug ausgegebenen Schlüssel für Versicherungszwecke registriert werden.
Eigentümer:innen und berechtigte Benutzer:innen können über eine Terminierungsanfrage per Fernzugriff, die vom privaten Schlüssel (device.SK) des Antragstellers signiert ist, eine Entfernung beantragen, indem sie Benutzer:innen in den geteilten Accountlisten der Schlüsselbesitzer:innen auf der Rückseite der Autoschlüsselkarte in Apple Wallet auswählen. 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 (wie oben beschrieben). Erst nachdem der Schlüssel vom Fahrzeug entfernt wurde, sendet der Server des Autoherstellers eine signierte Kü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.
Datenschutz und Privatsphäre
Der KTS des Autoherstellers speichert weder die Geräte-ID noch die SEID oder den Apple Account. 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 Benutzer:innen die Option „Alle Inhalte und Einstellungen löschen“ ausführen.
Der CCC-Standard verlangt auch, dass die KTS-Informationen von der Seite des Autoherstellers vertraulich behandelt werden und nur für Versicherungszwecke oder andere berechtigte Anfragen verwendet werden.
Schlüsselregistrierungsdaten (Schlüssel-ID, Fahrzeug-ID, der öffentliche Schlüssel des Fahrzeugs, die Zertifikatkette des öffentlichen Schlüssels des Geräts, Schlüsselberechtigungen), die vom Gerät an das KTS gesendet werden, werden mit einem öffentlichen Schlüssel der KTS-Datenschutzverschlüsselung verschlüsselt. Apple-Server, die die Schlüsselregistrierungsdaten vom Gerät an die Autohersteller-Server übermitteln, können diese Daten nicht entschlüsseln. Apple weiß nicht, mit wem Eigentümer:innen die Schlüssel für das Auto teilen.
Jedes andere iPhone- oder Apple Watch-Zubehör, das sich nicht beim Gerät authentifizieren kann, kann keine stabile ID über eine Standard- oder eine schnelle Transaktion über NFC oder Bluetooth empfangen. Falls das Gerät die Fahrzeug-ID nicht erkennt (z. B. wenn fälschlicherweise versucht wird, auf ein Fahrzeug zuzugreifen, das ähnlich wie das Eigentümerfahrzeug aussieht), verwendet das Applet im Secure Element einen Ersatzschlüssel, der zufällige Werte anstelle der tatsächlich bedeutenden Schlüssel oder Kryptogramme generiert.
Die erste Bluetooth-Verbindung wird durch die Verwendung der vorübergehenden Schlüssel geschützt, die beim Teilen des Autoschlüssels oder vom Autohersteller als Antwort auf Schlüssel-Tracking-Anfragen bereitgestellt werden.