La sicurezza delle applicazioni di Mobile Payment_Antonella Marino
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

La sicurezza delle applicazioni di Mobile Payment_Antonella Marino

on

  • 404 views

 

Statistics

Views

Total Views
404
Views on SlideShare
404
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

La sicurezza delle applicazioni di Mobile Payment_Antonella Marino Presentation Transcript

  • 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 PAGAMENTOMSC 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 contactlessEMV considera ilterminale di pagamentosicuro a priori Un terminale di pagamento malevolo può selezionare un applet sul chip NFC edLa carta si autentica effettuare operazioni illeciteattraverso un certificatodigitale
  • 8. Certificati digitali per la mutua autenticazione Un certificato tipicamente include: • una chiave pubblica • dei dati identificativi • un periodo di validità • lURL della lista dei certificati revocati (CRL) • Il tutto è firmato da una terza parte fidataQuesti 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 KerberosAuthentication 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
  • 10. CifraturaNon cifrare con EBCNon mettere i valori noti in blocchi iniziali
  • 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 serverAuthentication 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 TAuthentication 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.
  • 16. Implementazione
  • 17. Prototipo SviluppatoAuthentication 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
  • 19. Grazie perl’attenzione