entropía de identificación de lector de tarjeta bancaria en línea del Reino Unido

5

En el Reino Unido es común usar una tarjeta inteligente y un lector para iniciar sesión en la banca en línea. Usted inserta la tarjeta, ingresa el PIN y recupera un código de 8 dígitos del lector para ingresar al sitio web del banco en línea. Tenga en cuenta que no se incluye de ninguna manera en el banco, todo lo que necesita es la tarjeta y el PIN.

Siempre pensé que el código de 8 dígitos devuelto no era muy aleatorio (en particular, los primeros dos dígitos eran los mismos), así que empecé a seguir la pista. Básicamente, el código de 8 dígitos aumenta monótonamente en alrededor de 60,000 a 90,000 cada vez.

Esto no parece correcto basado en cómo entendí que esto funciona. Obviamente, hay una entropía muy baja en la inicialización del algoritmo de identificación (solo usa un contador interno en la tarjeta si entiendo bien las cosas) pero pensé que el 3DES en la tarjeta daría como resultado una secuencia similar a ruido de códigos de 8 dígitos.

¿Es realmente así como se supone que funciona el sistema?

    
pregunta holidaymonkey 30.06.2017 - 13:01
fuente

1 respuesta

3

El protocolo se describe en Optimizado para fallar: Lectores de tarjetas para banca en línea: Drimer, Murdoch y Anderson 2009

El documento muestra imágenes de lectores de Natwest & Barclays además de mencionar a HBOS. Visualmente, también son idénticos a los lectores utilizados por Nationwide, Coop y estoy seguro de que otros. Que yo sepa, estos dispositivos no han cambiado desde 2009, tengo uno de ese entonces que aún funciona.

El filtro de bits parece variar según el banco. Los primeros bits parecen ser el "código de tipo de datos de identificación de criptogramas (CID)" que imagino que sería constante en todas las transacciones. Los siguientes bits (cuyo número varía) parecen provenir del "contador de transacciones de la aplicación (ATC)", que se espera que aumente con cada transacción. Supongo que aquí es de donde proviene el gran incremento que ves.

Los datos de la aplicación del emisor tampoco son una fuente de entropía.

Esto deja el "Criptograma de aplicación (AC)". Este es un MAC (una forma de hash - generalmente 3DES CBC) que involucra una clave de sesión en la tarjeta. Parece que se toman 10-20 bits de lo que sería la fuente principal de entropía.

    
respondido por el Hector 19.12.2017 - 17:30
fuente

Lea otras preguntas en las etiquetas