Un MAC può essere usato come un Token PCI irreversibile?

4

Sto cercando di implementare un processo di generazione di token PCI basato su un codice MAC ottenuto dal PAN. Questo sarebbe un token irreversibile.

Il metodo che ho in mente mi sembra OK, ma non sono abbastanza sicuro che volerebbe con un QSA. Alcuni consigli sui potenziali fallimenti della mia ricetta sarebbero molto apprezzati.

Ecco i dettagli:

  • Il token sarebbe un valore di 32 cifre, 10 delle quali sarebbero decimali e 8, esadecimale. Le 10 cifre decimali sarebbero le prime 6 e le ultime 4 cifre del PAN. Vengono aggiunti solo per creare varietà ed evitare collisioni;
  • Le 8 cifre esadecimali sarebbero un CBC MAC ottenuto da una stringa di 32 caratteri formata dal PAN XORed con un sale, oltre ad alcune imbottiture fatte con alcune cifre PAN (ripetute);
    • L'HSM che sto usando supporta solo 3DES con chiavi a doppia lunghezza (senza AES, senza SHA-256, ecc ...);

Qualcuno ha un'opinione su questo metodo?

    
posta Claude Chouinard 04.05.2018 - 17:16
fonte

1 risposta

1

Sono disponibili specifiche linea guida per la tokenizzazione al fine di comprendere meglio i requisiti e i vincoli di PCI-DSS in questo riguardo.

Questa linea guida specifica che ci sono diversi approcci per quanto riguarda la tokenizzazione, essendo uno di essi "Una funzione crittografica non reversibile a senso unico (ad es., una funzione di hash con sale strong e segreto)". Inoltre, consente un formato token come 6+ (valore tokenizzato) +4.

Nel tuo scenario, da quello che posso accertare, purché il valore del sale usato per il tuo MAC-CBC sia tenuto segreto e imprevedibile (rendendo così irrealizzabile un attacco bruteforce / collision per ottenere il PAN completo), dovresti essere bravi agli occhi di un QSA.

    
risposta data 31.05.2018 - 08:36
fonte

Leggi altre domande sui tag