PINsentry PRNG y tarjetas bancarias

11

Mi banco me proporciona un dispositivo similar a este:

El dispositivo es esencialmente un PRNG, probablemente basado en la fecha / hora de su reloj interno, sincronizado con los servidores del banco.

Para generar un pin, el usuario debe insertar su tarjeta bancaria en la ranura e ingresar el número pin de su tarjeta bancaria de 4 dígitos con el teclado del dispositivo. Este es el mismo pin utilizado para retirar dinero en efectivo en un cajero automático.

Mi pregunta es la siguiente: sin una conexión de red y sin que el dispositivo se haya configurado para funcionar con una tarjeta bancaria en particular (puedo usar cualquier dispositivo de otras personas con mi tarjeta), ¿cómo verifica el dispositivo el número PIN?

El número de pin debe almacenarse de alguna manera en el chip de la propia tarjeta bancaria. Incluso con una función de hash iterativa para retrasar la fuerza bruta en 4 segundos para cada intento, el número de pin todavía tiene solo 4 dígitos. 4 segundos * 10 ^ 4 pines posibles = 11 horas para forzar bruscamente todo el espacio de la llave.

La propia tarjeta tiene una función de bloqueo que rechazará los intentos de acceso posteriores después de 3 intentos incorrectos (debe ser una bandera booleana escrita en la memoria del chip de la tarjeta bancaria). ¿Toda la seguridad de este sistema de autenticación se basa en la suposición de que alguien no puede simplemente restablecer esta bandera y continuar con su fuerza bruta en el pequeño espacio clave?

    
pregunta 01.04.2013 - 21:36
fuente

2 respuestas

12

En primer lugar, el dispositivo no es un PRNG. Todas las funciones criptográficas permanecen seguras dentro del chip en la tarjeta. El dispositivo es poco más que una interfaz de usuario. Debido a que está vacío en su navegador, no puede ser "pirateado" por una página web o una computadora infectada con malware. Y debido a que es de su banco, puede confiar en que no es un teclado de skimmer de PIN. Estos son atributos de seguridad muy buenos que hacen que estos dispositivos sean herramientas poderosas contra el fraude.

Usted ingresa el PIN en el dispositivo, que luego envía el PIN a su tarjeta, y la tarjeta lo verifica de acuerdo con Especificación ISO / IEC 7816-4 . La tarjeta devuelve solo los resultados del intento de verificación de PIN al lector, que luego le muestra como un código de autorización de 8 dígitos, o como un error de PIN no válido. Tres intentos de verificación de PIN fallidos consecutivos dan como resultado una tarjeta que debe restablecerse en un cajero automático autorizado por su banco.

Como notó, esta es una debilidad trágica en el protocolo, pero por una razón completamente diferente a la criptografía. Un asaltante puede golpearlo en un lugar privado y exigir su tarjeta y su PIN, y puede usar su entrada de PIN al instante para demostrar que no está mintiendo. Solía ser un atracador que tendría que arrastrarlo al banco para verificar su PIN y arriesgar las cámaras de seguridad, pero ahora pueden hacerlo en la comodidad de un callejón oscuro. Al menos tres asesinatos han sido cometidos por ladrones que recolectan PIN.

Para estar más seguro para el usuario, el dispositivo debe continuar alegremente en su camino, independientemente de la validez de su PIN, ya que el banco debe validar el PIN más adelante. El problema es que todo esto se diseñó y se decidió cuando muchos comerciantes pequeños aún estaban autorizando tarjetas sin conexión. Con casi el 100% de la ubicuidad de Internet en las áreas pobladas de nuestro planeta, veo pocas razones para continuar aceptando pagos fuera de línea.

En cuanto a la seguridad del PIN en el chip, eso es mucho más fuerte que el típico atracador. El chip está diseñado para que sea muy difícil acceder a la memoria que contiene. No es como una memoria flash o un chip de teléfono público de la vieja escuela, donde se trata simplemente de un dispositivo de almacenamiento. Es un procesador criptográfico, con algoritmos, claves y certificados cargados en el silicio solo después de verificar las firmas en los datos. No puede emitir un comando como "establecer ubicación de memoria del contador 1234 = 0". En su lugar, el comando para restablecer el PIN forma parte de un protocolo HMAC , con autenticación criptográfica que debe ser generada por el banco, y el MAC se verifica en el chip antes de que realmente reinicie el contador del PIN.

Los chips están razonablemente bien protegidos contra manipulación indebida, considerando que solo tienen que costar unos pocos centavos. Se han utilizado microscopios de haz de iones enfocados para leer bits de las tarjetas en el laboratorio. Se han reducido los ataques de tiempo al mejorar los diseños de los algoritmos de cifrado. Por lo que sé, los ataques de análisis de potencia diferencial aún pueden funcionar, pero algunos diseños de chips pueden incluso resistirlos.

    
respondido por el John Deters 02.04.2013 - 18:34
fuente
3

Eso es todo. Las tarjetas de crédito EMV / Chip y Pin tienen una tarjeta inteligente criptográfica. Tiene su pin, una clave criptográfica privada y un contador para intentos de pin fallidos.

Si pudieras reiniciar el contador, es probable que también puedas leer el pin (o algún hash) y la clave secreta de la cosa. Entonces, sí, la seguridad depende de la seguridad de la tarjeta inteligente en el chip.

Tenga en cuenta que, con suerte, PINSentry no es en sí mismo un PRNG, probablemente use la clave secreta de su tarjeta bancaria y la fecha / hora actual para generar un código de una sola vez y el número de PIN se usa para desbloquear la tarjeta. De lo contrario, las personas con el mismo número de PIN obtendrían el mismo código o se podría engañar al lector para que crea que se ingresó un pin válido cuando no lo había.

    
respondido por el imichaelmiers 02.04.2013 - 07:28
fuente

Lea otras preguntas en las etiquetas