Android 是否可以锁定NFC标签,然后解锁并再次写入数据?

Android 是否可以锁定NFC标签,然后解锁并再次写入数据?,android,nfc,rfid,Android,Nfc,Rfid,我正在开发一个NFC应用程序,在公共场所会有标签,这样就有必要用密码或其他工具锁定标签,以避免有人删除信息或修改其内容。这些标记应该可以在以后更新。那么,有可能做到这一点吗?或者当我锁定标签时,它是否永远保持只读 当然可以,但是安卓API没有现成的方法来实现这一点。 您必须使用APDU来控制对标记的访问 Ndef类有一个makeReadOnly方法:但您无法解锁标记。这在很大程度上取决于您使用的NFC标记的类型(以及价格)。典型的廉价NFC标签(例如,1类标签,如黄玉/宝石或2类标签,如MIFA

我正在开发一个NFC应用程序,在公共场所会有标签,这样就有必要用密码或其他工具锁定标签,以避免有人删除信息或修改其内容。这些标记应该可以在以后更新。那么,有可能做到这一点吗?或者当我锁定标签时,它是否永远保持只读

当然可以,但是安卓API没有现成的方法来实现这一点。 您必须使用APDU来控制对标记的访问


Ndef类有一个makeReadOnly方法:但您无法解锁标记。

这在很大程度上取决于您使用的NFC标记的类型(以及价格)。典型的廉价NFC标签(例如,1类标签,如黄玉/宝石或2类标签,如MIFARE Ultralight、NTAG203、Kovio 2K或my-d NFC)不允许这样做。它们只能被永久写保护(这是在公共场所安装标记时通常应该做的事情)

其他标记确实提供了一些基于表单身份验证的访问控制,可用于限制写访问标记内存,例如

  • MIFARE Ultralight C:使用3DES的相互质询-响应身份验证
  • NTAG21x,MIFARE Ultralight EV1,my-d移动NFC:基于密码的“身份验证”,带有明文密码。请注意,明文密码可能具有严重的安全隐患
  • MIFARE DESFire(EV1):使用DES、3DES或AES的相互质询-响应身份验证
认证不是NFC论坛标签操作规范的一部分,因此取决于标签/标签制造商。为了在Android上使用这种高级功能,您需要自行实现相关命令(使用
tech.transceive()
方法)


请注意,Android上的
Ndef.makeReadOnly()
不一定设置任何硬件锁位。在某些情况下,此方法也可以只在协议级别设置写保护(即设置一个标志,要求NFC设备不写入任何数据,但不保护实际数据页不被覆盖)。

我理解!谢谢!嗨,劳伦特:我们能用密码锁定/解锁NFC吗??市场上有一些应用程序,我们可以用密码锁定/解锁NFC,如果您有任何信息,请务必告诉我。明白!非常感谢你的帮助,迈克尔!