android - 加密 NFC/RFID 标签?

标签 android nfc rfid

这让我很难受...我正在尝试找到一个 NFC/RFID 标签:

  1. 对发送到标签的数据进行加密和/或加密签名,以便阅读器可以验证标签。我不在乎标签是否尝试对阅读器进行身份验证,并且

  2. 得到 Android 手机和标准 NFC 库的广泛支持,并且

  3. 以安全的方式存储加密 key (在配置 fuse 熔断后应该不可能读取它)。

我不关心标签上可以存储什么样的有效载荷,我也没有用到 NDEF 消息。我不在乎所使用的加密是对称的还是非对称的。我想要做的就是向标签发送一些数据并使用共享 key 加密或签名该数据并将其发送回手机,然后我的代码将执行相同的功能并将结果与标签的响应以验证标签。

我有 Atmel CryptoRF* 标签样本,虽然它们可能会满足我的大部分需求,但我仅有的一部 Android 手机无法正确检测到它们。电话铃声响起,我正在使用适当的技术列表条目过滤“android.nfc.action.TECH_DISCOVERED”,但我什么也没得到。 Atmel 的技术支持比无用还糟糕(因为我浪费时间问他们从不费心回答的问题)。 Logcat 看起来像:

  • 09-04 21:03:53.474 1012-1012/? D/NativeNfcTag:连接失败 - 状态 = 146
  • 09-04 21:03:53.474 1012-1012/? E/NFCJNI: doDisconnect() - 目标已经断开

我没有看到任何以前的条目表明该标签曾被 Android 识别。

这似乎是一种简单、明显且需要的标签类型,它必须存在于某个地方。

NFCGuy 或其他人 - 有什么想法吗?

谢谢!

*Atmel CryptoRF 数据表说明了以下内容,这可能有助于或可能不会帮助确定这些内容是否可以被 Android 手机读取:

  • 符合 ISO/IEC 14443-2:2001 B 类标准
  • 符合 ISO/IEC 14443-3:2001 类型 B 的防冲突协议(protocol)

最佳答案

除了一件事之外,Mifare Desfire 会按照您的要求进行:

API 级别不提供加密支持。

您必须编写执行所有身份验证和加密的代码,并直接与 Desfire 标签对话。 Android API 通过低级访问函数 IsoDep.transceive 提供了执行此操作的工具。加密函数本身可以在 javax.crypto.spec

中找到

与其他带有加密文档的标签不同,在互联网上可以获得进行身份验证和加密所需步骤的文档。

关于android - 加密 NFC/RFID 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18627176/

相关文章:

java - 如何将 json 代码获取到我的应用程序中

android - 如何在 Android 中最小化 Activity 时关闭 GPS?

nfc - NTAG 424 NFC芯片的Python CRC计算

linux - 如何确定输入来自哪个键盘

android - 动态创建 Buttons 并设置 onClickListener

Android ScaleAnimation,如何使用它使项目变小而不是变大

安卓 NFC : enable and disable the NFC detected sounds

android - 可以在应用内禁用 Android Pay 吗?

python - 如何使用 rc522 和 Raspberry Pi 读取 7 个字节长的 Desfire uid?

安卓 NFC : other RFID tags