Hashing números PAN

0

De acuerdo con este blog el número PAN se debe marcar utilizando un " sal secreta ". Lo que están haciendo es básicamente H (Mensaje + sal). La razón por la que necesita esta "sal secreta" es porque los números de PAN están limitados a cierta cantidad de números, lo que hace que la fuerza bruta sea más fácil.

Me preguntaba si un hash con clave (HMAC) no sería más apropiado en este caso en lugar de usar una sal secreta.

Si se usa un HMAC con clave, ¿se puede usar el mismo secreto para todos los números de PAN o debería ser único para cada PAN? (así que usa múltiples secretos)

    
pregunta Lucas Kauffman 31.03.2014 - 19:13
fuente

1 respuesta

1

"Hash con una sal secreta" es un nombre inapropiado, porque no es hash, y tampoco es una sal.

En la criptografía, algo que es secreto se denomina clave . El hash no usa clave; una especie de hash que usa una clave y requiere que la clave sea verificada se llama MAC . Un MAC no es necesariamente un "hash con clave", y rellenar una clave en una función de hash no necesariamente resulta en un buen MAC. Sin embargo, es posible tomar una función hash y convertirla en un MAC seguro, y eso es HMAC .

HMAC es un MAC seguro: puede usar la misma clave para enviar muchos elementos sin efectos negativos. Si no pudiera, entonces el algoritmo de MAC se consideraría muy débil; pero la HMAC se considera segura. HMAC también tiene la muy buena propiedad de no requerir un IV, por lo que es muy difícil hacerlo mal.

Por supuesto, un MAC no es necesariamente la herramienta correcta para el problema en cuestión. Aparentemente, la gente quiere convertir los números PAN en "algo ilegible". Sin embargo, la solución más simple (simplemente no almacena el PAN en absoluto) parece no ser popular, por lo que uno tiene que asumir que las personas que "trocean" al PAN aún quieren obtener algo de él.

Hay dos casos de uso principales:

  • El PAN está activado para que se pueda verificar una presentación ulterior del mismo PAN para que coincida con el valor almacenado.
  • El PAN puede recuperarse del valor almacenado, sujeto al conocimiento de algún secreto.

Un MAC sería apropiado para el primer uso; Si el MAC usa un IV (por ejemplo, como CBC-MAC, pero a diferencia de HMAC), entonces el IV debe almacenarse también, y ese tendrá requisitos adicionales (por lo general, para ser distintos para cada instancia de uso, o incluso uniformemente aleatorio) , lo que da un amplio margen para fallos críticos. Por lo tanto, HMAC es muy recomendable.

Para el segundo caso de uso, necesita cifrado (simétrico o asimétrico, según el contexto).

    
respondido por el Tom Leek 31.03.2014 - 19:29
fuente

Lea otras preguntas en las etiquetas