La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

23
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

description

 

Transcript of La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

Page 1: 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

Page 2: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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.

Page 3: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 4: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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.

Page 5: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 6: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 7: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 8: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 9: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 10: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 11: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 12: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 13: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 14: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 15: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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.

Page 16: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 17: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

02/10/2012 La sicurezza delle applicazioni di Mobile

Payment

Pagina 17

Strumenti a disposizione

Nokia 6212

Classic

POS

Ingenico

Page 18: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 19: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 20: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 21: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 22: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

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

Page 23: La sicurezza delle applicazioni di Mobile Payment_Paolo Di Rollo

Grazie per l’attenzione

02/10/2012 La sicurezza delle applicazioni di Mobile

Payment

Pagina 23