
Transactions de clé de véhicule
Les clés de véhicule peuvent utiliser divers types de transactions.
Transactions rapides
La transaction rapide est utilisée uniquement pour déverrouiller le véhicule par CCP.
L’iPhone génère un cryptogramme AES‑128 basé sur un secret précédemment partagé au cours d’une transaction standard. Ce cryptogramme permet au véhicule d’authentifier rapidement l’appareil dans des scénarios où les performances importent, car seule la cryptographie symétrique est utilisée, et un seul transfert est requis entre le lecteur CCP et l’unité de contrôle électronique (ECU). Si le véhicule a besoin d’un accès en lecture ou en écriture à la boîte aux lettres privée, à la boîte aux lettres confidentielle ou aux deux (chaque clé de véhicule dans le Secure Element a une paire de boîtes aux lettres), un canal Global Platform SCP03 est établi entre le véhicule et l’appareil en dérivant les clés de session à partir d’un secret précédemment partagé au cours d’une transaction standard, et d’une paire de clés éphémères. C’est la capacité du véhicule à établir un canal sécurisé qui l’authentifie auprès de l’iPhone. Si le véhicule stocke les clés de plusieurs appareils, il doit tenter une méthode « essais et erreurs » selon un schéma « clé la plus utilisée en premier » pour trouver la bonne clé symétrique, car l’appareil ne transmet pas d’identifiant traçable lors de la transaction rapide quand le véhicule n’est pas authentifié par l’appareil.
Si aucune clé symétrique n’a été établie pour l’appareil de la transaction, le véhicule utilise une clé publique de véhicule éphémère (vehicle.PK) pour procéder à une transaction standard (consultez la section « Transactions standard » ci-dessous).
Transactions standard
La transaction standard est utilisée pour déverrouiller le véhicule par CCP si aucune clé symétrique pour transaction rapide n’a été établie par une transaction standard précédente ou lorsqu’une clé nouvellement partagée effectue une toute première transaction avec le véhicule (première transaction de clé amicale [FFT]). Elle est toujours utilisée pour autoriser la conduite.
Le véhicule ouvre un canal sécurisé entre le lecteur et un iPhone en générant des paires de clés ECC éphémères sur le lecteur et sur l’iPhone. Au moyen d’une méthode d’échange de clés ECKA-DH, un secret partagé peut être dérivé de part et d’autre et utilisé pour générer une clé symétrique partagée pour la transaction rapide au moyen d’un protocole d’échange de clés Diffie-Hellman, une fonction de dérivation de clés HKDF (RFC 5869) et des signatures provenant de la clé longue durée établie lors du jumelage.
La clé publique éphémère générée par le véhicule est signée par la clé longue durée privée du lecteur. Cela permet à l’iPhone d’authentifier le véhicule. Du point de vue de l’iPhone, ce protocole est conçu pour empêcher la divulgation de données sensibles et confidentielles à tout adversaire qui intercepterait la communication ou qui se ferait passer pour un véhicule.
L’iPhone utilise le canal sécurisé non authentifié établi pour chiffrer l’identifiant de sa clé publique ainsi que la signature calculée à partir d’un défi dérivé des données du lecteur et de certaines données précises qui se rapportent à l’app. Cette vérification de la signature de l’iPhone par le véhicule permet à ce dernier d’authentifier l’appareil.
La transaction standard CCP est aussi utilisée pour la première approche (FFT) du véhicule d’une clé nouvellement partagée, car le véhicule ne connaît par encore la nouvelle clé device.PK). Lorsque l’utilisateur approche la poignée de portière, le véhicule lance une opération rapide, mais n’est pas en mesure de vérifier le cryptogramme. Il procède alors à une transaction standard (la commande du lecteur pour la transaction rapide, AUTH0, est aussi la première commande de la transaction standard), crée un canal sécurisé GP SCP03 et lit le contenu de la boîte aux lettres privée il devrait trouver où une attestation de la nouvelle clé device.PK, signée par l’appareil ayant effectué le partage (le véhicule connaît déjà la clé sharer.PK ou owner.PK) et par le KTS au moyen d’une cryptographie exclusive au constructeur automobile. Après la vérification des signatures, le véhicule accepte la clé device.PK comme nouvelle clé.
Transactions standard BLE/UWB
Pour les véhicules utilisant une clé compatible avec la bande ultralarge (UWB), une session Bluetooth LE est établie entre le véhicule et l’iPhone. Comme pour la transaction CCP, un secret partagé est dérivé des deux côtés et utilisé pour l’établissement d’une session sécurisée. Cette session est utilisée pour dériver et accepter une clé secrète de portée UWB (URSK). L’URSK est fournie aux radios UWB de l’appareil de l’utilisateur et, dans un canal sécurisé d’origine exclusif au véhicule, aux ancres UWB.
Remarque : Les ancres sont habituellement situées aux quatre coins d’un véhicule, à l’intérieur et facultativement dans le coffre du véhicule pour permettre une localisation précise et authentifiée de l’appareil de l’utilisateur à une position exacte à proximité ou à l’intérieur du véhicule. Le véhicule utilise ensuite la position de l’appareil pour prendre des décisions concernant le déverrouillage ou le démarrage du véhicule.
La durée de vie des URSK est prédéfinie. Pour éviter l’interruption de la portée lorsqu’une durée de vie expire, les URSK peuvent être déduites à l’avance dans le Secure Element de l’appareil ainsi que dans le module de sécurité matériel (HSM) et le Secure Element du véhicule alors que la localisation sécurisée n’est pas active, mais que Bluetooth est connecté. Cela évite d’avoir à effectuer une transaction standard pour dériver un nouvel URSK dans une situation où le temps est critique. L’URSK dérivé peut être transféré très rapidement aux radios UWB du véhicule et de l’appareil pour éviter d’interrompre la portée UWB.