MIFARE是恩智浦半导体公司(NXP Semiconductors)拥有的一系列非接触式智慧卡和近傍型卡技术的注册商标。
MIFARE包括一系列依循ISO/IEC 14443-A规格,利用无线射频识别(频率为13.56MHz)的多种非接触式智能卡专有解决方案。这项技术是最早是1994年由米克朗集团(Mikron Group)开发,在1998年转售给飞利浦电子公司(2006年拆分成为恩智浦半导体公司)。近年来MIFARE已经普遍在日常生活当中使用,如大众运输系统付费、商店小额消费、门禁安全系统、借书证等。
发展历史
- 1994 — MIFARE Classic 1K,非接触式读取技术开发成功。
- 1996 — 韩国首尔市地铁成为首个采用MIFARE的商转系统。
- 1997 — MIFARE Pro,兼容接触与非接触式的智慧卡,并采用了3DES的协同处理器(coprocessor)机制。
- 1999 — MIFARE Pro X,开发完成公开金钥基础建设(PKI)机制。
- 2001 — MIFARE UltraLight规格开发成功。
- 2002 — MIFARE DESFire,开发以微处理器(microprocessor)为基础的产品。
- 2004 — MIFARE DESFire SAM,增强了MIFARE DESFire的安全基础架构连接。
- 2006 — MIFARE DESFire EV1,第一个支援128bit 进阶加密标准(AES)的产品。
- 2008 — MIFARE Plus,替换MIFARE Classic使用的128bit AES。
- 2008 — MIFARE Ultralight C,内建有三重数据加密演算法验证的纸质票证IC(Paperticket IC)。
- 2010 — MIFARE SAM AV2,加入可读取进阶加密标准(AES)、三重数据加密演算法(3DS)、公开金钥基础架构(PKI)等安全密钥的验证机制。
- 2012 — MIFARE Ultralight EV1,与MIFARE Ultralight相同的规格但是取消了加密功能。
- 2013 — MIFARE DESFire EV2,更好的效能、保密性并且支援多种加密程式。
- 2016 - MIFARE SDK改名为TapLinx,并改进产品支援。
- 2020 - MIFARE DESFire EV3 推出
- 2022 - MIFARE Ultralight AES 推出
MIFARE的名字由来是米克朗车资收费系统( MIkron FARE-collection System)组合而来,飞利浦电子公司在1998年收购了这项技术。
1994年,米克朗公司授权英飞凌 科技在MIFARE现有的基础上开发新的机制。[1]。当时英飞凌取得的样本规格是1K的记忆体容量 ,8、16、32位元的虚拟微处理器和USIM用的NFC设备[2]。
摩托罗拉公司曾经尝试开发与MIFARE功能类似的接触式晶片,原本该公司预估每个月有1百万次的使用量,但是最后只有10万次。以致最后放弃了这个产品 [3]。
1998年飞利浦将MIFARE Classic技术授权给了日立制作所[4],该公司在1999年至2006为日本电信电话(NTT)开发了非接触式智慧卡的解决方案。另外为NTT开发的电话卡专案有3个合作伙伴(分别是:Tokin-Tamura-Siemens、日立制作所、电装公司),原本规划以MIFARE Classic授权为基础进而开发出两种大小不同容量的接触式产品,但是最后只有完成大容量的产品。
2008年,NXP为日立制作所提供了包含MIFARE Plus及MIFARE DESFire2项技术,日立制作所的半导体部门也更名为瑞萨电子 [5]。
2010年,NXP把MIFARE授权给金雅拓公司(Gemalto),2011年NPX授权法国欧贝特科技使用在SIM卡上。这些授权都是用来开发NFC领域的产品。
硬体架构及工作原理
MIFARE Ultralight | MIFARE Classic | MIFARE Plus | MIFARE DESFire | ||||||
---|---|---|---|---|---|---|---|---|---|
MIFARE Ultralight EV1 | MIFARE Ultralight C | MIFARE Classic EV1 | MIFARE Plus (S/X) | MIFARE Plus SE | MIFARE DESFire EV1 | MIFARE DESFire EV2 | MIFARE DESFire EV3 | ||
射频介面 | ISO/IEC 14443-2,TYPE A | ||||||||
通讯协定 | ISO/IEC 14443-3 | ISO/IEC 14443-3&4 | ISO/IEC 14443-4 | ||||||
UID码 | UID:7位元组 | UID:7位元组,RID:4位元组(无UID) | UID:7位元组,RID:4位元组(无UID) | ||||||
通讯速度 | 106Kbps | 106Kbps-848Kbps | |||||||
资料储存容量 | 48bytes | 128bytes | 144bytes | 1K、4Kbytes | 2K、4Kbytes | 256、2K、4K、8Kbytes | 2K、4K、8Kbytes | ||
验证金钥种类 | 无 | TDES | Crypto-1 | Crypto-1、AES | TDES、AES | ||||
机卡验证类型 | 密码 | 三重认证 | |||||||
机卡通讯加密类型 | 无 | Encrypted | Plain,Encrypted以及CMACed | ||||||
共同准则认证类型 (Common Criteria Certification) |
无 | EAL4+ | 无 | EAL4+ | EAL5+ |
UID:唯一识别码(Unique Identifier), RID:安全随机识别码(Random Security Identifier)
区段 | 区块 0 | 区块 1 | 区块 2 | 区块 3 |
---|---|---|---|---|
0 | 制造商代码 | 资料区 | 资料区 | 金钥、存取权限 |
1 | 资料区 | 资料区 | 资料区 | 金钥、存取权限 |
2 | 资料区 | 资料区 | 资料区 | 金钥、存取权限 |
: | : | : | : | : |
14 | 资料区 | 资料区 | 资料区 | 金钥、存取权限 |
15 | 资料区 | 资料区 | 资料区 | 金钥、存取权限 |
- 卡片架构:卡片上面有一组唯一识别码、通讯介面(包含天线及调变解调器)以及一个ASIC里面包含了通讯逻辑电路、加密控制逻辑电路与资料储存区( EEPROM),可以作为电子钱包或其它门禁、差勤考核、借书证等用途。
- 资料存储区块:可分16个区段(sector 0-15), 每个区段由4个区块(block 0-3)组成,而每个区块都是独立的单元,每1个区块的容量有16Byte。而每个区段的最后一个区块则用来存放2组金钥(KeyA、KeyB),以及金钥对应各自的存取权限(Access bit)。
- 每张卡片第一区段的第一区块(sector 0,block 0)只能读取无法写入资料,称为制造商代码(Manufacturer Code), 第1-4byte为UID。第5byte为位元计数检查码(bit count check),其馀的存放卡片制造商的资料。所以每张卡片实际能使用的只有15个区段,即便如此也可用于15个不同的应用。
- 读写卡机架构:读卡机包含CPU、电源模组、读(写)模组、记忆模组、控制模组等,有些还有显示模组、定时模组等其他模组。
- 工作流程:当卡片接近读写卡机进入通讯天线的感应范围(约2.5公分至10公分)之后,读写卡机便会提供微量电力(约达2伏特之后)驱动卡片上的电路。此时卡、机各以曼彻斯特编码(MANCHESTER Encoding)及米勒编码(Miller encoding)加密通讯内容后再以振幅偏移调变(Amplitude Shift Keying,ASK)透过调变解调器收发无线电波信号互相验证是否为正确卡片,如果验证结果正确读写卡机就会确认要存取的资料存储区块,并对该区块进行密码校验,在卡、 机三重认证无误之后,就可以透过加密进行实际工作通讯。这个过程大约只需要0.1秒就可以完成。如果同时有多张卡片进入读写卡机感应范围,读写卡机会将卡 片编号并选定1张卡片进行验证直到完成所有卡片验证(称为防碰撞机制)或是离开感应范围为止。
- 卡 机三重认证步骤:1.卡片产生一个乱数RB传送到读卡机。2.读卡机会将接收到的乱数RB依公式加密编码后的TokenAB数值并传送回卡片。3.卡片接 收到TokenAB后,会把加密部份解译出来然后比对参数B、乱数RB。同时并依据收到的乱数RA,参照公式编码后产生TokenBA传送回读卡机。4. 读卡机接收到TokenBA后,又把加密过的部份解译,比较乱数RB,RA与TokenBA中解出之RB、RA是否相符,正确的就可以完成指令(扣款、打 开门锁或是登记其他事项)。
攻击事件
2007年12月,在骚乱交流大会上Henryk Plötz和Karsten Nohl[6]发表了部分用于MIFARE晶片演算法上的反向工程技术[7]。
2008年3月,在荷兰的奈梅亨大学(Radboud University Nijmegen)数位安全研究群里发表了利用反向工程复制并且修改采用MIFARE Classic技术的电子票证OV卡(ov-chipkaart)上的馀额[8]。 奈梅亨大学发表了下列三篇关于MIFARE Classic的文件:
- A Practical Attack on the MIFARE Classic(页面存档备份,存于互联网档案馆)
- Dismantling MIFARE Classic(页面存档备份,存于互联网档案馆)
- Wirelessly Pickpocketing a MIFARE Classic Card(页面存档备份,存于互联网档案馆)
恩智浦半导体曾经尝试在荷兰的法庭提出诉讼以阻止这些文件发表,但是法官认为这属于言论自由,便否决NXP公司所提[9][10]
2008年8月在第17届高等计算系统协会(USENIX)中有另外一份讲述如何利用反向工程的程序发表[11]
台大电机教授示范窜改悠游卡:2010年7月,台湾大学电机系教授郑振牟团队使用改进过的监听封包(Sniffer-Based)的攻击手法攻击Mifare卡。将1张正常使用中的悠游卡,将馀额从正100多元,更改成为负五百多元[12]。
资安顾问窜改悠游卡:2011年7月,某科技公司一名24岁资安顾问,宣称在美国网站购买读写卡机,再下载美国学生破解波士顿地铁查理卡(Charlie Card)的文章后花了四个月的时间撰写程式,破解悠游卡防护系统,以自制读写卡机为悠游卡窜改加值成功并盗刷六次[13]。
相关条目
参考
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.