MIFARE系列7《安全》
飞利浦的MIFARE卡因为它的高安全性在市场上得到广泛应用,比方我们乘车用的公交卡,学校和企业食堂的饭卡等等.它每一个扇区有独立的密匙(6个字节的password),在通信过程中首先要验证密匙才干读写数据.它的关键技术在于密匙的验证採用三重加密的DES算法,(即:读写器与卡之间传送的密匙是通过随机数加密的),不象早期的EMID卡和atmel的T557卡都是明码传输,所以在開始一度觉得是最安全的卡。被广泛的当做电子钱包使用.
自从08年有人成功破解了M1卡,曾一度造成恐慌.2008年,互联网上发布了破解Mifare Classic IC芯片(即M1芯片)password的方法;德国研究员亨里克·普洛茨(HenrykPlotz)和弗吉尼亚大学计算机科学在读博士卡尔斯滕·诺尔(KarstenNoh1)成功地破解了恩智浦半导体的Mirare经典芯片的安全算法;德国Virginia大学和荷兰Radboud大学两个独立研究小组分别证实了Mi-fare芯片的易受攻击性,并发表了破解芯片加密算法的论文<<“Wirelessly
Pickpocketing a Mifare Classic Card”(无线窃取M1卡)>>以及演示了实际操作芯片的破解过程。
阐明了M1卡在报文产生奇偶位和所谓嵌套认证两个方面的漏洞;利用此漏洞,攻击者能够通过工具只研究该工具与M1卡之间通讯数据便能够成功破解该卡的全部密钥,从而克隆这张卡.
文章觉得:M1在产生奇偶校验位时将数据链路层和安全通信层本该分层处理的协议混为一谈,先校验后加密,而且反复使用了加密校验位的password。这是不符合安全原则的并确实可被利用。
1. MIFARE破解方法
1) 暴力破解
即使是暴力破解,也须要先得到确切的明文和相应的码流。
这大约要进行1536次认证过程,用时在一秒钟之内。只是还要进行离线暴力破解,预计在36分钟可完毕。可是须要专用的硬件设备。
2) 以读卡器的挑战值做变量
这里说的读卡器实际上指的是用来模拟读卡器的攻击工具。下个攻击亦如此。这样的攻击又可称选择密文攻击,想法用工具控制被攻击的卡每次在认证时产生同一挑战值,而读卡端则回应不同值。这样的攻击须要大约28500次的认证过程,用时约15分钟。然后计算密钥。用时约一分钟。
3) 卡的挑战值做变量
这样的攻击与攻击2类似。但须要使自己的工具的挑战值为常数,而令卡的挑战值数不断变化。
须要预制一个384 GB的状态表。要进行4096次认证。
大约用时2分钟。
4) 嵌套认证攻击
这样的攻击如果攻击者已知了至少一个扇区的密钥,他能够依据漏洞得到其他密钥的32位,然后对其他16位进行穷举攻击。仅仅需3次认证(时间能够忽略不计)。离线攻击计算时间约为一秒。
M1卡嵌套认证的漏洞使得攻击者在得知一个扇区的密钥后可较easy的再破解其他不论什么扇区的密钥从而做到对该卡的全面破解。这在曾经的攻击中并不easy做到。由于一个应用系统的读卡器不一定能产生其系统中全部卡的全部扇区的密钥,如果设计系统时就没有考虑使用全部扇区的话。
2. Mifare破解对公交卡系统造成的影响
现有国内公交卡普遍採用的基于PSAM/ISAM卡的密钥管理系统。通常採用的做法是使用一个Value Block作为钱包,KeyA负责消费,KeyB负责充值(包含消费)。KeyA的分散密钥放在PSAM中,KeyB的分散密钥放在ISAM中(假设採用充值联机则KeyB可联机获得)。PSAM和ISAM提供了密钥的外部存储方式,通过特定的分散算法得出M1的密钥。计算过程发生在终端或后台系统中。
而眼下破解机制直接对M1卡发生作用,全然绕过、无视了PSAM等安全机制。
相同,一卡一密通过採用不同卡片不同密钥的做法添加破解难度,但面对高效率的破解算法也形同虚设。必须重视的是。现有公交卡系统高度依赖密钥管理系统、一卡一密等安全机制,採用的数据结构基本是统一的、公开的状态,这就意味着一旦破解密钥就差点儿处于不设防状态,即使数据结构不公开也不能寄予希望。
公交卡系统尽管也採用了黑名单等系统审计监控机制,但与银行卡系统的黑名单机制存在很大的差别:公交卡採用脱机黑名单。容量受到终端设备的限制,并且属于滞后处理(通常生效和处理周期不小于T+1天);银行卡採用联机黑名单,容量基本不受限制,并且属于实时处理(即时生效和处理)。
3. MIFARE卡系统可能面临的攻击分析
MIFARE卡被破解问题的严重性是不容置疑的,首先,Crypto1攻击的源码已经公开公布(http://code.google.com/p/crapto1/),属于开源项目,可随意从网上免费下载;其次,配套的几款读卡器(ProxMark,OPENPCD)也可公开从网上订购;再加上攻击算法效率的提高。实际上恶意用户破解M1密钥的成本(还包含时间成本)已经降到了很低的水平,已经达到大规模扩散所须要的条件。
公交卡系统将面临的攻击方式包含下面两种:
1)克隆:恶意用户通过破解现有合法卡的密钥并读取所有数据后,拷贝到多张空白IC卡上。
2)篡改:恶意用户通过破解现有合法卡的密钥后,直接篡改该卡的钱包剩余金额等重要数据。
从攻击效果来看,克隆可以在一张合法卡的基础上制作多张伪卡。而篡改仅仅能在合法卡本身的基础上制作伪卡。
因为现有M1卡採用了全球唯一的、不可篡改的uid物理卡号,而公交卡系统的密钥基本使用物理卡号进行分散计算获得,假设要实施克隆攻击。必须具备复制uid的能力,即具备M1卡的生产制造能力。而眼下可以生产兼容M1卡的是很有限的几个厂家,基本不可能自己做出非法克隆的事情,也不可能应恶意用户的要求进行订单生产。尽管通过硬件配合软件可以成功模拟M1卡而且可以与读卡器进行正常通讯,但离产品化还有较大距离。
有种观点觉得,仅仅要是採用了一卡一密、实时在线系统,或非接触逻辑加密卡的ID号。就能避免密钥被解密。事实上。非接触逻辑加密卡被解密就意味着M1卡能够被复制,使用在线系统虽然能够避免被非法充值。可是不能保证非法消费,即复制一张一样ID号的M1卡,就能够进行非法消费。如今的技术使用FPGA就能够全然复制。基于这个原理。Mifare的门禁卡也是不安全的。
事实上最重要的是。安全是一个系统级别的概念,安全的系统是有一系列的安全措施来保证的,比方密钥多级分散、比方用PSAM卡而不是终端自身软件计算密钥、比方卡片内保存密文而不是明文等等一系列的措施来添加终于破解的难度,并保证被破解后的损失减少到最低。安全不是仅仅靠单一的卡片来保证的。另外大家能够注意的是,终于破解卡片的事实上都不是软件暴力破解的,而是剖片等硬件手段起到了至关关键的数据。这事实上是对半导体厂商提出了更高的要求,怎样让逆向project的难度更大。所以不是说CPU卡就一定比M1卡安全,假设芯片自身的安全级别不够。通过剖片、甚至简单的黑客手段都能easy的获知卡片的password,那么是不是CPU卡事实上都毫无意义。并且CPU卡用的公开算法仅仅会让其安全性比M1还不如(算法破解都免了)。这就是为什么半导体厂商一直非常强调自己的芯片过了EAL5+认证。而国产芯片在这部分事实上还存在相当的差距。
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38087245
MIFARE系列7《安全》的更多相关文章
- Mifare系列6-射频卡与读写器的通信(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38085415 1. 复位应答(Answer to request) 读写器呼叫磁 ...
- Mifare系列1-简介(转)
文章转自 文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38079827 感谢原创作者的辛勤,对您再次表达感谢! 随着社会的发展, ...
- MIFARE系列6《射频卡与读写器的通讯》
1. 复位应答(Answer to request) 读写器呼叫磁场内的卡片,卡片对呼叫做出应答.对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- MIFARE系列1《MIFARE简介》
随着社会的发展,智能卡在很多领域得到了广泛的应用.特别是非接触卡,由于使用方便以及功能强大的特点,在管理.公交.工作证.身份识别等领域得到了快速的普及和推广. 非接触卡已经逐步发展成为一个独立的跨学科 ...
- 射频识别技术漫谈(11)——Mifare系列卡的共性【worldsing笔记】
Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...
- 射频识别技术漫谈(11)——Mifare系列卡的共性
Mifare是NXP公司生产的一系列遵守ISO14443A标准的射频卡,包Mifare S50.Mifare S70.Mifare UltraLight.Mifare Pro.Mifare Desfi ...
- MIFARE系列6《射频卡与读写器的通信》
1. ATR(Answer to request) 读写器呼叫磁场内的卡片.卡片对呼叫做出应答. 对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26):对于已进行过读写操作并进入休眠 ...
- Mifare系列7-安全性(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38087245 飞利浦的MIFARE卡 由于它的高安全性在市场上得到广泛应用,比如 ...
- Mifare系列5-存储结构(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38081521 Mifare S50把1K字节的容量分为16个扇区(Sector0 ...
- Mifare系列4-组成(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38081241 MIFARE集成电路芯片内含EEPROM.RF接口和数字控制单元. ...
随机推荐
- 基础知识(2)- Java程序设计环境
2.1 安装Java开发工具箱 2.1.1 下载JDK 2.1.2 设置执行路径 2.1.3 安装库源文件和文档 2.1.4 安装本书中的示例 2.1.5 导航Java目录 2.2 选择开发 ...
- ant利用先进,ant订单具体解释,ant包,ant包装删除编译jar文件
在日常的项目开发,经常需要我们可以打包测试.特别是,开发环境是windows.实际情况是linux. 这样的话.一个非常大的程序猿将包,其中将包,这些软件包可能非常大,这里是真正的代码会改变的一部分, ...
- Linux在简短而经常使用的命令
Linux组成: 内核:的心脏.是执行程序和管理像磁盘和打印机等硬件设备的核心程序. shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.是 ...
- asp.net访问网络路径方法(模拟用户登录)
public class IdentityScope : IDisposable { // obtains user token [DllImport("advapi32.dll" ...
- Godaddy Drupal Update
Godaddy对Drupal默认安装仅仅支持到7.22,眼下Drupal已经升级到7.28,安装完Drupal 7.22后,仅仅能手工升级. 安装Drupal在:https://hostingconn ...
- 移动web:tab选项卡
平常做移动端会用到tab选项卡,这和PC端有些区别,移动端是触摸滑动切换,PC端是点击.移入切换. 这里滑动切换就是一个移动端事件的应用,这里主要用到的触摸事件:touchstart.touchmov ...
- 乐在其中设计模式(C#) - 外观模式(Facade Pattern)
原文:乐在其中设计模式(C#) - 外观模式(Facade Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 外观模式(Facade Pattern) 作者:webabcd 介绍 ...
- Windows下效率必备软件
AutoHotKey: 神器!神器!神器!当然也得看使用者咯(^__^) 嘻嘻…… Listary: 本地搜索神器,当然还有别的作用,More&More. Launchy : 快速启动安装的应 ...
- activity-alias使用
activity-alias这是android为了重新使用Activity设计. 当Activity的onCreate()在方法,运行getIntent().getComponent().getCla ...
- [ACM] HUST 1017 Exact cover (Dancing Links,DLX模板题)
DESCRIPTION There is an N*M matrix with only 0s and 1s, (1 <= N,M <= 1000). An exact cover is ...