2. Introduzione
• Evoluzione della carta magnetica
• SmartCard: Carta “intelligente”
• Simile a “piccolo computer”: contiene memoria (a contatti
elettrici) e microprocessore
• Esegue algoritmi crittografici (RSA, 3DES …)
• Memorizza informazioni in modo sicuro
• Difficilmente clonabile
2
3. Ambiti di utilizzo
• Metodo di pagamento (borsellino elettronico)
- Economico e sicuro, probabile uso futuro
- Trasferimento sicuro (chiavi asimmetriche) dell'importo dalla carta del compratore a quella del venditore
- Manca standard e interoperabilità. Solo alcuni progetti locali (Mondex, Visa Cash, SmartPay, Minipay...)
• E-commerce B2B
• Ambito giuridico e Pubblica Amministrazione
- Direttiva 1999/93/CE + DL 7/3/05 n.82: Firma con dispositivo a chiavi asimmetriche (smartcard) e certificato
rinosciuto valido (CNIPA) è legalmente riconosciuta
- Carta d’Identità Elettronica (API standardizzate da ministero interno)
• Militare
• Sanità
- Carta sanitaria: informazioni precise e complete (allergie, gruppo sanguigno, interventi e cure avute...)
• Telefonia mobile
SIM-Card e GSM
• Decoder satellitari
• Altro (ambito privato, università, trasporti,...)
3
4. Milioni di SmartCard prodotte nel 2000 nel
mondo
telecomunicazioni
300
250 settore bancario
200 Sanità
150
pay tv
100
trasporti pubblici
50
0 altro
Fonte: Eurosmart.com
4
5. Struttura
• Dimensioni come normali card
• Interfaccia con terminali
- contatti elettrici (ISO 7816)
- antenna (ISO 10536)
• A sola memoria (memory card)
bassa sicurezza e costo, per carte telefoniche, tessere parcheggio
• Con processore (Mp Card)
5
6. Mp Card
• CPU
supporta algoritmi MD5, SHA-1,RSA, DSA, 3DES
• RAM
100 – 2000 bytes
• ROM
contiene SO (JavaCard, Windows for card…)
• EEPROM
64 Kb. Memoria r/w non volatile. Contenuti memorizzati in file system con
relativi permessi a directory e files
• Interfaccia di collegamento
6
7. • Memoria EEPROM non accedibile direttamente dall’esterno
• Comunicazioni effettuate esclusivamente tramite CPU
7
8. Sicurezza SmartCard
• Verifica titolare della carta
- PIN
- necessario per usare la carta e varie funzioni
- non ricevuto in chiaro dal terminale
- Parametri biometrici
hash(impronta) == valore hash impronta nella smartcard ?
- System on Card
• Inviolabilità e irriproducibilità
scansione contenuto informativo fisicamente impedita !
8
9. • Autenticazione
- Interna: SmartCard -> computer / terminale
- Esterna : computer / terminale -> SmartCard
- Reciproca: interna + esterna
- Usa RSA o DSA, chiavi di 2 Kb
Smartcard A: sto veramente comunicando con computer/terminale T ?
SMARTCARD T = COMPUTER/TERMINALE
C =RANDe mod n
RAND* = Cd mod n
RAND*
Kpriv(T) = (d,n)
RAND* == RAND ?
Kpub(T) = (e, n)
OK / ERR
Autenticazione interna 9
10. • Integrità e riservatezza dati scambiati
- cifratura simmetrica
c = 3DES(m, RANDOM)
m = 3DES-1(c, RANDOM)
- cifratura asimmetrica: ancora RSA
- algoritmi hash utilizzati: MD5, SHA-1
• Tracciabilità
Smartcard ha un codice identificativo che viene memorizzato
durante le transazioni
10
11. Attacchi SmartCard
ATTACCO OBIETTIVO CONTROMISURA
Studio chip con microscopio Ricostruzione - Tecniche di mascheramento fisico
o raggi infrarossi logica chip (poche - Dati cifrati in EEPROM non leggibili
informazioni
ricavate)
Analisi assorbimento Studio dati - Disaccopiatura
elettrico elaborati da CPU clock cpu <-> clock interfaccia
- Sensori ottici per rilevare
compromissione strato protettivo
circuito, con eventuale reset
EEPROM
- Aspetto tempi random durante
algoritmi
11
12. Attacchi SmartCard 2
ATTACCO OBIETTIVO CONTROMISURA
Utilizzo improprio interfaccia Lettura (tramite CPU) della Sensori sulla tensione di
elettrica (cambio la tensione EEPROM alimentazione (reset scheda
per guadagnare controllo in caso di anomalie)
diretto CPU)
Software nascosto che, dopo Ottenere firma su - Single-access device driver
l’accesso tramite PIN, documenti del (solo un’applicazione alla
fa firmare altri documenti malitenzionato all’insaputa volta)
all’insaputa del proprietario - PIN richiesto ogni volta che
del possessore. si usa Kpriv
- Blocco esecuzione software
sconosciuto
12
13. Sicurezza SIM-CARD e GSM
• Comunicazione a terra (digitale o analogica) non criptata
• Telefonia con GSM (digitale via etere) criptata
• GSM usa le smartcard SIM-CARD.
• Abbonato identificato con:
- Ki = chiave personale di autenticazione (presente nella
sim e nei databases dell’operatore)
- Codice IMSI (identifica univocamente abbonato)
13
14. Autenticazione GSM tramite SIM-CARD
SIM CARD (X) BTS
RICHIESTA AUTENTICAZ. (X) DB centrale
operatore
get_K(X)
RAND
…
SRES* = A3(K, RAND)
K
SRES* == A3(K, RAND) ?
OK / ERRORE
Kc = A8(K,RAND)
C = A5(m,Kc)
La smartcard (SIM-CARD) restituisce K non leggibile dal
solo il SRES, mai K in chiaro ! malintenzionato
14
15. Problemi
• Quasi tutti gli operatori usano la versione semplificata COMP128 al
posto di A3 e A8 per l’autenticazione
• COMP128 algoritmo debole, SRES ridotta !
attacco logico alla SIM-CARD semplificato:
Il malintenzionato simula la BTS, analizza le N risposte della sim
SRES = A3(K, RAND). Gli N numeri RAND vengono
appositamente scelti. La chiave può essere individuata e la
scheda si può clonare ! (Attacco Chosen-Challenge)
• Algoritmo debole voluto dal governo per intercettare comunicazioni
15
16. SmartCard per decoder satellitari
• Trasmissioni a pagamento
• Segnale inviato a tutti, decifrabile solo da abbonati con chiave UK nella smartcard
• Schema base DVB-S:
Flusso inviato da satellite = CSA(flusso in chiaro, CW*)
CW* = f1(SK*, CW)
SK* = f2(SK,UK)
CW cifrata inviata in messaggi ECM ogni 10 sec (1)
SK cifrata inviata con messaggi EMM ogni 30 gg (2)
Smartcard: decifra ECM, EMM e passa CW* al decoder
SK* = f2(SK,UK)
CW* =f1(SK*, CW)
• Comunicazione unidirezionale: più utenti possono usare stessa UK
• Emulatore di SmartCard = contengono UK e parte delle funzioni della SmartCard
originale (non decifrano all’istante gli EMM).
• CW e SK di 64 bit
(2) SK Decifrabile in tempo utile dagli EMM (codici autoaggiornanti o programmabili)
(1) CW non decifrabile in tempo utile dagli ECM => blocker
16
• Seca, Viaccess, Nagravision bucati. SmartCard cambiate
17. Bibliografia
• Tecnologie e applicazioni delle carte a
microprocessore – C.Solarino 2002
• Wikipedia.org
• SmartCard Programming and Security – International
conference 2001 – Springer
• Smart Card Research and Advanced Applications - Josep
Domingo-Ferrer, Anthony Watson
• ciberspazioediritto.org
• www.securelab.it
• www.eurosmart.com
• smartcardbasics.com
• cnipa.gov.it
(Centro nazionale per l’informatica nella PA)
• gsmworld.it
17