加密NFC/RFID标签?

Mat*_*ond 7 android rfid nfc

这让我感到害怕......我正试图找到一个NFC/RFID标签:

  1. 对发送到标签的数据实施加密和/或加密签名,以便标签可以由阅读器进行认证.我不在乎标签是否试图验证读卡器,并且

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

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

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

我有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类标准的防冲突协议

Nil*_*nck 3

Mifare Desfire 会满足您的要求,除了一件事:

API 级别不提供加密支持。

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

与其他带有加密技术的标签不同,互联网上提供了进行身份验证和加密所需步骤的文档。