Sicurezza delle chiavi dell’automobile in iOS
Gli sviluppatori sono in grado di supportare l’accesso sicuro senza chiavi fisiche a un veicolo tramite un iPhone compatibile e l’Apple Watch abbinato.
Abbinamento da parte del proprietario
Il proprietario deve dare prova del possesso del veicolo (il metodo varia a seconda del produttore) e può avviare il processo di abbinamento nell’app del produttore, tramite un link ricevuto via email dal produttore o dall’interfaccia del veicolo. In tutti i casi, il proprietario deve presentare ad iPhone una password di abbinamento unica e confidenziale, che viene usata per generare un canale di abbinamento sicuro tramite il protocollo SPAKE2+ con la curva NIST P-256. Quando si utilizza l’app o il link via email, la password viene trasferita automaticamente ad iPhone, mentre deve essere inserita manualmente quando l’abbinamento viene avviato dal veicolo.
Condivisione delle chiavi
L’iPhone abbinato del proprietario può condividere le chiavi con gli iPhone (e con gli Apple Watch abbinati) di amici e familiari idonei inviando un invito specifico per ciascun dispositivo tramite iMessage e il servizio IDS. Tutti i comandi di condivisione vengono scambiati utilizzando la funzionalità IDS con codifica end-to-end. L’iPhone abbinato del proprietario impedisce che il canale IDS cambi durante il processo di condivisione, al fine di evitare che l’invito venga inoltrato.
Una volta accettato l’invito, l’iPhone dell’altra persona crea una chiave digitale e invia la catena di certificati per la creazione della chiave all’iPhone abbinato del proprietario, per verificare che sia stata creata da un dispositivo Apple autentico. L’iPhone abbinato del proprietario firma la chiave pubblica ECC dell’iPhone dell’altra persona e invia la firma a tale dispositivo. La firma nel dispositivo del proprietario richiede l’autenticazione da parte dell’utente (Face ID, Touch ID o inserimento del codice) e l’intenzione dell’utente, come descritto in Utilizzi di Face ID e Touch ID. L’autorizzazione viene richiesta durante l’invio dell’invito ed è archiviata in Secure Element, pronta per essere usata quando il dispositivo dell’altra persona invia la richiesta di firma. I permessi per le chiavi vengono forniti al veicolo online tramite il server OEM del veicolo oppure durante il primo utilizzo delle chiavi condivise.
Eliminazione delle chiavi
Una chiave può essere eliminata dal dispositivo di chi l’ha ricevuta utilizzando il dispositivo del proprietario o l’interfaccia del veicolo. L’eliminazione dall’iPhone di chi l’ha ricevuta ha effetto immediato, anche se la chiave è in uso. Quindi, prima dell’eliminazione viene mostrato un avviso. Potrebbe essere possibile eliminare le chiavi dal veicolo in qualsiasi momento oppure soltanto quando è online.
In entrambi i casi, l’eliminazione viene comunicata a un server del produttore, che conserva un inventario delle chiavi emesse per ogni veicolo a scopi assicurativi.
Il proprietario può richiedere un’eliminazione della propria chiave. La richiesta viene prima inviata al produttore, per la rimozione dal veicolo. Le condizioni per la rimozione della chiave dal veicolo sono definite dal produttore. Solo quando la chiave è rimossa dal veicolo, il server del produttore invierà una richiesta di annullamento remota al dispositivo di chi ha ricevuto la chiave.
Quando una chiave è annullata su un dispositivo, l’applet che gestisce le chiavi digitali crea un attestato di annullamento con firma crittografica, che viene usato dal produttore come prova dell’eliminazione e per rimuovere la chiave dal proprio inventario.
Transazioni standard NFC
Per i veicoli che utilizzano una chiave NFC, viene aperto un canale sicuro tra il lettore e iPhone, generando coppie di chiavi effimere sul lato lettore e sul lato iPhone. Utilizzando un metodo di accordo tra le chiavi, è possibile derivare un segreto condiviso su entrambi i lati, da utilizzare per generare una chiave simmetrica condivisa, tramite il protocollo Diffie-Hellman, una funzione di derivazione delle chiavi 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 lettore 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.
Infine, iPhone utilizza il canale sicuro stabilito per codificare 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 lettore consente a quest’ultimo di autenticare il dispositivo.
Transazioni rapide
iPhone genera un crittogramma basato su un segreto precedentemente condiviso durante una transazione standard. Il crittogramma consente al veicolo di eseguire rapidamente l’autenticazione del dispositivo in situazioni in cui sono necessarie alte prestazioni. Facoltativamente, viene stabilito un canale sicuro tra il veicolo e il dispositivo, derivando chiavi di sessione da un segreto condiviso in precedenza 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.
Transazioni standard BLE/UWB
Per i veicoli che utilizzano una chiave UWB, 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 chiave URSK viene fornita alle radio UWB nel dispositivo dell’utente e sul veicolo per abilitare la localizzazione accurata del dispositivo in una posizione specifica nelle vicinanze o all’interno del veicolo. Il veicolo utilizzerà quindi la posizione del dispositivo per decidere se consentire o meno lo sblocco dell’auto o l’accensione del motore. Le chiavi URSK presentano un TTL predefinito. Per evitare l’interruzione delle operazioni di ranging quando un TTL scade, è possibile prederivare le chiavi URSK in SE del dispositivo e HSM/SE del veicolo, mentre il ranging protetto non è attivo ma BLE è 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.
Privacy
Il server del produttore che conserva l’inventario delle chiavi non archivia l’ID del dispositivo, il SEID o l’ID Apple. Esso archivia solamente un identificativo mutabile, l’identificativo dell’autorità di certificazione. Tale identificativo non è legato a nessun dato privato sul dispositivo o sul server e viene eliminato quando l’utente inizializza il dispositivo (tramite l’opzione “Inizializza contenuto e impostazioni”).