Come può una carta di debito fornire risposte diverse quando la stessa sfida viene inviata più volte?

1

Faccio solo affidamenti bancari con la mia carta di debito "PostFinance". Il protocollo di accesso funziona in questo modo:

  1. Inserisci il nome utente e la password nel modulo web.
  2. Ottieni un numero di sfida a 9 cifre sul sito web.
  3. Digitare il numero di sfida in un lettore di schede indipendente non in linea con la carta di debito inserita.
  4. Inserisci il PIN nel lettore di schede.
  5. Ottieni una risposta a 9 cifre dal lettore di schede.
  6. Digita il numero di risposta nel modulo web.

Ho pensato che si trattasse di una sorta di crittografia asimmetrica, con la carta contenente una chiave privata sbloccata con lo spillo, "firmando" il numero di sfida e la banca che verificava la firma con una chiave "pubblica" (non effettivamente pubblica). / p>

Ma poi mi chiedevo pigramente quale sarebbe stata la prima cosa che un attaccante / ricercatore della sicurezza avrebbe provato ad entrare nella sfida "1" più volte. La risposta era diversa ogni volta:

La prima cucitura a 3 cifre per aumentare monotonicamente in piccoli passi (~ 10 campioni). Le altre 6 cifre non seguivano uno schema che ho raccolto, cioè sembravano casuali.

Qualcuno sa come funziona?

    
posta Nobody 20.07.2017 - 22:13
fonte

1 risposta

1

Molto probabilmente c'è un contatore coinvolto (o anche meglio, se la carta o il lettore è dotato di un orologio interno e batteria, un timestamp).

La chiave segreta qui coinvolta potrebbe essere simmetrica o asimmetrica, non penso che cambierebbe nulla qui (non è necessario che la banca non conosca questo segreto).

Tuttavia, come ti stavi chiedendo, l'uso di questa chiave segreta per codificare direttamente la sfida consentirebbe a un utente malintenzionato di generare una pila di risposte anticipatamente, o prendere nota della risposta della sfida che hai ottenuto e provare a riprodurla per ottenerne un'altra pagamento che richiede la stessa sfida accettata.

L'obiettivo qui è garantire che, anche con la stessa sfida, la risposta corretta debba essere sempre diversa. A tal fine, aggiungerai un contatore (la soluzione economica) o un timestamp (il più affidabile in quanto consente la risposta alla scadenza) alla sfida prima di applicare la chiave segreta per generare la risposta.

Sul lato server:

  • Se viene utilizzato un contatore, assicura che la risposta fornita contenga un contatore strettamente più grande della risposta precedente che hai fornito, sia per lo stesso pagamento che per un pagamento precedente. Se succede che la tua risposta sembra valida ma porta un segnalino più piccolo, questo probabilmente significa che questa risposta è stata ripetuta e che qualcosa di stuccheo sta attualmente accadendo con la tua carta (alcuni eventi come questo e potresti ricevere una notifica dal tuo banca, a seconda del loro livello di servizio).
  • Se viene utilizzato un timestamp, il server deve semplicemente verificare che la risposta sia stata generata dopo che la richiesta è stata inviata per garantire che non vi sia alcun tentativo di replay.
risposta data 20.07.2017 - 22:37
fonte

Leggi altre domande sui tag