2015-09-28 36 views
0

我家有一个NFC标签用于进入公共区域。我的室友正在玩Arduino中的读卡器/写器。之前我已经研究过这个话题,我告诉他克隆一张卡并不容易,因为他们有加密措施来保护数据,他必须破解它们。我在一段时间之前就读过它,所以我告诉他,既然卡很可能是Mifare,如果他真的想要,他可以使用this在3分钟内破解它。我认为我家的NFC标签不受保护。你能证实吗?

为了我的娱乐,他向我展示了他可以读取所有数据块。我想也许他们是错误的数据,但每次都是一样的。所以我告诉他随机写一封信。令我惊讶的是,他可以(他在写作时阅读它)。从这我认为这张卡没有激活写保护。这并不一定意味着它没有使用安全措施来避免使用公钥/私钥进行克隆,因为它们可以是独立的AFAIK,也许他们忘记了,或者由于某些原因他们不会将其设置为只读,但我期望一个密钥到我家去采取措施避免克隆!

所以问题是,我们如何验证卡片是否可以轻松克隆?所有迹象表明,这是完全不安全的,但也许我们只是阅读一些公开的块,而不是私人块,它只是发生该卡没有写保护。我们可能会试着克隆一下,看看我们是否可以进入这个建筑,但也许读者使用这个ID作为验证(这对于安全来说不是很好,因为它可以被复制,但我们还不知道),所以这不是100%的证据。

这么长的故事,根据提供的信息,可以确定该卡没有保护,以避免阅读它?我们怎样才能确保我们阅读的数据是正确的?

编辑:只有一个扇区的数据写在标签(第一个),它不能被写入该部分,但在其他部分没有问题。我认为这是身份证。因此,我认为大楼只是检查标签的ID以进行验证。这是一个安全风险,对我们来说更难破解,但对于拥有硬件知识的任何人来说都很容易,因为大楼的关键并未加密。我的假设是否正确呢?

+2

我投票结束这个问题作为题外话,因为它不是关于编程 –

回答

2

是的,你的假设对我来说很合适。使用该卡的芯片UID(“唯一ID”)是非常普遍的,并且在安全性方面不是最好的想法:尽管UID通常在制造时设置,但可以获取可以设置UID的一些设备。一个例子是带有HCE(“主机卡仿真”)的扎根Android手机,其中分配随机UID的NFC库用要被克隆的UID编辑。

很可能,您家的门禁系统根本不使用任何Mifare功能 - 如果仅使用UID,任何非接触式卡都可以工作。

+0

请你提供一些参考,描述如何使用_rooted android phone_克隆任意UID的方式?我只是好奇(认为这是不可能的,因为NFC前端不允许这样做)...... – vlp

+1

看到这个线程的例子http://stackoverflow.com/questions/19764476/host-based-card-emulation-with-固定卡ID似乎有些前端确实允许。 – mictter

+0

非常感谢 – vlp

相关问题