SMART CARD Seminario di Sicurezza Andrea Zondini & Mauro Donadio Gruppo 5 Introduzione 1968 – nasce l'idea di incapsulare un circuito integrato in un sopporto di plastica dalla mente di Dethloff e Grötrupp 1974 – Roland Moreno ideò un “processo e un dispositivo per il controllo elettronico” per l‟identificazione degli individui In primis si basava su un anello Ma con la raccolta di informazioni e obiezioni dalle banche fu formulato da Bull il primo prototipo Introduzione '80 – Le prime applicazioni furono introdotte in Francia e Germania dove le Smart Card furono usate come carte telefoniche prepagate e carte bancarie a microprocessore dal '90 ad oggi – SIM card e carte d'identità elettroniche con la riduzione dei costi, la miniaturizzazione della tecnologia e l‟utilizzo di crittografia unito alla maggiore potenza di calcolo. Struttura (1) E' costituita da un supporto di plastica nel quale è incastonato un microchip connesso ad un'interfaccia di collegamento Tale microchip fornisce la funzionalità di calcolo e la capacità di memorizzare dati Per dialogare con essa viene usato come teminale di lettura un computer munito di porta USB, seriale o parallela Struttura (2) Componenti fondamentali: CPU Memoria ROM architettura ad 8 bit contenente il sistema operativo Memoria RAM per la memorizzazione temporanea dei dati: la cosidetta “area di lavoro” Struttura (2) Componenti fondamentali: Memoria EEPROM contenente la struttura delle directory, i file ed i dati riservati relativi a password e chiavi Porta I/O per l‟interscambio fisico delle informazioni secondo una serie di contatti ISO Struttura (3) La CPU: questo chip consente di effettuare operazioni elementari quali quelle aritmetiche ed orientate ai bit può essere usato come sistema pilota per l‟interscambio delle informazioni memorizzate nella carta per l‟interpretazione dei comandi presenti nel software di supporto della carta stessa é paragonabile alle vecchie CPU dei computer da tavolo di pochi anni fa: una specie di Commodore 64 tascabile con 3 o 5 MHz di velocità in più può essere affiancato ad un coprocessore per operazioni complesse, quali l‟utilizzo di algoritmi crittografici a chiave pubblica la capacità di memoria di una singola smart card é di circa 64 Kbyte Standard Esistono vari tipi di standard sviluppati per incoraggiare l'interoperabilità: ISO-7816 (11 parti) EMV (European Mastercard Visa) Composta da quattro documenti, utilizzato per I pagamenti GSM (Global System for Mobile Communication) Dimensioni fisiche. Caratteristiche dei contatti elettrici. Le dimensioni dei contatti. I protocolli di comunicazione La SIM card del telefono cellulare è una smart card. OCF (Open Card Framework) Rappresenta un‟infrastruttura software di tipo object oriented per l‟accesso alle smart card. Classificazioni (1) Classificazioni (2) Contact hanno bisogno di energia per comunicare e ricevere dati dotate di placche dorate che costituiscono l'insieme dei contatti attivate attraverso il contatto elettrico diretto con il lettore Classificazioni (3) Contactless non hanno connettori sulla propria superficie la connessione tra lettore e scheda è effettuata via radiofrequenza (tecnologie RFID) hanno un range di distanza di lettura variabile tra pochi millimetri fino a 1,5 metri Classificazioni (4) Memory card sono le più diffuse e le meno costose non hanno capacità di elaborazione e i dati memorizzati vengono protetti con un PIN (Personal Identification Number) poichè non consentono crittografia vengono utilizzate come credito telefonico o biglietto per il trasporto Classificazioni (5) Microprocessor card assomigliano molto ai computer che utilizziamo in quanto contengono un vero e proprio OS Il microprocessore dispone di 8 / 16 bit di potenza calcolo 16 / 32 Kb di memoria programmabile 512 / 1024 byte di memoria volatile sono alla base di moderni sistemi di identificazione i quali necessitano uno scambio agevole di informazioni di carattere personale / riservato Ambiti d'uso (1) Patente/carta d'identità elettronica Borsellino elettronico Tesserà di fedeltà Vengono utilizzate come denaro elettronico dalle banche In europa nelle grandi catene di distribuzione Carta telefonica La Sim card viene utilizzata come carta prepagata Ambiti d'uso (2) Autentificazione d'accesso Vengono usate per la maggiore le memory card in vari settori e luoghi come dal più semplice albergo ad un laboratorio che valida in presenza di un PIN o di un sistema biometrico Pedaggi elettronici Il Telepass delle autostrade funziona con la tecnologia RFID attiva Decoder satellitare SKY, Mediaset Premium Ambiti d'uso (3) Ambito sanitario · acquisizione dati pazienti (allergie, gruppo sanguigno, cartella clinica) Ambito militare utilizzo della CMD (Carta Multiservizi Difesa) come contenitore di informazioni personali (grado, corpo di appartenenza, impronte biometriche) Ambito scolastico autenticazione presso i PC dei vari laboratori acquisizione dati personali (frequenza, matricola ...) Sicurezza – microprocessor card “Le smart card a sola memoria, tecnologicamente più semplici, sono più economiche ma offrono un livello di sicurezza inferiore rispetto alle smart card a microprocessore, pertanto, sono usate tipicamente per conservare dati che non necessitano di una rigida protezione“. • Microprocessor card • • • • Esternamente uguali ad una qualsiasi smart card ma provviste di microprocessore incluso nel microchip (tutto in un IC, Integrated Circuit) Ha la possibilità di memorizzare informazioni ed eseguire operazioni anche complesse; la logica operativa è eseguita dall'OS installato nel chip Ha capacità di lettura/scrittura, gestione della memoria, gestione del file system interno, gestione dei permessi di accesso, implementazione in board e sw di funzioni crittografiche.. La presenza di un OS permette una notevole personalizzazione e gestione Sicurezza – altre applicazioni Altre applicazioni delle smart card • Mozilla Firefox può usare le smart card per memorizzare i certificati da usare nel secure web browsing • Alcuni sistemi di criptazione del disco, come FreeOTFE o TrueCrypt, possono usare le smart card come contenitori sicuri di chiavi di cifratura e per aggiungere un ulteriore livello di criptazione per alcune parti molto sensibili del disco • Un altro utilizzo è il single sign-on per loggarsi nei computer • Il supporto alle smart card è stato predisposto persino dalla Microsoft nel Windows Live Passport: un sistema di autenticazione sviluppato per permettere all'utente di accedere a numerosi siti web, servizi e applicazioni, utilizzando un unico account. Attualmente è implementato dai portali Windows Live (e MSN), Office Live, Xbox Live. Sicurezza – contact & contactless Contact (operazioni complesse x es. firma digitale) • • • • Provviste di una piastrina di contatti tramite la quale ricevono alimentazione È necessario inserire fisicamente la smart card in un apposito lettore Contactless (operazioni semplici e veloci x es. accesso zone riservate) Provviste di un'antenna che risponde a impulsi di tipo RFID (Radio Frequency Identification) emessi da un particolare dispositivo di lettura/scrittura La tecnologia RFID prevede una distanza minima tra antenna e dispositivo affinchè si possa instaurare una comunicazione Dual interface Contact + Contactless Struttura Principali obiettivi della progettazione di una smart card • Privacy • • Integrità dei dati • • tecniche di cifratura dei contenuti (MAC – Message Authentication Code) ci permettono di mantenere l'integrità dei dati nella comunicazione (SHA-1, MD5, 3DES RC5, RSA) Non ripudiabilità • • tramite techiche di crittografia a chiave simmetrica (DES) o asimmetrica (RSA) La prova dell'integrità e della validità della comunicazione avvenuta (DS) Autenticazione e resistenza alle manomissioni • Autenticazione differente da identificazione e autorizzazione • source auth., peer entity auth. (tramite certificati, PIN, DSA, RSA) • mutua autenticazione (SAM – Secure Application Module) • Biometria Sicurezza – access control Access control • Logical Access Control • • Controllo tramite password o algoritmi crittografici per l'autenticazione Physical Access Control • Riguardante l'accesso fisico alla smart card e alle informazioni contenute. Questo è possibile tramite il bypassing di circuiti della card e altre tecniche che vedremo successivamente Attacchi – tramite accesso fisico • • Rimozione del chip • Rimozione del chip • 20-50 ml di acido nitrico 60° • Pulizia con acetone Studio del chip • Studio a microscopio (reverse engeneering) • Microprobing (accesso a chiavi crittografiche) • Interazione tramite infrarossi Attacchi – tramite accesso fisico Rimozione del chip Studio del chip Attacchi – tramite accesso fisico Ricordiamo che la maggior parte di smart card è tamper resistant! Risulta difficile, infatti, avere accesso fisico al chip delle microprocessor card. I seguenti attacchi si basano, principalmente, sull'analisi dei segnali elettrici trasmessi e sull'analisi dell'assorbimento elettrico durante le operazioni. Attacchi – tramite accesso fisico • SPA/DPA (Simple/Differential Power Analysis) • Implica la precisa misurazione del tempo e della corrente elettrica richiesta per determinate operazioni di cifratura o decifratura. • Attacco fra I più comuni mirato principalmente a bypassare l'algoritmo RSA “deducendo” la chiave privata del chip. Attacchi – tramite accesso fisico • EMA (ElectroMagnetic Analysis) • Si presuppone che il cracker sia già entrato fisicamente in possesso della smart card e che abbia già estratto il microprocessore. • Viene setacciata la superficie del chip per trovare il miglior punto di misura elettromagnetica • Effettuando una accurata misura tramite una precisa attrezzatura, riusciamo a vedere le differenze di picchi elettromagnetici che identificano, ognuna, un‟operazione diversa che è possibile eseguire Attacchi – tramite accesso fisico Power and Electromagnetic Analysis Attacchi – tramite accesso fisico • RFA (Radio Frequency Analysis) • Tecnica usata esclusivamente con la tecnologia contactless • Misto di Simple o Differential Power Analysis e ElectroMagnetic Analysis • Nessuna rimozione del chip! • Valutazione del campo elettromagnetico che circonda il chip durante le operazioni • Il fatto che il chip sia alimentato via radio, implica che il campo magnetico cambia come una funzione di consumo della carta. • Misurando, quindi, le variazioni del campo magnetico che circondano il chip, si riescono ad ottenere informazioni utili per un eventuale attacco. Attacchi – tramite accesso fisico Attacchi – tramite accesso fisico Attacchi – tramite accesso fisico Attacchi – tramite accesso logico • • • Autenticazione su browser web • Malware overwriter • Malware (Trojan, Silentbanker) • Possibile soluzione: card reader sconnesso • Altra soluzione: ERIDANE Radio eavesdropping • Intercettazione ed analisi della comunicazione come per WIFI • Necessaria cifratura della comunicazione, dei pacchetti etc... Fake card reader con applicazione attacchi fisici • Palese esempio dei bancomat con installazione falsi card reader Attacchi – tramite accesso logico • Attacchi DOS (Denial Of Service) • Scenario 1: servizio a pagamento • Pagamento tramite crediti memorizzati in una smart card • Attacco continuo ed insistente fino ad esaurimento credito o negazione dell‟accesso da parte del gestore del servizio • Scenario 2: prelievo denaro contate • Stesso tipo di attacco precedente • Blocco immediato del servizio • Le carte possono essere addirittura svuotate o „distrutte‟ da remoto tramite un flusso inappropiato di onde elettromagnetiche Attacchi – tramite accesso logico • Interruzione delle operazioni • Attacco ottimale per smart card contactless • L‟interruzione della comunicazione tra smart card e lettore non verrà segnalata • Necessari meccanismi di backup e backtracking • Nei sistemi di strasporto pubblico, per esempio, il sistema dovrà essere sicuro di non accreditare due volte lo stesso biglietto allo stesso passeggero che si è trovato in una situazione di „interruzione delle operazioni‟ Attacchi – tramite accesso logico • Covert transactions (operaz. di transizione) • In questo scenario, l‟utente possessore della smart card non sa se sta comunicando con un valido card reader (vedi esempio bancomat). • Durante la comunicazione possono essere nascoste più operazioni in una, false transazioni, nel caso di una operazione bancaria, mostrare un ammontare ridotto ma effettuare un trasferimento consistente • Una soluzione è data dall‟utilizzo di certificati di sicurezza e, volendo, dall‟interazione fra sistema di gestione e utente (può essere chiesta la conferma per una specifica operazione..) Un minimo di sicurezza in più Sono state sviluppate diverse tecniche SW per rendere le smart card più sicure: • • • Integrità dei dati • SHA-1 - 160 bit per 2^64 bit di lunghezza • MD5 - 128 bit Autenticazione • DSA - chiave privata di lunghezza tra 512 e 1024 bit • RSA - chiavi private fino a 2048 bit Altro • DES/3DES - crittografia simmetrica • RC5 - crittografia simmetrica • PIN - Personal Identification Number • PUK - Personal UnlocKing number …eventuali approfondimenti… Per domare la sete di conoscenza in merito alle smart card, consiglio: • • JavaCard ambiente di sviluppo JAVA per applicazioni specifiche per smart card e altri dispositivi di memoria e computazione limitate http://java.sun.com/javacard/ MULTOS (MULTi application card Operating Systems) Il primo MACOS (Multi Application Card Operating Systems) aperto e sicuro che permette di caricare, aggiornare, eliminare applicazioni durante la vita della card http://www.multos.com/ …sete di conoscenza… Per i più pigri ma collaborativi: • opensc-project.org portale che contiene diversi progetti open source mirati allo sviluppo di tutto ciò che concerne le smart card.. pagine wiki, codice sorgente, repository di versioni precedenti, mailing list… http://www.opensc-project.org/ Bibliografia http://www.cardnology.com/card_it.shtml http://www.tiresias.org/research/reports/national_smart_card_pr oject.htm http://it.wikipedia.org/wiki/Smart_card http://www.giuseppespecchio.it/?p=15 http://www.dia.uniroma3.it/~dispense/merola/critto/tesine/smart card2.pdf ftp://ftp.ge.cnr.it/pub/Sicurezza2004-05/smartcard_ferrara2.pdf http://www.cl.cam.ac.uk/~mgk25/sc99-tamper.pdf http://www.cl.cam.ac.uk/~mgk25/sc99-tamper-slides.pdf http://www.chi-publishing.com/samples/ISB0903HH.pdf http://www.securingjava.com/chapter-eight/chapter-eight-5.html http://people.cs.uchicago.edu/~dinoj/smartcard/security.html