¿Los lectores de la tarjeta inteligente “Mifare DESFire EV1” realmente necesitan saber la clave secreta de la tarjeta para autenticar la tarjeta?

17

Estoy tratando de entender la seguridad de un sistema de tarjetas inteligentes sin contacto, utilizado para el control de acceso y el pago. La tarjeta es un Mifare DESFire EV1 que implementa ISO 14443 (consulte la colección de esta documentación ).

He leído acerca de los ataques de canal lateral dirigidos a extraer la clave privada de la tarjeta inteligente (consulte Side- Análisis de canales de RFID criptográficas con demodulación analógica ). Tuvieron éxito, pero parecen ser bastante difíciles de realizar.

Como entiendo el proceso de autenticación de tales tarjetas, tanto el lector como la tarjeta deben demostrar su conocimiento de la clave secreta mediante un procedimiento de desafío-respuesta (el protocolo no es público, pero se ha realizado una ingeniería inversa en el documento Cloning Cryptographic RFID Cards for 25 $. en el capítulo 3.2. Así que todos los dispositivos de lectura también deben saber la clave secreta. Pero puede haber muchos lectores de muchos proveedores (por ejemplo, máquinas de café, pequeños lectores USB en cajas registradoras, paneles de control de acceso ...), ¿todos tienen realmente la clave secreta? ¿Hay algún estándar sobre cómo se debe almacenar la llave? En algunos casos, es posible que las tarjetas se autentiquen a través de la red, pero sé que algunos de los dispositivos funcionan sin conexión.

Espero que sean un vector de ataque bastante prometedor, ya que los vendedores de máquinas de café generalmente no se preocupan por la seguridad. ¿Hay algún documento que describa un ataque exitoso? ¿O hay solo un chip similar en cualquiera de estos lectores donde la clave se almacena de la misma manera?

    
pregunta Beat 06.11.2015 - 11:58
fuente

3 respuestas

2

MIFARE DESFire EV1 puede tener múltiples aplicaciones (28), y cada aplicación puede tener múltiples archivos (32) de diferentes tipos (4). La tarjeta en sí tiene una clave maestra PICC más entre 1 y 14 claves por aplicación. Las claves de cada aplicación se utilizan para controlar el acceso a sus archivos.

Cada servicio utilizado por su tarjeta puede ser, y probablemente sea, una aplicación diferente. Si las llaves de la máquina de café están comprometidas (aplicación A), eso no implica que las llaves de la aplicación de control de acceso (aplicación B) estén comprometidas en la misma tarjeta.

Considere una aplicación de máquina de café en la tarjeta que usa una tecla K1 para deducir el crédito y otra tecla K2 para agregar crédito a su tarjeta DESFire EV1. La máquina que usa para obtener su café y que deduce el crédito de la tarjeta solo necesita la clave K1, no necesita tener la clave K2 para agregar crédito (que se realiza en otra parte). Entonces, si comprometes la clave de las máquinas de café, lo único que puedes hacer es sacar el dinero de las tarjetas y no aumentar tu crédito. Para agregar crédito, necesita las claves para eso y este puede ser un procedimiento realizado en un lugar diferente en un entorno más seguro y quizás incluso por un operador humano.

Siempre existe un riesgo de compromiso, pero se puede mitigar mediante el uso inteligente de las claves y la separación de servicios en diferentes aplicaciones. Tal vez tenga 200 máquinas de café repartidas por toda el área de la oficina que puedan funcionar sin conexión, pero solo necesita 10 para recargar la tarjeta y tal vez esto se haga en línea para mayor seguridad.

La máquina de café puede usar un módulo de acceso de seguridad para almacenar las llaves. Si lo hacen o no, y si lo necesitan, esa es otra historia.

    
respondido por el Daniel 09.03.2017 - 13:35
fuente
5

Editado: DE ACUERDO. Como hay una solicitud de "respuesta corta", aquí está el "resumen ejecutivo", aquí está:

Pregunta: “Por lo tanto, todos los dispositivos de lectura también deben conocer la clave secreta. Pero puede haber muchos lectores de muchos proveedores (por ejemplo, máquinas de café, pequeños lectores USB en cajas registradoras, paneles de control de acceso ...), ¿todos tienen realmente la clave secreta? ¿Hay algún estándar sobre cómo se debe almacenar la llave? "

Respuesta: “Sí. Además de la comunicación remota / iniciada por el servidor con la tarjeta DESFire, todos los lectores también deben conocer las claves secretas. Y sí, hay una norma sobre cómo se debe almacenar la clave: uso del Módulo de Acceso Seguro - MIFARE SAM (actualmente modelo AV2).

Todo el contenido a continuación puede olvidarlo si no está interesado;)

Hay básicamente dos familias de tarjetas MIFARE: MIFARE Classic y DESFire (y derivados similares). Además, existe MIFARE Plus, que se ha dirigido inicialmente a los mercados de MIFARE Classic (que es totalmente compatible, si está configurado para hacerlo), tiene dos modos de operación de seguridad adicionales, que agregan más seguridad a las infraestructuras de MIFARE Classic hasta un nivel similar al DESFire.

Se utilizan muchos protocolos de autenticación entre esas familias MIFARE, algunos son bastante similares pero a veces difieren en detalles pequeños, lo que puede llevar a que las infraestructuras de lectura NO sean capaces de manejar otro protocolo, incluso si parecen muy similares al principio ...

Lo que es más importante para su pregunta sobre DESFire EV1: el enfoque básico para la seguridad del lado del lector es el uso de los llamados "Módulos de acceso seguro" (SAM), que son tarjetas inteligentes especializadas, que proporcionan funcionalidad relacionada con la seguridad a los lectores / terminales El SAM tiene todas las llaves y también tiene un motor para llevar a cabo protocolos de seguridad, utilizados dentro de la comunicación segura entre la tarjeta y el lector. Este es el ancla de la seguridad del lector en términos de uso de DESFire EV1. Las claves también pueden derivarse individualmente para cada tarjeta, por lo que NO usan la misma clave para todos los protocolos de autenticación y cifrado de la tarjeta. La clave en un módulo SAM se puede cargar de forma segura en el campo SAM en el uso de protocolos cifrados adicionales desde el host O mediante una carga fuera de línea por lotes (desde una memoria USB, por ejemplo).

Algunos protocolos basados en RSA también son compatibles con la firma / verificación para garantizar que algunas acciones se autentiquen sin el uso de protocolos de claves compartidas.

El SAM está inteligentemente planificado y es bastante sólido en términos de seguridad, por lo que colocar dicho módulo SAM en una máquina expendedora es compatible con toda la seguridad requerida. Incluso una modificación de la tarjeta DESFire, iniciada por un host remoto, puede establecerse de manera segura ya que el SAM puede actuar como un "proxy seguro" estableciendo un canal seguro hacia el host y otro hacia la tarjeta, proporcionando un "proxy de recifrado" en el medio. Por supuesto, SAM es una tarjeta estándar que es "cliente" y cualquier intercambio de comandos, por lo que el lector debe respaldar esos protocolos mediante el envío, recepción y reenvío de APDU entre las partes participantes. El SAM también admite conexiones directas al chip del lector, actuando como un proxy transparente.

Es compatible con 2DES, 3DES, AES, CRYPTO1, RSA y algunas variantes propietarias de algoritmos estándar.

SAM tiene un concepto aún más inteligente de "contadores de operaciones", que ayuda a enfrentar la amenaza de seguridad de ser robado y usado con frecuencia: cada operación reduce un contador. Los contadores deben incrementarse periódicamente por una acción iniciada por el host, en línea o fuera de línea. Los "scripts" encriptados y firmados deben llevarse al SAM de una manera (por ejemplo, una memoria USB). Las teclas también pueden ser versionadas para admitir la renovación segura de las teclas durante la vida útil del sistema.

El propio SAM tiene una lógica de control de acceso, basada en una criptografía sólida, para aplicar el modelo de seguridad diseñado. Un esquema de administración de claves cuidadosamente planificado y diseñado, admite la distribución segura de claves entre los muchos jugadores del sistema. Por lo general, el contenido SAM inicial se distribuye mediante una personalización segura de SAM y una entrega controlada al participante designado (como proveedor de máquinas expendedoras), que ya cuenta con algunas claves de autenticación para obtener acceso inicial a las operaciones de tarjeta SAM / DESFire permitidas. Una de las operaciones típicas puede ser el intercambio de claves de autenticación SI esas claves se asignan solo a un jugador en particular.

Otro comentario para UID, su clonación, etc.: los productos MIFARE modernos admiten comandos separados para acceder a un RandomUID, para ser utilizados en protocolos anticolisión, y un UID estático para identificar la tarjeta (opcionalmente, también protegido por autenticación y cifrado protocolos que proporcionan un "canal seguro"). Esto brinda a los diseñadores de sistemas las herramientas adecuadas para mejorar la protección contra la clonación o emulación de UID. Pero, de todas formas, muchos "diseñadores de seguridad" son bastante perezosos y no usan esas posibilidades incluso si existen ...

    
respondido por el DARc 13.03.2016 - 13:02
fuente
3

La mayoría de los sistemas que conozco utilizan una conexión de red para autenticar las tarjetas a través de desafío-respuesta.

He visto algunos dispositivos fuera de línea que solo comparan el UID de la tarjeta con los valores almacenados. Sin embargo, esto no es seguro, ya que puede copiar estas ID emulando un dispositivo RFID o simplemente flasheando una tarjeta especial.

Estoy de acuerdo con usted con respecto a los dispositivos fuera de línea que son prometedores. Ya he logrado engañar a algunos de ellos simplemente enviando un UID conocido. Ni siquiera he tenido que profundizar en la pila de protocolos, ya que el UID se transmite a la capa anticolisión.

Si quieres profundizar más en eso, te recomendaría algún dispositivo de hardware para jugar. Es muy divertido ver estas cosas en acción :-)

La solución de vanguardia sería PROXMARK enlace

O una solución de menor presupuesto si solo desea copiar algunas tarjetas enlace

También vi algunos dispositivos de llavero por menos de 20 $ en eBay, pero no los puedo encontrar en este momento.

    
respondido por el fr00tyl00p 12.11.2015 - 23:24
fuente

Lea otras preguntas en las etiquetas