android - NFC 标签和密码保护和唯一标识符

标签 android encryption nfc

我想将数据写入 NFC 标签,以便在我读取它时知道它实际上来 self 。我可以使标签永久只读,但这只会阻止写入该特定标签。坏人可以复制数据并冒充标签。我怎样才能避免这种情况?

我可以用我的私钥加密数据,然后用我的公钥签名,这意味着它肯定来 self ,只有我可以读取它。但是,是什么阻止了某人简单地复制数据并冒充该标签。

每个标签是否有一些独特的东西可以读取和记录并且不能更改并且对于所有标签和所有时间都是唯一的?我可以记录下来,以确保该标签是我写的。

最佳答案

大多数 NFC 标签都有一个标签唯一的硬件 UID。例如,Mifare Ultralight 标签有一个 7 字节的 UID,用于唯一标识标签。将其视为类似于网卡的 MAC 地址。

此 UID 是只读的,制造后无法更改。如果您阅读特定标签的规范,您可以看到它的位置。对于 Mifare Ultralight,这 7 个字节位于前几页。请在此处查看规范:

http://www.nxp.com/acrobat_download2/other/identification/M028634_MF0ICU1_Functional_Spec_V3.4.pdf

有一个名为 NFC Tag Info 的免费安卓应用程序,我用它来浏览标签的页面结构,以及找到标签的 UID: https://market.android.com/details?id=at.mroland.android.apps.nfctaginfo

关于android - NFC 标签和密码保护和唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921722/

相关文章:

安卓。将文件保存到设备上的共享目录中

android - 从相机加载缩略图的最快方法

encryption - 使用时间戳来防止 session 劫持?

android - Google 钱包的发布是否改变了 Android 开发者可用的任何功能?

android - 如何实现NFC支付?

android - 寻找Flash Android AS3教程

android - 我如何使用 phonegap for android 调用网络服务

java - 在java中解密AES加密文件

java - facebook Conceal 库的问题

nfc - 无法验证 NTAG213