我想以安全的方式将数据存储在NFC标签中以避免复制,但我希望该标签价格合理,并受大多数设备(智能手机)支持。
NTag 21 x看起来比经典的Mifare要好,Mifare的算法已经被破坏了。但是有没有可能通过留下一个可访问的NDef记录来锁定部分数据?
NTag 21 x安全吗?我看到它的密码是32位,用字典似乎很容易破解,我错了吗?
另一方面,经过大量的研究,我真的找不到任何关于这个主题的详细文档。我不明白读者如何区分不同的标签,以及它们在通信协议级别上的共同点,如何检测标签类型,以及知道我的应用程序是否支持它。我想做一个C# /Xamarin应用程序。
1条答案
按热度按时间raogr8fs1#
您需要读取the datasheet以获取标记。
这是第8.5.7节,允许您使用
AUTH0
字段设置第一页,从该字段使用密码。因此,标签的第一部分是可读的,后面的页面可以读/写保护。只要标签足够大,可以在标签的开头存储Ndef消息,在标签的结尾存储您的私有数据,而不使用重叠页面,就可以实现免费读取和密码保护的数据。
您还可以设置
AUTHLIM
来设置否定密码验证尝试的最大次数,这样就不可能暴力破解密码。要配置这些功能,您需要使用数据手册中详细介绍的低级NfcA
transceive
命令写入相应的内存页。密码保护的最大问题是,如果你随意分发一个使用密码的应用程序,因为从使用密码的JVM字节码中反向工程密码是微不足道的。
你并不需要知道不同的标签是如何识别的,但是很好地理解不同级别的协议和标准是如何结合在一起的是关键,这就是维基百科的图表的优点。