使用 libnfc 格式化/读取/写入 NDEF Mifare 1K 卡

Posted

技术标签:

【中文标题】使用 libnfc 格式化/读取/写入 NDEF Mifare 1K 卡【英文标题】:Format/Read/Write NDEF Mifare 1K Card using libnfc 【发布时间】:2015-02-18 03:28:41 【问题描述】:

我是 NFC 新手,我想了解更多有关这方面的信息,所以我从 Adafruit 购买了一个 PN532 NFC 防护罩和几张 Mifare 1K 卡。

现在我已经在 Windows 8 上成功安装了 Libnfc,它工作正常,我可以使用 nfc-list。

我尝试安装 libfreefare 但出现错误(我已经发布了一个主题)

但我确实需要能够将卡格式化为 NDEF,并在 MIFARE Classic 1K 卡上读取和写入 NDEF 数据。

有人知道怎么做吗?是否可以使用 libnfc.dll 这样做?有没有人有这方面的例子或教程?

出于安全考虑,使用 DESFire 4k 或 8k 而不是 MIFARE Classic 1k 是否更好,以确保我的卡是安全的(不能被覆盖)?

【问题讨论】:

【参考方案1】:

是的,您可以为此目的使用 libnfc。有关如何访问 MIFARE Classic 卡的示例,请参阅

libnfc 包中包含的 nfc-mfclassic 实用程序(请参阅 nfc-mfclassic.c), 此处提供的 micmd 工具:https://code.google.com/p/micmd/

关于使用 NDEF 数据格式化 MIFARE Classic 卡,我建议您查看 NXP 关于此主题的应用说明:

NFC Type MIFARE Classic Tag Operation MIFARE Classic as NFC Type MIFARE Classic Tag

出于安全考虑,使用 DESFire 4k 或 8k 而非 MIFARE Classic 1k 是否更好,以确保我的卡是安全的(不能被覆盖)?

没错。 MIFARE Classic 安全性自 2008/2009 年以来被彻底破坏。这意味着,

任何人都可以轻松找到您卡的访问密钥。攻击者只需要这张卡。 无论您设置什么访问密钥,任何人都可以读取您的卡(尽管将其用作 NDEF 标记意味着无论如何您都希望它具有世界可读性)。 除非您永久写保护卡的所有扇区(这意味着您设置访问条件的方式是任何访问密钥都不能写入块),否则攻击者可以轻松覆盖任何数据。根据您的要求,数字签名/加密校验和可能适合解决此问题。 创建 MIFARE Classic 卡的完美克隆相当容易。

【讨论】:

非常感谢您的回答,我会看看您的建议并尽快回复您。 NTAG216 怎么样?我希望能够做到这一点

以上是关于使用 libnfc 格式化/读取/写入 NDEF Mifare 1K 卡的主要内容,如果未能解决你的问题,请参考以下文章

未检测到写入 mifare 1k 卡的 Ndef 数据

libnfc:从 NTAG 写和读回自定义数据

web调用IC卡读卡器开发第七章--NFC标签NDEF数据

Ionic 4:NFC 无法导入 NFC 和 Ndef

如何从 NDEF 记录对象中获取纯文本?

NDEF文本格式解析