MIFARE

恩智浦半導體擁有一系列廣泛用於非接觸式智能卡和感應卡的芯片商標

MIFARE恩智浦半导体公司(NXP Semiconductors)拥有的一系列非接触式智慧卡近傍型卡技术的注册商标。

MIFARE Logo

MIFARE包括一系列依循ISO/IEC 14443-A规格,利用无线射频识别(频率为13.56MHz)的多种非接触式智慧卡专有解决方案。这项技术是最早是1994年由米克朗英语Mikron集团(Mikron Group)开发,在1998年转售给飞利浦电子公司(2006年拆分成为恩智浦半导体公司)。近年来MIFARE已经普遍在日常生活当中使用,如大众运输系统付费、商店小额消费、门禁安全系统、借书证等。

发展历史

 
MIFARE 1K
  • 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-1AES TDESAES
机卡验证类型 密码 三重认证
机卡通讯加密类型 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 encodingMiller 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的文件:

恩智浦半导体曾经尝试在荷兰的法庭提出诉讼以阻止这些文件发表,但是法官认为这属于言论自由,便否决NXP公司所提[9][10]

2008年8月在第17届高等计算系统协会(USENIX)中有另外一份讲述如何利用反向工程的程序发表[11]

台大电机教授示范窜改悠游卡:2010年7月,台湾大学电机系教授郑振牟团队使用改进过的监听数据包(Sniffer-Based)的攻击手法攻击Mifare卡。将1张正常使用中的悠游卡,将余额从正100多元,更改成为负五百多元[12]

资安顾问窜改悠游卡:2011年7月,某科技公司一名24岁资安顾问,宣称在美国网站购买读写卡机,再下载美国学生破解波士顿地铁查理卡(Charlie Card)的文章后花了四个月的时间撰写程序,破解悠游卡防护系统,以自制读写卡机为悠游卡窜改加值成功并盗刷六次[13]

相关条目

参考

  1. ^ SIEMENS AND MIKRON AGREE LICENSING DEAL. telecompaper. 1994-04-07 [2015-10-26]. (原始内容存档于2019-06-11). 
  2. ^ Infineon Adds Security and Convenience to SIM Cards for NFC Applications. Infineon. 2007-11-13 [2015-10-26]. (原始内容存档于2016-06-28). 
  3. ^ Motorola sets smart card targets. Cnet. 2002-01-02 [2015-10-26]. (原始内容存档于2019-06-29). 
  4. ^ SMART CARD NEWS-Banksys Offers Stakas in Proton Purse Technolgy (PDF). Cnet. 1998-02-01 [2015-10-26]. (原始内容存档 (PDF)于2013-11-02). 
  5. ^ Renesas and NXP announce licensing agreement on MIFARE contactless technology. NXP Semiconductors. 2008-11-03 [2015-10-26]. (原始内容存档于2015-09-30). 
  6. ^ Karsten Nohl的個人網頁. [2015-10-26]. (原始内容存档于2020-02-04). 
  7. ^ Nohl, Karsten; Henryk Plötz. Mifare: Little Security, Despite Obscurity. Chaos Communication Congress. [2015-10-26]. (原始内容存档于2018-11-26). 
  8. ^ Digital Security Group publisher=Radboud University Nijmegen. Security Flaw in Mifare Classic (PDF). 2008-03-12 [2015-10-26]. (原始内容存档 (PDF)于2016-12-23). 
  9. ^ Arnhem Court Judge Services. Pronunciation, Primary Claim. Rechtbank Arnhem. 2008-07-18 [2015-10-26]. (原始内容存档于2012-02-15). 
  10. ^ Judge denies NXP's injunction against security researchers. The Standard. 2008-07-18 [2015-10-26]. (原始内容存档于2009-01-05). 
  11. ^ Nohl, Karsten; David Evans. Reverse-Engineering a Cryptographic RFID Tag. Proceedings of the 17th USENIX Security Symposium. 2008-08-01 [2015-10-26]. (原始内容存档于2011-06-08). 
  12. ^ 臺大電機教授示範無線竄改悠遊卡金額. iThome. 2010-09-01 [2015-10-26]. (原始内容存档于2019-06-13). 
  13. ^ 天才駭客破解悠遊卡 盜刷39元. 苹果日报. 2011-09-28 [2015-10-26]. (原始内容存档于2017-09-14). 

外部链接