¿Cómo prevenir la clonación de tags NFC?

Estoy haciendo una aplicación usando tags NFC y tengo que evitar que la etiqueta NFC se clone. He visto muchas otras tags NFC que cuando intentaron clonarse, muestra un mensaje emergente “La clonación está restringida, la etiqueta está protegida por clave secreta”, quiero la misma seguridad para mi etiqueta NFC.

Eso depende del tipo de etiqueta que use y del nivel de protección contra la clonación que desee.

  1. Las tags NFC (según lo definido por el Foro NFC ) no tienen protección contra la clonación. Dichas tags están destinadas a ser contenedores para datos de lectura libre (denominados mensajes NDEF). Cualquiera puede leer un mensaje NDEF de una etiqueta y duplicarla en otra etiqueta.

  2. Muchas tags NFC también contienen un identificador único preprogtwigdo por el fabricante de la etiqueta y no puede modificarse en las tags normales. Puede usar este identificador único para determinar si una etiqueta fue emitida por usted (es decir, usted conoce su id) o falsificada (es decir, usted no conoce su id). En lugar de utilizar una lista de identificadores genuinos, también puede crear una firma digital sobre la identificación de la etiqueta y sus datos. De esta forma, podría averiguar si los datos y la firma se usan en una etiqueta con un identificador único diferente. Sin embargo, todos los datos aún se pueden extraer de su etiqueta. Por lo tanto, debe tener en cuenta el hecho de que el hardware especializado (por ejemplo, Proxmark, etc.) y las tags ya preparadas están disponibles cuando un atacante puede cambiar el identificador único por el valor de la identificación de su etiqueta. Entonces esta ciertamente no es una protección de clonación perfecta.

  3. Puede usar una tarjeta inteligente sin contacto / etiqueta que proporciona encriptación de comunicación y control de acceso basado en clave compartida (por ejemplo, MIFARE DESFire). Con este enfoque, puede almacenar datos que no desea que un atacante pueda clonar en un área de memoria protegida con clave. Sin embargo, si desea poder leer esos datos desde su aplicación (es decir, sin tener un back-end en línea que se comunique directamente con la tarjeta), deberá almacenar la clave para acceder al área de memoria de su aplicación. En consecuencia, en un escenario fuera de línea (es decir, clave almacenada en la aplicación), un atacante podría extraer esa clave y usarla para clonar la etiqueta.

  4. Podría usar una etiqueta / tarjeta inteligente que contenga una clave secreta asimétrica y le proporcione un comando para firmar un desafío criptográfico con esa clave. En ese caso, para verificar si la etiqueta es genuina, puede solicitar dicha firma desde la etiqueta para una prueba aleatoria y verificar la firma contra las tags de la clave pública correspondiente. Sin duda, esta sería la solución más segura ya que no necesita almacenar ningún secreto compartido en su aplicación. La única solución de etiqueta NFC ya hecha (de la que estoy al tanto actualmente) que proporciona dicha funcionalidad parece ser la de VaultIC de Inside Secure. Aunque podría crear uno usted mismo en función de la funcionalidad criptográfica asimétrica de una tarjeta inteligente sin contacto (por ejemplo, una tarjeta Java).

Tenga en cuenta que para todos los escenarios de protección de clonación anteriores, debería crear una aplicación que verifique si una etiqueta es genuina o clonada. Por defecto, los teléfonos NFC solo usan la información en (1) y, por lo tanto, no realizan ninguna de esas comprobaciones.

Sí, es posible mientras tanto evitar la clonación de una etiqueta.

Hay una nueva etiqueta llamada NTAG 413, que puede generar un nuevo mensaje NDEF cada vez que lo toca. (usando AES krypto) De esta manera no es necesario tener una aplicación separada instalada en su teléfono inteligente. Puede incorporar el cifrado en la URL de un NDEF, por ejemplo, y el servidor host puede encriptarlo con la misma clave. En caso de copia, el servidor lo reconocerá.

Algunas empresas ya las ofrecen en diferentes formas, para tarjetas de acceso (hoteles o acceso). Se puede encontrar más información en este enlace, pero es alemán.

https://www.variuscard.com/plastikkarten/chipkarten/nfc-ntag-413-dna/

No hay una forma garantizada de restringir la clonación de la etiqueta nfc, ya que todas las tags nfc son por defecto. Otras aplicaciones usan la clave secreta con una etiqueta nfc, pero eso también se puede descifrar.