射频识别(RFID)系统安全隐患与改进

2019-08-07 09:47李焦明
日用电器 2019年7期
关键词:读写器IC卡射频

张 帅 李焦明 谢 敏

(南京科技职业学院 南京 210048)

引言

近年来,射频识别技术在物流、零售、制造业、医疗、交通、防伪、身份验证等领域得到了广泛地应用。但安全隐患也随之出现:窃听、数据篡改、复制、电子欺骗。加强射频识别系统的安全性势在必行。

1 RFID技术简介

RFID是一种简单的技术,可以识别任何物体(OOI)。除了将标签简单地应用于实体之外,使用具有唯一识别码的RFID标签可以容易地嵌入到对象(OOI)中以进行识别。RFID是一种射频技术,通过天线在标签和阅读器之间发送数据。以这种方式,可以容易地获得关于主题(OOI)的标签相关信息。

当RFID标签中的电路具有足够的能量时,它将开始在接收器的接收领域内发送和配对信号。这种方法与其他静态辨别技术区别的地方是它是一种LOUD ID技术。此功能使某些库存管理和位置问题变得简单,这就是RFID非常适合跟踪,跟踪和库存管理功能的原因。目前国产的一些门禁射频识别系统、以及金额卡刷卡式消费系统都存在很大的安全隐患。其中涉及到门禁卡被恶意复制,金额卡里的金额数据被恶意复制甚至修改现象,给使用该系统的商家造成了巨大的损失。现在已有的解决方案,就是增强人员监控,数据传输的加解密采用以进制转换为主的简单算法。

2 射频卡安全隐患

2.1 门禁卡容易被恶意复制安全隐患

2.1.1 proxmark3的使用

研究所用电脑是win10系统的笔记本,所以使用proxmark3读写器的时候需要先禁用驱动签名验证,禁用驱动签名方法按照表1 操作。

然后打开配套的Proxmark3_EASY_GUI软件,如图1所示。

然后一键自动解析,如图2所示,一键自动解析是执行所有操作。当然也可以单个执行操作。

这样就获取到了数据。但是有时候卡不支持破解,这时候我们可以拿着设备去现场嗅探,所谓的嗅探就是利用设备与设备之间的交互,劫持一段数据出来。然后获取到的数据可以保存下来。

2.1.2 利用proxmark3读写器复制IC卡

Proxmark3的兼容性很强大,可以读取所有的射频卡,另外配套的操作软件支持傻瓜式一件解析。计算机里内置的程序已经加入了自动识别功能,以某小区的门禁IC卡为例。

首先将proxmark3连接我的计算机(win10操作系统),然后以管理员身份运行Proxmark3_EASY_GUI软件。进行一键解析。通过解析读取后,可以获得IC卡里面的数据信息,如图3所示。

大部分小区门禁卡的复制很简单,通常生活中的门禁卡都不加密,安全防护很差,这张读取的门禁卡就是这样,密钥A和密钥B都是默认密码FFFFFFFFFFFF,然后控制字为078069,如图4所示。

复制的时候用一种空白的IC卡,然后放在proxmark3设备的高频区区域,选取13.56 MHz的IC卡,然后点击克隆到UID,进行数据写入,16个扇区的数据都能写入。

2.2 金额卡容易被复制或修改金额的安全隐患

很多学校的饭卡和开水卡等金额卡都存在巨大的隐患。笔者利用某学校的开水卡(金额卡)来揭露该学校的金额卡的安全隐患。使用的工具是win10系统计算机一台,proxmark3读写器一个,某学校金额卡一张,以及空白的IC卡一张。

表1 禁用驱动签名步骤表

图1 配套GUI软件COM端设置图

图2 配套GUI软件一键解析图

图3 配套GUI软件克隆功能截图

首先将proxmark3读写器设备与计算机连接,然后打开Proxmark3_EASY_GUI软件,将水卡放在proxmark3设备上进行数据读取,然后导出到编辑区。这时候读取到的这张金额卡的余额为50.00元。然后我们使用这张金额卡到开水机去消费,消费一会儿后,余额为12.08元后,停止消费。然后将刷卡后的开水卡放在proxmark3读写器设备上进行二次读取,同时导出到编辑区。这样获取到两次不同金额的金额卡数据,点击Proxmark3_EASY_GUI软件的对比数据按键进行对比。通过对比我们可以快速定位金额的数据块区域,如图5所示。

这时候可以看到金额区域已经被分析标注出来了。分析出来的数据都是16进制的数据,需要我们进行进制转换运算操作,将16进制数据转换成10进制。16进制的04A8转换成10进制就是1 208,对应着12.08金额卡;16进制的1 388转换成10进制就是5 000,对应着50.00金额卡。攻击者会进行复制,直接将原本的金额直接克隆写入到新的IC卡中,实现伪造标签。攻击者也可能会修改金额数据,写入到新的IC卡中,达到修改金额这一目的。

以上就是大部分学校的金额卡的安全隐患,很多时候攻击者只需要对比两次数据就能轻而易举的攻破金额卡,甚至修改数据,然后申请提现获取暴利。

3 改进措施

3.1 采用安全性高的CPU模拟卡

CPU卡和IC卡表面上看上去没有任何区别,主要的区别就是在于卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统COS,而国产的通用的IC卡内部没有微处理器。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。所以CPU卡的安全性能比IC卡要高出很多。

3.2 采用数据全加密

对各个扇区里的数据进行加密,控制字、密钥A以及密钥B都设置成相对复杂的密码。

图6为读取的金额卡,可以通过计算机连接prox-mark3读写器对这张IC卡进行数据修改,可以看到这张金额卡扇区的密码多都是默认密码00000000000,没有进行全加密;其次控制字都采用国产IC卡的默认密码078069,这种IC配置不可取。建议配置发卡的时候用全加密卡,勿用默认密码配置,防止被非法人士破解。

图4 配套GUI块区截图

图5 金额卡数据分析对比图

图6 金额卡块区数据写入截图

4 结论

本文利用proxmark3读写器对日常生活中使用的射频识别系统进行了实验研究。实验结果标明,日常生活中使用的射频识别系统存在一定的安全隐患,门禁卡容易被非法复制,金额卡的金额容易被非法人士恶意修改,采用CPU模拟卡或者采用数据全加密的改进措施,可大大提高射频识别系统的安全性。

猜你喜欢
读写器IC卡射频
工商业IC卡控制器改造为物联网控制器实践
5G OTA射频测试系统
宁波轨道交通AFC系统读写器测试平台设计
低场核磁共振短死时间射频线圈与射频开关的设计
关于射频前端芯片研发与管理模式的思考
一种高频RFID读写器的设计
一种增强型RFID 双向认证协议∗
腹腔镜射频消融治疗肝血管瘤
长春开通公交IC卡充值平
论基层央行推进金融IC卡行业 应用发展的困境与建议