Algoritmos de encriptación aprobados por ISO 9564 para PIN, ¿por qué cifrados de bloque simétricos?

0

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?

    
pregunta maple_shaft 15.06.2016 - 13:48
fuente

1 respuesta

2

La razón por la que se usan los bloques de PIN ISO en lugar de un hash está relacionada con la estructura de la industria de pagos.

El diagrama anterior muestra los flujos de datos simplificados para una transacción de PIN. El bloqueo de PIN ISO se envía al banco de Merchant Acquirer. El banco adquirente del comerciante descifra el bloqueo del PIN y lo envía a la asociación de la tarjeta, que a su vez lo envía al banco emisor de la tarjeta.

Para utilizar la autenticación basada en hash, el banco adquirente del comerciante debería conocer el PIN de texto sin formato. El banco adquirente del comerciante luego procesaría el PIN (y cualquier sal y metadatos asociados) y compararía los resultados con el valor recibido del comerciante.

El problema con el enfoque anterior es que el banco adquirente del comerciante debería conocer los códigos PIN asociados con cada tarjeta que podría procesar. Los bancos emisores de tarjetas están dispuestos a confirmar si un PIN determinado es válido, pero no desean compartir su base de datos de PIN completa con cada banco adquirente del comerciante.

También sería posible enviar el PIN con hash hasta el banco emisor de la tarjeta. Sin embargo, debería haber alguna forma de autenticar que el bloqueo del PIN fue generado por un terminal de entrada de PIN en particular en un comerciante en particular. Sin autenticación, un atacante podría reemplazar un pinpad comercial con un dispositivo falsificado que emitió el PIN sin procesar. El atacante podría entonces copiar el PIN y enviarlo para su procesamiento.

Cualquier solución de autenticación requeriría un mecanismo para autenticar las claves utilizadas para la autenticación. Las claves MAC secretas no se utilizan, ya que no es práctico compartir cada clave de terminal de PIN con cada banco adquirente. Las claves de firma asimétricas podrían usarse como parte de una PKI, pero la tecnología PKI no se usó mucho en la década de 1980 cuando los pagos digitales encriptados se hicieron comunes. Agregar una PKI a los flujos de datos existentes requeriría cambios sustanciales en los flujos de datos de extremo a extremo. Como los beneficios de cambiar son, en el mejor de los casos, marginales, es poco probable que la industria haga una transición a cualquier esquema de autenticación basado en hash.

    
respondido por el Brian J Murray 23.02.2017 - 06:03
fuente

Lea otras preguntas en las etiquetas