Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
La sicurezza delle applicazioni di Mobile Payment_Antonella Marino
1. 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
2. Centro per le Applicazioni della Televisione e delle Tecniche di Istruzione a Distanza
OBIETTIVO:
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
3. 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
MSC Contact Contactless NFC
4. Near Field Communication (NFC)
Connettività wireless: fino a 10 cm Velocità massima di
trasmissione: 424 kbit/s
Frequenza:
13,56 MHz
Comunicazione: bidirezionale
Tre modalità operative
Reader / Writer
Il cellulare
emula una carta
contactless
Peer To Peer
Card Emulation
5. La sicurezza dei Mobile Payment con NFC
Comunicazione mediante onde radio che
si diffondono
Contenuto potenzialmente intercettabile
6. 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
7. Mutua autenticazione fra dispositivi
contactless
EMV considera il
terminale di pagamento
sicuro a priori Un terminale di pagamento
malevolo può selezionare un
applet sul chip NFC ed
La carta si autentica effettuare operazioni illecite
attraverso un certificato
digitale
8. 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!
9. Mutua autenticazione Card-Reader v.2
Basato sul protocollo di Needham-Schroeder e sui ticket di Kerberos
Authentication Service (AS) Terminale di pagamento (T) Cellulare NFC (C)
Contiene {RT,TS} KR
contro i attacchi di
Il random ha la stessa 1. Richiesta di autenticazione
criptoanalisi
funzione di un timestamp
2. Conferma di Timestamp cifrato con la
richiesta
chiave segreta di T: solo T
3. Richiesta di sessione oltre ad AS ha potuto
ID in chiaro, valore random e
produrre il di autenticazione
Richiesta messaggio
cifrati con laFunzione del numero
chiave segreta di
4. Ticket_T Ticket_C di T, ID di C, valore random
ID
C: solo AS oltre a cifrato con la
casuale C può
e Richiesta di autenticazione chiave di sessione,
decifrare il valore random
cifrati con : chiave di sessione, Ticket_C Verifica
Ticket_T la chiave segreta di
timestamp, ID di C. Il che T e C 5. con
conferma che C conosce
C: AS capisce ticket è cifrato la chiave di sessione
la chiave segreta di T
vogliono autenticarsi, decifra Numero casuale
Ticket_C: chiave di sessione, e 6. Conferma verifica
il valore random, decifra valore
cifrato con la
random, ID di T. Il ticket è cifrato con la
controlla il timestamp. chiave di sessione
chiave segreta di C
11. 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.
12. Attacco 1 con cellulare malevolo C1
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)
Richiesta di autenticazione
IDC {RC1 Richiesta di autenticazione} KC1
Richiesta di sessione C1 non può
Ticket_T Ticket_C decifrare
questi dati!
Questo valore Ticket_C Verifica
non sarà
corretto!
Conferma verifica
13. Attacco 2 con cellulare malevolo C1
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)
Richiesta di autenticazione
Conferma di richiesta vecchia
IDT , Conferma di richiesta vecchia
Il server si accorge
che il timestamp è
vecchio
14. Attacco 1 con terminale malevolo T1
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)
Richiesta di autenticazione
Conferma di richiesta
IDT , Conferma di richiesta
Ticket_T Ticket_C
T1 non può
ottenere la
chiave di
sessione!
15. Attacco 2 con terminale malevolo T1
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)
Richiesta di autenticazione vecchia
Conferma di richiesta
Richiesta di sessione vecchia
Il timestamp non
corrisponde
all’orario attuale.
17. Prototipo Sviluppato
Authentication ServIce Terminale di pagamento (Reader) Cellulare NFC (SmartMX)
Polling
SCardConnect Inserimento carta
SCardBeginTransaction
APDU (ISO 7816)
CLA INS P1 P2 Lc Data Le
command 0x00 0xa4 0x04 0x00 0 Len AID AID 0x00
Data sw1 sw2
response
NULL 0x90 0x00
CLA INS P1 P2 Lc Data Le
0xa0 0x01 0x00 0x00 0x10 Richiesta di 0x20
autenticazione
Data sw1 sw2
Conferma di richiesta 0x90 0x00
Richiesta sessione
Ticket_T Ticket_C
CLA INS P1 P2 Lc Data Le
0xa0 0x02 0x00 0x00 0x20 Ticket_C Verifica 0x10
Data sw1 sw2
Conferma Verifica Risultato Operazione 0x00
SCardFreeMemory SCardDisconnect SCardReleaseContext FreeMemory
18. 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