UNIVERSITÀ POLITECNICA DELLE MARCHE
Facoltà di Ingegneria
_________________________________________________________________________________________
Corso di Laurea in Ingegneria Elettronica
Tesi di Laurea
Progetto e sviluppo di una “xlet” per offrire
servizi di prenotazione in ambito sanitario
sulla piattaforma del digitale terrestre
Candidato:
Domenico Ranieri
Relatore:
Prof. Aldo Franco Dragoni
Correlatore:
Prof. Paolo Puliti
Accademico 2005/06
Obiettivi
• Realizzare un’ applicazione per potere visualizzare su TV
digitale terrestre i contenuti informativi dell’ASUR zona 7
(attualmente disponibili solo su internet)
• Realizzare un’ applicazione che permetta di prenotare,
visionare, cancellare visite mediche specialistiche
• Utilizzo di Smart Card
• Canale di ritorno - interattività
• Programmazione JAVA conforme allo standard DVB-MHP
•Servizio informativo
Motivazioni
•Servizio interattivo
• Switch off previsto per il 2012
• Digital divide
–
–
–
–
Anziani
Diversamente abili
Mezzogiorno
Fascia debole della popolazione
• Richiesta di una piattaforma facilmente usabile
• Sviluppi futuri del sistema sanitario
– Possibilità di prenotare visite e visionare referti medici direttamente da casa
– Smart Card: CNS, CIE
•Servizio informativo
Scenario
•Servizio interattivo
• Televisione
– Mezzo di comunicazione incisivo e completo
– In possesso dalla quasi totalità della popolazione
• Digitale Terrestre con MHP (Multimedia Home Platform)
–
–
–
–
Multiplazione: più canali per ogni emittente
Applicazioni: accesso a pagine simili a quelle presenti su internet
Sicurezza: le informazioni scambiate vengono criptate
Compressione e codifica MPEG: trasmissioni ad alta definizione
• Set Top Box
–
–
–
–
Paragonabile a computer specializzati
Molto più economico di un PC
Non richiede la sostituzione della TV in possesso
Riceve dati via etere, ne invia e ne trasmette tramite connessione telefonica
•Digital Divide
•Servizio informativo
Impostazione
•Servizio interattivo
•Usabilità
•Smart card
• Accessibilità
– Destinato anche a soggetti con disturbi visivi o articolatori
• Adattabilità
– Si adatta ai database e contenuti esistenti
– Non viene tagliato lo schermo neanche su TV con pochi pollici
• Usabilità
– Intuitivo, richiede pochi input ed è facilmente navigabile
• Sicurezza
– Comunicazioni cifrate con protocollo SSL/TLS(1.0)
– Smart Card
•Digital Divide
•Servizio informativo
Strumenti usati
•
•
•
•
•
•
•
•
•
•
•Servizio interattivo
•Usabilità
•Smart card
J2SDK 1.4.2_05
Eclipse 3.2
XleTView 0.3.6
Decoder ADB x-75 con MHP 1.0.2
Televisori catodici o LCD di diverse grandezze
Oltre 10.000 righe di codice JAVA
Oltre 1.200 righe di informazioni per il cittadino
Software per elaborazione video/grafica
Lettore Smart Card RS232
Smart card di diverso genere
•Digital Divide
•Servizio informativo
Statistiche
•Servizio interattivo
•Usabilità
•Smart card
• “Utenti” internet in 10 paesi (% sulla popolazione)
… Occorre trovare un canale di comunicazione con la quale la Pubblica
Amministrazione raggiunga una percentuale maggiore di popolazione.
•Digital Divide
•Servizio informativo
Statistiche
•Servizio interattivo
•Usabilità
•Smart card
• Principali mezzi di comunicazione (% delle popolazione)
Digitale terrestre
NO DIGITAL DIVIDE
•Digital Divide
•Servizio informativo
Usabilità
•Servizio interattivo
•Usabilità
•Smart card
I servizi su digitale terrestre devono poter esser usati facilmente
dal soggetto destinatario.
Idea sul funzionamento
che l’utente percepisce
Idea del progettista
• Analisi dell’utente:
– Esigenze: informazioni, cancellazione visite
– Profilo: anziani con scarse conoscenze tecniche
– Verifiche tecniche: sistema testato da persone da 14 a 80 anni
• Adeguatezza: la xlet deve richiedere solo input necessari
• Facilità di apprendimento: nessun manuale d’istruzioni
• Robustezza: ci deve essere una bassa probabilità d’errore
•Digital Divide
•Servizio informativo
Smart Card
•Servizio interattivo
•Usabilità
•Smart card
In futuro verranno distribuite ai cittadini CNS e CIE con
le quali sarà possibile accedere ad i servizi del T-Gov in
modo sicuro (crittografia) e più facile (dati personali).
import opencard.core.service.*;
import opencard.core.terminal.*;
import opencard.core.event.*;
import opencard.core.service.SmartCard;
import opencard.core.service.CardRequest;
import opencard.core.terminal.CardID;
public class ReadFile extends CardService
implements CTListener,javax.tv.xlet.Xlet
{
private static final int MAX_APDU_SIZE = 100;
final byte CMD_SELECT_MF = {(byte)0xC0, (byte)0xA4,(byte)0x00,(byte)0x00, (byte)0x02,(byte)0x3F,(byte)0x00 };
// comando ISO/IEC 7816-4 SELECT FILE
//(seleziona l’EF con FID = 0005, senza dati in risposta)
final byte CMD_SELECT_EF0005 ={(byte)0xC0, (byte)0xA4,(byte)0x00,(byte)0x00, (byte)0x02,(byte)0x00, (byte)0x05 };
// questo comando serve per leggere i byte)
final byte[] CMD_READ_BINARY ={(byte)0xC0, (byte)0xB0,(byte)0x00, (byte)0x00, (byte)0x14 };
private static Object monitor = "synchronization monitor";
private CardTerminal ct;
private CardRequest cr;
private int slotID;
private SmartCard card;
public void initXlet(javax.tv.xlet.XletContext context)
throws javax.tv.xlet.XletStateChangeException
{
//[...] }
•Digital Divide
•Servizio informativo
Smart Card
public void pauseXlet() {
//[...]
}
public void destroyXlet(boolean unconditional)
throws javax.tv.xlet.XletStateChangeException {
//[...]
}
public void startXlet()
throws javax.tv.xlet.XletStateChangeException {
//[...]
Try {
CardID cardID = ct.getCardID(slotID);
String name = ct.getName();
byte[] i = cardID.getATR();
printATR(i);
ResponseAPDU ris;
ris = doSomeThingWithCard(CMD_SELECT_MF);
System.out.print("L’output del comando è: ");
printByte(ris);
ris = doSomeThingWithCard(CMD_SELECT_EF0005);
System.out.print("L’output del comando è: ");
printByte(ris);
ris = doSomeThingWithCard(CMD_READ_BINARY);
System.out.print("Il contenuto del file è ");
printByte(ris);
}
public void cardInserted(CardTerminalEvent ctEvent) {
try
cr = new CardRequest(CardRequest.ANYCARD,ct,null);
card = SmartCard.getSmartCard(ctEvent, null);
ct = cr.getCardTerminal();
slotID = ctEvent.getSlotID();
synchronized (monitor) {
monitor.notifyAll(); } }
catch(Exception e) {
System.out.println("faild connection"); } }
•Servizio interattivo
•Usabilità
•Smart card
public void Read() { try {
EventGenerator.getGenerator().addCTListener(this);
EventGenerator.getGenerator().createEventsForPresentCards(this);
synchronized (monitor) {
System.out.println ("please insert a card now!\n");
monitor.wait(); }
System.out.println("SmartCard connected"); }
catch (Exception e) {
System.out.println("SmartCard not connected"); } }
public void printByte(ResponseAPDU response) {
for (n=0; n < response.getLength(); n++) {
s = Integer.toHexString(response.getByte(n)).toUpperCase();
if (s.length()== 1) s = "0" + s;
System.out.print(s + " "); } }
public void printATR(byte[] i) {
System.out.print("La carta ");
for (n=0; n<i.length; n++) {
x = (int) (0x000000FF & i[n]); // byte to int conversion
s = Integer.toHexString(x).toUpperCase();
if (s.length()== 1) s = "0" + s;
System.out.print(s + " "); }
System.out.print("è stata inserita nello slot "+slotID+"del lettore
"+name); }
public static String toHexString ( byte[] b ) {
StringBuffer sb = new StringBuffer( b.length * 2 );
for ( int i=0 ; i<b.length ; i++ ) {
sb.append( hexChar [ ( b[ i] & 0xf0 ) >>> 4 ] ) ;
sb.append( hexChar [ b[ i] & 0x0f ] ) ; }
return sb.toString() ; }
static char[] hexChar ={
’0’ , ’1’ , ’2’ , ’3’ ,
’4’ , ’5’ , ’6’ , ’7’ ,
’8’ , ’9’ , ’a’ , ’b’ ,
’c’ , ’d’ , ’e’ , ’f’
};
}
•Digital Divide
•Servizio informativo
Contesto
•Servizio interattivo
•Usabilità
•Smart card
Sono state realizzate due xlet
T-Gaming
T-Mail
T-Commerce
T-Advertising
Digitale
Terrestre
T-Banking
T-Government
Servizi forniti dalle pubbliche amministrazioni
o dagli enti privati, fruibili dall'utente tramite il
mezzo televisivo
• Tra i servizi di T-Government rientrano:
– Informazioni
– Richieste certificati anagrafici,
pagamenti (ICI, tasse, multe)
– Servizi di partecipazione (sondaggi
sull'operato delle PA)
– Servizi sociali: sanità, assistenza
sociale e disabilità, la terza età,
lavoro e occupazione
Attualmente sono presenti pochi
servizi sanitari su TDT:
•Farmacie di turno (Lombardia)
•T-lessia (Emilia Romagna)
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet Informazioni
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet interattiva
Pagina iniziale
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet interattiva
Controllo di autenticazione
•Servizio interattivo
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet interattiva
•Servizio interattivo
Elenco prestazioni prenotate/prenotabili
•Usabilità
•Smart card
•Digital Divide
•Servizio informativo
Xlet interattiva
•Servizio interattivo
•Usabilità
•Smart card
Cancellazione/prenotazione di una visita nell’elenco
•Digital Divide
•Servizio informativo
Xlet interattiva
Messaggio di conferma
•Servizio interattivo
•Usabilità
•Smart card
Sviluppi futuri
• Il portale informativo verrà trasmesso tra qualche mese da
un’ emittente locale
• Versione per non vedenti
• Servizi interattivi:
–
–
–
–
Adattamento del codice al linguaggio MHP
Uso di smart card come CNS, CIE, carta Raffaello, ecc…
Test alla sicurezza del canale di ritorno
Integrazione dei database esistenti
• Piano di business
– Spazi pubblicitari
– Numero verde per il canale di ritorno
– Pagamento Ticket online
Conclusioni
• Se in un primo momento la stessa ASUR sembrava
scoraggiata nell’investimento nel digitale terrestre, dopo
aver visto il risultato di questa tesi, sembra molto
interessata a questa nuova tecnologia.
• Presenze come quella dell’ ASUR nello scenario del DTT
accelereranno l’avvicinamento dei cittadini verso questa
innovazione e ne miglioreranno un’ immagine fino ad oggi
molto criticata, ma mai per motivi tecnici.
fine
Grazie per l’attenzione
Domenico Ranieri
[email protected]
Scarica

Smart Card - AIRT Lab - Università Politecnica delle Marche