高频RFID标签密钥安全性分析

2017-12-19 03:43林子萱
上海电力大学学报 2017年5期
关键词:读卡器加密算法扇区

王 勇, 范 鹏, 林子萱, 刘 蔚

(1.上海电力学院, 上海 200090; 2.上海云剑信息技术有限公司, 上海 200433)

高频RFID标签密钥安全性分析

王 勇1, 范 鹏1, 林子萱1, 刘 蔚2

(1.上海电力学院, 上海 200090; 2.上海云剑信息技术有限公司, 上海 200433)

介绍了无线射频识别(RFID)和近场通讯(NFC)的工作原理,以及密码加密机制与密钥管理.主要论述了高频RFID标签密钥的安全性问题,并以Mifare Classic 1K卡为载体,论述了在新环境下RFID标签面临的安全威胁,并针对这些威胁提出了防御措施.

无线射频识别; 近场通讯; 电子标签; 暴力破解

无线射频技术起源于二战时期,起初仅为标示而诞生,现已快速扩张到了其他领域,如零售业、服务业、物流业、制造业、信息产业、医疗和国防等领域.反观近两年,带有“闪付”[1]功能的银联卡得了较为广泛的使用,也得到了广泛的认可,正在并逐步取代条形码和磁条卡.此外,随着物联网的发展,无线射频识别(Radio Frequency Identification,RFID)与无线传感器网络(Wireless Sensor Networks,WSN)技术之间不断地交融和协作,又为环境监测、医疗护理、目标跟踪、军事等领域带来新的发展与契机.

随着RFID的大发展,其安全性越来越受到瞩目.大量的票务系统使用的是比较简单的卡片,这些卡片往往没有较好的加密保护[2].这也使得卡片的模拟、数据的篡改成为了可能.随着RFID的进一步发展,出现了一批安全性较高的标签.在互联网中广泛使用的DES,3DES,AES等加密算法也进入了RFID领域,为标签数据的安全性起到了很好的保护作用.但是随着侧信道攻击[3]的出现,标签的安全性又出现了新的挑战.目前RFID面临的最大威胁便是标签的安全性.而我国大量的门禁系统和校园一卡通仍广泛使用Mifare Classic 1K卡(简称M1卡),此种标签存在着较为严峻的安全问题.

1 RFID工作原理

RFID技术是一种非触式自动识别技术,在无需人为干扰的条件下,可识别高速运动物体并可识别多个RFID标签.基本的RFID系统包含RFID标签、FRID读卡器及天线3部分.大部分IC卡片都属于RFID标签,每一个标签有且仅有一个UID,是卡片身份的唯一标示,一般为4 B或7 B.依据标签内部有无供电电源,RFID标签可分为主动式、被动式、半被动式3种.这些便签都具有存储一定容量数据的能力和一定信息处理的功能.RFID读卡器通过射频识别信号识别目标对象并获取相关数据.根据标签的不同,读卡器可分为主动读卡器和被动读卡器.标签天线是一种通信感应天线.标签的外形主要取决于天线的形状及大小,而天线又取决于工作频率和对作用距离的要求.目前比较常用的标签有4种频率,即:低频标签(125 kHz或134.2 kHz);高频标签(13.56 MHz);超高频标签(868~956 MHz);微波标签(2.45 GHz)[4].最为常见的Mifare Classic标签则属于高频标签[5].

RFID具体工作过程如下:读写器通过发射天线发送一定频率的射频信号,当标签进入发射天线工作区域时产生感应电流,标签获得能量被激活,并将自身编码等信息通过内置发送线发送出去;系统接收天线接收到从标签发送来的载波信号,经天线调节器传送至读写器,读写器对接收的信号进行解调和解码,然后送至计算机系统进行相关处理;计算机系统针对不同的设定做出相应的处理和控制[6].

2 NFC工作原理及应用

近场通讯(Near-field communication,NFC)由飞利浦半导体(现恩智浦半导体公司)、诺基亚和索尼共同研制开发.该技术由射频识别演变而来,主要为两台电子设备提供短距离的通信支持.与RFID相比,NFC仅作为一种短距高频的无线电技术存在,它只能够识别10 cm以内工作在13.56 MHz的电子设备或者电子标签.正是由于NFC受短距离通讯的约束,使得其能够在移动支付、门禁系统、信用卡、公交系统等方面得到广泛的使用.方便快捷是其最大的优点之一,不需要麻烦的配对过程,就能直接读取和交换数据.卡模拟是NFC一个较为突出的功能,其应用也比较广泛,这一技术也催生了模拟公交卡的出现,华为、小米等手机制造商在部分机型上提供了手机替代公交卡的功能.

3 密码加密机制与密钥管理

由于标签的计算资源和存储能力都十分有限,一般采用对称加密算法.主流半导体厂商一般会按照各自的需求自行设计加密算法.而RFID标签的安全性很大程度上取决于加密算法的安全性,多数算法的加密细节是不对外公开的,但也有部分RFID标签采用主流的加密算法,如3DES和RSA等加密算法.

密钥管理包含密钥的生成、导入、导出、备份、恢复、申请、分发、同步、更新、销毁等内容.密钥的管理不仅涉及密钥管理系统,还与人的因素有关.一方面,密钥的管理是对密钥管理系统的管理,密钥管理系统要保证其可靠性;生成的密钥要可靠,应该满足一卡一密的要求;密钥的传输要可靠,应尽量避免被监听的可能;密钥的存储要可靠,保障其不会泄露等.另一方面也是对系统管理人员的管理,管理人员在操作上要满足安全性需求.

4 Mifare Classic 卡面临的安全威胁

Mifare Classic 1K卡是恩智浦半导体公司(NXP Semiconductors)生产的一款芯片.1994年M1卡研发成功至今已有20多年的历史.M1卡属于Mifare系列卡的第一代卡片.目前Mifare 卡是世界上使用量最大、技术最成熟、性能最稳定、内存容量最大的一种感应式智能IC卡.据Mifare官网显示,Mifare系列卡片在交通票务系统的市场占有率已超过77%.

4.1 常规安全威胁

Mifare Classic 1K卡虽然已被证明极其脆弱,但仍有一定的市场占有率.在交通领域已经很少见到Mifare Classic 1K卡的身影,但在门禁系统和校园一卡通中却占有很大的保有量.2007年底,在柏林进行的第24届黑客大会Chaos Communication Congress上揭开了破解Mifare Classic 1K的神秘面纱,研究人员掌握了一个16位随机数发生器的原理,每次都能够准确预测下一个随机数的值.自此研究人员不断探索,终于揭开了Mifare Classic 1K加密算法Crypto-1的庐山真面目.

起初在Crypto-1算法没有公开前,最有效的攻击方法是暴力破解.暴力破解需要耗费庞大的计算资源.Mifare Classic 1K卡由16个扇区组成,每个扇区对应64位(二进制)的密钥.若要破译一张Mifare Classic 1K卡片,就需要破解得到16个密钥,而这16个密钥之间互不干扰、相互独立.暴力破解只需要对每个扇区重复同样的操作,以时间和计算资源为代价就能够获得卡片的原始数据[7].得到了原始数据的攻击者就能够进行一系列的操作,如进行数据篡改和数据重放等.

以下是一张空白卡片的前5个扇区的数据:

Block 04,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Block 03,keyffffffffffff:00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff

Block 02,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Block 01,keyffffffffffff:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Block 00,keyffffffffffff:24 e3 4a 1a 97 08 04 00 69 73 73 69 35 36 35 30

图1为第0扇区的第0块定义.第0扇区的第0块中包含作为唯一标识的UID和生产厂商信息,原则上这一块的数据不可修改[8].这一块的数据受到写保护,但也有存在故意制作出对第0扇区可写的事件发生.一旦当第0扇区的数据被篡改,UID就不能惟一地辨识一张标签.如果该RFID标签为一张购物卡,就有可能被人盗刷.盗刷者所要做的仅仅是获取原卡片数据并复写到他的另一张预先准备好的第0扇区可写的卡片上.于是两张卡内的数据便一模一样,读卡器无法辨别卡片的真伪,它只能识别卡片内的数据是否合法,即判断卡片中对应数据的定义是否与该应用系统定义的数据具有一致性.这种攻击方式需要得到硬件的支持,但令人担忧的是目前能够轻易地买到0扇区可写的空白卡.

图1 第0扇区的第0块定义

在卡片原始数据的获取中,最为重要的是获得16个扇区的密钥.刚开始可以尝试使用一些常见的密钥,以缩短暴力破击的时间.常见的弱密钥有FFFFFFFFFFFF,000000000000,A0A1A2A4A5A6, 123456789ABC,D3F7D3F7D3F7等.另外,在暴力破解密码中可以利用一些工具,例如MFOC(Mifare Classic Offline Cracker)和MFUCK等.MFOC是由国外安全研究团队nethemba开发的,它使用Libnfc和Crypto-1库离线恢复密码,使用的攻击方法称为“Offline Nested-attack”.恢复全部16个密钥的前提是已知一个扇区的密钥,无论是这个密钥使用的默认密钥还是在MFOC的字典当中.如果找不到一个可供的密钥,MFOC程序会调用另一工具MFCUK库.与MFOC不同的是,MFUCK利用Crypto-1加密算法的缺陷,可以在不知道任何一个扇区密钥的情况下找到16个扇区的全部密钥[9].

以下为某高校校园一卡通各扇区keyA和keyB所使用的密钥:

Sector 00- UNKNOWN_KEY[A] Sector 00 - UNKNOWN_KEY[B]

Sector 01- UNKNOWN_KEY[A] Sector 01 - UNKNOWN_KEY[B]

Sector 02- UNKNOWN_KEY[A] Sector 02 - UNKNOWN_KEY[B]

Sector 03- UNKNOWN_KEY[A] Sector 03 - UNKNOWN_KEY[B]

Sector 04- UNKNOWN_KEY[A] Sector 04 - UNKNOWN_KEY[B]

Sector 05- UNKNOWN_KEY[A] Sector 05 - UNKNOWN_KEY[B]

Sector 06- FOUND_KEY [A] Sector 06 - FOUND_KEY [B]

Sector 07- FOUND_KEY [A] Sector 07 - FOUND_KEY [B]

Sector 08- FOUND_KEY [A] Sector 08 - FOUND_KEY [B]

Sector 09- FOUND_KEY [A] Sector 09 - FOUND_KEY [B]

Sector 10- FOUND_KEY [A] Sector 10 - FOUND_KEY [B]

Sector 11- FOUND_KEY [A] Sector 11 - FOUND_KEY [B]

Sector 12- FOUND_KEY [A] Sector 12 - FOUND_KEY [B]

Sector 13- FOUND_KEY [A] Sector 13 - FOUND_KEY [B]

Sector 14- UNKNOWN_KEY[A] Sector 14 - FOUND_KEY [B]

Sector 15- UNKNOWN_KEY[A] Sector 15 - FOUND_KEY [B]

采用MFOC工具可知,这张卡片使用的是弱密钥.MFOC工具可以把第6扇区作破解扇区,从而恢复各个扇区的密钥.采用弱密钥是一个广泛存在的问题,不仅是在RFID领域,在互联网领域更是如此.如果在Mifare Classic 1K应用的每一个领域都能够做到不使用默认密码和弱密码,那么像MFOC这类工具可能就不会出现.此外,RFID还面临着标签伪造、数据嗅探、轨迹追踪、拒绝服务、欺骗、抵赖、插入攻击、重传攻击、物理攻击、病毒(后端数据库)等安全问题和威胁[10].

4.2 新时代下的安全威胁

在智能手机普及的今天,几乎每一个人都有一部属于自己的手机.智能手机提供给我们丰富的信息资源、有趣的游戏以及各式各样的应用程序.同时智能手机也从我们身边收集各种数据,如位置信息、亮度、光线强度、指纹、心率等.从扫描器的角度来看,智能手机无疑是一个多功能、跨领域的扫描器.手机的各种传感器大大方便了人们的生产生活,同时也带来了新的契机和隐患.

由于NFC的短距离通讯保障了传输过程的数据安全性,不至于被第三方嗅探监听,因此近些年来NFC受到了各行各业的关注和青睐.2016年,Apple Pay,华为 Pay,小米Pay等移动支付相继上线,标志着NFC在支付领域又跨越了一大步.国内在支付宝和微信支付主导的移动支付下,NFC支付没有得到很好的普及,但在某些领域却有较为突出的优势,如公共交通中具有NFC功能的手机可以替代交通卡使用.

在2008年想要购买到一套能够破解Mifare Classic 1K卡的设备需要花费数千元人民币,例如Proxmark III.这两年只需要花数百元人民币购买ACR122U,然后下载一些开源工具就能破解Mifare Classic 1K卡.一个简单的读卡器就具备了读写Mifare Classic 1K卡的功能,而开源的漏洞利用工具只需一两条命令就能拿到卡片的原始数据.这些都大大降低了攻击的门槛,同时给Mifare Classic 1K卡造成了巨大的威胁.人民网2017年1月21报道,北京某高校一名大学生曲某盗刷校园卡2万余元.根据人民网提供的照片显示,曲某使用的读卡器正是ACR122U.现如今不少手机具备了NFC功能,常见的RFID卡片都能够读取.因为常见的RFID卡采用的大多是13.56 MHz的高频卡,NFC恰好用的是13.56 MHz的工作频率.因此,也可以说NFC是RFID的一个子集,常见的RFID标签处于两者的交集中.

现在比较好用的一款工具叫做“Mifare Classic Tools(MCT)”,但此款工具不具有暴力破击的能力.此款工具能对Mifare Classic 1K卡进行读写操作,但前提是必须预先提供16个扇区所需的密钥.此外,这款工具还具有一定的数据处理能力,能够提供差异比较攻击等,可以为数据分析提供很好的帮助.

移动带来了极大的便捷性,也使得攻击无时不在、无处不在.每一部手机都成了潜在的威胁,防御难度大大增加.手机更新周期较快,对RFID读卡器进行认证显然不太实际.因此,在应用普及和安全间找到一个平衡点至关重要.如今物联网快速成长,在新的环境下RFID面临巨大的安全挑战与契机.在RFID的应用中可能会暴露出其脆弱之处,RFID安全还需进一步完善.

5 防御措施

针对攻击方法多样、攻击平台多样的现状,提出有针对性的防御措施非常重要.

(1) 标签方面 一是使用强度较高的加密算法,加大暴力破解的难度.二是对数据进行混淆处理(如多次计算校验值等),加大攻击者的分析处理难度.不同的应用场景、不同的应用主体对数据的定义并不相同,做到一定的差异化,能够有效地避免连带伤害的出现.三是各扇区密钥应使用强度较高的密钥,避免使用弱密码.

(2) 管理方面 一是加强对后台数据的严密保护,只有授权人员才能查看;二是严格规范后台数据管理人员的操作.

(3) 个人方面 应加强个人安全意识,在使用RFID时小心谨慎,不让有心人得逞;不随便把卡片借予他人;养成良好的行为习惯,拒绝不劳而获.

6 结 语

随着无线射频技术的发展与应用,电子标签的应用极大地促进了信息识别与智能管理,给人们的生产生活带来了极大的便利,但由此带来的问题也十分突出.因此,加强安全意识,提高防御技术,是目前的重中之重.

[1] 董峥.闪付,从用户体验谈开去[J].中国信用卡,2015(9):42-43.

[2] GARCIA F D,de KONING G G,VERDULT R.Tutorial:proxmark,the swiss army knife for RFID security research[R].Technical report,Radboud University Nijmegen,2012:1-2.

[3] OSWALD D,PAAR C.Breaking mifare DESFire MF3ICD40:power analysis and templates in the real world[C]//International Workshop on Cryptographic Hardware and Embedded Systems.Springer Berlin Heidelberg,2011:207-222.

[4] LAI C L,FANG K,CHIEN S W.Enhanced monitoring of tuberculosis patients by using RFID technologies[J].International Journal of Mobile Communications,2010,8(2):244-256.

[5] LEMONNIER V,AFFOUARD B.Mobile communication device and method for implementing mifare memory multiple sectors mechanisms[P].U.S.Patent Application 12/920,663.2009-02-26:1-5.

[6] 落红卫,程伟.RFID 安全威胁和防护措施[J].电信网技术,2010(3):38-40.

[7] 陈威,陈乐然,徐小天.Mifare卡安全性和破解技术[J].电气应用,2015(S2):782-787.

[8] BERINI Sarrias M,HERRERA Joancomartí J.Security in RFID devices[EB/OL].[2013-05-12].https//ddd.uab.cat/put/trerecpro/2013/hdl2072232718/PFC MartiBerinisarrias.pdf.

[9] GUPTA K,UBUNTU I.Hacking mifare classic[EB/OL].[2013-03-06].http://www.nicolascourtois.com/MifareclassicHack.pdf.

[10] 丁春燕.RFID安全的十大问题与威胁[J].计算机与网络,2015,41(23):52-52.

SecurityAnalysisofHighFrequencyRFIDCardKeys

WANG Yong1, FAN Peng1, LIN Zixuan1, LIU Wei2

(1.ShanghaiUniversityofElectricPower,Shanghai200090,China;2.ShanghaiCloudSwordInformationTechnologyCo,.LTD,Shanghai200433,China)

The working principles of radio frequenty identification(RFID) and near field communication(NFC) are introduced.Security threats and defenses in the new environment.The security of high frequency RFID tag key,and the security threat of RFID tag in the new environment with Mifare Classic 1K card as carrier are discussed.Some defensive measures are put forward against these threats.

radio frequency identification; near field communication; RFID tags; brute-force analysis

10.3969/j.issn.1006-4729.2017.05.018

2017-03-09

王勇(1973-),男,博士,教授,河南确山人.主要研究方向为信息安全.E-mail:wy616@126.com.

上海科学技术委员会地方能力建设项目(15110500700);上海市浦江人才计划资助项目(16PJ1433100);上海市自然科学基金(16ZR1436300);上海科学技术委员会中小企业创新基金(1501H1B7700,1601H1E2600).

TN918.4;TP391.44

A

1006-4729(2017)05-0500-05

(编辑 胡小萍)

猜你喜欢
读卡器加密算法扇区
分阶段调整增加扇区通行能力策略
与淘汰命运抗争 看懂笔记本的读卡器
U盘故障排除经验谈
基于EMV非接通信规范的非接触读卡器设计
为二维码识别的献礼之作——评测平治二维码门禁读卡器
HES:一种更小公钥的同态加密算法
基于贝叶斯估计的短时空域扇区交通流量预测
重建分区表与FAT32_DBR研究与实现
基于小波变换和混沌映射的图像加密算法
MATLAB实现组态王中TCP/IP读卡器监控方法