首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mifare卡安全

Mifare卡安全
EN

Stack Overflow用户
提问于 2014-08-16 12:35:11
回答 2查看 2.7K关注 0票数 0

几天前,我连接了一个USB非接触式智能卡读卡器,并通过USB嗅探器工具嗅探到了USB端口。之后,我在读取器上放了一张1k的Mifare卡,读取1字节。

我看看嗅探器工具的输出,并了解到密钥(读密钥和写密钥)转移到卡没有任何加密!

现在我想知道这个机制真的安全吗?!如果我改变我的阅读器API,使它的行为像一个Mifare卡,并移动它接近原来的读卡器,并嗅探两个读卡器之间的通讯通过我的电脑,我不能得到钥匙吗?!

这是否可能使阅读器在另一个非接触式读取器领域中表现得像一张mifare卡?

更新:据我所知,在发送身份验证命令之前,必须在卡上加载密钥!如你所见,我把钥匙装在卡片上!默认情况下,它是FF FF FF FF FF FF

同时,我嗅探了我的ACRA122U连接到的USB端口!正如你在下面看到的,钥匙是以普通的方式发送的!

我的所作所为有什么问题吗?!

注: Hedayat小姐(我的学院)也证实了这一点!:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-21 20:27:48

您不是在嗅探读取器和MIFARE经典卡之间的通信,而是在PC和读取器之间(USB CCID)之间的通信。

为了与MIFARE经典卡通信,您必须将访问密钥加载到读取器上。这就是“加载身份验证密钥”命令(在屏幕截图中)所做的。在ACR122U的情况下,密钥被存储到读取器上的易失性内存中。其他读取器也可能支持非易失性密钥插槽(请参阅读取器文档和PC/SC规范中关于非接触式存储卡的部分)。

稍后,当您发出身份验证命令时,读取器将执行MIFARE经典相互身份验证,这基本上是一种挑战响应身份验证和密钥协商协议。因此,读取器将收到来自卡片的随机数,用密钥加密随机数,并将加密后的随机数返回给卡,而不是向卡发送实际密钥。然后,卡将用相同的密钥解密随机数,从而验证读取器是否使用了正确的密钥。

票数 2
EN

Stack Overflow用户

发布于 2014-08-16 21:43:16

不,键不是普通的传输,因为在读取一个字节的场景中不需要传输任何键,这取决于它们可能需要被应用的的配置。我不知道,你的嗅探器输出告诉你什么。

不,Mifare (经典)是不安全的,但这是一个单独的问题得到了充分的回答。总结:密钥太短,因此使用的密码算法太弱。

不,一个读者不能伪装成卡片;即使它可以:你似乎认为,钥匙是广播的,然后你可以简单地从空气中抓取它们,这离标记很远。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25340198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档