张 帅 李焦明 谢 敏
(南京科技职业学院 南京 210048)
近年来,射频识别技术在物流、零售、制造业、医疗、交通、防伪、身份验证等领域得到了广泛地应用。但安全隐患也随之出现:窃听、数据篡改、复制、电子欺骗。加强射频识别系统的安全性势在必行。
RFID是一种简单的技术,可以识别任何物体(OOI)。除了将标签简单地应用于实体之外,使用具有唯一识别码的RFID标签可以容易地嵌入到对象(OOI)中以进行识别。RFID是一种射频技术,通过天线在标签和阅读器之间发送数据。以这种方式,可以容易地获得关于主题(OOI)的标签相关信息。
当RFID标签中的电路具有足够的能量时,它将开始在接收器的接收领域内发送和配对信号。这种方法与其他静态辨别技术区别的地方是它是一种LOUD ID技术。此功能使某些库存管理和位置问题变得简单,这就是RFID非常适合跟踪,跟踪和库存管理功能的原因。目前国产的一些门禁射频识别系统、以及金额卡刷卡式消费系统都存在很大的安全隐患。其中涉及到门禁卡被恶意复制,金额卡里的金额数据被恶意复制甚至修改现象,给使用该系统的商家造成了巨大的损失。现在已有的解决方案,就是增强人员监控,数据传输的加解密采用以进制转换为主的简单算法。
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个扇区的数据都能写入。
很多学校的饭卡和开水卡等金额卡都存在巨大的隐患。笔者利用某学校的开水卡(金额卡)来揭露该学校的金额卡的安全隐患。使用的工具是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卡中,达到修改金额这一目的。
以上就是大部分学校的金额卡的安全隐患,很多时候攻击者只需要对比两次数据就能轻而易举的攻破金额卡,甚至修改数据,然后申请提现获取暴利。
CPU卡和IC卡表面上看上去没有任何区别,主要的区别就是在于卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统COS,而国产的通用的IC卡内部没有微处理器。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。所以CPU卡的安全性能比IC卡要高出很多。
对各个扇区里的数据进行加密,控制字、密钥A以及密钥B都设置成相对复杂的密码。
图6为读取的金额卡,可以通过计算机连接prox-mark3读写器对这张IC卡进行数据修改,可以看到这张金额卡扇区的密码多都是默认密码00000000000,没有进行全加密;其次控制字都采用国产IC卡的默认密码078069,这种IC配置不可取。建议配置发卡的时候用全加密卡,勿用默认密码配置,防止被非法人士破解。
图4 配套GUI块区截图
图5 金额卡数据分析对比图
图6 金额卡块区数据写入截图
本文利用proxmark3读写器对日常生活中使用的射频识别系统进行了实验研究。实验结果标明,日常生活中使用的射频识别系统存在一定的安全隐患,门禁卡容易被非法复制,金额卡的金额容易被非法人士恶意修改,采用CPU模拟卡或者采用数据全加密的改进措施,可大大提高射频识别系统的安全性。