Algoritmi di crittografia approvati da ISO 9564 per il PIN, perché i cifrari a blocchi simmetrici?

0

Attualmente sto ricercando le migliori pratiche nella progettazione di una potenziale soluzione di gestione PIN per un'applicazione di servizi finanziari e ho iniziato a esaminare ISO 9564 come fonte di requisiti.

Una delle cose che mi è venuta in mente durante la lettura di questo è che sotto la sezione per gli algoritmi di crittografia approvati elencano:

  • Triple DES (debole crittografia simmetrica a blocchi)
  • AES (codice a blocchi simmetrico)
  • RSA (cryptosystem asimmetrico)

Mi chiedevo immediatamente se ci sarebbe stato un caso d'uso legittimo per aver bisogno di decodificare direttamente il testo cifrato di un PIN. Altri requisiti dello standard ISO qui affermano che se il PIN viene dimenticato o potenzialmente compromesso, è necessario emettere un nuovo PIN.

La domanda che mi brucia nella mente (che probabilmente ha una risposta molto ovvia che al momento mi sfugge) è perché la norma non dovrebbe raccomandare un hash crittografico? Perché la convalida di un tentativo di inserimento di PIN non può essere eseguita nello stesso modo in cui è comunemente intesa come best practice per la gestione delle password? Il sale in questo caso sarebbe il numero di conto del cliente che è XOR inserito nel PIN stesso comunque. Cosa mi manca qui?

    
posta maple_shaft 15.06.2016 - 13:48
fonte

1 risposta

3

Il motivo per cui i blocchi PIN ISO vengono utilizzati al posto di un hash è correlato alla struttura del settore dei pagamenti.

Lo schema sopra mostra i flussi di dati semplificati per una transazione PIN. Il blocco PIN ISO viene inviato alla banca Merchant Acquirer. La banca acquirente del commerciante decifra il blocco PIN e lo inoltra all'associazione della carta, che a sua volta la inoltra alla banca emittente della carta.

Per utilizzare l'autenticazione basata su hash, la banca dell'acquirente mercantile dovrebbe conoscere il PIN in chiaro. La banca dell'acquirente mercantile avrebbe quindi cancellato il PIN (e qualsiasi sale e metadati associati) e confrontato i risultati con il valore ricevuto dal commerciante.

Il problema con l'approccio precedente è che la banca dell'acquirente mercantile dovrebbe conoscere i codici PIN associati a ogni carta che potrebbe eventualmente elaborare. Le banche che emettono la carta sono disposte a confermare se un dato PIN è valido, ma non vogliono condividere l'intero database PIN con ogni banca acquirente mercantile.

Sarebbe anche possibile inviare il PIN hash fino alla banca dell'emittente della carta. Tuttavia, ci dovrebbe essere un modo per autenticare che il blocco PIN è stato generato da un particolare terminale di immissione PIN presso un determinato commerciante. Senza autenticazione, un utente malintenzionato potrebbe sostituire un pin pad del commerciante con un dispositivo contraffatto che ha emesso il PIN originale. L'utente malintenzionato potrebbe quindi hash il PIN e inviarlo per l'elaborazione.

Qualsiasi soluzione di autenticazione richiederebbe un meccanismo per autenticare le chiavi utilizzate per l'autenticazione. Le chiavi MAC segrete non sono utilizzate poiché non è pratico condividere ogni chiave terminale PIN con ogni banca acquirente. Le chiavi di firma asimmetrica potevano essere utilizzate come parte di una PKI, ma la tecnologia PKI non era ampiamente utilizzata negli anni '80 quando i pagamenti digitali crittografati diventavano comuni. L'aggiunta di una PKI ai flussi di dati esistenti richiederebbe modifiche sostanziali nei flussi di dati end-to-end. Poiché i vantaggi del cambiamento sono marginali nella migliore delle ipotesi, è improbabile che il settore passi a uno schema di autenticazione basato su hash.

    
risposta data 23.02.2017 - 06:03
fonte

Leggi altre domande sui tag