Actualmente estoy investigando las mejores prácticas para diseñar una solución de administración de PIN potencial para una aplicación de servicios financieros y comencé a buscar ISO 9564 como fuente de requerimientos.
Una de las cosas que me vino a la mente al leer esto fue que en la sección de algoritmos de cifrado aprobados se enumeran:
- Triple DES (cifrado de bloque simétrico débil)
- AES (cifrado de bloque simétrico)
- RSA (sistema criptográfico asimétrico)
Me pregunté de inmediato si habría un caso de uso legítimo para la necesidad de descifrar directamente el texto cifrado de un PIN. Otros requisitos de la norma ISO aquí afirman que, si se olvida o se compromete el PIN, se debe emitir un nuevo PIN.
La pregunta que arde en mi mente (que probablemente tenga una respuesta muy obvia que actualmente se me escapa) es ¿por qué el estándar no recomienda un hash criptográfico en su lugar? ¿Por qué no se puede hacer la validación de un intento de entrada de PIN de la misma manera que comúnmente se entiende como la mejor práctica para la gestión de contraseñas? La sal en este caso sería el número de cuenta del cliente que está XOR'ed en el PIN mismo de todos modos. ¿Que me estoy perdiendo aqui?