Le
specifiche tecniche delle reti GSM sono state implementate anni fa
dal GSM Consortium sulla base di due priorità:
-
Un
sistema standard a livello mondiale.
-
Un
sistema particolarmente sicuro, soprattutto per difendersi
dalla clonazione degli apparati (tecnica illegale molto
diffusa fra i vecchi terminali ETACS).
Il
sistema GSM si compone essenzialmente di 4 sottosistemi:
-
MOBILE
STATION (MS o terminale): Di fatto è un complesso e
articolato ricetrasmettitore UHF full duplex con duplexer.
-
BASE
STATION SUBSYSTEM (BSS o "ponte"): E' composta a sua
volta di due elementi strutturali: la BTS (Base Transceiver
Station) che si occupa di stabilire un contatto radio full
duplex con il terminale GSM, e la BSC (Base Station
Controller) che interagisce con la rete cellulare e con le
altre BTS in zona.
-
NETWORK
SUBSYSTEM (NS o nodo di commutazione): Funziona come nodo di
commutazione per una determinata zona, provvedendo altresì
all'impostazione delle chiamate e alle procedure di
autenticazione.
-
OPERATION
AND SUPPORT SUBSYSTEM (OSS o "centrale"): E' la
struttura tecnica che gestisce in maniera centralizzata e
computerizzata tutto il network GSM di un determinato
operatore di telefonia mobile.
Esistono
vari ostacoli: innanzitutto i segnali radio non sono "in
chiaro", cioè non sono comprensibili all'orecchio umano, ma
si presentano criptati con chiavi diverse per ogni abbonato e
vengono trasmessi compattati in pacchetti digitali (burst);
L'orecchio umano può percepire solo una sorta di
"ronzio" privo di ogni comprensibilità. Con questa
tecnica di trasmissione, un singolo canale radio può ospitare
contemporaneamente numerose conversazioni.
Gli
algoritmi di codifica utilizzati dal sistema sono essenzialmente
3:
-
L'algoritmo
A3 (protegge il codice di identificazione dell'abbonato ed è
memorizzato nella SIM card);
-
L'algoritmo
A8 (algoritmo a 128 bit che protegge la "chiave personale
di autenticazione" o "chiave di partenza" ed è
memorizzato nella SIM card. La chiave personale di
autenticazione è utilizzata anche per la generazione delle
chiavi temporanee a 64 bit dette "chiavi di
sessione"); Sebbene a 128 bit, l'algoritmo A8 è
considerato tutt'altro che sicuro.
-
L'algoritmo
"stream cipher" A5/AX (algoritmo a 64 bit custodito
nell'hardware del terminale e nella BTS o "ponte");
anche questo algoritmo sembra essere stato
"indebolito" forse artificialmente. E' di fatto il
criptatore delle conversazioni trasmesse via radio.
Un
ruolo fondamentale è rappresentato dalla SIM card, un microchip
che contiene due algoritmi di codifica, tre codici utente
oltre a numerosi altri dati memorizzati in maniera sia volatile
che non volatile. La SIM card appartiene (sia per tecnica di
programmazione che per modalità di funzionamento) alla famiglia
delle "smartcard".
Tali
algoritmi interagiscono fra di loro sulla base di una chiave di
partenza fissa protetta dall'algoritmo A8 a 128 bit (chiave
personale di autenticazione memorizzata nella SIM card) e generano
automaticamente altri elementi variabili ad ogni chiamata e ad
ogni accesso alla rete. Queste iterazioni sono strutturate in
maniera tale le credenziali di identificazione non vengano mai
trasmesse sul canale radio (tecnica di "challenge response"),
fatta eccezione per il codice identificativo criptato dell'utente
(IMSI) ma solo limitatamente ad un istante (vedi sotto); La chiave
"di partenza", che fa capo all'algoritmo a 128 bit,
interagisce ad ogni connessione con il network al fine di
consentire da parte dello stesso la generazione casuale della
seconda chiave (questa volta temporanea, cioè che varia ad ogni
chiamata) detta "chiave di sessione" (64 bit). La
"chiave di sessione" generata dal network giunge dal
network fino alla BTS (ponte) ma non viene mai trasmessa via radio
.
Quindi
per poter intercettare una conversazione di uno specifico utente
si rende necessario di volta in volta un intero pacchetto di
parametri, (fissi e variabili) presenti sia sulla SIM card sia nel
network dell'operatore. Alcune chiavi di questi algoritmi di
criptazione sono variabili. Il sistema GSM protegge anche l'invio
in rete dell'IMSI (International Mobile Subscriber Identification,
l'unico codice fisso in grado di identificare in maniera univoca
un utente e utile perlomeno alla sua localizzazione fisica),
sostituendolo temporaneamente ad ogni chiamata con un codice
casuale e variabile detto "TMSI" (codice di
identificazione provvisoria). Tale codice viene scritto in una
partizione volatile della SIM e varia ad ogni accesso alla rete.
In questo modo si è "mascherato" (oltrechè ovviamente
criptato) anche l'unico codice fisso che per un breve istante (e
inevitabilmente!) deve essere trasmesso via radio, cioè l'IMSI.
In
sintesi il sistema è tutt'altro che semplice da attaccare, FORSE
TROPPO SICURO PER "QUALCUNO" CHE NON HA GRADITO QUESTA
BLINDATURA (vedi oltre).