
Comunicare informazioni di emergenza via satellite
Gli utenti con iPhone 14 o versioni successive possono comunicare tramite connessione satellitare per usufruire di vari servizi. Il collegamento satellitare impone limitazioni significative all’ampiezza di banda e richiede protocolli di sicurezza con requisiti di banda minimi. A prescindere dal tipo di comunicazione (“SOS emergenze”, SMS o iMessage), Apple stabilisce una sessione sicura tra il dispositivo fuori copertura e un centro di elaborazione dati Apple. I dispositivi registrano preventivamente il materiale delle chiavi con il server tramite la connessione Wi-Fi, per risparmiare banda mentre si trovano fuori copertura.
Architettura di sicurezza principale
Quando un dispositivo richiede un servizio satellitare, stabilisce una connessione sicura con il centro di elaborazione dati Apple facendo riferimento a un hash troncato della sua chiave pubblica per lo scambio delle chiavi. Ciascuna coppia di chiavi pubbliche e private supporta solo una singola sessione, con una validità massima di otto ore. Il server genera anticipatamente una coppia di chiavi pubbliche e private corrispondente per ciascuna coppia di chiavi del client e condivide la chiave pubblica con il client.
Una volta scaduta o terminata la sessione, i server Apple e il dispositivo rimuovono le chiavi private corrispondenti, offrendo forward secrecy. Apple e i dispositivi registrano chiavi aggiuntive a intervalli regolari e dopo essere tornati online in seguito all’uso di una chiave privata, fornendo una protezione alle comunicazioni satellitari anche in caso di compromissione delle chiavi. Eventuali osservatori non possono identificare gli utenti tramite gli identificativi di sessione, poiché ciascun dispositivo fa ruotare gli identificativi in ciascuna sessione, per evitare il collegamento.
Servizi di emergenza e assistenza stradale via satellite
Quando gli utenti fanno uso dei servizi di emergenza o di assistenza stradale via satellite, la connessione sicura con Apple (descritta sopra) protegge i contenuti della comunicazione. Un livello di crittografia aggiuntivo garantisce che i contenuti rimangano crittografati fino al server delle applicazioni, che inoltra tali messaggi ai partner per i servizi di emergenza e di assistenza stradale di Apple con crittografia durante la trasmissione.
iMessage via satellite
Se uno qualsiasi dei dispositivi nel gruppo del mittente o del destinatario supporta il servizio satellitare, durante l’uso di iMessage via Wi-Fi o cellulare, i dispositivi scambiano il materiale delle chiavi insieme ai messaggi. Attraverso questo meccanismo, i dispositivi ricevono regolarmente chiavi aggiornate che consentono loro di crittografare e decrittografare i messaggi quando la connessione cellulare è assente e si connettono al satellite. A causa delle limitazioni relative alla durata delle chiavi, gli utenti devono scambiare messaggi entro 30 giorni per poter comunicare fuori copertura.
Ciascun dispositivo genera materiale di chiavi simmetriche e lo distribuisce usando la crittografia di iMessage per proteggere i propri messaggi in uscita. Ciascun messaggio usa una chiave simmetrica unica ottenuta tramite una funzione di derivazione basata sugli hash per il proprio contatore di messaggi corrispondente. Quando riceve un messaggio, il dispositivo del destinatario cerca il materiale delle chiavi simmetriche del mittente per ottenere la chiave corrispondente. Quando il dispositivo torna online, vengono distribuite nuove chiavi simmetriche per le sessioni successive.
Il dispositivo del mittente invia messaggi iMessage via satellite solo dopo aver ricevuto un payload dal destinatario che conferma che il dispositivo può riceverli.
Nota: iMessage tramite satellite supporta solo messaggi tra persone singole, non gruppi.
SMS via satellite
Quando gli utenti inviano o ricevono messaggi SMS via satellite, essi passano da una IWF (Interworking Function) sulla rete. La IWF riceve i messaggi destinati al client fuori copertura dal gestore del mittente (il client risulta in roaming mentre si trova fuori copertura, perché non si trova sulla rete locale del gestore). In modo analogo, la IWF consegna i messaggi in uscita dal client fuori copertura al gestore locale del destinatario. Gli SMS scambiati tra il client fuori copertura e la IWF sono protetti da crittografia e autenticazione, impedendo sia ad Apple sia a soggetti che possono ricevere il segnale satellitare di accedere ai messaggi o modificarli.
Mentre un client ha accesso alla rete, viene avviato uno scambio di chiavi Diffie-Hellman tramite la curva NIST P256 e viene completato quando il client esce dalla copertura e stabilisce la connessione saltellitare iniziale. Tramite HKDF-SHA-256, Apple e il dispositivo ottengono varie chiavi da questo scambio. Una chiave esegue la crittografia simmetrica (tramite AES-GCM con una chiave a 256 bit) delle informazioni del client necessarie al corretto instradamento degli SMS (IMSI e SMSC). Un altro set fornisce la crittografia bidirezionale dei messaggi tra il client e la IWF, sempre usando AES-GCM con una chiave a 256 bit.
Poiché le connessioni satellitari hanno un’ampiezza di banda inferiore e una latenza maggiore rispetto alle comunicazioni cellulari tradizionali, non tutti gli SMS raggiungono il client immediatamente quando si trova fuori copertura e si connette, in modo da impedire ai messaggi indesiderati o di bassa importanza di ritardare la ricezione degli SMS importanti. Quindi il sistema trasmette in messaggi in entrata al client solo se:
1. Il client, mentre si trova fuori copertura, ha inviato un messaggio al mittente entro le ultime 24 ore.
2. Il mittente è un contatto approvato (fa parte dei contatti di emergenza dell’utente o fa parte del suo gruppo familiare di iCloud).
In caso contrario, Apple archivia il messaggio crittografato sui propri server finché il client non torna online, con la possibilità di ricevere messaggi tramite la rete tradizionale. Per proteggere la privacy dell’utente, Apple si assicura che la IWF non venga a conoscenza del suo elenco di mittenti approvati.
Il client usa HMAC-SHA-256 con una chiave derivata dalla chiave principale della sessione per generare pseudonimi casuali per ciascun numero di telefono in ogni sessione. Nel momento in cui viene stabilita una sessione, il client invia gli pseudonimi di ciascun numero di telefono nell’elenco dei contatti approvati al server Apple. In modo analogo, genera e invia una pseudonimo ad Aple ogni volta che il client invia un SMS a un numero di telefono. Ciò consente ad Apple di conservare un elenco degli pseudonimi dei mittenti consentiti per la sessione.
Quando qualcuno invia un SMS al client dopo che è stata stabilita la sessione, la IWF effettua la crittografia del messaggio e calcola lo pseudonimo del numero di telefono del mittente. Esso viene comunicato ai server Apple insieme al messaggio crittografato. Il server confronta lo pseudonimo del mittente del messaggio in entrata con l’elenco dei contatti consentiti e, se viene trovata una corrispondenza, il messaggio viene inoltrato.