以下是使用 ufr-examples-c_sharp-nt4h 软件工具的“SDM 写入”选项
配置 SUN 消息的必要步骤。
第一步是为标记配置必要的安全密钥。
在设置文件配置和/或写入数据之前,需要仔细配置标签的 AES 密钥。 由于大多数参数都围绕标签的关键索引。 身份验证主要取决于在这些索引上设置的密钥。
例如,我们将使用密钥“792F423F4528482B”。 该软件工具要求将此密钥转换为 16 个十六进制字节。 当然,您可以在项目代码中更改此条件。 转换后,下面演示中使用的十六进制键是“37:39:32:46:34:32:33:46:34:35:32:38:34:38:32:42”。
步骤1)– 选择选项 (5) – 更改 AES 密钥。
输入您要更改的键索引(我们选择标签的键 #3)。 输入为密钥索引 #3 设置的卡的主密钥和旧密钥(以前使用)。步骤2) 在编写将包含加密 SUN 消息的 SDM(安全动态消息)之前,请检查标记当前配置的文件设置。
– 选择选项(1) – 获取文件设置并将该数据保存在附近的某个地方。 稍后在 SDM 配置中将需要这样做。
步骤3)
编写 SDM。
– 选择选项 (9) – 安全动态消息写入注意:我们的示例中存在拼写错误。
正确的应该是“Enter write AES key”语句而不是“change”键,因为这部分是为通过 LinearWrite() 写入 NDEF 消息而保留的。 请注意 SDM 写入过程的这一部分我们将写入密钥设置为密钥 #3,因此我们输入了如上所示的密钥。
(此错误也将在此软件的下一次更新中修复)。
SDM 写入过程的简要说明:– 所有这些列出的问题都回答为“是”(提示时只需在键盘上输入“Y”)。
– 自从之前配置更改键 0 以来,我们一直使用它(请参阅步骤 2 和标签的“获取文件设置”选项)。
在执行 SDM 写入时,首先需要输入当前更改密钥的密钥索引作为身份验证形式。 此外,当提示输入“输入新的更改密钥编号(0 – 2 表示 NTAG413)(0 – 4 表示 NTAG424 和 NTAG424_TT”)时,您可以输入更改密钥的新密钥索引。
对于其他选项,我们使用之前配置的 密钥 #3。 为了简单起见,我们只使用了这两个键,其中键 #0 是 16 个十六进制字节的0x00,键 #3 是3739324634323346343532334383242。步骤4) 可持续发展机制读取要完全读取 SDM 消息,解密需要以下两个密钥:
元数据 AES 密钥和文件数据读取 AES 密钥之前都已配置为密钥 #3。如果输入的键不正确,则输出的数据将不正确。
您可以随时使用菜单选项1)和2)检查和更改SDM文件的设置。
用于此演示的标记文件设置: 注意:第一步需要 16 个十六进制字节,即 16 个字节 00,因此输入应为:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 或 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
您可以输入带或不带“:”的十六进制键作为分隔符。 或者,您也可以使用 ' '(空格)作为分隔符。 在分析密钥时,将忽略这些分隔符,同时检查它是否是正确的十六进制字符串。 这只是我们在软件示例中求解输入法的方法。 可以在实现中更改此条件(uFR API 提供的详细信息)。
默认 AES 主密钥包含所有 0。 请务必跟踪代码的关键更改。
您可以使用选项 (3) 检查密钥是否已成功更改 – 获取 UID(NTAG424 和 NTAG424_TT)