由mifare 卡破解带来的危险以及应对技巧

上传人:乐*** 文档编号:104624802 上传时间:2019-10-10 格式:DOC 页数:15 大小:346.50KB
返回 下载 相关 举报
由mifare 卡破解带来的危险以及应对技巧_第1页
第1页 / 共15页
由mifare 卡破解带来的危险以及应对技巧_第2页
第2页 / 共15页
由mifare 卡破解带来的危险以及应对技巧_第3页
第3页 / 共15页
由mifare 卡破解带来的危险以及应对技巧_第4页
第4页 / 共15页
由mifare 卡破解带来的危险以及应对技巧_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《由mifare 卡破解带来的危险以及应对技巧》由会员分享,可在线阅读,更多相关《由mifare 卡破解带来的危险以及应对技巧(15页珍藏版)》请在金锄头文库上搜索。

1、由Mifare 1卡破解带来的危险以及应对方法今年年初以来,一个消息的传出震惊了整个IC卡行业。最近,德国和美国的研究人员成功地破解了NXP的Mifare1芯片的安全算法。Mifare1芯片主要用于门禁系统访问控制卡,以及一些小额支付卡,应用范围已覆盖全球。因此这项“成果”引起了不小的恐慌,因为一个掌握该破解技术的小偷可以克隆任何一个门禁卡,从而自由进出政府机关大楼或公司办公室;可以批量的克隆或伪造各种储值卡大肆购物而不被发现。国内发行的这种卡,估计有几亿张在投入使用,它的安全性涉及到众多的运营单位和持卡人的利益。近日,有研究人员宣布MIFARE 系列产品的安全性存在薄弱环节,在他的研究室里,

2、通过研究读写器和卡之间的通信数据,找到了这种卡的加密算法和认证通信的协议,并有两种方法可以得到MIFARE class逻辑加密卡的分区密码。通过这种方法,破坏者可以使用非常廉价的设备在40ms内就可以轻易获得一张M1卡的密码。面对这种灾难性的事实,有些公司宣称他们有办法弥补这一漏洞,用户可以继续使用这种卡片而不必担心。那么,M1卡的破解真的有那么大的破坏力么,目前的一些“安全”手段真的有效么。回答这一问题,我们需要先从了解Mifare1系列卡片的结构和安全认证机制开始。Mifare系列非接触IC卡是荷兰Philips公司的经典IC卡产品(现在Philips公司IC卡部门独立为NXP公司,产品知

3、识产权归NXP所有)。它主要包括在门禁和校园、公交领域广泛使用的Mifare one S50(1K字节)、S70(4K字节),以及简化版Mifare Light和升级版MifarePro 4种芯片型号。这几种芯片中,除Mifare Pro外都属于逻辑加密卡,即内部没有独立的CPU和操作系统,完全依靠内置硬件逻辑电路实现安全认证和保护的IC卡。其主要结构如图所示:MIFARE 1 IC CARD Clock Data Energy波形转换正弦=方波ATRDigital Section 数字电路部分Control &Arithm. Unit ROMRF-Interface 射频接口电路整流Modu

4、./DeModu调制/解调AntiCollisionRAMSelect Application电压调节Authentication & Access Control Crypto Unit在Mifare 1芯片结构中,Authentication & Access Control 认证与访问控制单元用于完成卡片的密码认证,控制各个数据扇区的读写权限;Crypto Unit数据加密单元就是其认证和加解密运算的算法引擎。Mifare系列IC卡是NXP公司的专利产品,它采用了一种NXP特有的加密算法来完成认证和加解密运算。由于这种算法是NXP特有且不公开的算法,Mifare系列IC卡采用了一种特殊的

5、手段来实现在不公开算法的前提下完成认证,即将同样的算法引擎放置在NXP出产的专用Mifare读写基站芯片中(如常用的RC500和RC531),认证过程由基站芯片“代替”用户系统与Mifare芯片之间完成。这一认证过程就是常常被Mifare系列芯片宣传的“三重认证”,其实质就是基站芯片与Mifare芯片之间相互传递随机数以及随机数的密文,通过对随机数密文的解密比对实现对卡片的认证。Mifare芯片所引以为豪的“数据加密传输”也是由基站芯片加密后传送给Mifare芯片的。这个过程可以简化为下图所示:三重认证终端设备单片机(读卡器)RC500等基站芯片M1卡非加密传输加密传输如图所示,M1卡所宣称的

6、三次认证及输入加密传输等安全特性指的是M1卡与RC500等NXP基站芯片(或兼容芯片)之间的认证和加密。由于NXP对M1卡与基站芯片间的通讯协议和加密认证机制严格保密,因此从这里进行破解难度很大。然而不幸的是,最终这个算法和机制还是被破解了。研究人员找出了算法和通讯协议中的漏洞,可以轻易地通过几十次试探攻击(约40ms)就能够获得一张卡片的所有密钥。事实上,在Mifare芯片的兼容产品出现的那一天起,这个秘密就已经不是秘密了,因为完全兼容,实际就意味着已经掌握了这个算法。在Mifare1卡片安全问题暴露后,一些公司公开宣称已经有了解决的办法,其中的法宝就是所谓“一卡一密”,也就是每一张卡片的每

7、一个扇区的密钥都不相同,使用CPU卡装载系统根密钥,根据Mifare1卡的唯一序列号计算子密钥,防止一张卡片被破解而影响整个系统。其实这种解决方案在Mifare1卡破解之前就已经出现。那么,一卡一密真的能解决Mifare1的安全问题么,我们还是要从Mifare1卡的认证机制着手进行分析。我们已经知道,Mifare1卡的认证实质上是卡与基站芯片之间的认证。常用的RC500等基站芯片已经为业界广为熟知,它的接口和通讯协议都是公开的。在基站与Mifare1卡认证前,需要通过LoadKey命令将Mifare1卡的密码装载到基站芯片中。这一过程是一个明文写入的过程,是由终端设备(如读卡器)主控单片机传送

8、给RC500的,并且单片机对RC500的命令传输是非加密的。如下图所示:明文密钥三重认证终端设备单片机(读卡器)RC500等基站芯片M1卡非加密传输加密传输这样就可以通过截获单片机与RC500之间的通讯来获取M1卡的密钥。而要做到这一点,一个使用过RC500的对单片机技术稍微了解的技术人员都能够轻而易举的实现。那么,在读卡器中安装SAM卡,通过SAM卡计算卡片密钥实现一卡一密是否就安全了呢。想法非常美好,然而结果却非人所愿,这样的做法不但没有增加安全,反而更加加大了安全漏洞。如下图所示:明文密钥终端设备(读卡器)RC500等基站芯片M1卡非加密传输加密传输SAM卡明文密钥三重认证如图所示,M1

9、卡通过SAM卡实现一卡一密本质上是将SAM卡内的主密钥通过对M1卡的卡号分散后得到M1卡的子密钥,但是这个子密钥仍然要通过终端单片机明文传送给RC500芯片完成对M1卡的认证。更为严重的是SAM卡送出的是Mifare1卡的明文密码,黑客只要获得一张SAM卡,就能够通过它获得所有卡片的密码,连破解手段都不用。这样,我们可以假设一下几种情况:外部人员作案:作案人盗取一个正式使用的终端设备,通过线路截获方式获取单片机发送给RC500的密钥,从而破解M1卡的密钥。作案人盗取终端内的PSAM卡,通过向PSAM卡发送密钥分散指令的方式得到每一张M1卡的子密钥。内部人员作案:终端设备的开发人员利用工作之便盗

10、取终端内的M1卡密钥明文或经过单片机发送给RC500的M1卡密钥明文。发卡机构工作人员利用工作之便截取PC机通过M1卡读卡器发送给M1卡的密钥明文。或直接操作PSAM卡盗取密钥明文。系统开发人员利用工作之便盗取PSAM卡密钥明文。无论哪种可能,都会对整个系统的安全造成致命的影响。实质上,这种一卡一密的做法是借用了CPU卡认证机制中的一卡一密概念,然而它在有意无意间忽略了一个非常重要的事实,即CPU卡和逻辑加密卡是完全不同的两种卡片,它们的认证机制完全不同。CPU卡由于内部具有CPU处理器和操作系统COS,认证的过程完全是在用户卡与SAM卡之间进行的,认证过程中传送的是随机数和密文,读卡器基站芯

11、片只是一个通讯通道;认证过程不能复制;使用的算法是公开算法,其安全性是基于CPU卡对密钥的保护而非对算法的保护。密钥在用户卡和SAM卡内都不能读出,而且密钥的安装是通过密文进行,系统上线后即使是发卡人员和开发人员也无法得到密钥明文,从根本上保证了系统的安全性。正是由于意识到了M1卡潜在的安全性问题,建设部才多次开会推广使用CPU卡。双界面CPU卡更是由于其应用的灵活性和对金融规范的支持得到了各方的赞赏。当然,一个系统的安全性不仅仅取决于采用了哪种卡片和哪种安全机制,而且通过系统设计上的安全手段也能够弥补一些卡片安全上的不足。一个产品的安全性不能依赖于某一个方面的单个安全,更多的应从一个系统的整

12、体的逻辑上去完善安全、把可能出现的不安全特征通过整体的系统完善起来.针对原有不安全的系统进行改造。例如在建设部的IC卡规范中对于M1卡的一卡一密就规定了在SAM中计算卡片密码前必须校验卡中的MAC认证码,这在很大程度上降低了盗用SAM卡的可能性。然而遗憾的是大部分M1卡应用系统并没有采用类似的补救手段,而且这种手段也不能完全杜绝克隆卡、伪造卡的使用。黑名单等防范手段虽然有效,但毕竟属于事后防范,难以从根本上解决问题。特别是在当前Mifare1卡片被破解的背景下,简单的采用打补丁的方法更是一种掩耳盗铃的行为。对于一个IC卡应用系统而言,卡片的安全性好比一座摩天大厦的基础,针对一种卡片的安全机制必

13、定制定相应的保护措施以保护这个基础。而当卡片的安全性发生了根本的变化时,原有的保护措施已经失去了效果,整个大厦的基础发生了动摇,此时再采取补丁措施,无异于给大厦地面上的结构进行加固,措施再好也难以改变基础动摇这一事实。根本的解决之道就是重新打牢基础,从根基上完善系统的安全保护体系。同MIFARE1卡相比,非接触CPU卡是一种真正意义上的“智能卡”。CPU卡内集成电路中包括中央处理器(CPU)、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)等主要部分,犹如一台超小型电脑。具有信息量大、防伪安全性高、可脱机作业,可多功能开发等优点。CPU卡采用强大而稳定的

14、安全控制器,增强了卡片的安全性,而非接触传输接口又能满足快速交易的要求(如公交的快速通过)。其原因在于:首先,非接触式 CPU卡在现有的技术条件下是不可伪造的;其次,非接触式CPU卡具有三种认证方式,持卡者合法性认证PIN校验,卡合法性认证内部认证,系统合法性认证外部认证,对交易的各个单元(持卡人、卡片、终端设备)进行相互认证,保证交易介质的合法性;再次,在以上认证过程中,密钥是不在线路上以明文出现的,它每次的送出都是经过随机数加密的,而且因为有随机数的参加,确保每次传输的内容不同,保证了交易内容的合法性。在认证和交易过程中所使用的密钥都是在安全的发卡环境中产生并密文安装到SAM卡和用户卡中,

15、整个过程密钥不外露。对安全性要求较高的金融行业都以CPU卡作为下一代银行卡的标准。所以,采用非接触式CPU卡可以杜绝伪造卡、伪造终端、伪造交易,最终保证了系统的安全性。 同时,非接触CPU卡的大容量存储空间又可以满足预期的大金额消费应用所要求的更多客户信息的存储。而这时安全就不仅仅是存储在卡内的电子货币的安全,还包括个人信息的安全,非接触式CPU卡的安全机制可以为此提供良好的保障。 由于非接触式CPU卡具有以上无可比拟的优点,非常适用于电子钱包、电子存折、公路自动收费系统、公共汽车自动售票系统、社会保障系统、IC卡加油系统、安全门禁等等众多的应用领域。非接触CPU卡将逐步取代逻辑加密卡而成为IC卡的主要选型。非接触逻辑加密卡与CPU卡的对比 非接触逻辑加密卡与非接触CPU卡同属非接触IC卡,但这两种卡片是完全不同档次的卡。以下对MIFARE I卡与双界面CPU卡做一比较:MIFARE I卡非接触CPU卡相关国际标准ISO14443 Type AISO14443 T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号