Asegurar las tarjetas de membresía RFID [duplicar]

2

Digamos que emito tarjetas de membresía habilitadas con RFID para eventos. Las personas pueden tener sus tarjetas de crédito, identificación personal, etc. vinculadas a esta tarjeta de membresía. Cuando asisten a mis eventos, pueden usar esta tarjeta para pagar cosas, verificar la edad, etc.

Según tengo entendido, las tarjetas RFID son bastante triviales de duplicar y, por lo tanto, robar de forma remota.

¿Qué cosas razonables puedo hacer para protegerme contra esto?

Una idea que tuve: grabe un archivo de cambio en la tarjeta RFID. Cada vez que escaneamos la tarjeta, verificamos si el nonce coincide con lo que tenemos en la base de datos. Si no coincide, esa carta está marcada como comprometida. Si coincide, entonces autorizamos la transacción, sobrescribimos una nueva fuente en la tarjeta y la guardamos en la base de datos. (además de cosas como verificar que la tarjeta no parezca falsificada)

    
pregunta ieatpizza 11.07.2015 - 18:47
fuente

2 respuestas

1

Puedes emitir contenedores blindados para las tarjetas. Estas son fundas de plástico que cuentan con una fina lámina de metal a cada lado de la funda, lo que hace imposible escanear la tarjeta. Cuando el usuario necesita autenticar o verificar, simplemente puede sacar la tarjeta. Hay contenedores blindados más lujosos que separan la placa de la tarjeta cuando se aprietan, lo que hace que el proceso sea más fácil y rápido.

Por supuesto, esto no ofrece ninguna protección a los usuarios que voluntariamente permiten que se duplique su tarjeta.

El problema con su solución sugerida es que cuando se usa una tarjeta falsificada antes que la legítima, la falsificación mantendrá la funcionalidad mientras que la tarjeta legítima se marcará como falsificada. En el mejor de los casos, esto servirá como un indicador de la copia de la tarjeta que se ofrece o una copia.

Me temo que es todo lo que puede hacer para proteger un token estático.

    
respondido por el Chavez 12.07.2015 - 12:21
fuente
1

Deberías usar tarjetas inteligentes. Pueden manejar el cifrado y solo divulgar su contenido en la presentación de una clave, así como cifrar la comunicación entre el lector y la tarjeta para que no funcione el rastreo.

Para las tarjetas contactadas, supongo que una tarjeta PKI funcionaría, donde la tarjeta prueba que tiene la clave privada de un certificado en particular, y la usa para extraer el registro del usuario de una base de datos. El problema es que en realidad no se pueden almacenar datos significativos (además de una clave privada), lo que requiere el uso de una base de datos y, por lo tanto, evita el uso sin conexión de la tarjeta. No sé si hay alguna tarjeta contactada que simplemente almacene datos arbitrarios y la devuelva al presentar una clave.

Para las tarjetas sin contacto (NFC) hay tarjetas Mifare que pueden almacenar datos y solo revelarlos en la presentación de una clave. No hacen criptografía (no hay concepto de criptografía asimétrica, solo son cosas simples como "dame la clave para el bloque de datos XX, si la clave está bien, te devuelvo el contenido del bloque"), pero por otro lado puede almacenar datos arbitrarios. datos y, por lo tanto, permite que los dispositivos fuera de línea sigan interactuando con la tarjeta y el sistema permanezca seguro (si se implementa correctamente).

Las claves en sí mismas no son brutables (demasiadas posibilidades) pero algunas tarjetas tenían fallas (Mifare classic por ejemplo) que permitían obtener una clave de sector y luego usar otra falla para recuperar todas las demás claves del sector del conocimiento de una sola uno. Sin embargo, estos defectos se han corregido en las últimas revisiones de las tarjetas.

Para su aplicación, las siguientes tarjetas pueden ser adecuadas:

  • Mifare Ultralight EV1: utiliza una clave de 32 bits para proteger los datos almacenados en ella, aunque la comunicación con el lector no está cifrada y, por lo tanto, es vulnerable a la inhalación.
  • Mifare Ultralight C: utiliza 3DES crypto entre el lector y la tarjeta, mejor seguridad que la anterior.
  • Mifare Plus: versión mejorada de Mifare Classic que mitiga sus vulnerabilidades, usa claves y su propio criptografía de rollo propio, sin saber si se han descubierto fallas en esta nueva revisión desde que se repararon las vulnerabilidades Classic.
  • Mifare DESFire EV2: la última revisión de la serie DESFire, admite AES crypto.

No importa qué tarjeta elijas de esta lista, te sugiero que la implementes así:

  • un bloque de datos con algún ID de usuario o referencia al registro del usuario en la base de datos, configurado para acceso público, por lo que no se necesita una clave (o una clave predeterminada de baja seguridad). También puede usar el UID de la tarjeta, pero tenga cuidado, pueden no ser únicos.

  • una vez que se lee ese bloque (o UID), la computadora adjunta al lector busca al usuario en la base de datos y obtiene su clave única por tarjeta para autenticar y recuperar otros bloques de datos confidenciales para demostrar realmente al usuario es quien pretende ser (a través de un nonce o un valor secreto almacenado allí) y alguien simplemente no clonó la identificación de usuario disponible públicamente del primer sector.

  • puede cifrar los datos de la tarjeta una vez más (puede usar el UID de la tarjeta como IV) con una clave que solo su infraestructura conoce (de preferencia, única por usuario), de esa manera si alguien aún se las arregla para obtener de los datos confidenciales almacenados en la tarjeta, no tendrán mucho sentido.

  • no use los UID para nada sensible, debe asumir que no son únicos, se pueden leer y duplicar fácilmente (a pesar de lo que dice NXP sobre la singularidad del UID, hay falsificaciones "mágicas" de Mifare disponibles que permiten cambiar el UID mediante un comando personalizado).

respondido por el Anonymous 12.07.2015 - 16:00
fuente

Lea otras preguntas en las etiquetas