Online Store

NT4H NTAG® 424 DNA Tag Read/Write Software

Source code examples in C programming language

Az ezen az oldalon ismertetett szoftveres forráskód-példák az NFC NTAG® DNA technológiai megoldásokra vonatkoznak. Elsődleges célja az NTAG 413 DNS és az NTAG 424 DNS-címkék, azaz az NXP NTAG®®® 4. típusú címke írása és olvasása.

Ezek a címkék teljes mértékben megfelelnek a következőknek:

  • ISO/IEC 14443, minden 1–4. rész, ISO/IEC 7816-4 fájlkiválasztás és APDU-kezelés, valamint az ISO/IEC18092 szabványnak megfelelő passzív cél
  • 7 bájtos UID (az ISO/IEC 14443 – 3 szerint)
  • NFC Forum Tag 4 Típus műszaki és NDEF adatstruktúra konfiguráció

Azonban a fő oka annak, hogy az NTAG 424 DNS-címkéket válasszuk az összes NTAG® családtípus közül, a fejlett biztonsági támogatás. Az NTAG® 424 DNS-címkék fejlett biztonsági módszereket kínálnak, például:

  • Szabványos AES-128 titkosítás a hitelesítéshez/biztonságos üzenetküldéshez, vagy LRP-be csomagolt AES-művelet a még erősebb támadásállóság érdekében
  • 3-pass kölcsönös hitelesítés a védett adatfájl eléréséhez
  • Biztonságos egyedi NFC-üzenet (SUN)
  • Inkrementális NFC-koppintások számlálója
  • Egyszerű, CMAC és titkosított kommunikáció (konfigurálható)
  • ECC-alapú NXP eredetiség aláírása
  • Elem URL-címek lapkára integrált összeállítása rugalmas ASCII-tükrözésekkel.

Ennek megfelelően szoftveres példánk tartalmazza az összes NTAG® 424 DNS-biztonsági protokoll és opciós megvalósítás funkcióit.

Docs & Software Download

A szoftver áttekintése

Szoftver funkciók:

  • Fájlbeállítások lekérése és szerkesztése
  • UID beszerzése
  • Véletlenszerű azonosító beállítása
  • Az AES-kulcs módosítása
  • Lineáris olvasás/írás (ASCII & HEX)
  • Háromszintű hitelesítési mód
  • SDM (biztonságos dinamikus üzenet) olvasás/írás
  • SDM olvasószámláló beszerzése
  • Az AES-kulcs tárolása az olvasóban
  • Az olvasó zárolása/feloldása
  • Speciális olvasóbeállítások (adja meg a Reader COM portot, IP-címet, SN-t stb.)

Elérhető programozási nyelvek:

  • C (konzol)
  • C# (GUI)

Támogatott operációs rendszerek, platformok és környezetek:

  • Platformok közötti

Támogatott címkék, címkék, kártyák:

  • NXP NTAG® 21x (210, 213, 215, 216, Tag Szabotázs)
  • NXP NTAG® 4xx DNS (413, 424)

Ajánlott hardver:

  • μFR Nano
  • μFR Nano Online
  • μFR Classic
  • μFR Klasszikus CS
  • μFR Előre
  • μFR XL

nt4h source coe software

 

Szoftveres légzőkészülék Leírás
UFR-példák-c-nt4h

C konzol forráskódja példa az nt4h címkék μFR sorozatú NFC RFID-olvasókkal történő megvalósítására.  

UFR-példák-c_sharp-NT4H

GUI C# forráskód példa f nt4h címkék implementációja μFR sorozatú NFC RFID olvasókkal.

Software manual

1. NT4H szoftver – C konzol – Olvasó nyitva

Letöltés: ufr-examples-c-nt4h

Az NT4H az NXP NTAG® új címkék sorozatának kezelésére szolgál. Ez a sorozat tartalmazza az NTAG 413 DNS-t és az NTAG® ®424 DNS-t. Az NTAG® 424 DNS teljes mértékben megfelel az NFC Forum Type 4 Tag IC szabványnak. Támogatja az AES-128 titkosítási műveletet és az új Secure Unique NFC (SUN) üzenetet. Az NXP nem javasolja az NTAG 413 DNS-címkék használatát új projektekhez, mivel az elérhető NTAG®® 424 DNS jobb biztonsági funkciókat kínál.

Az alkalmazás elindításával megnyílik egy konzol a főmenü kinyomtatásával.
Ha megfelelően telepítette a hardver-illesztőprogramokat, akkor az elérhető lehetőségek egyikének kiválasztásával megnyithatja az olvasó portját:

  • 1. lehetőség – A reader portja az alapértelmezett (automatikus észlelési) beállításokkal nyílik meg (általában a gazdagéphez csatlakoztatott egyetlen USB-olvasóhoz használják)
  • 2. lehetőség – A Reader port manuálisan konfigurálható paraméterekkel nyílik meg: reader_type, port_name, port_interface és argumentum.

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

2. NT4H szoftver – C konzol – Főmenü

Itt van a Simple Reader Open mód bemutatója. 
Az 1. menüpont kiválasztása. megnyitja az olvasó portját, és kommunikációt létesít az eszközzel. A kommunikáció létrejöttekor a konzol megjeleníti a főmenüt az összes felsorolt szoftverfunkcióval. 

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

2.1 NT4H szoftver – C konzol – Fájlbeállítások lekérése

Az első funkció, a Fájlbeállítások lekérése megjeleníti a kiválasztott fájlbeállításokat. A használt címkétől függően írja be az 1 -2 értéket az NTAG413 és az 1-3 értéket az NTAG 424 esetében.

Az NTAG413 két szabványos adatfájllal rendelkezik:

  • Az 1. fájlszám a képességtároló fájlra utal (32 bájt),
  • A 2. fájlszám az NDEF-fájlra utal (128 bájt).

Az NTAG424 három szabványos adatfájllal rendelkezik:

  • Az 1. fájlszám a képességtároló fájlra utal (32 bájt),
  • A 2. fájlszám az NDEF-fájlra utal (256 bájt),
  • A 3. fájlszám a saját fájlra utal (128 bájt),
  • A visszaadott paraméterek száma változó.

Ha az aktuális fájl egy szabványos adatfájl AES biztonságos üzenetküldéssel, a következők érvényesek:

  • Fájltípus
  • Kommunikációs mód
  • Fájlhozzáférési jogok.

nt4h c set file settings1 1

EXAMPLE 1

Példa fájlméretre:

  • Fájlszám = 3 (NTAG424 saját fájl)
  • Kommunikációs mód állapota titkosítva (0x03)
  • A biztonságos dinamikus üzenetküldés le van tiltva
  • Az olvasás kulcsszáma 2, az írás kulcsszáma 3,
  • Az olvasáshoz/íráshoz szükséges kulcsszám 3,
  • A Fájlbeállítások módosítása kulcsszáma 0,
  • A fájl mérete 128 bájt.

nt4h c get file settings

EXAMPLE 2

Ha az aktuális fájl biztonságos dinamikus üzenetküldéssel rendelkező szabványos adatfájl, akkor több adatot tartalmaz.

Példa:

  • a fájlszám 2 (NDEF fájl),
  • A biztonságos dinamikus üzenetküldés engedélyezve van,
  • az olvasási és írási hozzáférés ingyenes (0x0E. kulcs),
  • a fájl mérete 256 bájt,
  • Az UID-tükrözés engedélyezve van,
  • Az SDM olvasási számláló engedélyezve van,
  • Az SDM olvasási számláló korlátja le van tiltva,
  • a fájl titkosított adatok része aktiválva van,
  • az SDM Meta Read kulcsszáma 2 (UID, SDM olvasószámláló, PICC-adatok, MAC),
  • a fájlkulcs titkosított adatok része 2.
  • Az SDM olvasószámláló hitelesítés nélkül tud olvasni,
  • A PICC adateltolás (titkosított UID és SDM olvasószámláló) 49,
  • a MAC bemeneti eltolás 86,
  • a fájleltolás titkosított adatok része 86,
  • a titkosított adatok része a fájl hosszának 32,
  • A MAC eltolás 124.

nt4h c set file settings

2.2 NT4H szoftver – C konzol – Fájlbeállítások megadása

A fájlbeállítások hozzáadásához válassza ki a második menüpontot. A paraméterek nagy száma miatt a fájlparaméterek beállításainak két funkciója van.

nt4h c set file settings1

EXAMPLE 1

nt4h c set file settings2

Standard adatfájl:

  • 3. fájlszám (Saját fájl),
  • az aktuális kommunikációs mód titkosítva van,
  • Módosítás A kulcs értéke 0.

Az új beállítások a következők:

  • Egyszerű kommunikációs mód,
  • Olvassa el a 2. kulcsot,
  • 3. írási kulcs,
  • 3. olvasási/írási kulcs,
  • változtassa meg a 0 kulcsot,
  • a Megadott kulcs hitelesítési mód.

 

 

 

 

 

 

EXAMPLE 2

nt4h c set file settings2

Biztonságos dinamikus üzenetküldési fájl:

  • a fájlszám 2,
  • Kommunikációs mód egyszerű,
  • Az olvasási kulcs 14,
  • Az írási kulcs 14,
  • Az olvasási/írási kulcs 14,
  • Változás A kulcs értéke 0,
  • Az UID-tükrözés engedélyezve van,
  • Az SDM olvasási számláló engedélyezve van,
  • Az SDM olvasási számláló le van tiltva,
  • a fájl titkosított adatok része aktiválva van,
  • SDM Meta olvasási kulcs 2,
  • SDM fájl olvasása 2,
  • SDM olvasószámláló kulcs 2,
  • Titkosított PICC adatok eltolása 49,
  • MAC bemeneti adatok eltolása 86,
  • a titkosított adatok részaránya 86,
  • MAC eltolás 124.

2.3 NT4H szoftver – C konzol – UID letöltése (csak NTAG 424 esetén)

Ha olyan NTAG® 424 címkéket használ, amelyeken engedélyezve van a hitelesítési biztonsági mód, a 3. menüpont. megjeleníti az UID címkét.

A függvény a kártya 7 bájtos UID-jét adja vissza. Hasznos, ha a Véletlenszerű azonosító opciók aktiválva vannak. Érvényes hitelesítés szükséges bármely kártyakulccsal.

nt4h c get uid

2.4 NT4H szoftver – C konzol – Véletlenszerű UID beállítása (csak NTAG® 424 esetén)

Az NTAG® 424 DNS további címkebiztonságot tesz lehetővé a véletlenszerű UID beállítással (4. menüpont).
A Set Random UID függvény lecseréli a 7 bájtos egyedi UID-t a 4 bájtos véletlenszerű UID-re. Következésképpen a címke minden olvasáskor 4 bájtos véletlenszerű UID-t ad vissza. A címke mostantól 4 bájtos véletlenszerű azonosítót ad vissza a 7 bájtos egyedi azonosító helyett.
Ehhez a funkcióhoz főkulcsos hitelesítésre van szükség (0-s szám).

Figyelem: ez a művelet visszafordíthatatlan!

nt4h c get uid example1 1

2.5 NT4H szoftver – C konzol – AES kulcs módosítása

 

nt4h c change aes keyAz 5. menüpont lehetővé teszi az AES kulcs módosítását.
Ehhez a funkcióhoz főkulcsos hitelesítésre van szükség (0-s szám).
Adja meg az új AES-kulcsot a 16 hexadecimális bájt beírásával.
Ha a módosítandó kulcs nem főkulcs, az előző kulcsérték kötelező.
 
 
 
 

EXAMPLE 1

AES kulcsváltozási példa:

  • 4. kulcs.
  • Alkalmazástörzskulcs 0x00000000000000000000000000000000 értéke
  • Régi 4. kulcs értéke 0x00000000000000000000000000000000
  • Új 4. kulcs 0x11111111111111111111111111111111 értéke.

nt4h c change aes key

2.6 NT4H szoftver – C konzol – Lineáris olvasás

A Lineáris olvasás funkció egyszerű, szaggatott és megfejtett olvasási módot tartalmaz. Emellett a tartalomolvasási hitelesítés a Megadott kulcs módban és a Belső kulcs módban lehetővé teszi a tartalomhoz való hozzáférést, ha a címke védett. Ellenkező esetben a feloldott címketartalom a kulcs megadása nélkül is olvasható (beállítás: Nincs hitelesítés). A konzol a kiválasztott hitelesítési módban olvasható tartalmat hexadecimálisként és ASCI-jelölésként jeleníti meg.

2.6.1 NT4H szoftver – C konzol – lineáris olvasás

A lineáris olvasási funkció magában foglalja az egyszerű, a mac (üzenethitelesítő kódot) és a titkosított olvasási módot. Emellett a tartalomolvasási hitelesítés a Megadott kulcs módban és a Belső kulcs módban lehetővé teszi a tartalomhoz való hozzáférést, ha a címke védett. Ellenkező esetben a feloldott címketartalom a kulcs megadása nélkül is elérhető (beállítás: Nincs hitelesítés). A konzol a kiválasztott hitelesítési módban olvasható tartalmat hexadecimálisként és ASCI-jelölésként jeleníti meg.

A függvény beolvassa a fájlban rögzített adatokat. A szükséges paraméterek a következők:

  • ügyiratszám,
  • Az olvasási vagy olvasási/írási hozzáférési kulcs,
  • Kommunikációs mód,
  • Hitelesítési mód (ha az Olvasási kulcs 14, válassza a Nincs hitelesítés lehetőséget),
  • Kezdő cím (0 – maximális cím),
  • Adathossz.

nt4h c linear read function

2.7 NT4H szoftver – C konzol – lineáris írás

A lineáris olvasási funkcióhoz hasonlóan a Lineáris írás funkció is három kommunikációs módot és hexadecimális vagy ASCII formátumot tesz lehetővé a tartalomíráshoz. Ezenkívül a kiválasztott hitelesítési mód vonatkozik a rögzített tartalomra. 

A függvény adatokat ír a fájlba. A szükséges paraméterek a következők:

  • ügyiratszám,
  • Az olvasási vagy olvasási/írási hozzáférési kulcs,
  • Kommunikációs mód,
  • Hitelesítési mód (ha az olvasási kulcs 14, válassza a Nincs hitelesítés lehetőséget),
  • Kezdő cím (0 – maximális cím),
  • Adja meg az adatokat ASCII vagy hexadecimális formátumban.

nt4h c linear write

2.8 NT4H szoftver – C konzol – Biztonságos dinamikus üzenet olvasása

Az NT4H DNS-címkéken található biztonságos dinamikus üzenetküldés (SDM) lehetővé teszi a SUN funkciót. Az NDEF-üzenet szövegére (ASCII) hivatkozik.
A Secure Dynamic Message Read funkció alkalmazásához engedélyezze a Secure Dynamic Message fájlt. Ezenkívül állítsa az olvasási hozzáférést ingyenesre (14. kulcs – nincs hitelesítés opció).

nt4h c sdm read

2.9 NT4H szoftver – C konzol – Biztonságos dinamikus üzenetírás

A Secure Dynamic Message Read funkcióhoz hasonlóan a Secure Dynamic Message Write (Biztonságos dinamikus üzenetírás) funkcióhoz is engedélyezze a Secure Dynamic Message fájlt. Ezenkívül állítsa az olvasási hozzáférést ingyenesre (14. kulcs – nincs hitelesítés opció).

nt4h c sdm write

2.10 NT4H szoftver – C konzol – SDM olvasószámláló beszerzése

A biztonságos dinamikus üzenetolvasási számláló csak akkor létezik, ha a fájl SDM engedélyezve van. A hitelesítés a fájl SDM olvasási számlálójának hozzáférési beállításától függően kötelező vagy nem kötelező.

nt4h c get sdm reading counter

 

2.11 NT4H szoftver – C konzol – Az AES Key tárolása az olvasóban

A Reader eszköz 16 AES-kulcsot képes tárolni 0-15 indexértékkel. Ez azt jelenti, hogy a Kulcsindex bármilyen érték lehet 0 és 15 között.

EXAMPLE 1

A példa bemutatja, hogyan tárolhatja a kulcsot 0

nt4h c store aes key into the reader

EXAMPLE 2

x 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Az olvasóban tárolt AES-kulcs alapértelmezés szerint fel van oldva. A tárolt kulcsot bármilyen 8 bájtos jelszóval zárolhatja.

Példa:
A jelszó 12345678

nt4h c store aes key into the reader password

EXAMPLE 3

Abban az esetben, ha a tárolt kulcs jelszóval védett (zárolt), akkor a 8 bájtos jelszó megadásával fel kell oldania.

Példa:
A jelszó 12345678

nt4h c store aes key into the reader password unlock

Ez a kézikönyv a C programozási nyelv szoftverpéldáját mutatja be. Ennek ellenére az összes kapcsolódó forráskód-szoftver más programozási nyelveken ugyanazokat a funkciókat tartalmazza. Ahol elérhető, kifejlesztettek egy grafikus felhasználói felületet.
Kérjük, tekintse meg GitLab adattárunkban a más programozási nyelveken elérhető forráskód-példákat.