Mifare one卡被破解,大家都来谈谈,我们的生活还安不安全?

猎人日记 2008-06-30 10:48:36
2008年2月荷兰政府发布了一项警告,指出目前广泛应用的Mifare RFID产品赖以保证安全的密钥存在很高的风险。这个警告是在两个武林高人宣称破解了Mifare Classic的加密算法之后立即发布的。这两位一个是德国的学者Henryk Plotz,另一个是弗吉尼亚大学的在读博士Karsten Nohl,他们展示了破解MifareClassic的手段。Nohl在一篇针对Crypto-1加密算法进行分析的文章中声称,利用普通的计算机在几分钟之内就能够破解出Mifare Classic的密钥。在24届黑客华山论剑大会Chaos Communications Congress上,这哥俩介绍了Mifare Classic的加密机制,并且首次公开宣布针对Crypto-1的破解分析,同时还表示将继续致力于这个领域的深入细致研究,其间博得众多与会黑客的一致好评,喝彩的掌声不断。

在破解MifareClassic的过程中Nohl和Plotz选择的是反向工程方法,这种方法在我们国家非常流行。国内公司设计的所谓MifareClassic兼容产品,多数都是采用这种方法做出来的(不太清楚当初国内这些厂商做仿造的时候是否注意了Nolh和Plotz发现的安全隐患)。

他们利用显微镜,把MifareClassic的芯片进行了抽丝剥茧般的逐层分析,然后附以RFID读卡器,得到了MifareClassic芯片每层的布线图。从而分析出芯片中近万个逻辑单元,分别是逻辑电路的与门、或门以及触发器。当然分析这1万来个逻辑门也不是一件简单的事情,不过幸运的是(当然对于MifareClassic的厂家而言这是不幸的),他们竟然从这些逻辑门中发现了规律,从而大大简化了分析的进程。

接下来就是要找到其中关键的加密处理部分,这肯定会费很大的周折。不过功夫不负有心人,最终他们按照自己获得的数据信息进行了重构,在此过程中他们详细分析了各个单元模块的功能,经过一番辛苦劳作之后,他们发现了MifareClassic芯片的若干安全隐患。其中之一就是他们掌握了一个16位随机数发生器的原理,每次都能够正确预测下一个随机数的值。

对于一般的攻击者完全不必像他们二人那样进行深入细致的研究,在Nohl最近发表的关于Crypto-1加密算法的论文中,公开了MifareClassic加密算法的核心就是一个48位的线性反馈移位寄存器,利用普通计算机通过向读卡器发送几十个随机数,就能够猜出卡片的密钥是什么。

这才是真正的高手所为,国内有些地区一度也曾经出现交通卡被破解,被人私自充值的问题。其实那些破解更多的是针对系统而不是卡片本身,所以不会对其他地区和其他系统造成威胁和破坏,但是Nohl和Plotz这两个高手所做的完全不同,他们几乎可以让MifareClassic在一夜之间从这个地球上被淘汰。

当然,NXP公司已经在努力推广新一代RFID产品Mifare Desfire,据称这款Desfire产品比Classic产品采用了更安全的加密机制。

八卦一下的猜想,按照娱乐圈的炒作习惯,我们是不是该怀疑这次破解事件是在NXP的资助下进行的,以便NXP清理那些非授权的兼容产品呢?

...全文
3028 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
芸香传奇 2011-12-13
  • 打赏
  • 举报
回复
高手论道,学了不少知识。
tourgay 2011-02-11
  • 打赏
  • 举报
回复
8楼,你真的了解RFID卡片的结果和工作原理吗?去看看理论破解需要的设备和时间.
在有你说可以在市面上买到破解的设备,那现在公交卡不是很危险,那么做这个系统的不是很白痴?这么容易被破解?
在有就是告诉你:密钥是分级发放的,一个RFID密钥系统不是你想像这么容易被破解的,就算是,老百姓也没有那个平台.
sdjackal 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 of123 的回复:]
如果真如你所说,问题并不严重。

第一,Mifare One 的应用密钥是一卡一密,与卡片序列号有关,是通过卡片以外的加密方式得到的。而且 16 个分区各个不同,如果是不同的服务提供商发行的,连加密算法和根密钥都不同。仅仅破解卡片的加密算法和一张卡片的应用密钥,是没有多大实际用处的。你无法发行假卡。

当然,对于黑客来说,这是了不起的成果,值得喝彩。

第二,当你把一张卡片采用侵入攻击的方式层层剥离之后,卡也就废了。你无法对它继续充值。所以,破解仅仅是理论成果。连一张卡片上的利益都无法得到。

第三,就算你发行了一张假卡,成功的在公交和地铁上使用了。当数据汇总时,结算系统就会发现数据库中不存在的卡片,立即将它列入黑名单。所以,你必须确定你下一次刷卡是在系统汇总之前,否则可能因为终端报警而被捉。

第四,预测 16 位随机数的这一段很假。我是行里的,我公司就有随机数发生器芯片和嵌入单元(IP核)产品。这类产品的随机性检验及其复杂,牵涉到数论。即便飞利浦的人都是白痴,犯了一个最低级的错误,也很容易改正。重新嵌入一个真随机数发生器就好了。如果上述黑客的破解是依赖于随机数预测的,那他的成果很快就没有用了。
[/Quote]

你的说法有问题:
1、mifare卡的确可以做到一卡一密,但是国内很多公司做工程的时候为了节省时间都没有做到这一点。我是参考了4篇硕士论文,还有参照了部分做一卡通同行的说法证明了这一点,当然,就目前公交系统用的充值卡而言是安全的,出问题的一般是一些小区门禁或者停车场收费系统。
2、对mifare卡的破解仅仅需要的是一个读卡器和一个破解程序,目前国内黑市已经有销售这类软件,配合发卡器完全可以短时间进行非破坏性的破解。
3、这点你是正确的。
4、预测这个16位随机数是可能的,因为mifare卡的随机数是由一个16位线性移位寄存器生成,由于卡无源,因此随机数的初值能在首次读取卡的时候读出。利用这一点可以破解了mifare的认证方式后,卡的加密模式就是可知了,再通过其它的手段就可以获得密钥。的确有源的系统的随机数发生原理是很复杂的,但是关键是mifare卡只是一个无源系统。
sdjackal 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 of123 的回复:]
如果真如你所说,问题并不严重。

第一,Mifare One 的应用密钥是一卡一密,与卡片序列号有关,是通过卡片以外的加密方式得到的。而且 16 个分区各个不同,如果是不同的服务提供商发行的,连加密算法和根密钥都不同。仅仅破解卡片的加密算法和一张卡片的应用密钥,是没有多大实际用处的。你无法发行假卡。

当然,对于黑客来说,这是了不起的成果,值得喝彩。

第二,当你把一张卡片采用侵入攻击的方式层层剥离之后,卡也就废了。你无法对它继续充值。所以,破解仅仅是理论成果。连一张卡片上的利益都无法得到。

第三,就算你发行了一张假卡,成功的在公交和地铁上使用了。当数据汇总时,结算系统就会发现数据库中不存在的卡片,立即将它列入黑名单。所以,你必须确定你下一次刷卡是在系统汇总之前,否则可能因为终端报警而被捉。

第四,预测 16 位随机数的这一段很假。我是行里的,我公司就有随机数发生器芯片和嵌入单元(IP核)产品。这类产品的随机性检验及其复杂,牵涉到数论。即便飞利浦的人都是白痴,犯了一个最低级的错误,也很容易改正。重新嵌入一个真随机数发生器就好了。如果上述黑客的破解是依赖于随机数预测的,那他的成果很快就没有用了。
[/Quote]

你的说法有问题:
1、mifare卡的确可以做到一卡一密,但是国内很多公司做工程的时候为了节省时间都没有做到这一点。我是参考了4篇硕士论文,还有参照了部分做一卡通同行的说法证明了这一点,当然,就目前公交系统用的充值卡而言是安全的,出问题的一般是一些小区门禁或者停车场收费系统。
2、对mifare卡的破解仅仅需要的是一个读卡器和一个破解程序,目前国内黑市已经有销售这类软件,配合发卡器完全可以短时间进行非破坏性的破解。
3、这点你是正确的。
4、预测这个16位随机数是可能的,因为mifare卡的随机数是由一个16位线性移位寄存器生成,由于卡无源,因此随机数的初值能在首次读取卡的时候读出。利用这一点可以破解了mifare的认证方式后,卡的加密模式就是可知了,再通过其它的手段就可以获得密钥。的确有源的系统的随机数发生原理是很复杂的,但是关键是mifare卡只是一个无源系统。
chinahgcq 2009-08-31
  • 打赏
  • 举报
回复
我觉得将来的生物识别技术会淘汰掉现在流行的卡、钥匙等东西的,他们的安全隐患太多了,密码学研究了很多算法来保障安全,可结果是魔高一尺道高一丈,安全机制依赖于密码学工作者生生不息的研究。现在的人脸识别、虹膜识别等高科技,一举扭转了传统的密码学研究方向,从生物个体本身的特征去考虑各项安全机制,它们虽然处在发展期,但前途是光明的,是正真的终结者
猎人日记 2009-05-25
  • 打赏
  • 举报
回复
对不起,我这里没有啊,哪位有提供一下看看。
wangkuai1986 2009-04-02
  • 打赏
  • 举报
回复
您那里有Mifare One 卡加密算法这方面的资料吗?我想学习一下
wangkuai1986 2009-04-02
  • 打赏
  • 举报
回复
现在我们在做IC卡,考虑到mifare one 被破译了,想用SF33算法来代替,您那里有SF33方面的资料么?
of123 2009-03-27
  • 打赏
  • 举报
回复
如果真如你所说,问题并不严重。

第一,Mifare One 的应用密钥是一卡一密,与卡片序列号有关,是通过卡片以外的加密方式得到的。而且 16 个分区各个不同,如果是不同的服务提供商发行的,连加密算法和根密钥都不同。仅仅破解卡片的加密算法和一张卡片的应用密钥,是没有多大实际用处的。你无法发行假卡。

当然,对于黑客来说,这是了不起的成果,值得喝彩。

第二,当你把一张卡片采用侵入攻击的方式层层剥离之后,卡也就废了。你无法对它继续充值。所以,破解仅仅是理论成果。连一张卡片上的利益都无法得到。

第三,就算你发行了一张假卡,成功的在公交和地铁上使用了。当数据汇总时,结算系统就会发现数据库中不存在的卡片,立即将它列入黑名单。所以,你必须确定你下一次刷卡是在系统汇总之前,否则可能因为终端报警而被捉。

第四,预测 16 位随机数的这一段很假。我是行里的,我公司就有随机数发生器芯片和嵌入单元(IP核)产品。这类产品的随机性检验及其复杂,牵涉到数论。即便飞利浦的人都是白痴,犯了一个最低级的错误,也很容易改正。重新嵌入一个真随机数发生器就好了。如果上述黑客的破解是依赖于随机数预测的,那他的成果很快就没有用了。
zfxinli 2009-03-05
  • 打赏
  • 举报
回复
真是高手啊,这东西破解起来不是那么容易啊!

6,905

社区成员

发帖
与我相关
我的任务
社区描述
《新程序员》读者俱乐部
其他 其他
社区管理员
  • 《程序员》杂志社区
  • SoftwareTeacher
  • 《新程序员》编辑部
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧