L’evoluzione della SIM card

Uno sguardo all’evoluzione della cara, vecchia SIM card e i risultati fino a ora.

Una SIM card, o Subscriber Identity Module (modulo d’identità dell’abbonato) è un elemento familiare di un telefonino. Può essere facilmente scambiata o sostituita, tuttavia non è nata insieme al telefono cellulare: i primi supportavano solo gli standard di comunicazione integrata; i parametri di abbonamento erano fissati nella memoria del terminale mobile.

Gli standard analoghi più antichi come NMT-450 non impiegavano alcuno strumento di sicurezza: i dati dell’abbonamento potevano essere copiati su un altro dispositivo e clonati, permettendo l’invio e la ricezione di chiamate a nome del legittimo proprietario, a costo zero.

I primi strumenti di sicurezza, inventati poco più tardi, furono il cosiddetto codice SIS (Subscriber Identity Security, sicurezza d’identità dell’abbonato), un numero a 18 cifre corrispondente a un unico dispositivo e fissato in un processore di applicazione. I codici SIS erano distribuiti uniformemente tra i venditori, quindi due dispositivi non potevano avere lo stesso codice SIS. Inoltre il processore archiviava un codice RID a 7 cifre che veniva trasmesso a una stazione base quando un abbonato si registrava a una rete cellulare.


La stazione base avrebbe generato un numero casuale che il processore avrebbe utilizzato per produrre il codice di autorizzazione, insieme a un’esclusiva risposta SIS.

Sia i codici, sia i numeri erano relativamente brevi, benché adeguati nel 1994: com’era prevedibile, in seguito il sistema venne forzato, solo tre anni prima che apparisse lo standard GSM (Sistema Globale per le Comunicazioni Mobili). Era progettato per essere più sicuro perché impiegava un sistema di autorizzazione simile, sebbene più cripticamente resistente. Lo standard divenne quindi “separato”.


Questo significava che l’autorizzazione era allora eseguita totalmente su un processore esterno integrato su una smart card. Il risultato venne chiamato SIM. Con l’introduzione delle SIM card, l’abbonamento non dipendeva più dal dispositivo, che un utente poteva cambiare tutte le volte che voleva, conservando l’identità mobile.

Una SIM card è, fondamentalmente, una comune smart card ISO 7816 che nella sostanza non differisce da altre schede IC con contatto, tipo le carte di credito o le schede telefoniche. Le prime SIM erano anche delle stesse dimensioni, ma la diffusa tendenza a rimpicciolire ha portato a una forma più moderna e compatta.

La tradizionale SIM card grande 1FF (1st Form Factor) non sarebbe più entrata nel telefono, così l’industria ha inventato una semplice soluzione di compatibilità: una SIM card più piccola (mini-SIM, o 2FF, o 2nd Form Factor), che oggi è comune per gli utenti, venne posta nel supporto plastico della misura dell’1FF, così la forma aggiornata limitava il chip e i dispositivi di contatto a uno spazio minore e poteva essere facilmente rimossa.

Sebbene questa tendenza al rimpicciolimento sia continuato con la micro-SIM (3FF) e poi la nano-SIM (4FF), la forma e i dispositivi di contatto, come pure le caratteristiche dei chip integrati, sono rimasti gli stessi per quasi 25 anni. Oggigiorno, per soddisfare le esigenze degli utenti che preferiscono ancora i telefoni molto antiquati, vengono prodotte schede in plastica di grandi dimensioni.

Detto questo, molti dispositivi adesso obsoleti non supporterebbero le attuali SIM card, anche se sono grandi. Il punto è che la tensione di esercizio delle precedenti SIM card era di 5 V, mentre le card attuali richiedono 3 V. Molti produttori di SIM preferiscono scambiare la compatibilità con il costo, quindi la maggioranza delle moderne SIM card non supporterà due voltaggi.


Durante la linea di produzione, certe informazioni sono scritte nella memoria di una SIM card: l’IMSI (International Mobile Subscriber Identity, identità internazionale di utente di telefonia mobile) secondo l’operatore che ha ordinato il batch, e un codice di 128-bit chiamato Ki (Key Identification, identificazione di codice). In breve, l’IMSI e il Ki sono rispettivamente il login e la password dell’abbonato, fissati nel chip della SIM card.

La corrispondenza tra l’IMSI di un abbonato e il numero di telefono è conservato in uno speciale database chiamato HLR (Home Location Register). Questi dati vengono copiati su un altro database, il VLR (Visitor Location Register) in ciascun segmento della rete, basato sulla temporanea registrazione “ospite” dell’abbonato a un’altra stazione base.

Il processo di autorizzazione è piuttosto semplice. Quando un abbonato è registrato a un database temporaneo, il VLR invia un numero casuale di 128-bit al numero telefonico. Il processore della SIM card utilizza l’algoritmo per generare una risposta di 32-bit (SRES) al VLR, basata sul numero RAND e sul Ki. Se il VLR riceve una risposta coerente, l’abbonato viene registrato alla rete. La SIM genera anche un altro codice temporaneo chiamato Kc. Il suo valore viene calcolato in base ai sopramenzionati RAND e Ki con l’ausilio dell’algoritmo A8. Quel codice, a sua volta, viene usato per criptare dati trasmessi mediante l’algoritmo A5.

Sembra un po’ complicato per via dei tanti acronimi, ma l’idea di base è piuttosto semplice: primo, inserite un login e una password fissati nella SIM, secondo, create dei codici di verifica e di criptaggio con un paio di trucchetti matematici ed è fatta, siete connessi.

Il criptaggio è sempre abilitato in automatico, tuttavia, in alcune circostanze (per esempio, in presenza di un mandato) viene interrotto, permettendo a un’agenzia di intelligence di intercettare le conversazioni telefoniche. In quel caso un vecchio telefono visualizzava un lucchetto aperto, mentre quelli moderni, tranne i Blackberry, non mostrano niente del genere.


Esiste un attacco progettato proprio per intercettare le conversazioni telefoniche; per attuarlo, a un aggressore serve un dispositivo chiamato IMSI Catcher. Esso imita una stazione di base e registra i telefoni collegati, poi invia tutti i segnali a una stazione di base autentica.

In questo caso, l’intero processo di autorizzazione procede in maniera normale (non c’è bisogno di forzare i codici di criptaggio), ma la stazione di base spinge il cellulare a trasmettere in modalità testo, quindi un aggressore può intercettare segnali senza che l’operatore e l’abbonato ne siano a conoscenza.

Per quanto possa sembrare strano, questa non è una vera e propria “vulnerabilità”: infatti, tale caratteristica venne progettata fin dall’inizio per stare lì, così da permettere ai servizi segreti di eseguire gli attacchi Man-In-The-Middle qualora fosse il caso.

Consigli