
Transazioni delle chiavi di automobile
Le chiavi di automobile possono usare vari tipi di transazioni.
Transazioni rapide
Una transazione rapida viene usata solo per sbloccare il veicolo tramite NFC.
iPhone genera un crittogramma AES-128 basato su un segreto precedentemente generato da entrambe le parti durante una transazione standard. Tale crittogramma consente al veicolo di eseguire rapidamente l’autenticazione del dispositivo in scenari in cui sono necessarie particolari prestazioni, poiché è usata solo la crittografia simmetrica ed è richiesto un solo trasferimento tra il lettore NFC e l’unità di controllo elettronica. Se il veicolo richiede accesso in lettura o scrittura alla casella privata, alla casella riservata o a entrambe (ciascuna chiave di automobile in Secure Element ha la propria coppia di caselle), viene stabilito un canale sicuro Global Platform SCP03 tra il veicolo e il dispositivo derivando chiavi di sessione da un segreto condiviso precedentemente durante una transazione standard e una nuova coppia di chiavi effimere. L’abilità del veicolo di stabilire il canale sicuro autentica il veicolo su iPhone. Se il veicolo archivia chiavi per più dispositivi, deve procedere per tentativi usando prima le chiavi più utilizzate per trovare la chiave simmetrica giusta, perché il dispositivo non trasmette un identificativo tracciabile nella transazione rapida, in cui il veicolo non è stato autenticato dal dispositivo.
Se per il dispositivo che esegue la transazione non è stata stabilita nessuna chiave simmetrica, il veicolo usa la propria chiave pubblica effimera (vehicle.PK) per continuare con una transazione standard (consulta “Transazioni standard” di seguito).
Transazioni standard
Una transazione standard viene usata per sbloccare il veicolo tramite NFC se non sono state stabilite chiavi simmetriche per la transazione rapida tramite una transazione standard precedente o quando una nuova chiave condivisa esegue una transazione con il veicolo per la prima volta. Viene usata sempre per autorizzare la guida.
Il veicolo avvia un canale sicuro tra se stesso e iPhone generando coppie di chiavi effimere ECC sul lettore sul lato iPhone. Utilizzando un metodo di accordo tra le chiavi ECKA-DH, è possibile derivare un segreto condiviso su entrambi i lati, da utilizzare per generare una chiave simmetrica condivisa per la transazione rapida, tramite il protocollo Diffie-Hellman, una funzione di derivazione delle chiavi HKDF (RFC 5869) e firme dalla chiave a lungo termine stabilita durante l’abbinamento.
La chiave pubblica effimera generata sul lato veicolo è firmata con la chiave privata a lungo termine del lettore, il che risulta nell’autenticazione del veicolo da parte di iPhone. Dal punto di vista di iPhone, questo protocollo è progettato per impedire a un malintenzionato che intercetti la comunicazione di ricevere dati privati o di impersonare un veicolo.
iPhone utilizza il canale sicuro stabilito e non autenticato per crittografare l’identificativo della propria chiave pubblica, insieme alla firma calcolata dalla richiesta derivata dai dati del lettore e alcuni altri dati specifici per l’app. Questo controllo della firma di iPhone da parte del veicolo consente a quest’ultimo di autenticare il dispositivo.
La transazione standard NFC viene usata anche per il primo approccio al veicolo di una nuova chiave condivisa, dal momento che il veicolo non conosce la nuova chiave device.PK. Quando l’utente si avvicina alla maniglia dello sportello, il veicolo avvia una transazione rapida, ma non è in grado di verificare il crittogramma. Quindi continua con l’esecuzione di una transazione standard (il comando del lettore per la transazione rapida, AUTH0, è anche il primo comando per la transazione standard), crea un canale sicuro GP SCP03 e legge il contenuto della casella privata che dovrebbe contenere un’attestazione della nuova device.PK, firmata dall'utente che effettua la condivisione (il veicolo conosce già sharer.PK o owner.PK) e firmata dal server di tracciamento delle chiavi tramite una crittografia di proprietà del produttore. Dopo la verifica delle firme, il veicolo accetta device.PK come una nuova chiave.
Transazioni standard BLE/UWB
Per i veicoli che utilizzano una chiave a banda ultralarga, viene stabilita una sessione Bluetooth LE tra il veicolo e iPhone. In modo analogo a quanto avviene per una transazione NFC, viene derivato da entrambi i lati un segreto condiviso che viene poi utilizzato per stabilire una sessione sicura. Successivamente, la sessione viene utilizzata per ottenere e firmare una UWB Ranging Secret Key (URSK). La URSK viene fornita ai trasmettitori a banda ultralarga nel dispositivo dell’utente e, nel canale sicuro di proprietà del produttore del veicolo, alle ancore della banda ultralarga.
Nota: le ancore sono generalmente posizionate nei quattro angoli del veicolo, all’interno e facoltativamente dentro il bagagliaio, per consentire una localizzazione autenticata e precisa del dispositivo dell’utente in una posizione specifica vicino al veicolo o al suo interno. Il veicolo utilizzerà quindi la posizione del dispositivo per decidere se consentire o meno lo sblocco dell’auto o l’accensione del motore.
Le URSK hanno una scadenza predefinita. Per evitare l’interruzione delle operazioni di localizzazione quando dopo la loro scadenza, è possibile prederivare le chiavi URSK in Secure Element sul dispositivo e nel modulo di sicurezza hardware/Secure Element del veicolo mentre la localizzazione protetta non è attiva, ma il Bluetooth è connesso. In questo modo, durante una transazione standard non è più necessario derivare una nuova URSK in situazioni in cui la rapidità è cruciale. La chiave URSK prederivata può essere trasferita molto rapidamente alle radio UWB dell’auto e del dispositivo per evitare l’interruzione del ranging UWB.