Online Store

NT4H NTAG® 424 DNA Tag Read/Write Software

Source code examples in C programming language

Los ejemplos de código fuente de software explicados en esta página se refieren a las soluciones de tecnología NFC NTAG® DNA. Su propósito principal es escribir y leer etiquetas de ADN NTAG® 413 y NTAG® 424, es decir, etiqueta NXP NTAG® Tipo 4.

Estas etiquetas son totalmente compatibles con:

  • ISO/IEC 14443, todas las partes 1 a 4, selección de archivos ISO/IEC 7816-4 y manejo de APDU, y objetivo pasivo conforme a ISO/IEC18092
  • UID de 7 bytes (según ISO/IEC 14443 – 3)
  • NFC Forum Tag 4 Tipo de configuración técnica y de estructura de datos NDEF

Sin embargo, la razón principal para elegir las etiquetas de ADN NTAG® 424 entre todos los tipos de familias NTAG es su soporte de seguridad avanzado. Las etiquetas de ADN NTAG® 424 ofrecen métodos de seguridad avanzados, tales como:

  • Criptografía estándar AES-128 para autenticación/mensajería segura, o operación AES envuelta en LRP para una resistencia a ataque aún más fuerte
  • Autenticación mutua de 3 pasos para acceder al archivo de datos protegido
  • Mensaje NFC único seguro (SUN)
  • Contador de toques NFC incremental
  • Comunicación simple, CMAC y cifrada (configurable)
  • Firma de originalidad NXP basada en ECC
  • Montaje en chip de URL de elementos con espejos ASCII flexibles.

En consecuencia, nuestro ejemplo de software incluye las funciones para todos los protocolos de seguridad NTAG® 424 DNA y la implementación de opciones.

Docs & Software Download

Descripción general del software

Funciones del software:

  • Obtener y editar la configuración del archivo
  • Obtener UID
  • Establecer ID aleatorio
  • Cambiar la clave AES
  • Lectura/escritura lineal (ASCII & HEX)
  • Modo de autenticación de tres niveles
  • SDM (mensaje dinámico seguro) lectura/escritura
  • Obtener contador de lectura SDM
  • Almacenar la clave AES en el lector
  • Bloquear/desbloquear el lector
  • Opciones avanzadas del lector (especifique el puerto COM del lector, la dirección IP, el SN, etc.)

Lenguajes de programación disponibles:

  • C (consola)
  • C# (GUI)

Sistemas operativos, plataformas y entornos compatibles:

  • Multiplataforma

Etiquetas, etiquetas, tarjetas compatibles:

  • NXP NTAG® 21x (210, 213, 215, 216, manipulador de etiquetas)
  • ADN NXP NTAG® 4xx (413, 424)

Hardware recomendado:

  • μFR Nano
  • μFR Nano en línea
  • μFR Clásico
  • μFR Classic CS
  • Avance μFR
  • μFR XL

nt4h source coe software

 

Software respiratorio Descripción
ufr-ejemplos-c-nt4h

Ejemplo de código fuente de la consola C de implementación de etiquetas nt4h con lectores RFID NFC de la serie μFR.  

ufr-ejemplos-c_sharp-nt4h

Ejemplo de código fuente gui C# implementación de etiquetas f nt4h con lectores RFID NFC de la serie μFR.

Software manual

1. Software NT4H – Consola C – Lector abierto

Descargar: ufr-examples-c-nt4h

El NT4H está diseñado para una manipulación de la nueva serie de etiquetas NXP NTAG®. Esta serie incluye ADN NTAG® 413 y ADN NTAG ®424. NTAG® 424 DNA es totalmente compatible con el NFC Forum Type 4 Tag IC. Es compatible con la operación criptográfica AES-128 y un nuevo mensaje SECURE Unique NFC (SUN). NXP no recomienda usar etiquetas de ADN NTAG® 413 para nuevos proyectos, ya que el ADN NTAG® 424 disponible ofrece mejores características de seguridad.

Al iniciar la aplicación, se abre una consola con una copia impresa del menú de inicio.
Si ha instalado correctamente los controladores de hardware, podrá abrir el puerto del lector seleccionando una de las opciones disponibles:

  • Opción 1 – El puerto del lector se abre utilizando las opciones predeterminadas (detección automática) (generalmente se usa para un solo lector USB conectado al host)
  • Opción 2 – El puerto del lector se abre utilizando parámetros configurables manualmente: reader_type, port_name, port_interface y argumento.

D NFC SDK ufr examples c nt4h master win64 release nt4h c example.exe 27 08 2020 13 36 18

2. Software NT4H – Consola C – Menú principal

Aquí está el escaparate del modo simple Reader Open. 
Seleccionando la opción de menú 1. abrirá el puerto lector y establecerá comunicación con el dispositivo. Cuando se establece la comunicación, la consola muestra el menú principal con todas las funciones de software enumeradas. 

D NFC SDK ufr examples c nt4h master win64 release nt4h c example.exe 27 08 2020 13 37 35

2.1 Software NT4H – Consola C – Obtener configuración de archivos

La primera función, Obtener configuración de archivo, muestra la configuración de archivo seleccionada. Dependiendo de la etiqueta que utilice, escriba 1 -2 para NTAG413 y 1-3 para NTAG 424.

El NTAG413 tiene dos archivos de datos estándar:

  • El archivo número 1 se refiere al archivo Capability Container (32 bytes),
  • El archivo número 2 se refiere al archivo NDEF (128 bytes).

El NTAG424 tiene tres archivos de datos estándar:

  • El archivo número 1 se refiere al archivo Capability Container (32 bytes),
  • El archivo número 2 se refiere al archivo NDEF (256 bytes),
  • El archivo número 3 se refiere al archivo propietario (128 bytes),
  • El número de parámetros devueltos es variable.

Si el archivo actual es un archivo de datos estándar con mensajería segura AES, se aplica lo siguiente:

  • Tipo de archivo
  • Modo de comunicación
  • Derechos de acceso a archivos.

nt4h c set file settings1 1

EXAMPLE 1

Ejemplo de tamaño de archivo:

  • Número de archivo = 3 (archivo propietario NTAG424)
  • Estado del modo de comunicación cifrado (0x03)
  • La mensajería dinámica segura está deshabilitada
  • El número de clave para leer es 2, el número de clave para escribir es 3,
  • El número clave para leer/escribir es 3,
  • El número de clave para la configuración de Cambiar archivo es 0,
  • El tamaño del archivo es 128 bytes.

nt4h c get file settings

EXAMPLE 2

Si el archivo actual es un archivo de datos estándar con mensajería dinámica segura, contiene más datos.

Ejemplo:

  • el número de archivo es 2 (archivo NDEF),
  • La mensajería dinámica segura está habilitada,
  • el acceso a la lectura y la escritura es gratuito (0x0E clave),
  • el tamaño del archivo es 256 bytes,
  • UID Mirroring está habilitado,
  • El contador de lectura SDM está habilitado,
  • El límite del contador de lectura SDM está deshabilitado,
  • se activa la parte de datos cifrados del archivo,
  • el número de clave para SDM Meta Read es 2 (UID, contador de lectura SDM, datos PICC, MAC),
  • la parte de datos cifrados del número de clave de archivo es 2.
  • SDM Reading Counter puede leer sin autenticación,
  • PicC Data Offset (Contador de lectura UID y SDM cifrado) es 49,
  • el desplazamiento de entrada MAC es 86,
  • la parte de datos cifrados del desplazamiento del archivo es 86,
  • la parte de datos cifrados de la longitud del archivo es 32,
  • MAC Offset es 124.

nt4h c set file settings

2.2 Software NT4H – Consola C – Establecer la configuración del archivo

Para agregar la configuración del archivo, seleccione la segunda opción de menú. Debido a una gran cantidad de parámetros, hay dos funciones para la configuración de parámetros de archivo.

nt4h c set file settings1

EXAMPLE 1

nt4h c set file settings2

Archivo de datos estándar:

  • Archivo número 3 (Archivo propietario),
  • el modo de comunicación actual está cifrado,
  • El valor de Change Key es 0.

Los nuevos ajustes son:

  • Modo de comunicación simple,
  • Lea la clave 2,
  • Clave de escritura 3,
  • Clave de lectura/escritura 3,
  • Cambiar clave 0,
  • el modo de autenticación de clave proporcionada.

 

 

 

 

 

 

EXAMPLE 2

nt4h c set file settings2

Archivo de mensajería dinámica segura:

  • el número de archivo es 2,
  • Modo de comunicación Simple,
  • La clave de lectura es 14,
  • La clave de escritura es 14,
  • La clave de lectura/escritura es 14,
  • El valor de la clave de cambio es 0,
  • UID Mirroring está habilitado,
  • El contador de lectura SDM está habilitado,
  • El contador de lectura SDM está deshabilitado,
  • se activa la parte de datos cifrados del archivo,
  • La clave de lectura meta SDM es 2,
  • La lectura del archivo SDM es 2,
  • SDM Reading Counter Key es 2,
  • Desplazamiento de datos PICC cifrado 49,
  • Desplazamiento de datos de entrada MAC 86,
  • el desplazamiento de la pieza de datos cifrados 86,
  • Desplazamiento MAC 124.

2.3 Software NT4H – Consola C – Obtener UID (solo NTAG 424)

Si utiliza etiquetas NTAG® 424 con el modo de seguridad de autenticación habilitado, la opción de menú 3. mostrará la etiqueta UID.

La función devuelve el UID de 7 bytes de la tarjeta. Es útil si las opciones de ID aleatorio están activadas. Se requiere una autenticación válida con cualquier clave de tarjeta.

nt4h c get uid

2.4 Software NT4H – Consola C – Establecer UID aleatorio (solo NTAG® 424)

NTAG® 424 DNA permite una seguridad adicional de la etiqueta mediante la configuración aleatoria de UID (opción de menú 4).
La función Set Random UID reemplaza el UID único de 7 bytes por el UID aleatorio de 4 bytes. En consecuencia, la etiqueta devuelve un UID aleatorio de 4 bytes en cada lectura. La etiqueta ahora devuelve un ID aleatorio de 4 bytes en lugar de un ID único de 7 bytes.
Esta función requiere la autenticación de clave maestra (número 0).

Advertencia: ¡esta operación es irreversible!

nt4h c get uid example1 1

2.5 Software NT4H – Consola C – Cambiar clave AES

 

nt4h c change aes keyLa opción de menú 5 permite el cambio de la tecla AES.
Esta función requiere la autenticación de clave maestra (número 0).
Introduzca la nueva clave AES escribiendo los 16 bytes hexadecimales.
Si la clave que se va a cambiar no es una clave maestra, el valor de clave anterior es obligatorio.
 
 
 
 

EXAMPLE 1

Ejemplo de cambio de clave AES:

  • Clave número 4.
  • 0x00000000000000000000000000000000 de valor de la clave maestra de aplicación
  • 0x00000000000000000000000000000000 de valor de la clave antigua 4
  • Nueva 0x11111111111111111111111111111111 de valor de key 4.

nt4h c change aes key

2.6 Software NT4H – Consola C – Lectura lineal

La función lectura lineal incluye el modo de lectura simple, con caballa y cifrado. Además, la autenticación de lectura de contenido en el modo de clave proporcionada y el modo de clave interna permite el acceso al contenido si la etiqueta está protegida. De lo contrario, el contenido de la etiqueta desbloqueada se puede leer sin ingresar la clave (opción: Sin autenticación). La consola mostrará el contenido legible en el modo de autenticación seleccionado como hexadecimal y la notación ASCI.

2.6.1 Software NT4H – Consola C – Lectura lineal

La función de lectura lineal incluye el modo de lectura simple, mac (código de autenticación de mensajes) y cifrado. Además, la autenticación de lectura de contenido en el modo Clave proporcionada y el modo Clave interna permite el acceso al contenido si la etiqueta está protegida. De lo contrario, se puede acceder al contenido de la etiqueta desbloqueada sin ingresar la clave (opción: Sin autenticación). La consola mostrará el contenido legible en el modo de autenticación seleccionado como hexadecimal y la notación ASCI.

La función lee los datos grabados del archivo. Los parámetros requeridos son:

  • Número de archivo,
  • La clave de acceso de lectura o lectura/escritura,
  • Modo de comunicación,
  • Modo de autenticación (si la clave de lectura es 14, seleccione la opción Sin autenticación),
  • Dirección de inicio (0 – dirección máxima),
  • Longitud de los datos.

nt4h c linear read function

Software 2.7 NT4H – Consola C – Escritura lineal

Al igual que con la función de lectura lineal, la función de escritura lineal permite tres modos de comunicación y el formato hexadecimal o ASCII también para la escritura de contenido. Además, el modo de autenticación seleccionado se aplica al contenido grabado. 

La función escribe datos en el archivo. Los parámetros requeridos son:

  • Número de archivo,
  • La clave de acceso de lectura o lectura/escritura,
  • Modo de comunicación,
  • Modo de autenticación (si la clave de lectura es 14, seleccione la opción Sin autenticación ),
  • Dirección de inicio (0 – dirección máxima),
  • Introduzca los datos en formato ASCII o hexadecimal.

nt4h c linear write

2.8 Software NT4H – Consola C – Lectura segura de mensajes dinámicos

La mensajería dinámica segura (SDM) en las etiquetas de ADN NT4H habilita la función SUN. Se refiere al texto (ASCII) en el mensaje NDEF.
Para aplicar la función Secure Dynamic Message Read, habilite el archivo Secure Dynamic Message. Además, establezca el acceso de lectura en gratuito (Clave 14 – Opción sin autenticación).

nt4h c sdm read

Software 2.9 NT4H – Consola C – Escritura segura de mensajes dinámicos

Al igual que con la lectura segura de mensajes dinámicos, para la función de escritura dinámica segura de mensajes, habilite el archivo Secure Dynamic Message. Además, establezca el acceso de lectura en gratuito (Clave 14 – Opción sin autenticación).

nt4h c sdm write

2.10 Software NT4H – Consola C – Obtener contador de lectura SDM

El contador de lectura de mensajes dinámico seguro sólo existe si el archivo SDM está habilitado. La autenticación es o no necesaria, dependiendo de la configuración de acceso al contador de lectura SDM del archivo.

nt4h c get sdm reading counter

 

2.11 Software NT4H – Consola C – Almacenar la clave AES en el lector

El dispositivo Reader puede almacenar 16 claves AES con valores de índice 0-15. Esto significa que el índice key puede tener cualquier valor entre 0 y 15. En el ejemplo se muestra cómo almacenar la clave con un valor 0 x 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

EXAMPLE 1

nt4h c store aes key into the reader

EXAMPLE 2

La clave AES almacenada en el lector está desbloqueada de forma predeterminada.

Puede bloquear la clave almacenada con cualquier contraseña de 8 bytes.

Ejemplo:
La contraseña es 12345678

nt4h c store aes key into the reader password

EXAMPLE 3

En caso de que la clave almacenada esté protegida por contraseña (bloqueada), debe desbloquearla proporcionando su contraseña de 8 bytes.

Ejemplo:
La contraseña es 12345678

nt4h c store aes key into the reader password unlock

Este manual presenta el ejemplo de software en el lenguaje de programación C. Aún así, todo el software de código fuente relacionado en otros lenguajes de programación contiene las mismas funciones. Cuando es posible, se ha desarrollado una GUI.
Por favor, consulte nuestro repositorio de GitLab para ver ejemplos de código fuente disponibles en otros lenguajes de programación.