Corso di Sicurezza – A.A. 2007/2008
Elena Tecchi
▸
Nel 1974, Roland Moreno aveva presentato al circuito bancario Carte Bleu un
“processo e un dispositivo per il controllo elettronico” dell’identità degli individui.
▸
La prima proposta di Moreno si basava su un anello, e solo in un secondo tempo,
dopo aver raccolto le osservazioni e le obiezioni delle banche, l’anello fu sostituito dal
rettangolo di plastica che si sarebbe poi diffuso.
▸
A questo punto, si trattava di trovare la tecnologia adatta per concretizzare il
progetto, attraverso lo sviluppo di un chip con una memoria sufficiente a contenere le
informazioni richieste, e il suo inserimento nella carta senza danneggiarlo.
▸
Fu trovato un processo che consentiva di trasferire automaticamente i chip su un
nastro da 35 mm: nasceva così la Smart Card, e Roland Moreno è passato alla storia
come il suo inventore.
▸
Ma solo nel 1980, Ugon presentava la prima carta dotata di un microprocessore.
▸
Negli ultimi anni le nuove tecniche, hanno consentito di realizzare Smart Card più
potenti dotate di coprocessore crittografico e di buone capacità di memoria a costi
accessibili. Tale disponibilità ha avviato una fase di notevole e sorprendente sviluppo
che è partita dall’implementazione delle SIM Card in ambito GSM fino ad arrivare alla
realizzazione della Carta d’Identità Elettronica, delle carte di credito “intelligenti” e dei
titoli di viaggio elettronici.
1
▸
Le Smart Card sono schede di materiale plastico, analoghe alle carte di
credito, conformi per dimensione, spessore ed altre caratteristiche fisiche,
sul quale è integrato un chip in grado di memorizzare e gestire
informazioni.
▸
A differenza delle classiche carte a banda magnetica, le Smart Card
possiedono tutte le informazioni e funzionalità che gli evitano di dover
accedere a un database remoto ad ogni transazione.
▸
Il circuito integrato delle Smart Card può semplicemente contenere
memoria controllata da una logica dedicata, che fornisce servizi di varia
natura (ad esempio accesso mediante PIN), o essere un microprocessore
vero e proprio.
2
ISO 7816 Parte I:
▸ Definisce le caratteristiche fisiche di una Smart Card.
•
•
•
•
•
Dimensioni fisiche.
Risposte ai raggi X e alla luce UV.
Resistenza meccanica.
Caratteristiche dei contatti elettrici.
Risposte ai campi elettromagnetici e alla elettricità statica.
ISO 7816 Parte II:
▸ Questo documento descrive:
•
•
•
•
•
Le dimensioni dei contatti.
Il posizionamento dei contatti.
Il posizionamento dell’embossing (scritte in rilievo).
Il posizionamento della banda magnetica.
La struttura del chip.
ISO 7816 Parte III:
▸ Questo documento descrive :
•
•
•
•
I protocolli di comunicazione.
Le funzioni dei vari contatti sulle Smart Card.
Le caratteristiche elettriche di base.
Struttura di ATR (Answer to Reset).
I fornitori che si dichiarano conformi agli
standard ISO 7816 sono sostanzialmente
conformi a queste parti I, II e III.
3
ISO 7816 Parte IV:
▸
Questo documento descrive:
•
•
•
•
I comandi, i messaggi e le risposte tra la Smart Card e il terminale.
La struttura logica dei file e dei dati memorizzati.
I meccanismi di protezione dell’accesso agli stessi.
Il secure messaging.
ISO 7816 Parte V, VI e VII:
▸
▸
Procedure di registrazione e sistemi di numerazione (parte V).
Definizione dei dati (parte VI).
•
▸
Definisce il formato dei dati e le regole di costruzione dei dati memorizzati sulla Smart Card e scambiati con il
terminale.
Comandi per interrogazioni strutturate (parte VII).
•
Definizione del SCQL (Structured Card Query Language).
ISO 7816 Parte VIII, IX e X:
▸
▸
Comandi relativi alla sicurezza (parte VIII).
Comandi addizionali e attributi di sicurezza (parte IX).
•
▸
Descrive il ciclo di vita della Smart Card con i relativi attributi di sicurezza.
Segnali elettrici e “Answer to Reset” (parte X).
4
▸
▸
▸
▸
▸
Telefonia fissa. In questo ambito la Smart Card è usata principalmente come carta
prepagata grazie alle sue caratteristiche di inviolabilità.
Telefonia mobile. Lo standard GSM ha introdotto il concetto di SIM (Subscriber
Identity Module) che rappresenta un dispositivo portabile di identificazione
dell'utente. I requisiti funzionali delle SIM corrispondono perfettamente con le
funzionalità offerte dalle Smart Card e pertanto, l'implementazione su Smart Card
(con supporto di plastica di dimensioni ridotte) è stata una scelta naturale. Analoghe
considerazioni si applicano in ambito UMTS dove le USIM sono l'evoluzione delle SIM.
Banche. In ambito bancario le Smart Card sono state utilizzate soprattutto come
borsellini elettronici, denaro elettronico e in alcuni casi come carte di credito.
E-government. In quest'ambito le Smart Card sono state utilizzate principalmente
come strumento di identificazione e di memorizzazione di informazioni personali. Il
procedimento solitamente avviene attraverso l'inserimento di un codice PIN ma
recentemente è stata elaborata una nuova applicazione che sostituisce al PIN i dati
biometrici (Impronte digitali in particolare ma anche Iride, volto e voce) del titolare
della Smart Card.
Trasporti. Nei trasporti pubblici le Smart Card sono impiegate come titoli di viaggio
elettronici nei sistemi di bigliettazione elettronica. Tipicamente sono utilizzate come
biglietti prepagati multicorsa o in sostituzione degli abbonamenti. Nei trasporti privati
invece le Smart Card sono spesso utilizzate come carte di pagamento per i parcheggi
pubblici.
5
▸
▸
▸
▸
▸
▸
Militare. In questo settore le Smart Card hanno consentito di realizzare la Carta
Multiservizi della Difesa (CMD) che rappresenta sia un vero e proprio documento di
riconoscimento del personale militare e del personale civile dipendente dal Ministero
della Difesa, sia un contenitore di informazioni personali tra cui informazioni sanitarie
(estremamente utili in caso di ferimento durante un operazione di guerra),
informazioni relative al grado e al corpo di appartenenza, informazioni relative alla
firma digitale, ecc.
Settore privato. In tale ambito, le principali necessità riguardano il controllo
dell'accesso ad aree riservate, il controllo dell'accesso alle reti e ai sistemi di calcolo e
la protezione delle postazioni di lavoro (tipicamente personal computer) mediante
sistemi di login sicuro e cifratura dei dati sensibili.
Sanità. Carta sanitaria: informazioni precise e complete (allergie, gruppo sanguigno,
interventi e cure avute).
Firma digitale. L'Italia ha approvato nel Febbraio 1999 la legge che rende valida ad
ogni effetto la firma digitale e ne definisce le caratteristiche.
Scuole/Università. L'auspicato espandersi dell'uso di computer nelle scuole
costringe l'istituto scolastico di dotarsi di strumenti atti a controllarne l'uso. Tramite
Smart Card la scuola può riservare l'accesso ai vari PC solo a chi ne è autorizzato,
può limitarne l'uso nel tempo (ad esempio per quelli connessi ad Internet); inoltre il
server dell'istituto terrà registrazione di ogni connessione/disconnessione.
Decoder satellitari.
6
Le tipologie di Smart Card in commercio possono essere raggruppate in tre principali categorie:
▸
Carte a memoria. Questo tipo di Smart Card contiene una memoria permanente EEPROM (Electrically
Erasable Programmable Read-Only Memory). Poiché questa è permanente, quando si rimuove la scheda
dal lettore e l'energia viene interrotta la scheda salva i dati. Le Memory Card possono memorizzare
normalmente da 1 a 4KB; dipendono strettamente dal tipo di lettore e spesso non seguono precisi
standard. Non hanno capacità d'elaborazione ma contengono solo circuiti elettronici per memorizzare
dati e per comunicare con il dispositivo di lettura. Sono dotate anche di meccanismi di sicurezza come il
PIN per proteggere i dati in lettura o scrittura. I PIN sono normalmente composti da 3 ad 8 numeri che
vengono scritti in un file speciale presente nella scheda. Poiché questo tipo di scheda non consente la
crittografia, le schede a memoria vengono utilizzate per contenere credito telefonico, biglietti per il
trasporto o denaro elettronico.
▸
Carte a microprocessore integrato (ICC). Si differenziano da quelle a memoria perché al posto di
semplici circuiti per la gestione della memoria e per la comunicazione con il lettore, possiedono un vero e
proprio microprocessore e un proprio sistema operativo che le rendono idonee ad elaborare informazioni
in maniera indipendente. Queste carte forniscono una gestione efficiente e sicura dei dati che vengono
strutturati in file e directory, utilizzano dei PIN per l'accesso alle informazioni, supportano funzionalità di
sicurezza, quali crittografia, autenticazione dei messaggi, etc. Attualmente la generazione di Smart Card
a microprocessore dispone di processi ad 8 o 16 bit, di 16 o 32Kbyte di memoria programmabile a 512 o
1024 Byte di memoria volatile. Le carte a microprocessore costituiscono la piattaforma di base per i
moderni sistemi di identificazione, i quali necessitano di memorizzare e trasportare agevolmente
informazioni spesso riservate e di carattere personale.
▸
Carte a memoria ottica. Queste carte dispongono di una banda ottica sulla quale sono memorizzate le
informazioni; possono memorizzare fino a 4.9Mbye di dati e si adattano particolarmente ad ospitare
informazioni di tipo medico/sanitario, biometrico, geografico.
7
All'interno della categoria di carte a microprocessore è possibile distinguere:
▸
Carte a contatto: In questa tipologia di carte (più
comuni) la connessione tra il microcircuito ed il lettore
avviene tramite contatti elettrici. Il circuito stampato
della carta, una volta inserito nel lettore, può
comunicare con esso grazie allo scambio di segnali
sotto forma di tensione e corrente. Questo tipo di carte
presentano una piccola piastra color oro di circa un
cm di diametro sul frontespizio della carta. Ovviamente
la piastra di contatto dovrà rispettare gli standard che sono definiti da ISO 7816/2.
▸
Carte a prossimità o contactless: Anche carte senza contatto.
Differiscono da quelle a contatti perché lo scambio delle
informazioni non avviene attraverso il canale fisico realizzato dai
contatti della carta e del lettore, ma per trasmissione in radio
frequenza. Nella plastica della carta è presente una minuscola
antenna in grado di rilevare un segnale emesso a distanza da
un’antenna presente su un dispositivo fisso. La lettura/scrittura
della carta può avvenire ad una certa distanza dall’apposito lettore
e ad elevata velocità.
8
▸
Carte ibride o combo: Con tale termine si fa riferimento a delle carte su cui sono
presenti sia il chip della carta a contatti, che la tecnologia trasmissiva della carta a
prossimità. Il vantaggio delle carte ibride/combo
risiede nel fatto che l’utente può avere sullo stesso
CPU
supporto applicazioni tipiche di entrambe le tecnologie.
C
ROM
O
La carta ibrida ha un’unica zona di memoria
RAM
M
(ROM+RAM+EEPROM) e un’unica CPU che
EEPROM
B
interagisce con l’esterno tramite due diversi sistemi
O
EEPROM
di I/O (contatti e radiofrequenza).
Access Control
Link
I
B
R
I
D
A
CPU
ROM
RAM
EEPROM
Nella carta combo i due diversi circuiti
condividono il medesimo supporto plastico.
Funzionalmente tale dispositivo risulta quindi
essere l’insieme di due carte distinte e separate
in cui possono girare applicazioni differenti che
non possono assolutamente comunicare o
condividere dati tra loro.
9
Le Smart Card comunicano con l’esterno con l’aiuto di un device hardware. Questi sono
suddivisi in due diverse tipologie generali:
▸
Reader: è un’unità che si interfaccia ad un PC per la maggior
parte delle elaborazioni. I reader si differenziano in base alla
loro interfaccia verso il PC (si possono connettere alle porte
seriali RS232, alle porte USB, agli slot di floppy-disk, alle porte
ad infrarosso IRDA), alla loro “intelligenza” nel processare i dati,
e al rilevamento di errori.
▸
Terminal: è un device che non ha bisogno di interfacciarsi col
PC; è quindi un dispositivo di elaborazione indipendente.
I terminal spesso hanno un sistema operativo e tools di sviluppo,
e tipicamente supportano altre funzionalità (es. stampa di
scontrini, funzioni di modem, lettori di carte magnetiche).
Le Smart Card utilizzano l’Application Protocol Data Unit (APDUs) per comunicare con i
device. La comunicazione è half-duplex, ciò significa che l’informazione è spedita dalla
carta o dal device alternativamente.
10
Il microcircuito di cui è dotata una Smart Card è composto dalle seguenti unità:
▸
L'unità centrale (CPU): rappresenta il cuore della Smart Card; essa è in grado di eseguire istruzioni, di
effettuare calcoli aritmetici, di controllare il flusso di dati che entrano ed escono dalla carta e di gestirne
l'archiviazione sulla memoria.
▸
La Memoria volatile (RAM): rappresenta lo "spazio di lavoro" utilizzato dall'unità centrale per svolgere
i propri compiti. Quando l'unità centrale esegue una applicazione utilizza la RAM come appoggio per
archiviare temporaneamente i dati e le informazioni necessarie. Tutte le volte che viene tolta
l'alimentazione alla Smart Card si perde inevitabilmente il contenuto di questa unità.
▸
Memoria a sola lettura (ROM): in questa unità risiedono programmi e dati fondamentali per il
corretto funzionamento della Smart Card. Queste informazioni sono registrate sulla ROM al momento
della costruzione del processore e in alcun modo modificabili o cancellabili una volta rilasciata la Smart
Card.
▸
La Memoria programmabile (EEPROM Electrically Erasable Programmable Read Only Memory):
rappresenta la memoria di massa della Smart Card; su questa unità è possibile memorizzare dati ed
applicazioni strettamente legati alla Smart Card stessa e dipendenti dal tipo di utilizzo cui è riservata o
dall'utente cui appartiene. La EEPROM presente su una Smart Card ha svariate dimensioni tipicamente è
di 32Kbyte. I file sulla EEPROM sono organizzati in maniera simile ad un normale disco fisso, ovvero il
sistema operativo la suddivide in settori di dimensione fissata.
▸
Porta di I/O. La carta comunica con l’esterno tramite un’uscita seriale ad un solo bit, con velocità che
variano secondo il tipo e le necessità delle specifiche applicazioni. Valori usuali sono 9600 bit/secondo,
ma per le carte contactless sono richieste velocità superiori.
▸
Oltre alle unità appena descritte è possibile trovare un co-processore crittografico specializzato per
l'esecuzione di algoritmi crittografici standard quali MD5, SHA-1, RSA, DES, 3-DES, DSA. Il co-processore
è molto importante in quanto solleva l'unità centrale dal compito di eseguire gli algoritmi crittografici e
garantisce buone prestazioni poiché ottimizzato per effettuare esclusivamente questo tipo di operazioni.
11
Una Smart Card può essere vista come una scatola nera:
▸ Riceve un input.
▸ Processa l’input.
▸ Restituisce un output.
▸ I dati non sono mai direttamente raggiungibili.
▸ Il flusso di dati è bidirezionale.
12
Il Sistema operativo è mascherato nella memoria ROM e sovrintende alle seguenti funzioni:
▸ Gestione del protocollo di comunicazione.
▸ Gestione del protocollo logico (APDU).
▸ Gestione dello SmartCard File System.
▸ Sicurezza:
• Sicurezza fisica (protezione degli “oggetti di sicurezza” contenuti nella Smart Card);
• Sicurezza logica (criteri di accesso ai file ed agli oggetti di sicurezza).
Il Multi Application COS è il Sistema Operativo che permette lo sviluppo di applicazioni
multiple che vengono eseguite su un’unica carta. Attualmente ci sono tre MACOS sul mercato:
▸ Java Card. Permette alle Smart Card di eseguire le applets che utilizzano la tecnologia
JavaTM. Tale tecnologia offre una completa indipendenza dalla piattaforma, la possibilità di
archiviare informazioni e applicazioni di natura diversa e un’ampia compatibilità con gli
standard.
▸ MultOS, è il primo MACOS aperto e ad alta sicurezza per Smart Card. Permette anche di
caricare dinamicamente, aggiornare e cancellare le applicazioni durante la vita della carta.
▸ Microsoft Windows for Smart Card, sotto licenza di Windows che fornisce uno
standard open software per Smart Card. È stato progettato per garantire la massima
interoperabilità tra la famiglia dei sistemi operativi Microsoft Windows e le nuove
tecnologie legate alle Smart Card e, più in generale, ai nuovi sistemi per il commercio e
l’intrattenimento attraverso Internet.
13
Le tecniche di sicurezza impiegate nella progettazione delle Smart Card e nelle procedure di
autenticazione/trasmissione dei dati verso i terminali d’interfaccia riguardano 4 settori:
 Integrità dei dati. Si intende la corretta trasmissione dei dati tra la sorgente (Smart
card) e destinatario (terminale di servizio) senza nessun tipo di alterazione
dell’informazione. L’integrità dei dati viene garantita da sofisticate tecniche crittografiche
chiamate check digits, ossia controllo delle cifre (è una procedura numerica che consente
di determinare se un certo insieme di valori numerici, i bit memorizzati nella card, sono
stati alterati o meno). In genere questa funzionalità è realizzata con l’uso di algoritmi oneway hashing che numericamente vincolano a un insieme stabilito di valori numerici un
altro insieme di valori calcolati sulla base dei primi (una sorta di targa numerica). Se anche
un singolo bit dell’insieme informativo viene alterato, il valore di hash viene modificato.
Esistono diversi algoritmi di hash utilizzati per garantire l’integrità dei dati:
• Secure Hash Algorithm (SHA-1). L’SHA-1 produce una firma di 160 bit per un
insieme informativo di valori numerici di 264 bit di lunghezza al massimo.
• Un’altra funzione hash molto utilizzata è la Message Digest 5 (MD5) che produce
una firma inferiore a quella del SHA-1, solo 128 bit.
Il sistema operativo garantisce l’integrità del messaggio scambiato dalla carta con il mondo
esterno, inserendo dopo il campo dati del comando o della risposta il Codice di
Autenticazione del Messaggio (MAC) in modalità cifrata. La cifratura del MAC definisce una
sorta di firma digitale del messaggio scambiato realizzata con algoritmi di crittografia
simmetrici (DES, RC5).
14

Autenticazione. Permette il riconoscimento reciproco tra la Smart Card e il mondo esterno rappresentato dal
terminale che interagisce con la carta. Il principio generale su cui si basa l'autenticazione è che, tra i due
soggetti, vengono scambiate quantità casuali che vengono crittografate, in modo simmetrico, con le stesse
chiavi e con gli stessi algoritmi. Esistono tre tipi di autenticazione:
•
Interna: terminale / server remoto -> Smart Card.
Consente ad un'applicazione di sincerarsi della "validità" della carta con cui desidera interfacciarsi. A questo
scopo il sistema operativo genera un Response verso l'esterno a partire dalla quantità random (Challenge)
ricevuta e dall’indicazione della chiave di cifratura da utilizzare. L'applicazione esterna andrà a confrontare il
Response ricevuto con quanto ottenuto dalla esecuzione dell'algoritmo di autenticazione che usa lo stesso
Challenge e la propria chiave di verifica.
Chip Card
Terminale
•
Esterna: Smart Card -> terminale / server remoto.
• chiave segreta
• chiave segreta
Consente ad una carta di sincerarsi della "validità"
• algoritmo crittografico
• algoritmo crittografico
del terminale con cui si interfaccia.
•
Reciproca: interna + esterna
Genera e scrive al
Challenge
terminale un numero
Anche per questa tecnica esistono vari algoritmi,
Genera attraverso
random.
Numero random
l’algoritmo
tra i più diffusi ci sono:
crittografico e la
Genera attraverso
chiave segreta un
 DSA.
l’algoritmo
codice di sequenza
Utilizza una chiave privata di lunghezza
crittografico e la
“response” a partire
chiave segreta un
dal random.
variabile tra 512 e 1024 bit.
codice di sequenza
“response” a partire
 RSA. Utilizza chiavi private fino 2048 bit.
dal random.

Irriproducibilità. Bisogna in qualche modo
garantire che la “firma digitale” non possa essere
Response
Comparazione
(Codice di sequenza di risposta)
copiata per consentire l’invio di messaggi fasulli apparentemente autentici. Questo è uno degli aspetti cruciali
della sicurezza in ambito elettronico.

Riservatezza. L’obiettivo è quello di evitare che un intruso possa catturare e decifrare le
operazioni interpretando di conseguenza il contenuto informativo della Smart Card.
15
ATTACCHI INVASIVI. Un attacco è invasivo se comporta una totale distruzione dell’hardware.
Questi attacchi richiedono, ovviamente, la sottrazione definitiva della Smart Card per il possessore.
Sono molto costosi in quanto richiedono ore di lavoro in laboratori specializzati e sono effettuati da
esperti nella crittografia e nell’hardware delle carte.
▸ Primo passo: rimozione del chip.
Tutti gli attacchi invasivi iniziano con la rimozione del chip
dalla Smart Card. Questa operazione è semplice. Basta
usare un coltello per tagliare la plastica che racchiude
il chip e quindi rimuoverlo. Poi bisogna coprire il chip con
20-50 ml di acido nitrico riscaldato a 60° e aspettare
pochi minuti fin quando l’acido scioglie la resina che
incapsula il chip. Infine si lavano via l’acido e la resina rimanente con l’acetone.
▸
Secondo passo: studio del chip. Per studiare il chip si possono usare, queste tecniche:
• Reverse engineering: si riesce ad identificare la struttura e le funzioni del chip. Questa
tecnica può essere applicata con l’uso di microscopi ottici.
• Microprobing: permette di interagire direttamente con i componenti del chip. Spesso questa
tecnica viene usata insieme alla precedente.
• Attacchi logici (semi-invasivi): si possono dedurre i valori delle chiavi crittografiche
introducendo degli errori computazionali, attraverso cambiamenti di temperatura o di
voltaggio per guadagnare il controllo diretto della CPU. Le chiavi di una Smart Card sono
memorizzate nella EEPROM, le cui operazioni di scrittura sono suscettibili a voltaggi e
temperature insoliti. Per questa ragione, alcune Smart Card contengono dei sensori che
danno un allarme quando ci sono questi tipi di cambiamenti.
16
ATTACCHI NON INVASIVI. Un attacco non invasivo è più limitato, non comporta la distruzione
della carta e spesso non è necessaria la sottrazione della carta per il proprietario. Possono essere
effettuati in un intervallo di tempo limitato e sono molto difficili da scoprire. In generale richiedono
che si conosca il software e l’hardware della Smart Card.
▸
L’attacco non invasivo più comune è quello via software. Per esempio, può essere usato un
software nascosto il quale aspetta che l’utente digiti il PIN da un’applicazione di fiducia, quindi
disabilita l’uso della chiave privata e chiede alla Smart Card di firmare dei documenti fasulli.
L’operazione viene completata con successo ma il proprietario non sa che la propria firma è stata
usata contro di lui. Possibili contromisure per prevenire questo attacco sono:
• Architettura “single-access device driver”: solo un’applicazione può essere acceduta dalla
Smart Card in un dato momento. Questo previene l’attacco ma diminuisce le potenzialità della
Smart Card perché non si possono utilizzare le applicazioni multiple.
• “one private key usage per PIN entry”: l’utente deve inserire il proprio PIN ogni volta in
cui la chiave privata sta per essere usata, perciò il software nascosto non può avere accesso
alla chiave. E’ forse il metodo migliore.
▸
Un’altra tecnica di attacco non invasivo è la "Differential Power Analysis" (DPA), attraverso
la quale è possibile sfruttare le caratteristiche della logica dei transistor e del software che gira
sui sistemi di autenticazione per interpretare i dati segreti memorizzati su Smart Card a partire
dalle fluttuazioni nel consumo di corrente elettrica dei microprocessori contenuti nei lettori
hardware. Il problema è grave perché un cracker che abbia accesso ad una Smart Card potrebbe
essere in grado, attraverso l'analisi dell'attività elettrica e all'applicazione di metodi statistici, di
interpretare la chiave o il PIN segreti memorizzati sul dispositivo di autenticazione.
17
▸
GSM usa le SIM-CARD.
▸
Comunicazione a terra (digitale o analogica) non criptata.
▸
Ogni volta che utilizziamo un cellulare GSM la nostra chiamata viene
digitalizzata, cifrata e inviata alla centrale ricevente più vicina. Nella
stazione ricevente la chiamata verrà decifrata e inviata in chiaro al numero
telefonico corrispondente. Quindi tutte le comunicazioni via etere sono
criptate, ma nessuno ci assicura che un malintenzionato non intercetti le
telefonate a terra.
18
▸
Il sistema di comunicazione GSM si avvale di alcuni algoritmi crittografici di tipo
simmetrico, chiamati A3, A5 e A8.
▸
Questi algoritmi vengono utilizzati per le procedure di autenticazione e
mascheramento dei messaggi.
▸
In particolare gli algoritmi A3 e A8 sono utilizzati in fase di autenticazione della
chiamata e della trasmissione, mentre l’algoritmo A5 per la cifratura della
comunicazione e quindi questo è l’algoritmo che un malintenzionato dovrebbe
effettivamente violare per poter decifrare la comunicazione. Questo algoritmo
essendo così importante è quindi riservato.
▸
Comunque rimane importantissima anche l’autenticazione in quanto oltre a
proteggere il contenuto della mia telefonata è importante per garantire che
effettivamente sia io a chiamare e non un malintenzionato che abbia clonato il
mio GSM.
19
La sicurezza nel GSM è basata sostanzialmente su 3 punti:
▸ La scheda Smart Card inserita fisicamente nel cellulare, SIM (Subscriber Identity Module).
▸ Il cellulare (Mobile Station o Terminal Mobile).
▸ La rete GSM, BTS (base transceiver station).
Nella SIM sono memorizzate le seguenti informazioni:
▸ Il codice IMSI.
▸ La chiave personale di autenticazione Ki.
▸ L’algoritmo A8 che genera la chiave temporanea Kc.
▸ L’algoritmo A3 di autenticazione.
▸ Il codice PIN personale.
Nel cellulare è memorizzato l’algoritmo A5 di cifratura per i dati relativi alla comunicazione e
l’algoritmo A3 di Autenticazione.
Nelle BTS sono memorizzati l’algoritmo A5 per la decifrazione dei messaggi e la chiave
temporanea Kc.
Il processo legato ad una chiamata telefonica si compone di due fasi:

La fase di autenticazione.

La fase di cifratura.
20
▸
Avviene tra i moduli SIM e il centro di autenticazione AuC (Authentication Center) presente nella stazione
BTS.
▸
La rete invia al MS un numero casuale di 128 bit (RAND) generato da AuC.
▸
▸
MS calcola la risposta (SRES di 32 bit) in base all’algoritmo A3 utilizzando RAND e la chiave personale Ki,
chiave memorizzata sia nella SIM che in AuC.
MS spedisce SRES alla rete.
▸
L’AuC per mezzo del RAND e della stessa chiave Ki genera a sua volta l’SRES.
▸
Confronta il suo risultato con l’SRES ricevuto dalla stazione mobile.
▸
Se i valori coincidono la procedura di autenticazione è andata a buon fine altrimenti viene negato
l’accesso alla rete GSM.
▸
L’AuC è in possesso della chiave Ki dell’utente sin dall’inizio poiché i dati dell’utente sono memorizzati
nell’HLR (Home Location Register), cioè in un database apposito relativo alla rete di appartenenza
dell’utente.
▸
A questo punto, se l’autenticazione è andata a buon fine, viene calcolata la chiave Kc, che servirà per
cifrare la comunicazione.
▸
All’inizio della fase di autenticazione l’MS
utilizza, per farsi identificare, il codice IMSI
dell’utente. Per evitare che questo codice
continui a viaggiare nel canale, appena
eseguita l’autenticazione dell’utente viene
utilizzato per il resto delle operazioni un
codice temporaneo TMSI per garantire
così maggiore sicurezza.
21
▸
L’algoritmo A5 è un codificatore di tipo “stream chiper” ossia un algoritmo che opera su singoli bit
cifrandoli uno alla volta.
▸
Questo algoritmo viene utilizzato per la cifratura/decifratura dei messaggi tramite l’utilizzo di una chiave
Kc.
▸
La chiave Kc viene calcolata per mezzo dell’algoritmo A8 fornendogli in input il RAND e la chiave
Ki.
▸
La chiave Kc è diversa per ogni comunicazione anche dello stesso utente poiché è una chiave
temporanea utilizzata per l’identificazione della stazione base con il dispositivo mobile e quindi viene
generata ad ogni comunicazione in modo tale da garantire la riservatezza e la non tracciabilità del
chiamante.
▸
Non c’è scambio della chiave nel canale e quindi anche se si dovesse riuscire a superare la procedura di
autenticazione non si potrebbe comunicare.
▸
Ascoltare le nostre conversazioni è molto
semplice poiché l’architettura GSM prevede,
come detto in precedenza, che la
conversazione sia cifrata dal telefono alla
cella, la BTS, ma da questo punto in poi il
traffico viaggia in chiaro. Lo scopo di questo
meccanismo così debole è appunto il poter
rendere accessibile il contenuto della rete
ad operatori e autorità competenti.
22
Invece di utilizzare due algoritmi distinti, A3 ed A8, la maggior parte degli
operatori GSM utilizza un unico algoritmo, chiamato COMP128.
L’algoritmo consiste nel creare un’array di 96 bit dei quali:
▸ I primi 32 rappresentano SRES.
▸ Gli altri 64 (di cui gli ultimi 10 sono sempre posti uguali a zero)
rappresentano la chiave kc.
In generale questo algoritmo utilizzato dal GSM è debole, proprio perché gli
ultimi 10 bit della chiave di sessione kc sono posti uguali a zero.
Quindi lo spazio delle chiavi si riduce da 264 a 254 .
Il COMP128 è considerato debole anche perché è stato violato tramite un
attacco di tipo fisico alla SIM Card.
È un algoritmo debole voluto dal governo per intercettare le comunicazioni.
23
▸
▸
▸
▸
▸
▸
Negli ultimi 20 anni si è andata sempre più diffondendo la pirateria
satellitare che permette di creare delle schede pirata da inserire nel decoder
per vedere abusivamente programmi trasmessi via satellite a pagamento.
Per poter fare questo gli "hacker" devono poter acquisire le informazioni
tecniche necessarie ad ottenere i codici di segnale protetto che poi mettono
a disposizione di tutti attraverso internet.
Da vari siti vi è la possibilità di scaricare diversi software che permettono di
programmare e quindi “innestare” questi codici nella memoria delle Smart
Card.
Il segnale criptato viene trasmesso dai gestori, sotto forma di onde radio, al
satellite che le ritrasmette alle antenne paraboliche sul territorio.
L'abbonato riceve il segnale e a sua volta lo invia al ricevitore satellitare
(decoder).
Quest'ultimo, interfacciato ad una Smart Card fornita dal gestore e
contraddistinta da un numero seriale associato all’abbonato, permette la
visione in chiaro.
24
▸
Il decoder e la Smart Card devono assicurarsi che i dati che si scambiano siano
protetti da intrusioni esterne, e che tale procedura non venga aggirata.
▸
In fase di autenticazione è importante attuare un processo di checksum, ovvero
verifica dell'integrità dei dati.
▸
Il processo di checksum utilizzato è il MAC (Message Authentication Code).
▸
Affinchè il processo di autorizzazione vada a buon fine, ciascun utente deve essere
identificato univocamente per mezzo di una chiave unica, detta Master Private Key
MPK o Secret Key.
▸
Tali chiavi vengono raggruppate e trasmesse in pacchetti che permettono al gestore
di interagire con ogni singola Smart Card mediante l'invio di due tipi di pacchetti:
• ECM (Entitlement Control Message): porta con sé le informazioni per decodificare
un canale criptato che tramite le Control Word, è indirizzato a tutte le Smart Card
e viene generato circa ogni 2 secondi.
• EMM (Entitlement Management Message): sono dei messaggi di gestione che i
provider inviano alle card per impostarne e aggiornarne alcuni valori, come ad
esempio la data, aggiornare le key etc. Gli EMM possono essere indirizzati ad una
singola Smart Card o ad un gruppo.
25
Per la decodifica dello stream criptato e la relativa messa in chiaro della
trasmissione si deve avere:
▸ Un decoder digitale ovvero ricevitore IRD
▸ Un Modulo di Accesso Condizionato (CAM) che, dopo aver effettuato con
successo la procedura di autenticazione della Smart Card attraverso un
continuo colloquio con essa, ne permette la visione.
▸ SMART CARD. Vengono conservati i dati che identificano un abbonato e
vengono consegnate dai gestori al momento della sottoscrizione del
contratto.
26
▸
Attacco di tipo clone. La tecnica più comune per accedere abusivamente alle TV a pagamento
è quella di “clonare” la Smart Card. Viene realizzata una Smart Card, chiamata trick card, con
architettura hardware (processore e memorie) diversa da quella originaria, ma in grado di
emularla in quasi tutte le sue funzioni. Sulla trick card vengono caricati il sistema operativo per la
sua gestione, il software di emulazione della codifica e le ServiceKey in chiaro.
Sono state sviluppate anche trick card capaci di autoaggiornare le chiavi, periodicamente
modificate dalle televisioni, o in grado di resistere agli Electronic Counter Measure (ECM),
comandi inviati dalle emittenti nel tentativo di mettere fuori uso le trick card, e consistenti in un
cambio di chiavi imprevisto o nella cancellazione della EEPROM.
▸
Deactivation Blocker Hack. Il blocker, interposto tra la Smart Card e il CAM, impedisce la
corretta gestione (disattivazione, rimappatura,etc.) della Smart Card da parte del Service
Provider.
In più fornisce informazioni arbitrarie al CAM (impersonando la Smart Card) e filtra i messaggi
inviati alla Smart Card. Lo scopo e quello di filtrare tutti i segnali destinati alla disabilitazione dei
canali ed impedendo la riprogrammazione della card.
27
▸
McCormack Hack.
Permette la visione dei
programmi a più utenti
con una sola Smart
Card valida. La Smart
Card valida fornisce in
chiaro le Control Word
al CAM; il season
intercetta le Control
Word, che la Smart
Card valida fornisce al
CAM, e le invia ai CAM
degli altri utenti che,
pur non avendo una
Smart Card, ottengono
le Control Word in chiaro
e accedono quindi alla corretta visione dei programmi.
28
▸
DUAL CARD O BLOCKER. Interfaccia usata tra Smart Card e decoder. E’
costituita da un microchip posto sulla sua superficie che analizza i segnali
scambiati tra la CAM e la Smart Card.
▸
TITANIUM CARD. Smart Card in
grado di sostituire (correttamente programmata)
qualsiasi carta in circolazione ad oggi.
▸
SMART MOUSE. E' il più diffuso programmatore di Smart Card, da collegare
ad un computer attraverso cavo seriale. Utilizzando appositi programmi
unitamente a file ".BIN" opportuni, consente di “resuscitare” card con
abbonamenti scaduti e di programmare le Wafer Card.
▸
SEASON. Interfaccia utilizzata per monitorare il dialogo tra il sistema d'accesso condizionato
(CAM) e la Smart Card, al fine di individuare:
•
•
▸
I comandi di abilitazione e disabilitazione;
Le chiavi per la programmazione.
WAFER CARD. E' un circuito elettronico che deve essere inserito nel
decoder. E' costituito da una scheda rigida, da una memoria (EEPROM)
dove sono contenute le informazioni per far funzionare il circuito e un
microprocessore (PIC) che consente di elaborare le informazioni contenute
nella EEPROM per mettere in chiaro il segnale criptato.
29
▸
http://www.sirse.net/esy/objects/docs/89706/03_le_smart_card_dalle_origini.pdf
▸
http://www.partnerdata.it/sc-info.htm
▸
ftp://ftp.ge.cnr.it/pub/Sicurezza2004-05/smartcard_ferrara2.pdf
▸
http://www.dia.uniroma3.it/~dispense/merola/critto/tesine/smartcard2.pdf
▸
http://it.wikipedia.org/wiki/Smart_card
▸
http://www.sirse.net/esy/objects/docs/90545/05_smart_card_e_aspetti_di_sicurezza.pdf
▸
http://www.dia.unisa.it/~ads/corso-security/www/CORSO-319900/smartcard/_pages/cap3.htm
▸
http://punto-informatico.it/p.aspx?i=245181
▸
http://www.gsmworld.it/
▸
http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0304/TV_Satellitare/
▸
Tesi di Roberto Farabegoli.
Impiego della tecnologia Smart Card in applicazioni di commercio elettronico basate sullo scambio
di denaro digitale. A.A. 1999-2000
▸
Tesi di Fabio Panzavolta.
Utilizzo di Smart Card nell’ambito di protocolli di comunicazione sicura e di firma digitale. A.A.
1999-2000
▸
Tesi di Andrea Patrignani.
Utilizzo della Smart Card per la protezione del software. A.A. 1999-2000
30
Scarica

Smart Card - Dipartimento di Informatica