在线商店

NT4H NTAG®424 DNA标签读写软件

C语言编程的源代码示例

本页介绍的软件源代码示例参考nfc ntag®dna技术解决方案。其主要目的是写入和读取NTAG 413 DNA和DNA NTAG 424标签,即恩智浦NTAG®®®Type 4标签。

这些标签完全符合:

  • ISO / IEC 14443,所有第1至4部分,ISO / IEC 7816 - 4文件选择和APDU处理,以及符合ISO / IEC18092的被动目标
  • 7 字节Uid(根据iso / iec 14443 - 3)
  • NFC论坛标签4类型技术和ndef数据结构配置

然而,在所有NTAG系列类型中选择NTAG®424 DNA标签的主要原因是其先进的安全支持。Ntag®424 dna标签提供先进的安全方法,例如:

  • 用于身份验证/安全消息传递的标准aes-128加密,或LRP封装的aes操作,以获得更强的攻击抵抗力
  • 3 次相互身份验证以访问受保护的数据文件
  • 安全的唯一NFC消息(太阳)
  • 增量式nfc抽头计数器
  • 普通,cmac和加密通信(可配置)
  • 基于ecc的恩智浦原创性签名
  • 具有灵活ASCII镜像的项目url的片上组装。

因此,我们的软件示例包括所有ntag®424 dna安全协议和选项实现的功能。

文档和软件下载

软件概述

软件功能:

  • 获取和编辑文件设置
  • 获取uid
  • 设置随机id
  • 更改aes密钥
  • 线性读/写(ascii和十六进制)
  • 三级认证模式
  • sdm(安全动态消息)读/写
  • 获取SDM读数计数器
  • 将aes密钥存储到读取器中
  • 锁定/解锁读卡器
  • 高级读取器选项(指定读取器com端口,ip地址,sn等)

可用的编程语言:

  • c(控制台)
  • c#(图形用户界面)

支持的操作系统、平台和环境:

  • 跨平台

支持的标签、标签、卡片:

  • 恩智浦NTAG®21x(210, 213, 215, 216,标签篡改)
  • 恩智浦NTAG®4xx DNA (413,424)

推荐硬件:

  • 微fr纳米
  • μfr纳米在线
  • 微阻燃经典
  • μfr经典cs
  • 微fr预付款
  • 微fr xl

Nt4h源coe软件

软件呼吸 d标注
UFR-examples-c-nt4h

使用μFR系列NFCbob全站版 RFID读取器实现nt4h标签的控制台C源代码示例。

UFR-examples-c_sharp-nt4h

GUI c#源代码示例f nt4h标签实现与μFR系列NFC RFbob全站版ID阅读器。

软件手册

1.Nt4h软件- c控制台-读卡器打开

下载:ufr-examples-c-nt4h

nt4h用于恩智浦ntag®新标签系列操作。该系列包括ntag 413 dna和ntag®®424 dna。NTAG®424 DNA完全符合NFC论坛Type 4标签IC。它支持aes-128加密操作和新的安全唯一NFC (sun)消息。恩智浦不建议在新项目中使用NTAG 413 DNA标签,因为现有的NTAG®®424 DNA具有更好的安全功能。

启动应用程序将打开一个控制台,其中包含主菜单的打印输出。
如果您已正确安装硬件驱动程序,则可以通过选择可用选项之一来打开读卡器端口:

  • 选项1 -使用默认(自动检测)选项打开读卡器端口(通常用于连接到主机的单个usb读卡器)
  • 选项2 -使用可手动配置的参数打开读取器端口:reader_type, port_name, port_interface和参数。

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

2.Nt4h软件- c控制台-主菜单

这是简单阅读器打开模式展示。
选择菜单选项 1。将打开读卡器端口并与设备建立通信。建立通信后,控制台将显示主菜单,其中列出了所有软件功能。

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

2.1 nt4h软件- c控制台-获取文件设置

第一个函数“获取文件设置”显示选定的文件设置。根据您使用的标记,为ntag413键入1 -2,为ntag 424键入1-3。

ntag413有两个标准数据文件:

  • 文件编号 1 是指功能容器文件(32 字节),
  • 文件编号2是指ndef文件(128字节)。

ntag424有三个标准数据文件:

  • 文件编号 1 是指功能容器文件(32 字节),
  • 文件编号2是指ndef文件(256字节),
  • 文件编号 3 是指专有文件(128 字节),
  • 返回的参数数量是可变的。

如果当前文件是带有aes安全消息传递的标准数据文件,则以下情况适用:

  • 文件类型
  • 通信模式
  • 文件访问权限。

Nt4h c设置文件设置1

示例1

文件大小示例:

  • 文件编号= 3(ntag424专有文件)
  • 通信模式状态已加密(0x03)
  • 安全动态消息传递已禁用
  • 读取的密钥编号为 2,写入的密钥编号为 3,
  • 用于读取/写入的密钥数是 3,
  • 更改文件设置的密钥编号为 0,
  • 文件大小为 128 字节。

Nt4h c get文件设置

示例2

如果当前文件是具有安全动态消息传递的标准数据文件,则它包含更多数据。

示例:

  • 文件编号为2(ndef文件),
  • 已启用安全动态消息传递,
  • 读写访问是免费的(密钥0x0E),
  • 文件大小为 256 字节,
  • Uid镜像已启用,
  • SDM读数计数器已启用,
  • SDM读数计数器限制已禁用,
  • 文件的加密数据部分被激活,
  • SDM元读取的密钥编号为2(uid, SDM读取计数器,picc数据,mac),
  • 文件密钥编号的加密数据部分为 2。
  • sdm读数计数器无需身份验证即可读取,
  • picc数据偏移量(加密uid和sdm读数计数器)为49,
  • MAC输入偏移为86,
  • 文件偏移量的加密数据部分为 86,
  • 文件长度的加密数据部分为 32,
  • MAC偏移量为124。

Nt4h c set file设置

2.2 nt4h软件- c控制台-设置文件设置

要添加文件设置,请选择第二个菜单选项。由于参数数量众多,文件参数设置有两个功能。

Nt4h c设置文件设置

示例1

Nt4h c设置文件设置s2

标准数据文件:

  • 文件编号 3(专有文件),
  • 当前通信模式已加密,
  • 更改键值为 0。

新设置包括:

  • 普通通信模式,
  • 读取密钥 2,
  • 写键 3,
  • 读/写键 3,
  • 更改密钥 0,
  • 提供的密钥身份验证模式。

示例2

Nt4h c设置文件设置s2

安全动态消息传递文件:

  • 文件编号为 2,
  • 通信方式平原,
  • 读取密钥为 14,
  • 写入密钥为 14,
  • 读/写密钥为 14,
  • 更改键值为 0,
  • Uid镜像已启用,
  • SDM读数计数器已启用,
  • SDM读数计数器已禁用,
  • 文件的加密数据部分被激活,
  • SDM元读取密钥为
  • SDM文件读取为
  • SDM读数计数器键为
  • 加密的picc数据偏移量49,
  • mac输入数据偏移量86,
  • 加密数据部分偏移量86,
  • MAC偏移量124。

2.3 nt4h软件- c控制台-获取uid(仅限ntag 424)

3.如果在启用身份验证安全模式的情况下使用ntag®424标签,则菜单选项将显示标记uid。

该函数返回卡7字节uid。如果激活随机id选项,这将非常有用。需要使用任何卡密钥进行有效身份验证。

Nt4h c get uid

2.4 nt4h软件- c控制台-设置随机uid(仅限ntag . zip®424)

Ntag®424 dna通过随机uid设置(菜单选项4)允许额外的标签安全性。
设置随机uid函数将7字节唯一uid替换为4字节随机uid。因此,标签在每次读取时返回一个4字节的随机uid。该标记现在返回4字节随机id,而不是7字节唯一id。
此函数需要主密钥身份验证(数字 0)。

警告:此操作是不可逆的!

Nt4h c get uid example1

2.5 nt4h软件- c控制台-更改aes密钥

Nt4h c更改aes键 菜单选项5允许更改aes密钥。
此函数需要主密钥身份验证(数字 0)。
通过键入16个十六进制字节输入新的aes密钥。
如果要更改的密钥不是主密钥,则以前的密钥值是必需的。

示例1

Aes密钥更改示例:

  • 关键4。
  • 应用程序主密钥值0x00000000000000000000000000000000
  • 旧键4值0x00000000000000000000000000000000
  • 新的键4值0x11111111111111111111111111111111111111。

Nt4h c更改aes键

2.6 nt4h软件- c控制台-线性读取

线性读取功能包括普通、粉碎和加密读取模式。此外,如果标记受到保护,则提供密钥模式和内部密钥模式下的内容读取身份验证允许内容访问。否则,无需输入密钥即可读取解锁的标记内容(选项:无身份验证)。控制台将以十六进制和asci表示法显示所选身份验证模式下可读的内容。

2.6.1 nt4h软件- c控制台-线性读取

线性读取功能包括普通,mac(消息认证码)和加密读取模式。此外,如果标记受到保护,则“提供的密钥”模式和“内部密钥”模式下的内容读取身份验证允许内容访问。否则,无需输入密钥即可访问解锁的标记内容(选项:无身份验证)。控制台将以十六进制和asci表示法显示所选身份验证模式下可读的内容。

该函数读取文件记录的数据。必需的参数包括:

  • 文件编号,
  • 读取或读/写访问密钥,
  • 通信模式,
  • 身份验证模式(如果读取密钥为14,请选择“无身份验证”选项),
  • 起始地址(0 -最大地址),
  • 数据长度。

Nt4h c线性读函数

2.7 nt4h软件- c控制台-线性写入

与线性读取功能一样,线性写入功能也允许三种通信模式和十六进制或ascii格式的内容写入。此外,所选的身份验证模式适用于录制的内容。

该函数将数据写入文件。必需的参数包括:

  • 文件编号,
  • 读取或读/写访问密钥,
  • 通信模式,
  • 身份验证模式(如果读取密钥为 14,则选择无身份验证选项),
  • 起始地址(0 -最大地址),
  • 以ASCII或十六进制格式输入数据。

Nt4h c线性写入

2.8 nt4h软件- c控制台-安全动态消息读取

Nt4h dna标签上的安全动态消息传递(sdm)支持太阳功能。它引用ndef消息中的文本(ascii)。
要应用安全动态消息读取功能,请启用文件安全动态消息。此外,将“读取访问权限”设置为“免费”(密钥14 -无身份验证选项)。

Nt4h c SDM读取

2.9 nt4h软件- c控制台-安全动态消息写入

与安全动态消息读取一样,对于安全动态消息写入功能,请启用文件安全动态消息。此外,将“读取访问权限”设置为“免费”(密钥14 -无身份验证选项)。

Nt4h c SDM写入

2.10 nt4h软件- c控制台-获取SDM读数计数器

仅当启用了文件SDM时,安全动态消息读取计数器才存在。身份验证是必需的,也不是必需的,具体取决于文件SDM读取计数器访问设置。

Nt4h c得到SDM读数计数器

2.11 nt4h软件- c控制台-将aes密钥存储到读卡器

读取器设备可以存储16个索引值为0-15的aes密钥。这意味着键索引可以是 0 到 15 之间的任何值。

示例1

该示例演示如何将值为0 x 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Nt4h c存储aes键到阅读器

示例2

默认情况下,存储在读卡器中的aes密钥处于解锁状态。您可以使用任何 8 字节密码锁定存储的密钥。

例:
密码12345678

Nt4h c存储aes密钥到阅读器密码

示例3

如果存储的密钥受密码保护(锁定),则需要通过提供其 8 字节密码来解锁它。

例:
密码12345678

Nt4h c存储aes密钥进入阅读器密码解锁

本手册以c编程语言提供软件示例。尽管如此,其他编程语言的所有相关源代码软件都包含相同的功能。在可实现的情况下,已经开发了一个gui。
请查看我们的GitLab存储库,了解其他编程语言的可用源代码示例。

Baidu
map