19
La sicurezza delle applicazioni di Mobile Payment Progettazione e implementazione di un protocollo di Mutua Autenticazione fra un cellulare con tecnologia Near Field Communication e un terminale di pagamento Antonella Marino

La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

La sicurezza delle applicazioni di Mobile Payment

Progettazione e implementazione di un protocollo di Mutua Autenticazione fra un

cellulare con tecnologia Near Field Communication e un terminale di

pagamento

Antonella Marino

Page 2: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

OBIETTIVO:

Centro per le Applicazioni della Televisione e delle Tecniche di Istruzione a Distanza

Ideare e implementare un protocollo per la mutua autenticazione fra una smart card e un terminale di pagamento

CONTRIBUTO:

Evitare frodi da parte dei terminali di pagamento

Page 3: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Sistemi di Mobile Payment

DEFINIZIONE

• Con il termine Mobile Payment intendiamo ogni acquisto di servizi o beni, fisici o digitali, realizzato interamente attraverso il telefono cellulare.

CLASSIFICAZIONE

• Remoti (Mobile Remote Payment)

• Di prossimità (Mobile Proximity Payment)

EVOLUZIONE DELLE CARTE DI PAGAMENTO

Contact Contactless MSC NFC

Page 4: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Near Field Communication (NFC)

Connettività wireless: fino a 10 cm

Comunicazione: bidirezionale

Frequenza: 13,56 MHz

Velocità massima di trasmissione: 424 kbit/s

Reader / Writer

Card Emulation

Peer To Peer

Il cellulare emula una carta

contactless

Tre modalità operative

Page 5: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

La sicurezza dei Mobile Payment con NFC

Comunicazione mediante onde radio che si diffondono

Contenuto potenzialmente intercettabile

Page 6: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Standard EMV

• Nato nel 1993 da Europay, Mastercard e Visa • Definisce tre tipi di autenticazione della smart

card verso il terminale di pagamento: – Static Data Authentication – Dynamic Data Authentication – Combined Data Authentication

• Stabilisce le regole che permettono alla carta

e al terminale di interagire

Page 7: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Mutua autenticazione fra dispositivi contactless

EMV considera il terminale di pagamento sicuro a priori

La carta si autentica attraverso un certificato digitale

Un terminale di pagamento malevolo può selezionare un applet sul chip NFC ed effettuare operazioni illecite

Page 8: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Certificati digitali per la mutua autenticazione

Un certificato tipicamente include:

• una chiave pubblica

• dei dati identificativi

• un periodo di validità

• l'URL della lista dei certificati revocati (CRL)

• Il tutto è firmato da una terza parte fidata

Questi campi non possono essere verificati da una carta!

Page 9: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Mutua autenticazione Card-Reader v.2

1. Richiesta di autenticazione

3. Richiesta di sessione

4. Ticket_T Ticket_C

5. Ticket_C Verifica

6. Conferma verifica

2. Conferma di richiesta

Contiene {RT,TS} KR

contro i attacchi di criptoanalisi

Authentication Service (AS) Terminale di pagamento (T) Cellulare NFC (C)

Il random ha la stessa funzione di un timestamp

Basato sul protocollo di Needham-Schroeder e sui ticket di Kerberos

Timestamp cifrato con la chiave segreta di T: solo T

oltre ad AS ha potuto produrre il messaggio ID in chiaro, valore random e Richiesta di autenticazione

cifrati con la chiave segreta di C: solo AS oltre a C può

decifrare il valore random

ID di T, ID di C, valore random e Richiesta di autenticazione cifrati con la chiave segreta di

C: AS capisce che T e C vogliono autenticarsi, decifra

il valore random, decifra e controlla il timestamp.

Ticket_T : chiave di sessione, timestamp, ID di C. Il ticket è cifrato con

la chiave segreta di T Ticket_C: chiave di sessione, valore

random, ID di T. Il ticket è cifrato con la chiave segreta di C

Numero casuale cifrato con la

chiave di sessione

Funzione del numero casuale cifrato con la

chiave di sessione, conferma che C conosce

la chiave di sessione

Page 10: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Cifratura

Non mettere i valori noti in blocchi iniziali

Non cifrare con EBC

Page 11: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Considerazioni

• Server potente, affidabile e incorruttibile

• Shared key per “firmare”

• Server e reader fortemente sincronizzati

• Il protocollo non permette a “entità” corrotte di effettuare delle false autenticazioni.

Page 12: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Attacco 1 con cellulare malevolo C1

Richiesta di autenticazione

IDC {RC1 Richiesta di autenticazione} KC1

Richiesta di sessione

Ticket_T Ticket_C

Ticket_C Verifica

Conferma verifica

C1 non può decifrare

questi dati! Questo valore

non sarà corretto!

Una cellulare NFC malevolo C1 ha spiato l’identificativo del cellulare C, e decide di fingersi C con il terminale di pagamento.

Authentication Service (AS) Terminale di pagamento (T) Cellulare NFC (C1)

Page 13: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Attacco 2 con cellulare malevolo C1

Richiesta di autenticazione

Conferma di richiesta vecchia

IDT , Conferma di richiesta vecchia

Il server si accorge che il timestamp è

vecchio

Ora C1 vuole replicare una vecchia conferma di richiesta avvenuta fra T e C, con l’intento di spacciarsi per C.

Authentication Service (AS) Terminale di pagamento (T) Cellulare NFC (C1)

Page 14: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Attacco 1 con terminale malevolo T1

Richiesta di autenticazione

Conferma di richiesta

IDT , Conferma di richiesta

Ticket_T Ticket_C

T1 non può ottenere la

chiave di sessione!

T1 cioè un terminale di pagamento malevolo vuole tentare di fingersi T con C, costruendo una richiesta di sessione, ma con l’ID di T, da mandare al server

Authentication Service (AS) Terminale di pagamento (T1) Cellulare NFC (C)

Page 15: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Attacco 2 con terminale malevolo T1

Richiesta di autenticazione vecchia

Conferma di richiesta

Richiesta di sessione vecchia Il timestamp non

corrisponde all’orario attuale.

T1 torna all’attacco, però questa volta prova replicare una conversazione spiata fra T e C per fingersi T

Authentication Service (AS) Terminale di pagamento (T1) Cellulare NFC (C)

Page 16: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Implementazione

Page 17: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Prototipo Sviluppato Terminale di pagamento (Reader) Cellulare NFC (SmartMX) Authentication ServIce

Polling SCardConnect Inserimento carta

SCardBeginTransaction

CLA INS P1 P2 Lc Data Le

0x00 0xa4 0x04 0x00 Len AID AID 0x00

Data sw1 sw2

NULL 0x90 0x00

0

APDU (ISO 7816)

command

response

CLA INS P1 P2 Lc Data Le

0xa0 0x01 0x00 0x00 0x10 Richiesta di autenticazione

0x20

Data sw1 sw2

Conferma di richiesta 0x90 0x00

CLA INS P1 P2 Lc Data Le

0xa0 0x02 0x00 0x00 0x20 Ticket_C Verifica 0x10

Data sw1 sw2

Conferma Verifica Risultato Operazione 0x00

Richiesta sessione Ticket_T Ticket_C

SCardFreeMemory SCardDisconnect SCardReleaseContext FreeMemory

Page 18: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Conclusioni

• Consente di avere un livello di sicurezza maggiore nei pagamenti rendendoli più sicuri

• Eseguendo il protocollo le entità condividono una chiave di sessione

• L’esecuzione totale del protocollo impiega 0,753 s

• È stato sviluppato per l’utilizzo nel contesto pagamenti NFC, ma può essere esteso ai pagamenti con carte a contatto e carte contactless, di cui il cellulare NFC è un’evoluzione.

• Gli ambiti d’utilizzo possono andare oltre i pagamenti

Page 19: La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

Grazie per l’attenzione