Università degli Studi di Firenze Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Studio e sviluppo di una libreria Java per la lettura di Smart Card su decoder TV digitale terrestre Relatori: Dr. Alessandro Piva Dr. Roberto Caldelli Ing. Rudy Becarelli Ing. Matteo Casini Tesi di laurea di Federica Gelli 21 Febbraio 2011 Obiettivo Scenario di riferimento: la TV digitale terrestre Le Smart Card Realizzazione della libreria Java Realizzazione dell’applicazione MHP ‘SCReader’ Conclusioni e sviluppi futuri 2 Obiettivo Studio e sviluppo di una API Java MHP per la lettura di Smart Card su decoder TV digitale terrestre segnale digitale terrestre Broadcaster d t car r a sm TV e Set Top Box 3 La TV digitale terrestre MPEG ‐ 2 Standard aperto per la TV digitale interattiva. Definisce l’interfaccia tra le applicazioni interattive e i terminali sui quali queste possono essere eseguite. 4 Le Smart Card Memory Card Microprocessor Card APDU (Application Protocol Data Unit) 5 Smart Card analizzate Carta Nazionale dei Servizi (CNS) Carta Sanitaria Elettronica (CSE) Carte di pagamento Riduzione frodi Chip e Pin «chip only» 6 Comunicazione tra Smart Card e lettore C ‐ APDU R ‐ APDU Tag: uno o due byte consecutivi che Tag identificano in maniera univoca un oggetto Length: lunghezza del campo Value Length dell’oggetto Value: contenuto dell’oggetto Value 7 Sequenza di messaggi APDU tra lettore e carte di pagamento SELECT PSE (Payment System Environment) Risposta READ RECORD Risposta 00A40000 07 A0000000031010 Select Lunghezza VISA SELECT AID Risposta GET PROCESSING OPTIONS Risposta READ RECORD Risposta 8 Realizzazione della libreria API Java Smart Card I/O API SATSA Runtime J2SE (Java 2 Platform, Standard Edition) Runtime J2ME (Java 2 Micro Edition) 9 Realizzazione della libreria 10 Realizzazione della libreria API SATSA 5f20 0e 47 45 4c 4c 49 2f 46 45 44 45 52 49 43 41 API Java Smart Card I/O Cardholder name 0e = 14 GELLI FEDERICA 11 Le interfacce Realizzare una libreria estendibile e configurabile senza la necessità di andare a modificare il codice già scritto. 12 Struttura della libreria Connection Cards uses <<Singleton>> <<Interface>> Connection Factory Connection Card Factory <<Interface>> Card <<Interface>> SATSAConnection SCIOConnection CardImpl <<Interface>> Credit Card CNS/CSE depends CNSImpl CreditCardImplSCIO CreditCardImplSATSA depends 13 J‐mag 14 L’applicazione ‘SCReader’ • Istanza della classe ‘Connection Factory ‘ per il recupero della giusta connessione. • Metodo ‘recognizeCard( )’ restituisce il giusto oggetto (Credit Card). 15 L’applicazione ‘SCReader’ • Istanza della classe ‘Connection Factory ‘ per il recupero della giusta connessione. • Metodo ‘recognizeCard( )’ restituisce il giusto oggetto (CNS). • Metodo ‘CheckPin( )’ per la verifica del PIN. 16 L’applicazione ‘SCReader’ 17 Risultati ottenuti DiPro Interact I‐MHP Telesystem TS7900HD Elsag Aries1000H Humax Combo‐9000 18 Conclusioni e sviluppi futuri Realizzazione di una API Java per la lettura di Smart Card. Libreria modulare. Realizzazione dell’applicazione test (Xlet) MHP. Sviluppi futuri: Riuscire a leggere in maniera omogenea tutte le Smart Card in tutti i Set Top Box. Integrare la libreria con la lettura di altre tipologie di carte come, ad esempio, la Carta d’Identità Elettronica (CIE). 19 Università degli studi di Firenze Facoltà di Ingegneria Corso di laurea in Ingegneria delle Telecomunicazioni Studio e sviluppo di una libreria Java per la lettura di Smart Card su decoder TV digitale terrestre Relatori: Dr. Alessandro Piva Dr. Roberto Caldelli Ing. Rudy Becarelli Ing. Matteo Casini Tesi di laurea di Federica Gelli 21 Febbraio 2011