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 ...