En

RFID安全技术探讨

作者:riusksk公布时间:2014-06-19阅读次数:17309评论:2

分享

 

频发的RFID攻击事件

 



      

近几年来,国内外频发各种RFID攻击事件,一些黑客利用RFID技术破解各种消费卡、充值卡,然后盗刷恶意充值消费卡,有些人也因此获刑了。现在是物联网推动着移动互联网发展,很多手机终端也被嵌入NFC功能,用于公交、移动支付等等,很多的安全问题也逐步被曝露出来,在未来也可能会曝露出更多的问题。



RFID攻击模拟效果

 

1、卡数据嗅探

 

       多数人身上一般都会携带有各类射频卡,里面可能一些个人信息,或者门禁监控系统的验证信息。一些攻击者可能通过一些设备,去读取受害者身上的射频卡信息(能否读取成功就取决于射频卡的通讯距离了),然后通过将这些数据写入空白卡或者其它方式进行重放攻击,就可以获取他人的身份验证或者其它敏感信息。


2、模拟卡数据重放

 

由于卡上uid不可写(特种卡除外),对于一些加入uid识别的读卡系统,有时需要模拟卡片数据才能绕过验证,这些借助proxmark3即可实现。比如下图是用于模拟某高频卡的UID值:



通过读卡器成功读取到Proxmark3发出的数据信号:





3
、卡复制

 

在很多门禁卡中,经常使用存储器头部的uid值作为一个判断值,如果我们直接将它写入一张空白卡中,就可复制出一张卡来通过门禁。但由于多数卡的uid部分是不可写,因此必须使用到uid可写的特种卡,至于如何获取到这种卡,大家自行百度下。下图是使用复制卡打开门禁的截图:


下图是复制包含消费金额的餐卡:




4
、卡数据破解与篡改

 

       一些Mifare Classic卡(比如A类卡)很早之就已经被破解出来,但目前使用仍是很广泛,很多公司、学校的门禁、餐卡、一卡通都仍在使用这类芯片卡。


下面是某食堂餐卡被破解后获取到的数据,只有第1扇区存在数据。通过多次充值、消费等数据的对比,得到以下结果:

 


1、
余额值有两个字节,前1字节代表几角,后1字节代表256的倍数,其计算单位也是角,比如充值前余额为64 00,即代表余额0x64 = 100 = 10元;充值后余额为58 02,即代表余额0x58 + 2*256 = 60元。


2、
检验值也是由2个字节构成,比如上面的AE 01,通过数据对比,发现在充值后该值与金额变化无关,而跟消费日期有关,因此我们可以直接修改下方余额来达到充值的目的,因为充值的时候并不会改变上面的消费日期,省去分析检验值的计算原理的步骤。

 

比如我们打算给上面的60块餐卡充值,使其余额达到256元,那么可以直接将上面的58 02修改为00 0A


测试结果:


RFID
为何物

 

用学术派的话来讲,就是“射频识别,(Radio Frequency IDentification,简称RFID)技术,是一种无线通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。”这种概念对于多数人来说可能不太好理解,但如果直接用下图来描述,应该就更直观了,就是帮助用户图方便、图省事的隔空交互技术。常见的RFID产品有交通卡、门禁卡、借书卡、动物身份标签、电子车票等等。


RFID
主要由3部分组成:标签、阅读器、天线(有时也包括中间件),如下图所示(源自网络)。读卡器通过内置天线发送一定频率(包括低频、高频、超高频及微波,其中高频13.56MHz在生活中可能比较常见)的无线电信号,当射频标签(比如交通卡)进入读卡器的磁场感应范围后,读卡器就可以获取标签中的相关信息。

RFID与NFC有何关系

 

       相信很多人分不清RFID与NFC(近距离无线通讯技术)的关系,在微博或文章中经常看到两者被混为一谈的。大体可以用以下几点来说明:

 

1、NFC本身就是基于RFID演变而来的,RFID勉强可以算是NFC“他爹”;

2、频段差异:NFC仅限于13.56.MHz高频段,不像RFID有较多频段可选;

3、通讯距离差异:NFC大多在10厘米以内,而RFID可能扩展到几十米;

4、工作模式差异:NFC可被当作射频卡、阅读器或者点对点模式来使用,因为它把非接触读卡器、非接触卡和点对点功能都整合到同一块单芯片中,不像RFID需要阅读器和标签组成,因此NFC会更轻巧便捷,更注重信息的交互;

5、应用场景差异:RFID更多被运用于生产、物流、资产管理等,更适合厂商企业,而NFC则更多运用在公交、门禁、手机支付上,更适合平民大众。

 


防御方案探讨

 

      很多时候,我们都是把各种射频卡放在钱包里,因此国外有家厂商就利用不锈钢制作出一款可防御RFID黑客的钱包,价格在100美元左右,据说薄如皮质,触如丝绸,土豪们可以网购一个试试。它主要是利用“法拉第笼”的原理去屏蔽外电场的干扰,从而防止钱包内的RFID卡被外界读取到。






除此之外,以下几点也许可以作为一个参考:

 

1.     避免使用Mfiare Classic芯片卡,而采用更强加密算法的芯片卡,比如CPU卡;

2.     涉及金额等敏感数据应进行加密处理,禁止明文存储;

3.     读卡器与后端主机数据库实行线上作业,采用即时连线的方式进行系统核查;

4.     结合uid进行加密,并设置uid白名单,提高攻击者破解成本,但可能被特殊卡绕过;

5.     对全扇区采用非默认密码加密,提高破解成本,但可能通过DarkSide方式暴力破解。


评论留言

提交评论 您输入的漏洞名称有误,请重新输入