Usando chip e pin card di credito per l'autenticazione?

3

Mi piacerebbe utilizzare un chip e una carta di credito pin per l'autenticazione, cioè per registrare una scheda in un sistema e quindi utilizzarla per accedere (per scopi dimostrativi / di intrattenimento solo in modo che non sia necessaria la sicurezza a prova di proiettile).

Ho avuto l'idea di eseguire una transazione falsa (che non sarebbe stata presentata alla banca ovviamente) per dimostrare se l'utente ha il codice PIN della carta, ma come posso provare (crittograficamente, presumo che i dati restituiti dalla carta su una transazione andata a buon fine sono in qualche modo legati al numero della carta e c'è un modo per verificarne l'autenticità) che la carta è effettivamente quella carta precedentemente registrata al posto di qualche altra casuale carta?

Grazie.

    
posta 30.09.2014 - 07:27
fonte

1 risposta

2

Per prima cosa, dai un'occhiata a [ questa domanda ] .

Sulla base di questa domanda, la mia comprensione delle carte bancarie è che la chip card mette il proprio ACC + PIN in un messaggio firmato crittografato per il server della banca (probabilmente con alcuni dati di sfida dal POS per evitare attacchi di replay) e chiede al Terminale POS (punto di vendita) per inviarlo a suo nome. Il terminale POS non può leggere il messaggio, ma può inviarlo alla banca. La banca convalida il messaggio, controlla la firma e la confronta con accNumber + PIN nel suo database e restituisce un SI / NO al terminale POS. (disclaimer: è così che immagino che potrebbe funzionare, non so se questo è il modo in cui fa funziona.)

Esistono altri approcci basati su domande e risposte comunemente usati nel settore della sicurezza (ad esempio, per i badge ID da inserire nell'edificio degli uffici). Funzionano come segue: quando si tiene la carta al lettore sul muro, la chip card, il lettore di schede e il database hanno il seguente scambio:

  1. Chip Card a Lettore : "Sono John Smith e la mia chiave pubblica è pub_key ."
  2. Lettore a Database : " pub_key appartiene a John Smith ?"
  3. Database a Lettore : "Sì."
  4. Lettore a Chip Card : "Per dimostrare di avere la chiave privata corrispondente, firma questo messaggio: rand_32bit_msg ."
  5. Chip Card a Lettore : enc_msg = encrypt(rand_32bit_msg, priv_key) , "Ecco enc_msg ."
  6. Lettore : fa decrypt(enc_msg, pub_key) == rand_32bit_msg ? "Ok, credo che tu possieda la chiave privata, vieni!"

È presumibile che tu possa acquistare una serie di chip card e lettori di vari produttori, ma non ho idea se questo rientri nel budget di un progetto per hobby.

    
risposta data 25.04.2015 - 15:45
fonte

Leggi altre domande sui tag