Android 加密NFC/RFID标签?

Android 加密NFC/RFID标签?,android,nfc,rfid,Android,Nfc,Rfid,这简直要了我的命。。。我试图找到一个NFC/RFID标签,它: 对发送到标记的数据实施加密和/或加密签名,以便读取器可以对标记进行身份验证。我不在乎标签是否试图验证读卡器,以及 被Android手机和标准NFC库广泛支持 以安全的方式存储加密密钥(在配置保险丝熔断后不可能读取) 我不关心标签上可以存储什么类型的有效负载,我也不使用NDEF消息。我不在乎使用的加密是对称还是非对称。我所要做的就是向标签发送一点数据,并使用共享密钥对该数据进行加密或签名,然后将其发送回手机,然后我的代码将执行相同的功

这简直要了我的命。。。我试图找到一个NFC/RFID标签,它:

  • 对发送到标记的数据实施加密和/或加密签名,以便读取器可以对标记进行身份验证。我不在乎标签是否试图验证读卡器,以及

  • 被Android手机和标准NFC库广泛支持

  • 以安全的方式存储加密密钥(在配置保险丝熔断后不可能读取)

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

    我有Atmel CryptoRF*标签的样本,虽然它们可能会完成我所需要的大部分功能,但它们并没有被我唯一的安卓手机正确检测到。手机叮当作响,我正在用相应的技术列表条目过滤“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型的防撞协议

    Mifare Desfire会按照您的要求去做,除了一件事:

    API级别上不提供加密支持

    您必须编写执行所有身份验证和加密的代码,并直接与Desfire标记通信。Android API提供了通过低级访问功能实现此功能的工具。加密函数本身可以在
    javax.crypto.spec


    与其他带有加密功能的标签不同,internet上提供了进行身份验证和加密所需步骤的文档。

    您的设备似乎不支持此标签/卡。如果您有一个支持NFC的设备,请使用另一个设备进行测试,可能更好地获得更广泛使用的标签,如Mifare Ultralight-C或Desfire(AES版本)。太好了,谢谢。有时候我觉得ISO的人在选择编号方案时有点虐待狂。。。我已经准备好了DESFire EV1和MiFare Ultralight C的样品。希望你能做到这一点。在加密系统上查到了。一旦我得到一张可以和电话通话的卡片,那就很容易了。很高兴NXP使用的是标准加密,而不是Atmel选择的国产“隐蔽安全”。NXP只是在其国产加密1被破坏且未能掩盖之后才开始使用标准加密。