NT4H NTAG® 424 DNA Tag Read/Write Software

Source code examples in C programming language

Bu sayfada açıklanan yazılım kaynak kodu örnekleri, NFC NTAG® DNA teknoloji çözümlerine atıfta bulunmaktadır. Birincil amacı, NTAG 413 DNA ve NTAG 424 DNA etiketlerini, yani NXP NTAG®®® Tip 4 Etiketini yazmak ve okumaktır.

Bu etiketler aşağıdakilerle tamamen uyumludur:

  • ISO/IEC 14443, tüm parça 1 ila 4, ISO/IEC 7816-4 dosya seçimi ve APDU işleme ve ISO/IEC18092 ile uyumlu pasif hedef
  • 7 baytlık UID (ISO/IEC 14443 – 3'e göre)
  • NFC Forum Tag 4 Tip teknik ve NDEF veri yapısı yapılandırması

Bununla birlikte, tüm NTAG ailesi türleri arasında NTAG® 424 DNA etiketlerini seçmenin ana nedeni, gelişmiş güvenlik desteğidir. NTAG® 424 DNA etiketleri aşağıdakiler gibi gelişmiş güvenlik yöntemleri sunar:

  • Kimlik doğrulama/güvenli mesajlaşma için standart AES-128 şifreleme veya daha güçlü saldırı direnci için LRP sarılmış AES işlemi
  • Korunan veri dosyasına erişmek için 3 geçişli karşılıklı kimlik doğrulama
  • Güvenli Benzersiz NFC Mesajı (SUN)
  • Artımlı NFC muslukları Sayacı
  • Düz, CMAC ve Şifreli iletişim (yapılandırılabilir)
  • ECC tabanlı NXP özgünlük imzası
  • Esnek ASCII aynalarıyla öğe URL'lerinin çip üzerinde montajı.

Buna göre, yazılım örneğimiz tüm NTAG® 424 DNA güvenlik protokolleri ve opsiyon uygulamaları için işlevleri içerir.

Docs & Software Download

Yazılıma genel bakış

Yazılım fonksiyonları:

  • Dosya ayarlarını alma ve düzenleme
  • UID'yi edinin
  • Rastgele kimlik ayarlama
  • AES anahtarını değiştirme
  • Doğrusal okuma/yazma (ASCII ve HEX)
  • Üç düzeyli kimlik doğrulama modu
  • SDM (güvenli dinamik mesaj) okuma/yazma
  • SDM okuma sayacını edinin
  • AES anahtarını Okuyucu'da depolama
  • Okuyucuyu kilitleme/kilidini açma
  • Gelişmiş okuyucu seçenekleri (Reader COM bağlantı noktasını, IP adresini, SN'yi vb. belirtin)

Mevcut programlama dilleri:

  • C (konsol)
  • C# (GUI)

Desteklenen işletim sistemleri, platformlar ve ortamlar:

  • Platformlar arası

Desteklenen etiketler, etiketler, kartlar:

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

Önerilen donanım:

  • μFR Nano
  • μFR Nano Çevrimiçi
  • μFR Klasik
  • μFR Klasik CS
  • μFR İlerlemesi
  • μFR XL

nt4h source coe software

 

Yazılım solunum Açıklama
ufr-örnekleri-c-nt4h

μFR Serisi NFC RFID okuyucularla nt4h etiketlerinin uygulanmasına ilişkin Konsol C kaynak kodu örneği.  

ufr-örnekleri-c_sharp-nt4h

GUI C# kaynak kodu örneği f nt4h etiketlerinin μFR Serisi NFC RFID okuyucularla uygulanması.

Software manual

1. NT4H Yazılımı – C konsolu – Okuyucu Açık

İndir: ufr-examples-c-nt4h

NT4H, NXP NTAG® yeni etiket serisi manipülasyonu için tasarlanmıştır. Bu seri NTAG 413 DNA ve NTAG® ®424 DNA'yı içerir. NTAG® 424 DNA, NFC Forum Type 4 Tag IC ile tamamen uyumludur. AES-128 şifreleme işlemini ve yeni bir Güvenli Benzersiz NFC (SUN) Mesajını destekler. NXP, mevcut NTAG 424 DNA daha iyi güvenlik özellikleri sunduğundan, yeni projeler için NTAG®® 413 DNA etiketlerinin kullanılmasını önermez.

Uygulama başlatıldığında, ana menü çıktısının alındığı bir konsol açılır.
Donanım sürücülerinizi düzgün kurduysanız, kullanılabilir seçeneklerden birini belirleyerek okuyucu bağlantı noktasını açabilirsiniz:

  • 1. Seçenek – Okuyucu bağlantı noktası varsayılan (otomatik algılama) seçenekleri kullanılarak açılır (genellikle ana bilgisayara bağlı tek bir USB okuyucu için kullanılır)
  • Seçenek 2 – Okuyucu bağlantı noktası manuel olarak yapılandırılabilir parametreler kullanılarak açılır: reader_type, port_name, port_interface ve bağımsız değişken.

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

2. NT4H Yazılımı – C konsolu – Ana menü

İşte Basit Okuyucu Açık mod vitrin. 
Menü seçeneği 1 seçilerek. okuyucu portunu açacak ve cihazla iletişim kuracaktır. İletişim kurulduğunda, konsol listelenen tüm yazılım işlevleriyle birlikte ana menüyü görüntüler. 

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

2.1 NT4H Yazılımı – C konsolu – Dosya ayarlarını alın

İlk işlev olan Dosya Ayarlarını Al, seçilen dosya ayarlarını görüntüler. Kullandığınız etikete bağlı olarak, NTAG413 için 1 -2 ve NTAG 424 için 1-3 yazın.

NTAG413'ün iki standart veri dosyası vardır:

  • Dosya numarası 1, Capability Container dosyasını (32 bayt) ifade eder,
  • Dosya numarası 2, NDEF dosyasını (128 bayt) ifade eder.

NTAG424'ün üç standart veri dosyası vardır:

  • Dosya numarası 1, Capability Container dosyasını (32 bayt) ifade eder,
  • Dosya numarası 2, NDEF dosyasını ifade eder (256 bayt),
  • Dosya numarası 3, tescilli dosyayı (128 bayt) ifade eder,
  • Döndürülen parametrelerin sayısı değişkendir.

Geçerli dosya AES güvenli mesajlaşma özelliğine sahip standart bir veri dosyasıysa, aşağıdakiler geçerlidir:

  • Dosya türü
  • İletişim modu
  • Dosya erişim hakları.

nt4h c set file settings1 1

EXAMPLE 1

Dosya boyutu örneği:

  • Dosya numarası = 3 (NTAG424 tescilli dosya)
  • İletişim modu durumu şifrelendi (0x03)
  • Güvenli Dinamik Mesajlaşma devre dışı bırakıldı
  • Okuma için Anahtar numarası 2, yazma için Anahtar numarası 3'tür,
  • Okuma/yazma için anahtar sayı 3'tür,
  • Dosya Değiştirme ayarlarının anahtar numarası 0'dır,
  • Dosya boyutu 128 bayttır.

nt4h c get file settings

EXAMPLE 2

Geçerli dosya güvenli dinamik iletiye sahip standart bir veri dosyasıysa, daha fazla veri içerir.

Örnek:

  • Dosya numarası 2'dir (NDEF dosyası),
  • Güvenli Dinamik Mesajlaşma etkindir,
  • okuma ve yazma erişimi ücretsizdir (anahtar 0x0E),
  • Dosya boyutu 256 bayttır,
  • UID Yansıtma etkindir,
  • SDM Okuma Sayacı etkin,
  • SDM Okuma Sayacı Sınırı devre dışı bırakıldı,
  • Dosyanın Şifrelenmiş Veri Bölümü etkinleştirilir,
  • SDM Meta Read için Anahtar numarası 2'dir (UID, SDM okuma sayacı, PICC verileri, MAC),
  • Dosya Anahtarı numarasının Şifrelenmiş Veri Bölümü 2'dir.
  • SDM Okuma Sayacı kimlik doğrulaması olmadan okuyabilir,
  • PICC Veri Ofseti (Şifreli UID ve SDM Okuma Sayacı) 49,
  • MAC Giriş Ofseti 86'dır,
  • Dosya uzaklığının şifrelenmiş veri bölümü 86'dır,
  • Dosya uzunluğunun şifrelenmiş veri kısmı 32'dir,
  • MAC Ofseti 124'tür.

nt4h c set file settings

2.2 NT4H Yazılımı – C konsolu – Dosya ayarlarını yapma

Dosya ayarlarını eklemek için ikinci menü seçeneğini belirleyin. Çok sayıda parametre nedeniyle, dosya parametre ayarları için iki işlev vardır.

nt4h c set file settings1

EXAMPLE 1

nt4h c set file settings2

Standart veri dosyası:

  • Dosya numarası 3 (Özel dosya),
  • Mevcut İletişim modu şifrelenir,
  • Anahtar değerini değiştir 0'dır.

Yeni ayarlar şunlardır:

  • Düz İletişim modu,
  • Anahtar 2'yi okuyun,
  • Yazma Tuşu 3,
  • Okuma/Yazma Tuşu 3,
  • Anahtarı Değiştir 0,
  • Sağlanan Anahtar Kimlik Doğrulaması modu.

 

 

 

 

 

 

EXAMPLE 2

nt4h c set file settings2

Güvenli Dinamik Mesajlaşma dosyası:

  • Dosya numarası 2'dir,
  • İletişim modu Düz,
  • Okuma Tuşu 14,
  • Yazma Tuşu 14,
  • Okuma/Yazma Tuşu 14,
  • Anahtar değerini değiştir 0,
  • UID Yansıtma etkindir,
  • SDM Okuma Sayacı etkin,
  • SDM Okuma Sayacı devre dışı,
  • Dosyanın Şifrelenmiş Veri Bölümü etkinleştirilir,
  • SDM Meta Okuma Tuşu 2,
  • SDM Dosya Okuma 2,
  • SDM Okuma Sayacı Tuşu 2,
  • Şifreli PICC Veri Ofseti 49,
  • MAC Giriş Veri Ofseti 86,
  • Şifrelenmiş Veri Bölümü Ofseti 86,
  • MAC Ofset 124.

2.3 NT4H Yazılımı – C konsolu – UID'yi edinin (yalnızca NTAG 424)

Kimlik doğrulama güvenlik modu etkinleştirilmiş NTAG® 424 etiketlerini kullanırsanız, menü seçeneği 3. UID etiketini görüntüler.

İşlev, kartı 7 baytlık UID döndürür. Rastgele Kimlik seçeneklerinin etkinleştirilmesi yararlı olur. Herhangi bir kart anahtarıyla geçerli kimlik doğrulaması gereklidir.

nt4h c get uid

2.4 NT4H Yazılımı – C konsolu – Rastgele UID ayarlama (yalnızca NTAG® 424)

NTAG® 424 DNA, rastgele UID ayarıyla ek etiket güvenliğine izin verir (menü seçeneği 4).
Rasgele UID Ayarla işlevi, 7 baytlık benzersiz UID'yi 4 baytlık rasgele UID ile değiştirir. Sonuç olarak, etiket her okumada 4 baytlık rastgele bir UID döndürür. Etiket artık 7 baytlık benzersiz bir kimlik yerine 4 baytlık rastgele bir kimlik döndürüyor.
Bu işlev, Ana Anahtar kimlik doğrulamasını (0 numarası) gerektirir.

Uyarı: Bu işlem geri alınamaz!

nt4h c get uid example1 1

2.5 NT4H Yazılımı – C konsolu – AES tuşunu değiştirin

 

nt4h c change aes keyMenü seçeneği 5, AES tuşunun değiştirilmesine izin verir.
Bu işlev, Ana Anahtar kimlik doğrulamasını (0 numarası) gerektirir.
16 onaltılık bayt yazarak yeni AES anahtarını girin.
Değiştirilecek anahtar bir Ana Anahtar değilse, önceki Anahtar değeri zorunludur.
 
 
 
 

EXAMPLE 1

AES Anahtar değişikliği örneği:

  • Anahtar numarası 4.
  • Uygulama Ana Anahtarı değer 0x00000000000000000000000000000000
  • Old Key 4 değer 0x00000000000000000000000000000000
  • Yeni Anahtar 4 değeri 0x11111111111111111111111111111111.

nt4h c change aes key

2.6 NT4H Yazılımı – C konsolu – Doğrusal Okuma

Doğrusal Okuma işlevi düz, macked ve şifreli okuma modunu içerir. Ayrıca, Sağlanan anahtar modundaki ve Dahili anahtar modundaki içerik okuma kimlik doğrulaması, etiket korumalıysa içerik erişimine izin verir. Aksi takdirde, kilidi açılmış etiket içeriği anahtar girilmeden okunabilir (seçenek: Kimlik doğrulama yok). Konsol, seçilen kimlik doğrulama modunda okunabilir içeriği onaltılık ve ASCI gösterimi olarak görüntüler.

2.6.1 NT4H Yazılımı – C konsolu – Doğrusal Okuma

Doğrusal Okuma işlevi düz, mac (Mesaj Kimlik Doğrulama Kodu) ve şifreli okuma modunu içerir. Ayrıca, Sağlanan Anahtar modundaki ve Dahili Anahtar modundaki içerik okuma kimlik doğrulaması, etiket korumalıysa içerik erişimine izin verir. Aksi takdirde, kilidi açılmış etiket içeriğine anahtar girilmeden erişilebilir (seçenek: Kimlik doğrulaması yok). Konsol, seçilen kimlik doğrulama modunda okunabilir içeriği onaltılık ve ASCI gösterimi olarak görüntüler.

İşlev, dosya kayıtlı verileri okur. Gerekli parametreler şunlardır:

  • Dosya numarası,
  • Okuma veya okuma/yazma Erişim Anahtarı,
  • İletişim modu,
  • Kimlik doğrulama modu (Okuma Anahtarı 14 ise, Kimlik Doğrulama Yok seçeneğini belirleyin),
  • Başlangıç Adresi (0 – maksimum adres),
  • Veri Uzunluğu.

nt4h c linear read function

2.7 NT4H Yazılımı – C konsolu – Doğrusal Yazma

Doğrusal Okuma işlevinde olduğu gibi, Doğrusal Yazma işlevi de içerik yazma için üç iletişim moduna ve onaltılık veya ASCII biçimine izin verir. Ayrıca, seçilen Kimlik Doğrulama modu kaydedilen içeriğe uygulanır. 

İşlev, verileri dosyaya yazar. Gerekli parametreler şunlardır:

  • Dosya numarası,
  • Okuma veya okuma/yazma Erişim Anahtarı,
  • İletişim modu,
  • Kimlik doğrulama modu (okunan Anahtar 14 ise, Kimlik Doğrulama Yok seçeneğini belirleyin),
  • Başlangıç adresi (0 – maksimum adres),
  • Verileri ASCII veya onaltılık biçimde girin.

nt4h c linear write

2.8 NT4H Yazılımı – C konsolu – Güvenli Dinamik Mesaj Okuma

NT4H DNA etiketlerindeki Güvenli Dinamik Mesajlaşma (SDM), SUN özelliğini etkinleştirir. NDEF iletisindeki metne (ASCII) başvurur.
Güvenli Dinamik İleti Okuma işlevini uygulamak için, Güvenli Dinamik İleti dosyasını etkinleştirin. Ayrıca, Okuma Erişimi'ni ücretsiz olarak ayarlayın (Anahtar 14 – Kimlik Doğrulama Yok seçeneği).

nt4h c sdm read

2.9 NT4H Yazılımı – C konsolu – Güvenli Dinamik Mesaj Yazma

Güvenli Dinamik İleti Okuma'da olduğu gibi, Güvenli Dinamik İleti Yazma işlevi için Güvenli Dinamik İleti dosyasını etkinleştirin. Ayrıca, Okuma Erişimi'ni ücretsiz olarak ayarlayın (Anahtar 14 – Kimlik Doğrulama Yok seçeneği).

nt4h c sdm write

2.10 NT4H Yazılımı – C konsolu – SDM Okuma Sayacını Edinin

Güvenli Dinamik İleti Okuma Sayacı yalnızca SDM dosyası etkinleştirilmişse vardır. Kimlik doğrulama, dosya SDM Okuma Sayacı erişim ayarına bağlı olarak gereklidir veya gerekli değildir.

nt4h c get sdm reading counter

 

2.11 NT4H Yazılımı – C konsolu – AES Anahtarını okuyucuya saklayın

Okuyucu aygıtı, dizin değerleri 0-15 olan 16 AES Anahtarını saklayabilir. Bu, Anahtar dizininin 0 ile 15 arasında herhangi bir değer olabileceği anlamına gelir.

EXAMPLE 1

Örnek, 0 x 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 nt4h c store aes key into the reader

EXAMPLE 2

Okuyucuda depolanan AES Anahtarının kilidi varsayılan olarak açıktır.

Saklanan Anahtarı herhangi bir 8 baytlık parolayla kilitleyebilirsiniz.

Örnek:
Parola 12345678

nt4h c store aes key into the reader password

EXAMPLE 3

Saklanan Anahtarın parola korumalı (kilitli) olması durumunda, 8 baytlık parolasını sağlayarak kilidini açmanız gerekir.

Örnek:
Parola 12345678

nt4h c store aes key into the reader password unlock

Bu kılavuz, yazılım örneğini C programlama dilinde sunmaktadır. Yine de, diğer programlama dillerindeki tüm ilgili kaynak kodu yazılımları aynı işlevleri içerir. Ulaşılabilir olduğunda, bir GUI geliştirilmiştir.
Lütfen diğer programlama dillerinde mevcut kaynak kodu örnekleri için