La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
-
Upload
cattid-sapienza -
Category
Technology
-
view
579 -
download
1
description
Transcript of La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
Sviluppo di un'applet Java Card che implementa
un protocollo di Mutua Autenticazione fra un
cellulare con tecnologia NFC e un POS
La sicurezza delle applicazioni
di Mobile Payment
Candidato
Paolo Di Rollo
Responsabile
Prof.ssa Maria De Marsico
Corresponsabile
Prof. Carlo Maria Medaglia
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 2
Lo stage è stato svolto presso il CATTID (Centro per le
Applicazioni della Televisione e delle Tecniche di
Istruzione a Distanza).
Obiettivi
• Individuare eventuali punti di debolezza nelle procedure
attualmente in uso nei sistemi di Mobile Proximity
Payment
• Intervenire al fine di creare e implementare un
protocollo di comunicazione che aumenti il livello di
sicurezza.
I Mobile Payment
• Cosa sono?
Con Mobile Payment si intende «ogni pagamento che ha
inizio, viene confermato e ricevuto attraverso l’uso di
dispositivi mobili».
• Principali Tipologie di Pagamento
Remote - pagamenti che utilizzano tecnologie server-
side, quali SMS, IVR (Interactive Voice Response), USSD
(Unstructured Supplementary Service Data) etc.
Proximity - pagamenti che riguardano principalmente
transazioni offline e la cui logica di funzionamento è
concentrata lato terminale (client-side). Vi è la necessità di
una vicinanza fisica tra acquirente e venditore.
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 3
Proximity Payment con Tecnologia NFC
I Mobile Proximity Payments all’interno della SEPA (Single Euro
Payments Area) sono basati solo sull’uso della tecnologia Near
Field Communication (NFC).
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 4
NFC
L’NFC è una tecnologia wireless che:
• Opera su un canale RF (Radio Frequency) a 13,56 Mhz
• Lavora su distanze limitate (< 10 cm)
• Prevede tre modalità operative:
– Card Emulation
– Reader Mode
– P2P
Card Emulation Il cellulare, con al suo interno l’applicazione di pagamento, agisce
come una carta in un sistema di pagamento contactless e può
dunque sfruttare l’intera infrastruttura di pagamento esistente.
Smart Card
Una Smart Card è un particolare circuito integrato che al
contrario delle tradizionali carte a banda magnetica possiede:
• Maggiore capacità memoria (ROM, RAM e EEPROM)
• Una CPU
• Un coprocessore crittografico (opzionale)
• Un sistema operativo (Java Card, Multos etc.)
• Offre maggiore sicurezza
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 5
Il Secure Element (SE)
Il SE è un luogo sicuro nel quale mantenere i dati sensibili
relativi all’utente. Può essere allocato all'interno di uno dei
seguenti dispositivi:
• UICC (Universal Integrated Circuit Card)
• Smart Chip integrato
• Memory Card
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 6
SmartMX
SmartMX (Memory eXtension) è una smart card
multi-applicazione ideata da Philips, integrata nel
Nokia 6212 utilizzato per lo sviluppo della tesi.
Lo SmartMX ha le seguenti caratteristiche:
• Possiede una CPU ed un coprocessore crittografico
• Supporta Java Card
Problemi di sicurezza nella comunicazione
La tecnologia NFC, essendo figlia dei sistemi RFId ne eredita
anche tutte le problematiche di sicurezza.
Le minacce di cui bisogna tener conto sono:
• Intercettazione: possibilità che un attaccante intercetti la
comunicazione.
• Attacco Man-In-The-Middle: possibilità che un attaccante si
inserisca nella comunicazione e alteri i messaggi scambiati tra
i dispositivi di ignari possessori.
• Disturbo della comunicazione: possibilità che un attaccante
disturbi il campo RF dei dispositivi che comunicano.
• Replay Attack: possibilità che un attaccante replichi un
messaggio precedentemente scambiato tra i dispositivi.
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 7
Soluzioni
Il migliore approccio per difendersi dalle minacce appena
descritte è:
• L’Autenticazione dei dispositivi che comunicano attraverso
l’uso di certificati digitali
• La costruzione di un canale sicuro attraverso l’uso della
crittografia asimmetrica
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 8
Sistemi di pagamento Attuali 1/3
PayPass
• Sviluppato da Mastercard
• Non prevede l’uso di PIN
• Il Centro Elaborativo provvede al controllare delle
credenziali.
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 9
Sistemi di pagamento Attuali 2/3
Felica Mobile
• Utilizza una Smart Card Sony
• Attualmente utilizzata in Giappone
• Le infrastrutture per i Mobile Payment sono fornite dagli
operatori telefonici
• Le applicazioni sono fornite dai Service Provider
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 10
Sistemi di pagamento Attuali 3/3
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 11
Google Wallet
• Annunciato a giugno 2011
• Per pagare attraverso la comunicazione con un POS,
l’utente deve associare i dati della carta di credito
all’applicazione presente sul dispositivo mobile
Lo standard EMV è stato definito dalle maggiori organizzazioni
mondiali di carte di pagamento: Europay, Mastercard e Visa.
Definisce regole comuni per le applicazioni di pagamento basate
su Smart Card e prevede:
• L’autenticazione offline della carta
• L’utilizzo di una infrastruttura PKI (Public Key Infrastructure)
• L’esistenza di una Autorità di Certificazione (CA)
Esistono due meccanismi che rispettano le regole definite dallo
standard EMV:
• SDA (Static Authentication Data)
• DDA (Dynamic Authentication Data)
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 12
Standard EMV
SDA
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 13
• SDA è uno schema che utilizza le firme digitali e lavora
attraverso la crittografia asimmetrica.
• Il fornitore della smart card firma tutti i dati sensibili presenti
sulla carta attraverso la propria chiave privata.
• Tutti i terminali (POS) che possiedono la chiave pubblica del
fornitore possono verificare l’integrità e l’autenticità dei dati.
• Un attaccante può tuttavia intercettare i dati firmati e quindi
clonare la carta.
Issuer CA Acquirente
Dati Firmati
dall’Issuer
Certificato
dell’Issuer
DDA
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 14
• DDA, come SDA, è uno schema che utilizza le firme digitali e
lavora attraverso la crittografia asimmetrica.
• In questo schema ogni carta possiede una coppia di chiavi
(pubblica e privata) che utilizza, in fase di autenticazione, per
firmare dati random inviati da un terminale (POS).
• Ogni terminale che possiede il certificato digitale della Smart
Card può verificare la firma apposta e quindi verificare che
non sia stata contraffatta.
Acquirente Issuer CA
Certificato
digitale Issuer
Certificato
digitale Smart
Card
L’idea
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 15
Lo standard EMV non prevede l’autenticazione del
POS nei confronti della carta.
Un attaccante potrebbe contraffare il software del
POS per commettere frode nei confronti
dell’acquirente ignaro.
SecureWallet
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 16
• Borsellino elettronico per transazioni offline.
• Autenticazione nei confronti del POS.
• Autenticazione del POS.
• Creazione di un canale di comunicazione fra
telefono e POS, protetto attraverso l’uso della
crittografia.
• Transazioni di pagamento attraverso lo scambio di
APDU cifrati.
Gli APDU (Application Protocol Data Unit)
rappresentano il mezzo attraverso il quale una
Smart Card comunica con il mondo esterno e
sono definiti nello standard ISO 7816.
CLA INS P1 P2 Lc Data Le
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 17
Strumenti a disposizione
Nokia 6212
Classic
POS
Ingenico
Protocollo Progettato
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 18
Il Protocollo può essere suddiviso in tre fasi principali:
1. Mutuo Scambio dei certificati digitali
• Il POS invia il proprio certificato digitale X.509
• L’Applet invia il proprio certificato X.509
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 19
Protocollo Progettato
Il Protocollo può essere suddiviso in tre fasi principali:
2. Scambio della Chiave di Sessione
• Il POS invia la prima metà della chiave di sessione
DES, cifrata attraverso la chiave pubblica dell’Applet
con l’RSA
• L’Applet invia la seconda metà della chiave di
sessione DES, cifrata attraverso la chiave pubblica
del POS con l’RSA
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 20
Il Protocollo può essere suddiviso in tre fasi principali:
3. Invio dell’APDU di pagamento cifrato
Protocollo Progettato
• Il POS invia il comando di pagamento cifrato con la
chiave di sessione DES
• L’Applet decifra il comando e, se il credito è
sufficiente, completa la transazione di pagamento
Test
Il test del sistema di pagamento è stato effettuato su diversi input
ed i risultati proposti sono il frutto di una media effettuata sulla
valutazione complessiva dei risultati.
Complessivamente una transazione ha impiegato 6,04 secondi e
i risultati sono mostrati nel dettaglio nel grafico che segue.
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 21
I Mobile Payment sono ormai una realtà e uno dei
fattori che a mio avviso permetterebbe la diffusione su
larga scala di questa tecnologia, è lo sviluppo di
standard di sicurezza comuni.
Il sistema progettato ha un notevole potenziale ma
necessita di modifiche e ulteriori sviluppi al fine di
migliorarne le prestazioni.
• Utilizzo delle Curve Ellittiche
• Verifica della firma digitale
• Sviluppo di un nuovo tipo di certificato digitale
Conclusioni e Sviluppi futuri
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 22
Grazie per l’attenzione
02/10/2012 La sicurezza delle applicazioni di Mobile
Payment
Pagina 23