PIN-e-PIN-PIN, che cosa fa in realtà quando si firma?

3

Quando uso internet banking con la mia banca, uso qualcosa chiamato PIN sentry , cioè questo:

(wikimedia commons image)

Per usarlo inserisco la mia carta chip-a-pin (lato chip in) e premo uno dei tre pulsanti in alto: IDENTIFY, RESPOND o SIGN. La sentinella mi chiede il PIN e produce un codice a 8 cifre che poi uso all'interno di internet banking.

La sentinella stessa non contiene alcuna chiave che sia nel mio account (e EMV già utilizza la crittografia a chiave pubblica comunque) poiché posso usare la sentinella PIN di qualcun altro. Ma mi chiedo cosa faccia effettivamente generare quelle cifre.

La mia ipotesi

All'inizio pensavo che avesse eseguito un'autorizzazione offline per 1 unità di valuta, un'autorizzazione che semplicemente non sarebbe mai stata cancellata. Quindi la sentinella stamperà le prime cifre dell'HMAC. Ma questa ipotesi ha due problemi:

  1. A un certo punto la carta vorrà andare online e rifiutare di eseguire un'autorizzazione offline. Ho provato questo (usando la sentinella più volte in sequenza e la carta non lo ha mai respinto).

  2. EMV ha UN (numero imprevedibile, cioè numero casuale, a 9F37 ) che viene generato dalla carta e inviato come parte di una transazione. Per quanto ne so, l'ONU è utilizzato nel calcolo HMAC, quindi un emittente che controlla HMAC ha bisogno dell'ONU. Tuttavia, se l'emittente riceve solo le cifre dall'HMAC, non può verificarlo.

Quindi sì, sono fuori di idee su come questa cosa possa funzionare. Ma ho ancora una domanda su questo dispositivo e PCI-DSS. Il riassunto della domanda è quindi:

Domanda

  1. La sentinella PIN genera un codice numerico a 8 cifre, che è relativamente facile da bruteforce. Come può essere conforme allo standard PCI?

  2. È improbabile che la sentinella PIN effettui una transazione per un'unità di valuta. Come può quindi utilizzare il chip per convalidare il PIN e produrre un output che può essere verificato dall'emittente?

posta grochmal 10.10.2016 - 11:37
fonte

1 risposta

3

Esiste una sotto-specifica per EMV nota come Programma di autenticazione Chip (per MasterCard) o Autenticazione dinamica del passcode (per Visa).

Non mi sarei mai imbattuto in questo prima, ma secondo Wikipedia, la tua ipotesi di "una unità di valuta" è piuttosto vicina. Il dispositivo inizia generando un messaggio annullamento per una transazione (falsa) $ 0, quindi utilizza una maschera memorizzata sulla scheda (Indicatore autenticazione emittente) per selezionare alcuni bit dalla risposta ARQC, che vengono trasformati nel numero visualizzato.

Per quanto riguarda la forzatura bruta del codice, questo è in banca: poiché il dispositivo viene utilizzato solo quando si interagisce con la banca, la banca è immediatamente a conoscenza di tentativi di codice errati e può bloccare il proprio account se ne rileva troppi. Allo stesso modo, il dispositivo utilizza il contatore PIN standard della carta, quindi se il tuo PIN viene errato troppe volte la carta si bloccherà fino a quando non potrà effettuare una transazione online.

    
risposta data 10.10.2016 - 13:57
fonte

Leggi altre domande sui tag