1 / 27

Introduzione alle smartcard

Introduzione alle smartcard. @ Webbit 2003 by Alessio Orlandi. Cos’è una smartcard?. Uno strumento elettronico altamente confidenziale Un contenitore di informazioni Una blackbox Un dispositivo soggetto a standard internazionali. Possibili usi. Autenticazione Crittografia Storage

kendis
Download Presentation

Introduzione alle smartcard

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduzione alle smartcard @ Webbit 2003 by Alessio Orlandi

  2. Cos’è una smartcard? • Uno strumento elettronico altamente confidenziale • Un contenitore di informazioni • Una blackbox • Un dispositivo soggetto a standard internazionali

  3. Possibili usi • Autenticazione • Crittografia • Storage A seconda dell’uso si utilizzano tipi di smartcard differenti

  4. Premesse all’uso • La smartcard è univoca, inviolabile e associata ad un’entità da rappresentare (“La mia smartcard è il mio passaporto”) • La smartcard può effettuare soltanto le operazioni per cui è stata programmata e tali operazioni vengono svolte solo al suo interno

  5. Utilizzo nel mondo moderno • Carte di credito • Token di autenticazione • Private Key • Tessere di raccolta punti • Accesso alle TV satellitari • Registrazione di accesso fisico Possono sostituire completamente i badge

  6. Tipi principali di smartcard • Intelligenti • Contengono un microprocessore in grado di effettuare operazioni di qualsiasi tipo • Possono contenere addirittura un coprocessore crittografico • Non intelligenti Tutti le smartcard contengono ovviamente delle EEPROM per lo storage dei dati

  7. Interfacciamento • La smartcard necessita di un CAD (Card Acceptance Device) • La smartcard si limita a rispondere alle richieste inviate dal CAD effettuando le necessarie operazioni interne • Nel caso di smartcard non intelligenti il CAD ha completo accesso ai dati contenuti sulla EPROM

  8. Interfacciamento (schema) Richiesta dall’interfaccia Risposta

  9. Passwords vs. Smartcards • Posso rubare una password senza privarne il proprietario • Posso copiare una password cifrata • Posso “crackare” una password (bruteforce) • … Insomma posso impersonare l’utente

  10. Cosa c’è dentro le smartcard? • Informazioni di autenticazione • Informazioni biometriche • Certificati digitali • Semplici password • Informazioni da trasportare • Contatori • Log di utilizzo della smartcard stessa Tali informazioni sono quasi sempre cifrate

  11. Una smartcard è… • Un corpo in plastica • Una serie di componenti elettronici nascosti • Un gruppo di contatti per la comunicazione con il CAD

  12. Particolarità • L’I/O è asincrono e avviene su un solo pin • Il costo deve essere il più contenuto possibile • Il processore deve essere write-only • La EEPROM può essere auto-cifrante • La velocità di comunicazione è solitamente non superiore a 9600bps

  13. Standard • Unico lo standard per l’hardware: ISO7816 • Nessuno standard per la struttura interna della componentistica • Vari invece gli standard software: • GSM • ETSI • …

  14. Comunicazione low level (1) • Definita dallo standard ISO7816-4 • La APDU contiene • CLA: Classe dell’istruzione • INS: Istruzione • P1: Parametro 1 • P2: Parametro 2 • LEN: Lunghezza dei dati seguenti

  15. Comunicazione low level (2) • Due byte di ritorno: SW1, SW2 • Possono indicare l’inesistenza dell’istruzione richiesta • Possono indicare la lunghezza di una eventuale successiva trasmissione dei dati di ritorno

  16. Esempio INS: 01 (PIN WRITE) P1: NULL, P2: NULL, LEN: 4 [pin] SW1: 00 (OK)/01 (KO) SW2: NULL INS: 02 (PIN CHANGE) P1: NULL, P2: xor(newpin), LEN: 9 [oldpin, newpin] SW1: 00 (OK), 01 (KO) SW2: XOR(newpin)

  17. Pro e contro • Univocità del token di autenticazione • Alta standardizzazione • Facile gestione • Costo intrinseco proporzionale al numero di utenze • Necessità di hardware dedicato • Mi sono perso la smartcard…

  18. Java Cards • Sono un tipo di smartcard molto comuni • Sono microprogrammate e in grado di interpretare bytecode Java • Hanno controlli runtime aggiuntivi • Il framework è estremamente portabili • E’ disponibile una buona documentazione anche per i principianti

  19. Smartcard FileSystem (1) • E’ largamente utilizzato per organizzare i dati all’interno della smartcard • Prevede fino a 256 files organizzati in vari livelli • L’accesso ad alcuni file può determinare operazioni interne trasparenti all’utente stesso • Detto anche EID (Electronic ID) profile

  20. Smartcard FileSystem (2) • Prevede un sistema di mandatory ACL che associa utenti e permessi (validi sul FS in toto) • Utenti disponibili: • 2 livelli CHV (CardHolder Verification): PIN • 4 livelli AUT (Management): 56bit DES key • Permessi: Read, Write, Execute, Invalidate, Rehabilitate

  21. PKCS #15 • Definito dagli RSA Labs • E’ costruito sullo Smartcard Filesystem • Definisce 2 operazioni: autorizzazione/cifratura e non ripudiabilità • Per ogni operazione un PIN sblocca una RSA private key presente sulla carta convalidata a sua volta da un certificato X509

  22. Ma c’è da fidarsi ? • Smartcard non duplicabile • Microprocessore non influenzabile • Impossibilità di reverse-engineering del software della smartcard • EEPROM non alterabile o leggibile • Comunicazioni con il CAD affidabile • Smartcard facilmente revocabile

  23. Attacchi più comuni • Trielinaggio o simili per raggiungere la EEPROM e forzarne il dump • Utilizzo di raggi UV • Interfacciamento con logger • Analisi differenziale per il reverse engineering del processore • Eavesdropping dei componenti interni

  24. Principali PoF • Dati contenuti nella EEPROM • Programma del microprocessore • Struttura del microprocessore • Comunicazione con il CAD Il problema più grave è la duplicazione delle smartcard

  25. Quindi… • Smartcard affidabili dal punto di vista fisico • Checksum dei dati sulla EEPROM • Processore write-only • Nessuna esportazione completa dei dati all’esterno della smartcard • Se proprio è necessario usare controllo a campione dei dati contenuti nella EEPROM • Selfchecking del programma

  26. Un esempio pratico • OpenSSH • JavaCard • Applet di OpenSSH per JavaCard • SecTok library Smartcard filesystem con le chiavi necessarie per la comunicazione.

  27. Domande? Si, le slide saranno disponibili a breve su http://nail.itapac.net/ E-mail: alessio.orlandi@lamortenera.it

More Related