UNIVERSITÀ POLITECNICA DELLE MARCHE Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di Laurea SISTEMI DI PAGAMENTO DIGITALE SULLA PIATTAFORMA DELLA TV DIGITALE TERRESTRE Candidato: Matteo Traù Reletore: Prof. Aldo Franco Dragoni Anno Accademico 2007/2008 Obiettivi • valutare la realizzabilità di servizi di commercio elettronico su TV digitale terrestre • realizzare un’applicazione che dimostri le potenzialità del t-commerce • valutare l’adeguatezza della piattaforma al commercio elettronico • individuare i punti deboli o quelli di forza, gli svantaggi e i vantaggi TV digitale terrestre • Televisione - comunicazione incisiva e completa - larga diffusione tra la popolazione • DVB-T e MHP - multiplazione: aumento dei canali - applicazioni: pagine interattive - sicurezza: informazioni criptate - codifica MPEG: qualità migliorata • set-top-box - collegabile al televisore - programmabile con Java - più economico di un PC, ma sicuramente più limitato - ricezione applicazioni via etere, comunicazione con i server via cavo telefonico - lettore di smart card integrato e-commerce: il funzionamento CLIENTE NEGOZIO BANCA e-commerce: il funzionamento OK CARELLO NEGOZIO CLIENTE BANCA e-commerce: il funzionamento CLIENTE INIZIO TRANSAZIONE DI PAGAMENTO NEGOZIO BANCA e-commerce: il funzionamento CLIENTE CONSEGNA DEL TOKEN PER LA SESSIONE DI PAGAMENTO NEGOZIO BANCA e-commerce: il funzionamento COORDINATE DI PAGAMENTO NEGOZIO CLIENTE BANCA e-commerce: il funzionamento CLIENTE NEGOZIO DATI DI PAGAMENTO BANCA e-commerce: il funzionamento CLIENTE CONFERMA PAGAMENTO MERCE SELEZIONATA NEGOZIO BANCA e-commerce: il funzionamento CLIENTE CONFERMA RICEZIONE DELL’AVVENUTO PAGAMENTO NEGOZIO BANCA e-commerce: il funzionamento CLIENTE NEGOZIO RINVIO AL NEGOZIO BANCA digital divide 35 30 25 20 % della popolazione 15 10 5 0 14-17 18-24 25-34 35-44 45-54 oltre 54 digital divide 35 30 25 20 % della popolazione % utenti Internet 15 10 5 0 14-17 18-24 25-34 35-44 45-54 oltre 54 digital divide 35 30 25 20 % della popolazione % utenti Internet 15 10 5 0 14-17 18-24 25-34 35-44 45-54 oltre 54 t-commerce: un nuovo schema CLIENTE EMITTENTE TV CENTRO SERVIZI NEGOZIO BANCA t-commerce: un nuovo schema xlet trasmissione televisiva CLIENTE EMITTENTE TV CENTRO SERVIZI NEGOZIO BANCA t-commerce: un nuovo schema xlet trasmissione televisiva CLIENTE EMITTENTE TV dati pagamento Canale di ritorno CENTRO SERVIZI NEGOZIO BANCA t-commerce: un nuovo schema xlet trasmissione televisiva CLIENTE EMITTENTE TV dati pagamento Canale di ritorno CENTRO SERVIZI pagamento merce NEGOZIO BANCA t-commerce • possibilità di effettuare transazioni finanziarie tramite set-top-box • acquisto di merci esposte in “vetrine televisive” • pagamenti per la pubblica amministrazione e servizi sociosanitari • riversare l’esperienza del e-commerce sul t-commerce in termini di : - sicurezza delle transazioni - fiducia dell’utente - modalità di pagamento t-commerce: aspetti tecnici • linguaggio di programmazione: - client: Java (versione ridotta nei STB) - server: a scelta del programmatore • canale trasmissivo: - canale broadcast televisivo per il download delle applicazioni - canale di ritorno telefonico per comunicare con il server • no browser ma solo applicazioni Java t-commerce: aspetti tecnici • schermo TV: - risoluzione, nitidezza, area visiva inferiori rispetto al monitor di un PC - possibilità di mostrare la merce con filmati illustrando anche funzionalità e modi di utilizzo dei prodotti • capacità di input: - non ci sono tastiera e mouse, ma solo il telecomando - necessità di limitare i dati che l’utente deve inserire applicazione Scopi: • pagamento ticket sanitario tramite piattaforma della televisione digitale terrestre • dimostrazione dello scenario al fine di individuare vantaggi e svantaggi • invio dei dati su canale sicuro SSL • raccolta dei dati in un database applicazione Linee guida: • compatibilità con MHP • usabilità dell’interfaccia tramite alcune regole da noi studiate e codificate • connessione al canale di ritorno del STB • riservatezza dei dati (SSL) • dati per ogni tipo di pagamento salvati in modo diverso (futura integrazione con veri istituti finanziari) applicazione: la struttura Scelta Metodi di pagamento Account ASUR PayPal Carta di credito Termina SERVER SERVER Esito Esito SERVER Esito applicazione: la struttura modularità: • ciascuna pagina è un oggetto a sé stante • un oggetto Navigatore carica le pagine quando necessario • una pagina può essere modificata, sostituita o aggiunta modificando i riferimenti sul Navigatore • ciascuna pagina ha un suo gestore degli eventi • scena, sfondo e context creati dalla xlet iniziale vengono passati alle pagine tramite il Navigatore Costruttore della classe PaginaScegli public PaginaScegli(Hscene scene, Sfondo sfondo, XletContext context) { this.scene = scene; this.sfondo = sfondo; this.context = context; } Costruttore della classe Navigatore public } Navigatore(Hscene scene, Sfondo sfondo, XletContext context) { this.scene = scene; this.sfondo = sfondo; this.context = context; applicazione Prima pagina • pagamento del ticket on-line • pagamento del ticket allo sportello e chiusura dell’applicazione applicazione Metodi di pagamento • carta di credito • account PayPal • account ASUR applicazione: carta di credito Dati richiesti • nome e cognome • numero della carta di credito • scadenza della carta • numero di verifica CVV2 applicazione: PayPal Dati richiesti • nome utente dell’account PayPal • password dell’account PayPal applicazione: account ASUR Funzionamento: • account legato ad un conto prepagato dell’utente • autenticazione con nome utente e password • verificata l’identità dell’utente il pagamento avviene automaticamente Motivazioni della scelta: • facilità di utilizzo • minimizza l’inserimento dati • (firmando i dati inviati con la CNS si è certi della identità dell’utente e della sua presenza) applicazione: account ASUR Autenticazione dell’utente String username = dati[1]; String password = dati[2]; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String filename = "Asur7.mdb"; String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; database+= filename.trim() + ";DriverID=22;READONLY=true Connection con = DriverManager.getConnection( database ,"",""); Statement s = con.createStatement(); s.execute("SELECT password FROM utenti WHERE username ='"+username+"'"); ResultSet rs = s.getResultSet(); if (rs != null) {// if rs == null, then there is no ResultSet to view while ( rs.next()){ if (rs.getString(1).equals(password)) return true; else return false; } } s.close(); con.close(); return true; applicazione: SSL Caricamento del certificato try { char[] storepass = STOREPASS.toCharArray(); ctx = SSLContext.getInstance(“SSL”); kmf = KeyManagerFactory.getInstance(“SunX509”); ks = KeyStore.getInstance(“JKS”); ks.load(new FileInputStream(STORENAME), storepass); kmf.init(kmf.getKeyManagers(), null, null); factory = ctx.getSocketFactory(); } catch (Exception e) { e.printStackTrace(); } Connessione al server // OTTIENE IL SOCKET SSL socket = (SSLSocket)factory.createSocket(host, port); // STREAM DI BYTE DA PASSARE AL SOCKET os = new DataOutputStream(socket.getOutputStream()); is = new BufferedReader(new InputStreamReader(socket.getInputStream())); // SCRIVE SUL CANALE IN USCITA DAL SOCKET os.writeBytes(s + ‘\n’); // RICEVE DAL SERVER L’ESITO DELL’OPERAZIONE rispostaClient = is.readLine().toString(); applicazione: la tastiera virtuale • inserimento dati: • alternative: - tastierino numerico del telecomando - tastiera virtuale • i motivi della scelta: - ottimizza il livello attenzione utente - minimo tasso di errore - no QWERTY conclusioni • trasportabilità di caratteristiche e servizi da e-commerce a t-commerce • possibilità di sfruttare le potenzialità del mezzo televisivo • inadeguatezza dell’interfaccia (telecomado) • opportunità da non perdere - prossimo switch-off (2012) - commercio elettronico in crescita - pagamenti per PA e sanità offerti a popolazione adesso esclusa da servizi di rete fine Grazie per l’attenzione t-commerce: un nuovo attore Problema della proprietà e del controllo delle applicazioni: • banca: in modo che nessuno possa venire a conoscenza del sistema per le transazioni o interferire con le operazioni • emittente TV: ospita le applicazioni sui propri server e le controlla e-commerce: la situazione • svolgimento di attività commerciali e di transazioni per via elettronica • commercializzazione di beni e servizi fisici e digitali • siti di commercio elettronico - consultazione catalogo prodotti/servizi - ordine - pagamento on-line • per l’ottavo anno consecutivo il settore ha avuto una crescita a due cifre micropagamenti • operazione o servizio di pagamento che consente il trasferimento di piccole quantità di denaro in forma elettronica • vantaggiosi quando, per le piccole somme, i tradizionali metodi di pagamento sono poco pratici o troppo costosi • gli operatori accumulano una sequenza di micropagamenti virtualizzati su un’unica transazione di accredito tradizionale PayPal • nato come alternativa alla carta di credito per le aste on-line • grande diffusione (privati e piccole aziende) • si appoggia su una carta di credito • non vengono inviate informazioni riguardanti la carta di credito