日前,有网友爆料,国内出现售价低廉的智能卡破解工具,智能卡(公交一卡通、医疗卡、门禁卡、公园年票、餐卡等)的安全问题再一次摆在人们的面前。网友张星特撰文,为我们深入浅出的就此进行了解读。
一、简述
非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近二十年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。卡片在一定距离范围(通常为5—10mm)靠近读写器表面,通过无线电波的传递来完成数据的读写操作。
当前,非接触IC卡有着广泛的应用,公交地铁、出租车、公园年票、美食广场餐卡,几乎都可以见到它的影子,而这其中,Mifare技术为主导的逻辑加密卡,占到其中的主要部分。目前国内90%非接触卡应用就是mifare-class芯片构成的智能非接触卡。
国际ISO/IEC组织确定两个主要的非接触卡标准,一个是以飞利浦、西门子公司提出的TYPEA,一个是以摩托罗拉,意法半导体公司提出的TYPEB。我们的二代身份证就是TYPEB。
二、历史
自从法国BULL公司取得第一个智能卡专利以来,最为成功的非接触IC卡技术就要属Mifare了。Mifare Class本质是属于逻辑加密卡的范畴。Mifare技术是由Mikron公司(米克朗,瑞士)开发的,MIfare代表MIkron FARE-collection System,即米克朗收费系统。MIfare技术1998年被Philips收购。Mikron将MIfare技术授权给了美国的Atmel、荷兰的Philips和德国Siemens。
Mifare于1994年开发出世界上首款实用的非接触IC卡,并获得成功,并于1996年首先应用于首尔地铁的自动售检票系统中。Mifare在飞利浦公司治下得到极大的发展,形成了Mifare-Class族,据笔者不完全统计,包括mifarelight、mifares20、mifares50、mifares70等等,均是以逻辑加密为基础的存储卡技术。
Mifare曾经应用与仍在应用的项目(从网站抄下的,与笔者无关的)包括波士顿、芝加哥、伦敦、马尼拉、马德里、新德里、曼谷、广州、北京……
Mifare-class(以下简称MC)在地球上总的应用量超过10亿张,这可是有史第一销量的单型号产品(圣经可不是一家出版社印刷的)。MC有全球唯一序列号(UID),4个字节32位——规模与IPv4的地址一样多,同样的,遇到与IPv4一样的问题,到今年底就用完了。
MC作为一款成功的产品,如此之成功,以至于ISO组织以它为原型,制定了国际非接触IC卡标准,当然MOTO进来搅局,拉着意法半导体另起山头,开发新的非接触标准。这也就是非接触卡两大标准的由来——typeA与typeB的起源,这都是后话。以后还有SONY的felica与华宏的“type G”产品与系统应用,但最终均没有成为技术主流。
这里还有一个小插曲,就是在最终战胜MOTO,致使其放弃IC卡业务之后,飞利浦公司也分拆了IC卡业务,在2006年,将非接触技术等分拆成为NXP公司,国内一般称之为恩智浦公司。当然,它们都是浦字辈的兄弟。
三、破解
俗话说,道高一尺,魔高一丈,在黑客文化盛行的西方,MC也未能幸免。
·2007年12月,K.Nohl和H.Plotz在柏林举行的CCC会议上介绍了他们对MIFARE Classic芯片进行逆向工程和安全分析的部分结果,公布了MIFARE-Classic卡用于认证过程的Classic随机数产生方法和算法,并指出其中的48 bit流密码算法;
·2008年3月,荷兰奈梅亨大学(NRU)F.D.Garcia教授领导的研究小组还原出Crypto1算法和认证方法,并找到了攻击MIFARE-Classic芯片系统的有效方法,并于10月,在西班牙举行的ESORICS 2008会议上发表了他们的研究结果;2009年英国伦敦大学的N.T.Courtois也提出了一种不需要预
计算的卡端攻击方法。
随着MC算法的被揭开,Mifare在开源社区得到了广泛的研究,并最终成就了一大批智能卡的软硬件开源项目,给智能卡的发展带来的清新的空气。
当然,MC破解始终是开源社区永远的热门话题。其中MIT(麻省)三位同学较为著名,他们成功的第一次将MC破解进行了展示。
下图就是他们迫使波士顿地铁升级其AFC系统那段录相现场的照片:
这三位麻省精英就是利用超市购物车装载的超过5000$的设备,成功的演示了取得一张IC卡信息的全过程。结果就是,三位精英据此拿到了自己的学位,可怜的地铁公司被迫更换了自己的系统。
当然,NXP公司也是要采取行动的,2008年3月份,NXP公司发出律师函,并最终将上述研究者诉至荷兰地方法院,要求其停止反向研究Mifare技术与散布Mifare破解技术。但是,法院没有支持NXP的诉讼请求,宣布此项研究合法。这是我从NXP公司网站下载的一篇奇文:http://mifare.net/technology/security/mifare-classic/nxp-statement-on-the-court-decision-to-allow-the-publication-by/
翻译一个开头与结尾吧:
基于以上原因,NXP公司决定最迟于2015年,完全停产MC产品。
四、结局
我们国家是MC产品最大市场,因此MC问题对我国影响也较大,当NXP的官司尘埃刚刚落定,工信部第一时间(2008年底)发文,要求限制与最终禁止MC在与国家经济相关的项目中使用。但时至今日,当前我国仍是世界上MC存量最多,应用量最大的地区,据不完全统计,仅公用事业,就有超过1亿张的卡应用。
开放社区自从取得了MIFARE技术之后,自发的开展了大量卓越的工作。较为著名的网站社区有:Openpcd.org、Libnfc.org、Proxmark.org等等。
大部分成员均使用googlecode进行代码托管与共享,因此发展很快,最终于今年取得突破性进展,在libnfc库的支援下,出现了超级破解程序,可以直接破解MC卡,所需只是一台带USB接口的Ubuntu电脑与特殊读卡器即可(最新进展,已经有Windows版本)。
MC破解实验演示
具体过程,还是请读者们看图吧:
这是一台ATOM结构的UBUNTU电脑,上接U盘式读卡器,用皮筋与待测卡固定;
这是UBUNTU下的通用非接触卡交互工具micmd(这是国人编译版,我一个朋友做的,这可能是国人为开放源社区作的最大贡献吧)
指令简单介绍下:
A:KA认证;
B:KB认证;
C:关闭设备;
D:减块值……
现在,主角出现了,请看:
命令行;
结果出来了,大家仔细看,已经取得KA与KB,总耗时为1.6分钟。
需要说明下:有兴趣的读者直接放狗搜,本文为避免法律风险成心将此照片模糊化处理,同时将原命令用alias改名,Orz…….请原谅我。
五、后语
从2008年到2011年,仅仅三年时间,从一台手推车到一部PDA(山寨的);从5000美金到2000人民币;从24小时到2分钟不到;技术的发展,终于使MC到了结束其商业应用的时点。
遥想当年,MC攻城拔寨,不仅将MOTO打的丢盔卸甲,并最终退出智能卡市场、使得Flica只能固守日本国内市场,毫无进取之心;甚至压制到同门产品的发展,我们看到DESFire PROX等等技术先进的晚辈后生,无不先于MC退出智能卡市场。这是如何成功一款产品啊!它的生命周期,超过了同类电子产品二代甚至三代的时间;他的使用量使他成为有史以来最为畅销的电子单品;在我们的城市,平均每人都有2张MC卡片。
“时来天地齐同力,运去英雄不自由”,随着超级破解算法的出现,MC终于要离我们而去了。而我们,除了感叹开源社区强大的活力外,是不是应该感到一丝怅然的心情呢?
作为MC的升级产品,CPU卡已经出现。但限于它的成本与性能,CPU卡是否能够接手MC离开后广阔的非接触卡市场呢?这值得我们深入思考…..正在笔者浮想聊天之际,乘务员“请下车的乘客提前刷卡!”之声把我带回了现实。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国