Online Store

NT4H NTAG® 424 DNA Tag Read/Write Software

Source code examples in C programming language

Les exemples de code source du logiciel expliqués sur cette page font référence aux solutions technologiques NFC NTAG® DNA. Son objectif principal est d’écrire et de lire l’ADN NTAG® 413 et les étiquettes ADN NTAG® 424, c’est-à-dire la balise NXP NTAG® Type 4.

Ces balises sont entièrement conformes à :

  • ISO/IEC 14443, toutes les parties 1 à 4, sélection de fichiers ISO/IEC 7816-4 et gestion des APDU, et cible passive conforme à la norme ISO/IEC18092
  • UID de 7 octets (selon ISO/IEC 14443 – 3)
  • Configuration de la structure de données techniques et NDEF nfc Forum Tag 4 Type

Cependant, la principale raison de choisir les étiquettes ADN NTAG® 424 parmi tous les types de famille NTAG est sa prise en charge de sécurité avancée. Les étiquettes ADN NTAG® 424 offrent des méthodes de sécurité avancées, telles que:

  • Cryptographie AES-128 standard pour l’authentification/messagerie sécurisée, ou opération AES encapsulée LRP pour une résistance aux attaques encore plus forte
  • Authentification mutuelle 3 passes pour accéder au fichier de données protégé
  • Message NFC unique sécurisé (SUN)
  • Compteur d’appuis NFC incrémentiels
  • Communication simple, CMAC et cryptée (configurable)
  • Signature d’originalité NXP basée sur ECC
  • Assemblage sur puce d’URL d’éléments avec des miroirs ASCII flexibles.

En conséquence, notre exemple de logiciel inclut les fonctions pour tous les protocoles de sécurité ADN NTAG® 424 et la mise en œuvre des options.

Docs & Software Download

Vue d’ensemble du logiciel

Fonctions logicielles :

  • Obtenir et modifier les paramètres de fichier
  • Obtenir l’UID
  • Définir un ID aléatoire
  • Modifier la clé AES
  • Lecture/écriture linéaire (ASCII & HEX)
  • Mode d’authentification à trois niveaux
  • SDM (message dynamique sécurisé) en lecture/écriture
  • Obtenir le compteur de lecture SDM
  • Stocker la clé AES dans le lecteur
  • Verrouiller/déverrouiller le lecteur
  • Options de lecture avancées (spécifiez le port COM du lecteur, l’adresse IP, le SN, etc.)

Langages de programmation disponibles :

  • C (console)
  • C# (interface graphique)

Systèmes d’exploitation, plates-formes et environnements pris en charge :

  • Plateforme transversale

Balises, étiquettes, cartes prises en charge :

  • NXP NTAG® 21x (210, 213, 215, 216, Tag Tamper)
  • ADN NXP NTAG® 4xx (413, 424)

Matériel recommandé :

  • μFR Nano
  • μFR Nano en ligne
  • μFR Classique
  • μFR Classic CS
  • μFR Avance
  • μFR XL

nt4h source coe software

 

Logiciel respiratoire Description
ufr-exemples-c-nt4h

Exemple de code source console C d’implémentation de balises nt4h avec des lecteurs RFID NFC série μFR.  

ufr-exemples-c_sharp-nt4h

Gui C# exemple de code source f nt4h tags implémentation avec les lecteurs RFID NFC série μFR.

Software manual

1. Logiciel NT4H – Console C – Lecteur ouvert

Télécharger: ufr-examples-c-nt4h

Le NT4H est destiné à une manipulation de la série NXP NTAG® new tags. Cette série comprend l’ADN NTAG® 413 et l’ADN NTAG ®424. NTAG® 424 DNA est entièrement conforme au NFC Forum Type 4 Tag IC. Il prend en charge le fonctionnement cryptographique AES-128 et un nouveau message NFC unique sécurisé (SUN). NXP ne recommande pas d’utiliser les étiquettes ADN NTAG® 413 pour les nouveaux projets, car l’ADN NTAG® 424 disponible offre de meilleures fonctionnalités de sécurité.

Le lancement de l’application ouvre une console avec une impression du menu d’accueil.
Si vous avez installé correctement vos pilotes matériels, vous pourrez ouvrir le port du lecteur en sélectionnant l’une des options disponibles :

  • Option 1 – Le port du lecteur s’ouvre à l’aide des options par défaut (détection automatique) (généralement utilisées pour un seul lecteur USB connecté à l’hôte)
  • Option 2 – Le port du lecteur s’ouvre à l’aide de paramètres configurables manuellement : reader_type, port_name, port_interface et argument.

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

2. Logiciel NT4H – Console C – Menu principal

Voici la vitrine du mode Simple Reader Open. 
Sélection de l’option de menu 1. ouvrira le port du lecteur et établira la communication avec l’appareil. Lorsque la communication est établie, la console affiche le menu principal avec toutes les fonctions logicielles répertoriées. 

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

2.1 Logiciel NT4H – Console C – Obtenir les paramètres du fichier

La première fonction, Obtenir les paramètres de fichier, affiche les paramètres de fichier sélectionnés. Selon la balise que vous utilisez, tapez 1 -2 pour NTAG413 et 1-3 pour NTAG 424.

Le NTAG413 dispose de deux fichiers de données standard :

  • Le fichier numéro 1 fait référence au fichier Conteneur de capacités (32 octets),
  • Le fichier numéro 2 fait référence au fichier NDEF (128 octets).

Le NTAG424 dispose de trois fichiers de données standard :

  • Le fichier numéro 1 fait référence au fichier Conteneur de capacités (32 octets),
  • Le fichier numéro 2 fait référence au fichier NDEF (256 octets),
  • Le fichier numéro 3 fait référence au fichier propriétaire (128 octets),
  • Le nombre de paramètres renvoyés est variable.

Si le fichier actif est un fichier de données standard avec messagerie sécurisée AES, les conditions suivantes s’appliquent :

  • Type de fichier
  • Mode de communication
  • Droits d’accès aux fichiers.

nt4h c set file settings1 1

EXAMPLE 1

Exemple de taille de fichier :

  • Numéro de dossier = 3 (fichier propriétaire NTAG424)
  • État du mode de communication chiffré (0x03)
  • La messagerie dynamique sécurisée est désactivée
  • Le numéro de clé pour la lecture est 2, le numéro de clé pour l’écriture est 3,
  • Le numéro de clé pour la lecture/écriture est 3,
  • Le numéro de clé pour les paramètres modifier le fichier est 0,
  • La taille du fichier est de 128 octets.

nt4h c get file settings

EXAMPLE 2

Si le fichier actif est un fichier de données standard avec messagerie dynamique sécurisée, il contient plus de données.

Exemple:

  • le numéro de dossier est 2 (fichier NDEF),
  • La messagerie dynamique sécurisée est activée,
  • l’accès à la lecture et à l’écriture est gratuit (clé 0x0E),
  • la taille du fichier est de 256 octets,
  • La mise en miroir UID est activée,
  • Le compteur de lecture SDM est activé,
  • La limite du compteur de lecture SDM est désactivée,
  • la partie Données cryptées du fichier est activée,
  • le numéro de clé pour SDM Meta Read est 2 (UID, compteur de lecture SDM, données PICC, MAC),
  • la partie Données chiffrées du numéro de clé de fichier est 2.
  • Le compteur de lecture SDM peut lire sans authentification,
  • PicC Data Offset (Encrypted UID and SDM Reading Counter) est de 49,
  • le décalage d’entrée MAC est de 86,
  • la partie Données chiffrées du décalage de fichier est 86,
  • la partie Données cryptées de la longueur du fichier est de 32,
  • Le décalage MAC est de 124.

nt4h c set file settings

2.2 Logiciel NT4H – Console C – Définir les paramètres du fichier

Pour ajouter les paramètres du fichier, sélectionnez la deuxième option de menu. En raison d’un grand nombre de paramètres, il existe deux fonctions pour les paramètres de fichier.

nt4h c set file settings1

EXAMPLE 1

nt4h c set file settings2

Fichier de données standard :

  • Dossier numéro 3 (Fichier propriétaire),
  • le mode de communication actuel est chiffré,
  • La valeur de la clé de modification est 0.

Les nouveaux paramètres sont les suivants :

  • Mode de communication simple,
  • Lire la clé 2,
  • Écrire la clé 3,
  • Clé de lecture/écriture 3,
  • Changer la clé 0,
  • le mode d’authentification par clé fournie.

 

 

 

 

 

 

EXAMPLE 2

nt4h c set file settings2

Fichier de messagerie dynamique sécurisée :

  • le numéro de dossier est 2,
  • Communication mode Plain,
  • La clé de lecture est 14,
  • La clé d’écriture est 14,
  • La clé de lecture/écriture est 14,
  • La valeur de la clé de modification est 0,
  • La mise en miroir UID est activée,
  • Le compteur de lecture SDM est activé,
  • Le compteur de lecture SDM est désactivé,
  • la partie Données cryptées du fichier est activée,
  • La clé de méta-lecture SDM est 2,
  • La lecture du fichier SDM est 2,
  • La clé du compteur de lecture SDM est 2,
  • Décalage de données PICC crypté 49,
  • Décalage des données d’entrée MAC 86,
  • le décalage de la partie Données chiffrées 86,
  • Décalage MAC 124.

2.3 Logiciel NT4H – Console C – Obtenir l’UID (NTAG 424 uniquement)

Si vous utilisez des balises NTAG® 424 avec le mode de sécurité d’authentification activé, l’option de menu 3. affichera l’UID de la balise.

La fonction renvoie l’UID de 7 octets de la carte. Il est utile que les options Random ID soient activées. Une authentification valide avec n’importe quelle clé de carte est requise.

nt4h c get uid

2.4 Logiciel NT4H – Console C – Définir un UID aléatoire (NTAG® 424 uniquement)

NTAG® 424 DNA permet une sécurité supplémentaire des balises par le réglage aléatoire de l’UID (option de menu 4).
La fonction Définir l’UID aléatoire remplace l’UID unique de 7 octets par l’UID aléatoire de 4 octets. Par conséquent, la balise renvoie un UID aléatoire de 4 octets à chaque lecture. La balise renvoie désormais un ID aléatoire de 4 octets au lieu d’un ID unique de 7 octets.
Cette fonction nécessite l’authentification par clé principale (numéro 0).

Attention : cette opération est irréversible !

nt4h c get uid example1 1

2.5 Logiciel NT4H – Console C – Changer la clé AES

 

nt4h c change aes keyL’option de menu 5 permet le changement de clé AES.
Cette fonction nécessite l’authentification par clé principale (numéro 0).
Entrez la nouvelle clé AES en tapant les 16 octets hexadécimaux.
Si la clé à modifier n’est pas une clé principale, la valeur de clé précédente est obligatoire.
 
 
 
 

EXAMPLE 1

Exemple de changement de clé AES :

  • Clé numéro 4.
  • 0x00000000000000000000000000000000 de la valeur de la clé principale de l’application
  • Anciennes 0x00000000000000000000000000000000 de valeur Key 4
  • Nouvelle 0x11111111111111111111111111111111 de valeur Key 4.

nt4h c change aes key

2.6 Logiciel NT4H – Console C – Lecture linéaire

La fonction de lecture linéaire inclut le mode de lecture simple, maqué et chiffré. En outre, l’authentification de lecture de contenu en mode Clé fournie et en mode Clé interne permet l’accès au contenu si la balise est protégée. Sinon, le contenu de la balise déverrouillée peut être lu sans entrer la clé (option: Pas d’authentification). La console affiche le contenu lisible dans le mode d’authentification sélectionné en tant qu’hexadécimal et la notation ASCI.

2.6.1 Logiciel NT4H – Console C – Lecture linéaire

La fonction de lecture linéaire inclut le mode de lecture simple, mac (code d’authentification de message) et chiffré. En outre, l’authentification de lecture de contenu en mode Clé fournie et en mode Clé interne permet l’accès au contenu si la balise est protégée. Sinon, le contenu de la balise déverrouillée est accessible sans entrer la clé (option : Pas d’authentification). La console affiche le contenu lisible dans le mode d’authentification sélectionné en tant qu’hexadécimal et la notation ASCI.

La fonction lit les données enregistrées dans les fichiers. Les paramètres requis sont les suivants :

  • Numéro de dossier,
  • La clé d’accès en lecture ou en lecture/écriture,
  • Mode de communication,
  • Mode d’authentification (si la clé de lecture est 14, sélectionnez l’option Aucune authentification),
  • Adresse de départ (0 – adresse max),
  • Longueur des données.

nt4h c linear read function

2.7 Logiciel NT4H – Console C – Écriture linéaire

Comme pour la fonction de lecture linéaire, la fonction d’écriture linéaire permet trois modes de communication et le format hexadécimal ou ASCII pour l’écriture de contenu. En outre, le mode d’authentification sélectionné s’applique au contenu enregistré. 

La fonction écrit des données dans le fichier. Les paramètres requis sont les suivants :

  • Numéro de dossier,
  • La clé d’accès en lecture ou en lecture/écriture,
  • Mode de communication,
  • Mode d’authentification (si la clé de lecture est 14, sélectionnez l’option Aucune authentification ),
  • Adresse de départ (0 – adresse max),
  • Entrez les données au format ASCII ou hexadécimal.

nt4h c linear write

2.8 Logiciel NT4H – Console C – Lecture sécurisée des messages dynamiques

La messagerie dynamique sécurisée (SDM) sur les balises ADN NT4H active la fonction SUN. Il fait référence au texte (ASCII) du message NDEF.
Pour appliquer la fonction Secure Dynamic Message Read, activez le fichier Secure Dynamic Message. Définissez également l’accès en lecture sur gratuit (clé 14 – Aucune option d’authentification).

nt4h c sdm read

2.9 Logiciel NT4H – Console C – Écriture de messages dynamique sécurisée

Comme pour secure dynamic message read, pour la fonction Secure Dynamic Message Write, activez le fichier Secure Dynamic Message. Définissez également l’accès en lecture sur gratuit (clé 14 – Aucune option d’authentification).

nt4h c sdm write

2.10 Logiciel NT4H – Console C – Obtenir le compteur de lecture SDM

Le compteur de lecture de messages dynamique sécurisé n’existe que si le fichier SDM est activé. L’authentification est ou n’est pas requise, selon le paramètre d’accès au compteur de lecture SDM du fichier.

nt4h c get sdm reading counter

 

2.11 Logiciel NT4H – Console C – Stocker la clé AES dans le lecteur

Le périphérique Reader peut stocker 16 clés AES avec des valeurs d’index comprises entre 0 et 15. Cela signifie que l’index de clé peut être n’importe quelle valeur comprise entre 0 et 15.

EXAMPLE 1

L’exemple montre comment stocker la clé avec une valeur 0 x 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 nt4h c store aes key into the reader

EXAMPLE 2

La clé AES stockée dans le lecteur est déverrouillée par défaut.

Vous pouvez verrouiller la clé stockée par n’importe quel mot de passe de 8 octets.

Exemple:
Le mot de passe est 12345678

nt4h c store aes key into the reader password

EXAMPLE 3

Dans le cas où la clé stockée est protégée par mot de passe (verrouillée), vous devez la déverrouiller en fournissant son mot de passe de 8 octets.

Exemple:
Le mot de passe est 12345678

nt4h c store aes key into the reader password unlock

Ce manuel présente l’exemple de logiciel dans le langage de programmation C. Pourtant, tous les logiciels de code source associés dans d’autres langages de programmation contiennent les mêmes fonctions. Lorsque cela est possible, une interface graphique a été développée.
Veuillez consulter notre référentiel GitLab pour obtenir des exemples de code source disponibles dans d’autres langages de programmation.