
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 della persona proprietaria
La persona proprietaria deve dare prova del possesso del veicolo (il metodo varia a seconda del produttore e spesso richiede una o due chiavi elettroniche) e può avviare la procedura di abbinamento nell’app del produttore, tramite un link ricevuto via email dal produttore o dall’interfaccia del veicolo. In tutti i casi, la persona proprietaria 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 per creare un canale sicuro Global Platform SCP03 per trasferire dati tra il dispositivo e il veicolo. 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.
Nella procedura di abbinamento da parte della persona proprietaria, il veicolo invia una richiesta tramite il canale SCP03 che chiede al Secure Element del dispositivo di generare una coppia di chiavi ECC. L’identificativo del veicolo e la sua chiave pubblica vengono quindi collegate in modo sicuro a questa coppia di chiavi. La chiave pubblica del dispositivo (device.PK) viene rinviata al veicolo sotto forma di certificato X.509 insieme a una catena di certificati che è verificabile con la chiave pubblica del certificato root (root.PK), che viene integrata nel veicolo in fase di produzione. Ciò consente la verifica e l'accettazione della chiave pubblica del dispositivo come chiave della persona proprietaria.
La chiave della persona proprietaria nel Secure Element del dispositivo collega anche in modo sicuro la chiave root.PK del produttore, che viene fornita dal veicolo tramite il canale SCP03, alla chiave device.PK per la condivisione.
Se richiesto a scopi assicurativi, ciascuna chiave della persona proprietaria deve essere registrata presso i server del produttore. Il dispositivo invia la propria catena di certificati device.PK al server di tracciamento delle chiavi, che risponde inviando una firma per confermare la registrazione. Il dispositivo fornisce la firma al veicolo alla fine della procedura di abbinamento da parte della persona proprietaria o al momento della successiva transazione standard con il veicolo (vedi sotto) e il veicolo abilita la chiave della persona proprietaria se la firma del server di tracciamento è stata verificata correttamente. Le chiavi di firma del server di tracciamento sono di proprietà del produttore del veicolo.
Condivisione delle chiavi
L’iPhone del mittente può condividere chiavi con dispositivi idonei inviando un URL di invito al destinatario tramite qualsiasi canale di comunicazione, ad esempio, email, iMessage, WhatsApp, WeChat o AirDrop. L’URL indirizza il destinatario a una casella privata protetta su un server di relay, la cui implementazione è basata su una specifica IETF. La chiave crittografica per la privacy viene inviata come frammento nell’URL di condivisione.
Durante la procedura, l’iPhone del mittente richiede l’autenticazione da parte dell’utente (Face ID, Touch ID o inserimento del codice) e l’intenzione sicura dell’utente, come descritto in Utilizzi di Optic ID, Face ID e Touch ID. L’autorizzazione del mittente viene archiviata temporaneamente in Secure Element per essere usata in seguito, quando il dispositivo del destinatario restituisce la richiesta di firma.
Come ulteriore forma di sicurezza, per attivare la chiave condivisa, il mittente può chiedere al destinatario di usare una delle opzioni di attivazione disponibili supportate dal produttore o l’inserimento di un codice sul dispositivo del destinatario.
Quando l’invito viene accettato, il dispositivo del destinatario riceve i dati di creazione della chiave dalla casella del server di relay e crea una chiave digitale secondo le apposite specifiche stabilite dal CCC. Durante la procedura di creazione della chiave, questa viene firmata dal mittente. Il dispositivo destinatario rinvia all’iPhone del mittente la catena di certificati per la creazione della chiave usando il server di relay. L’iPhone del mittente quindi usa la chiave root.PK integrata in Secure Element per verificare che la chiave del destinatario sia stata creata usando la catena di certificati prevista. Se la verifica va a buon fine, l’iPhone del mittente firma la chiave pubblica ECC del dispositivo destinatario e rinvia la firma al destinatario tramite il server di relay. La firma viene autorizzata usando l’autorizzazione del mittente precedentemente archiviata in Secure Element.
Le autorizzazioni della chiave e la firma del mittente vengono fornite al veicolo durante il primo utilizzo della chiave condivisa sul veicolo stesso (consulta Transazioni standard). Le autorizzazione descrivono quanto segue:
Livello di accesso: ad esempio, sblocco o guida.
Politica di ricondivisione: ad esempio, ricondivisione non consentita, limitata o illimitata (in termini di lunghezza della catena di condivisioni).
Alcuni produttori richiedono che ciascuna chiave condivisa venga registrata sui propri server. Se ciò è richiesto, il dispositivo destinatario invia la propria catena di certificati device.PK al server di tracciamento delle chiavi del produttore, che risponde inviando una firma per confermare la registrazione. Il dispositivo destinatario presenta tale firma al veicolo durante la prima transazione con il veicolo stesso (consulta Transazioni standard). Il veicolo convalida la firma e, se la firma del server di tracciamento delle chiavi è stata verificata correttamente, abilita la chiave condivisa. Queste chiavi di firma sono di proprietà del produttore del veicolo.
Eliminazione delle chiavi
Le chiavi possono essere eliminate nei seguenti modi:
Sul dispositivo dell’utente che l’ha ricevuta
Dal dispositivo della persona proprietaria
Dal dispositivo di una persona che l’ha condivisa e che dispone delle corrette autorizzazioni
Mentre ci si trova all’interno del veicolo
L’eliminazione dall’iPhone di chi l’ha ricevuta ha effetto immediato, anche se la chiave è in uso o se il dispositivo non è connesso a internet.
L’eliminazione delle chiavi nel veicolo può essere possibile, a discrezione delle politiche del produttore:
In qualsiasi momento
Solo quando il veicolo è online
Solo quando è presente una chiave elettronica (per evitare di rimanere bloccati senza chiave)
In ciascun caso, l’eliminazione sul dispositivo dell’utente che l’ha ricevuta o sul veicolo viene comunicata al server di tracciamento del produttore, che conserva un inventario delle chiavi emesse per ogni veicolo a scopi assicurativi.
La persona proprietaria e gli utenti idonei possono richiedere l’eliminazione tramite una richiesta di annullamento remota firmata dalla chiave privata della persona richiedente (device.SK) selezionando gli utenti nell’elenco degli account con chiavi sul retro del pass della chiave dell’auto in Apple Wallet. 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 (come elencato sopra). Solo quando la chiave è rimossa dal veicolo, il server del produttore invierà una richiesta di annullamento remota firmata 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.
Privacy
Il server di tracciamento delle chiavi del produttore non archivia l’ID, il SEID o l’Apple Account del dispositivo. 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 usa l’opzione “Inizializza contenuto e impostazioni”.
Inoltre, lo standard del CCC richiede che le informazioni del server di tracciamento delle chiavi vengano mantenute riservate da parte del produttore del veicolo e che vengono usate solo a scopi assicurativi o per altre richieste idonee.
I dati di registrazione delle chiavi (identificativo della chiave e del veicolo, chiave pubblica del veicolo, catena di certificati della chiave pubblica del veicolo, autorizzazioni delle chiavi) che sono inviati dal dispositivo al server di tracciamento sono crittografati tramite un’apposita chiave pubblica per la privacy. I server Apple che trasmettono i dati di registrazione delle chiavi dal dispositivo al server del produttore non sono in grado di decrittografare tali dati. Apple non è a conoscenza degli utenti con cui la persona proprietaria ha condiviso la chiave del proprio veicolo.
Qualsiasi altro accessorio di iPhone o Apple Watch che non è in grado di eseguire l'autenticazione con il dispositivo non ha la possibilità di ricevere un identificativo stabile attraverso una transazione standard o rapida tramite NFC o Bluetooth. Se il dispositivo non riconosce l’identificativo del dispositivo (ad esempio, se si tenta per errore di accedere a un veicolo che ha lo stesso aspetto di quello della persona che dispone della chiave), l’applet in Secure Element usa una chiave sostitutiva che genera valori casuali al posto di chiavi o crittogrammi significativi.
La connessione Bluetooth iniziale è protetta tramite chiavi temporanee che vengono fornite durante la condivisione della chiave dell’auto o dal produttore nella risposta alla richiesta di tracciamento della chiave.