La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo
1. La sicurezza delle applicazioni
di Mobile Payment
Sviluppo di un'applet Java Card che implementa
un protocollo di Mutua Autenticazione fra un
cellulare con tecnologia NFC e un POS
Candidato Responsabile Corresponsabile
Paolo Di Rollo Prof.ssa Maria De Marsico Prof. Carlo Maria Medaglia
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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 2
Payment
3. 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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 3
Payment
4. 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).
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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 4
Payment
5. 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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 5
Payment
6. 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
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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 6
Payment
7. 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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 7
Payment
8. 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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 8
Payment
9. Sistemi di pagamento Attuali 1/3
PayPass
• Sviluppato da Mastercard
• Non prevede l’uso di PIN
• Il Centro Elaborativo provvede al controllare delle
credenziali.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 9
Payment
10. 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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 10
Payment
11. Sistemi di pagamento Attuali 3/3
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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 11
Payment
12. Standard EMV
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)
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 12
Payment
13. SDA
• 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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 13
Payment
14. DDA
• 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.
Issuer CA Acquirente
Certificato
digitale Issuer
Certificato
digitale Smart
Card
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 14
Payment
15. L’idea
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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 15
Payment
16. SecureWallet
• Borsellino elettronico per transazioni offline.
Gli APDU (Application Protocol Data Unit)
• Autenticazione nei confronti del POS. una
rappresentano il mezzo attraverso il quale
Smart Card comunica con il mondo esterno e
• Autenticazione del standard ISO 7816.
sono definiti nello POS.
• Creazione di un canale di comunicazione fra
CLA INS P1 P2 Lc Data Le
telefono e POS, protetto attraverso l’uso della
crittografia.
• Transazioni di pagamento attraverso lo scambio di
APDU cifrati.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 16
Payment
17. Strumenti a disposizione
Nokia 6212
Classic
POS
Ingenico
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 17
Payment
18. Protocollo Progettato
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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 18
Payment
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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 19
Payment
20. Protocollo Progettato
Il Protocollo può essere suddiviso in tre fasi principali:
3. Invio dell’APDU di pagamento cifrato
• 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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 20
Payment
21. 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.
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 21
Payment
22. Conclusioni e Sviluppi futuri
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
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 22
Payment
23. Grazie per l’attenzione
La sicurezza delle applicazioni di Mobile 02/10/2012 Pagina 23
Payment