Online Store

NT4H NTAG® 424 DNA Tag Read/Write Software

Source code examples in C programming language

De voorbeelden van softwarebroncodes die op deze pagina worden uitgelegd, verwijzen naar NFC NTAG DNA-technologieoplossingen®. Het primaire doel is om NTAG® 413 DNA- en NTAG 424 DNA-tags® te schrijven en te lezen, d.w.z. NXP NTAG® Type 4 Tag.

Deze tags voldoen volledig aan:

  • ISO/IEC 14443, alle delen 1 tot en met 4, ISO/IEC 7816-4 bestandsselectie en APDU-verwerking, en passieve doel voldoet aan ISO/IEC18092
  • 7-byte UID (volgens ISO/IEC 14443 – 3)
  • NFC Forum Tag 4 Type technische en NDEF datastructuur configuratie

De belangrijkste reden om de NTAG® 424 DNA-tags te kiezen onder alle NTAG-familietypen is echter de geavanceerde beveiligingsondersteuning. NTAG® 424 DNA-tags bieden geavanceerde beveiligingsmethoden, zoals:

  • Standaard AES-128 cryptografie voor authenticatie/beveiligde messaging, of LRP verpakte AES operatie voor nog sterkere aanvalsbestendigheid
  • 3-pass wederzijdse authenticatie om toegang te krijgen tot het beveiligde gegevensbestand
  • Beveiligd uniek NFC-bericht (SUN)
  • Incrementele NFC tikt teller
  • Gewone, CMAC en gecodeerde communicatie (configureerbaar)
  • Op ECC gebaseerde NXP originaliteitshandtekening
  • On-chip assemblage van item-URL's met flexibele ASCII-spiegels.

Dienovereenkomstig bevat ons softwarevoorbeeld de functies voor alle NTAG® 424 DNA-beveiligingsprotocollen en -optiesimplementatie.

Docs & Software Download

Software overzicht

Software functies:

  • Bestandsinstellingen ophalen en bewerken
  • UID aanvragen
  • Willekeurige ID instellen
  • AES-sleutel wijzigen
  • Lineair lezen/schrijven (ASCII &HEX)
  • Verificatiemodus op drie niveaus
  • SDM (secure dynamic message) lezen/schrijven
  • SDM-leesteller downloaden
  • AES-sleutel opslaan in de Reader
  • De lezer vergrendelen/ontgrendelen
  • Geavanceerde lezeropties (geef de COM-poort, het IP-adres, de SN, enzovoort van reader op)

Beschikbare programmeertalen:

  • C (console)
  • C# (GUI)

Ondersteunde besturingssystemen, platforms en omgevingen:

  • Platformonafhankelijk

Ondersteunde tags, labels, kaarten:

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

Aanbevolen hardware:

  • Nano μFR
  • μFR Nano Online |
  • μFR Klassiek
  • μFR Klassieke CS
  • μFR Voorschot
  • μFR XL

nt4h source coe software

 

Software ademhaling Beschrijving
ufr-voorbeelden-c-nt4h

Console C broncode voorbeeld van nt4h tags implementatie met μFR Series NFC RFID-lezers.  

ufr-voorbeelden-c_sharp-nt4h

GUI C# broncode voorbeeld f nt4h tags implementatie met μFR Series NFC RFID-lezers.

Software manual

1. NT4H-software – C-console – Reader Open

Downloaden: ufr-examples-c-nt4h

De NT4H is bedoeld voor een NXP NTAG® nieuwe tags serie manipulatie. Deze serie omvat NTAG® 413 DNA en NTAG ®424 DNA. NTAG® 424 DNA is volledig compatibel met de NFC Forum Type 4 Tag IC. Het ondersteunt AES-128 cryptografische werking en een nieuw Secure Unique NFC (SUN) Bericht. NXP raadt het gebruik van NTAG® 413 DNA-tags niet aan voor nieuwe projecten, omdat het beschikbare NTAG® 424 DNA betere beveiligingsfuncties biedt.

Als u de toepassing start, wordt een console geopend met een afdruk van het startmenu.
Als u uw hardwarestuurprogramma's correct hebt geïnstalleerd, kunt u de lezerpoort openen door een van de beschikbare opties te selecteren:

  • Option 1 – Reader-poort wordt geopend met behulp van standaardopties (automatische detectie) (meestal gebruikt voor één USB-lezer die op de host is aangesloten)
  • Option 2 – Reader-poort wordt geopend met handmatig configureerbare parameters: reader_type, port_name, port_interface en argument.

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

2. NT4H Software – C console – Hoofdmenu

Hier is de Simple Reader Open mode showcase. 
Selecteer de menuoptie 1. opent de lezerpoort en brengt communicatie tot stand met het apparaat. Wanneer de communicatie tot stand is gebracht, geeft de console het hoofdmenu weer met alle softwarefuncties vermeld. 

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

2.1 NT4H-software – C-console – Bestandsinstellingen ophalen

De eerste functie, Bestandsinstellingen ophalen, geeft de geselecteerde bestandsinstellingen weer. Afhankelijk van de tag die u gebruikt, typt u 1 -2 voor NTAG413 en 1-3 voor NTAG 424.

De NTAG413 heeft twee standaard gegevensbestanden:

  • Dossiernummer 1 verwijst naar het Capability Container-bestand (32 bytes),
  • Dossiernummer 2 verwijst naar het NDEF-bestand (128 bytes).

De NTAG424 heeft drie standaard gegevensbestanden:

  • Dossiernummer 1 verwijst naar het Capability Container-bestand (32 bytes),
  • Dossiernummer 2 verwijst naar het NDEF-bestand (256 bytes),
  • Bestandsnummer 3 verwijst naar het eigen bestand (128 bytes),
  • Het aantal geretourneerde parameters is variabel.

Als het huidige bestand een standaard gegevensbestand is met beveiligde AES-berichten, is het volgende van toepassing:

  • Bestandstype
  • Communicatiemodus
  • Toegangsrechten voor bestanden.

nt4h c set file settings1 1

EXAMPLE 1

Voorbeeld van bestandsgrootte:

  • Dossiernummer = 3 (eigen NTAG424-bestand)
  • Status van communicatiemodus gecodeerd (0x03)
  • Beveiligd dynamisch berichtenverkeer is uitgeschakeld
  • Het sleutelnummer voor lezen is 2, het sleutelnummer voor schrijven is 3,
  • Het sleutelnummer voor lezen/schrijven is 3,
  • Het sleutelnummer voor Bestandsinstellingen wijzigen is 0,
  • De bestandsgrootte is 128 bytes.

nt4h c get file settings

EXAMPLE 2

Als het huidige bestand een standaard gegevensbestand is met beveiligde dynamische berichten, bevat het meer gegevens.

Voorbeeld:

  • het dossiernummer is 2 (NDEF-bestand),
  • Secure Dynamic Messaging is ingeschakeld,
  • lees- en schrijftoegang is gratis (sleutel 0x0E),
  • de bestandsgrootte is 256 bytes,
  • UID Mirroring is ingeschakeld,
  • SDM-leesteller is ingeschakeld,
  • SDM-leestellerlimiet is uitgeschakeld,
  • het gedeelte gecodeerde gegevens van het bestand is geactiveerd,
  • het sleutelnummer voor SDM Meta Read is 2 (UID, SDM-leesteller, PICC-gegevens, MAC),
  • het gecodeerde gegevensgedeelte van het bestandssleutelnummer is 2.
  • SDM Reading Counter kan lezen zonder authenticatie,
  • PICC Data Offset (Gecodeerde UID en SDM Leesteller) is 49,
  • de MAC-ingangsverschuiving is 86,
  • het gecodeerde gegevensgedeelte van de bestandsverschuiving is 86,
  • het gecodeerde gegevensgedeelte van de bestandslengte is 32,
  • MAC Offset is 124.

nt4h c set file settings

2.2 NT4H-software – C-console – Bestandsinstellingen instellen

Als u de bestandsinstellingen wilt toevoegen, selecteert u de tweede menuoptie. Vanwege een groot aantal parameters zijn er twee functies voor bestandsparameterinstellingen.

nt4h c set file settings1

EXAMPLE 1

nt4h c set file settings2

Standaard gegevensbestand:

  • Dossiernummer 3 (eigen bestand),
  • de huidige communicatiemodus is gecodeerd,
  • De waarde van de sleutel wijzigen is 0.

Nieuwe instellingen zijn:

  • Gewone communicatiemodus,
  • Lees sleutel 2,
  • Schrijf sleutel 3,
  • Lees-/schrijftoets 3,
  • Sleutel wijzigen 0,
  • de verificatiemodus voor opgegeven sleutels.

 

 

 

 

 

 

EXAMPLE 2

nt4h c set file settings2

Beveiligd dynamisch berichtenbestand:

  • het dossiernummer is 2,
  • Communicatiemodus Gewoon,
  • Leessleutel is 14,
  • Schrijfsleutel is 14,
  • Lees / schrijfsleutel is 14,
  • De waarde van de sleutel wijzigen is 0,
  • UID Mirroring is ingeschakeld,
  • SDM-leesteller is ingeschakeld,
  • SDM-leesteller is uitgeschakeld,
  • het gedeelte gecodeerde gegevens van het bestand is geactiveerd,
  • SDM Meta Read Key is 2,
  • SDM-bestand lezen is 2,
  • SDM Reading Counter Key is 2,
  • Gecodeerde PICC Data Offset 49,
  • MAC-ingangsgegevensverschuiving 86,
  • de encrypted data part offset 86,
  • MAC-offset 124.

2.3 NT4H-software – C-console – UID verkrijgen (alleen NTAG 424)

Als u NTAG® 424-tags gebruikt waarvoor de verificatiebeveiligingsmodus is ingeschakeld, is de menuoptie 3 ingeschakeld. geeft de tag UID weer.

De functie retourneert de 7-byte UID van de kaart. Het is handig als de Random ID-opties zijn geactiveerd. Geldige verificatie met elke kaartsleutel is vereist.

nt4h c get uid

2.4 NT4H-software – C-console – Willekeurige UID instellen (alleen NTAG® 424)

NTAG® 424 DNA maakt extra tagbeveiliging mogelijk door de willekeurige UID-instelling (menuoptie 4).
Set Random UID-functie vervangt de 7-byte unieke UID door de 4-byte willekeurige UID. Bijgevolg retourneert de tag een willekeurige UID van 4 bytes bij elke meting. De tag retourneert nu een willekeurige ID van 4 bytes in plaats van een unieke ID van 7 bytes.
Voor deze functie is de verificatie van de hoofdsleutel (nummer 0) vereist.

Waarschuwing: deze operatie is onomkeerbaar!

nt4h c get uid example1 1

2.5 NT4H-software – C-console – AES-toets wijzigen

 

nt4h c change aes keyMenuoptie 5 staat de AES-toetswijziging toe.
Voor deze functie is de verificatie van de hoofdsleutel (nummer 0) vereist.
Voer de nieuwe AES-sleutel in door de 16 hexadecimale bytes te typen.
Als de sleutel die moet worden gewijzigd geen hoofdsleutel is, is de vorige sleutelwaarde verplicht.
 
 
 
 

EXAMPLE 1

Voorbeeld van AES-sleutelwijziging:

  • Sleutel nummer 4.
  • Waarde van de toepassingsmastersleutel 0x00000000000000000000000000000000
  • Oude sleutel 4 waarde 0x00000000000000000000000000000000
  • Nieuwe sleutel 4-waarde 0x11111111111111111111111111111111.

nt4h c change aes key

2.6 NT4H-software – C-console – Lineair lezen

De lineaire leesfunctie omvat een eenvoudige, macked en gecodeerde leesmodus. Ook geeft de verificatie van het lezen van inhoud in de modus Verstrekte sleutel en de modus Interne sleutel de inhoud toegang als de tag is beveiligd. Anders kan ontgrendelde taginhoud worden gelezen zonder de sleutel in te voeren (optie: geen verificatie). De console geeft de inhoud weer die leesbaar is in de geselecteerde verificatiemodus als hexadecimaal en de ASCI-notatie.

2.6.1 NT4H-software – C-console – lineair lezen

De lineaire leesfunctie omvat de gewone, mac (Message Authentication Code) en de gecodeerde leesmodus. Ook geeft de verificatie van het lezen van inhoud in de modus Meegeleverde sleutel en de modus Interne sleutel de inhoud toegang als de tag is beveiligd. Anders is ontgrendelde taginhoud toegankelijk zonder de sleutel in te voeren (optie: geen verificatie). De console geeft de inhoud weer die leesbaar is in de geselecteerde verificatiemodus als hexadecimaal en de ASCI-notatie.

De functie leest bestand opgenomen gegevens. Vereiste parameters zijn:

  • Dossiernummer,
  • De lees- of lees-/schrijftoegangssleutel,
  • Communicatiemodus,
  • Verificatiemodus (als Leessleutel 14 is, selecteert u de optie Geen verificatie),
  • Startadres (0 – max adres),
  • Lengte van de gegevens.

nt4h c linear read function

2.7 NT4H-software – C-console – lineair schrijven

Net als bij de lineaire leesfunctie maakt de lineaire schrijffunctie drie communicatiemodi en een hexadecimaal of ASCII-formaat mogelijk voor het schrijven van inhoud. De geselecteerde verificatiemodus is ook van toepassing op de opgenomen inhoud. 

De functie schrijft gegevens in het bestand. Vereiste parameters zijn:

  • Dossiernummer,
  • De lees- of lees-/schrijftoegangssleutel,
  • Communicatiemodus,
  • Verificatiemodus (als leessleutel 14 is, selecteert u de optie Geen verificatie ),
  • Startadres (0 – max adres),
  • Voer de gegevens in ASCII- of hexadecimale indeling in.

nt4h c linear write

2.8 NT4H-software – C-console – Secure Dynamic Message Read

De Secure Dynamic Messaging (SDM) op NT4H DNA-tags maakt de SUN-functie mogelijk. Het verwijst naar de tekst (ASCII) in het NDEF-bericht.
Als u de functie Beveiligde dynamische berichtlezing wilt toepassen, schakelt u het bestand Beveiligd dynamisch bericht in. Stel ook de leestoegang in op gratis (optie Sleutel 14 – Geen verificatie).

nt4h c sdm read

2.9 NT4H-software – C-console – Beveiligd dynamisch berichten schrijven

Net als bij het lezen van beveiligde dynamische berichten, schakelt u voor de functie Beveiligd dynamisch bericht schrijven het bestand Beveiligd dynamisch bericht in. Stel ook de leestoegang in op gratis (optie Sleutel 14 – Geen verificatie).

nt4h c sdm write

2.10 NT4H-software – C-console – SDM-leesteller krijgen

De leesteller voor beveiligde dynamische berichten bestaat alleen als het bestand SDM is ingeschakeld. De verificatie is al dan niet vereist, afhankelijk van de toegangsinstelling voor de SDM-leesteller van het bestand.

nt4h c get sdm reading counter

 

2.11 NT4H-software – C-console – AES-sleutel opslaan in de lezer

Het Reader-apparaat kan 16 AES-sleutels opslaan met indexwaarden 0-15. Dit betekent dat de sleutelindex elke waarde tussen 0 en 15 kan zijn.

EXAMPLE 1

In het voorbeeld ziet u hoe u de sleutel met een waarde 0 x 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

nt4h c store aes key into the reader

EXAMPLE 2

AES Key die in de lezer is opgeslagen, wordt standaard ontgrendeld. U kunt de opgeslagen sleutel vergrendelen met elk wachtwoord van 8 bytes.

Voorbeeld:
Wachtwoord is 12345678

nt4h c store aes key into the reader password

EXAMPLE 3

Als de opgeslagen sleutel met een wachtwoord is beveiligd (vergrendeld), moet u deze ontgrendelen door het wachtwoord van 8 bytes op te geven.

Voorbeeld:
Wachtwoord is 12345678

nt4h c store aes key into the reader password unlock

Deze handleiding presenteert het softwarevoorbeeld in de programmeertaal C. Toch bevat alle gerelateerde broncodesoftware in andere programmeertalen dezelfde functies. Waar haalbaar is een GUI ontwikkeld.
Raadpleeg onze GitLab-repository voor beschikbare broncodevoorbeelden in andere programmeertalen.