Le Smart Card - Università degli Studi di Firenze

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