网络安全攻防:RFID安全

1. 智能卡


(1)RFID简介
无线电信号是通过调成无线电频率的电磁场,把数据从附着在物品上的标签上传送出去,以自动辨识与追踪该物品。某些标签在识别时从识别器发出的电磁场中就可以得到能量,并不需要电池;也有标签本身拥有电源,并可以主动发出无线电波(调成无线电频率的电磁场)。标签包含了电子存储的信息,数米之内都可以识别。与条形码不同的是,射频标签不需要处在识别器视线之内,也可以嵌入被追踪物体之内。
因为机械接触在某些应用场景中极不方便,所以RFID技术用无线通信替代智能卡的机械接触。RFID 的基本原理是先生成相应频率的无线电信号,之后使用调制器将数据按照特定编码规则加入其中,然后通过天线传送出去,读卡器通过读卡天线接收到信号后,就可以解码出数据。RFID芯片卡被广泛应用,如高速公路ETC系统、门禁、物流电子票签、带QuickPass的银行卡等。
许多行业都运用了射频识别技术。将标签附着在一辆正在生产中的汽车,厂家可以追踪此车在生产线上的进度:仓库可以追踪药品的所在;射频标签也可以附于牲畜与宠物上,方便对牲畜与宠物的积极识别(积极识别的意思是防止数只牲畜使用同一个身份);射频识别的身份识别卡可以使员工得以进入锁住的建筑部分,汽车上的射频应答器也可以用来征收收费路段与停车场的费用。
RFID 技术的基本工作原理并不复杂。标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag无源标签或被动标签),或由标签主动发送某一频率的信号(Active Tag,有源标签或主动标签),解读器读取信息并解码后,送至中央信息系统进行有关数据处理。
一套完整的RFID系统是由阅读器、电子标签也就是所谓的应答器及应用软件系统3个部分所组成,其工作原理是阅读器发射一特定频率的无线电波能量,用以驱动电路将内部的数据送出,此时阅读器便依序接收解读数据,送给应用程序做相应的处理。
RFID 卡片阅读器及电子标签之间的通信及能量感应方式大致上可以分为感应耦合及后向散射耦合两种。一般低频的RFID大都采用第一种方式,而较高频RFID大多采用第二种方式。
根据使用的结构和技术不同,阅读器可以是读或读/写装置,是RFID系统信息控制和处理中心。阅读器通常由耦合模块、收发模块、控制模块和接口单元组成。阅读器和应答器之间一般采用半双工通信方式进行信息交换,同时阅读器通过耦合给无源应答器提供能量和时序。在实际应用中,可进一步通过Ethernet或WLAN等实现对物体识别信息的采集、处理及远程传送等管理功能。应答器是RFID系统的信息载体,应答器大多是由耦合原件(线圈、微带天线等)和微芯片组成无源单元。
(2)NFC
NFC 近场通信技术是由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。工作频率为13.56 MHz,但是使用这种手机支付方案的用户必须更换特制的手机。
NFC芯片具有相互通信功能,并具有计算能力,在Felica标准中还含有加密逻辑电路,MIFARE的后期标准也追加了加密/解密模块(SAM)。
NFC标准兼容了索尼公司的FelicaTM标准,以及ISO 14443 A/B,也就是使用飞利浦的MIFARE标准。在业界简称为TypeA、TypeB和TypeF,其中,A、B为MIFARE标准,F为Felica标准。
与RFID一样,NFC信息也是通过频谱中无线频率部分的电磁感应耦合方式传递,但两者之间还是存在很大的区别。首先,NFC 是一种提供轻松、安全、迅速的通信的无线连接技术,其传输范围比RFID小。其次,NFC与现有非接触智能卡技术兼容,已经成为得到越来越多主要厂商支持的正式标准。再次,NFC 还是一种近距离连接协议,提供各种设备间轻松、安全、迅速而自动的通信。与无线世界中的其他连接方式相比,NFC是一种近距离的私密通信方式。
NFC与RFID区别如下。
1)NFC将非接触读卡器、非接触卡和点对点功能整合进一块单芯片,而RFID必须由阅读器和标签组成。RFID只能实现信息的读取以及判定,而NFC技术则强调信息交互。通俗地说,NFC就是RFID的演进版本,双方可以近距离交换信息。NFC手机内置NFC芯片,组成RFID模块的一部分,可以当作RFID无源标签使用进行支付费用;也可以当作RFID读写器,用作数据交换与采集,还可以进行NFC手机之间的数据通信。
2)NFC传输范围比RFID小,RFID的传输范围可以达到几米,甚至几十米,但由于NFC采取了独特的信号衰减技术,相对于RFID,NFC具有距离近、带宽高、能耗低等特点。
3)应用方向不同。NFC更多针对消费类电子设备相互通信,有源RFID则更擅长长距离识别。
随着互联网的普及,手机作为互联网最直接的智能终端,必将会引起一场技术上的革命,如同以前蓝牙、USB、GPS等标配,NFC将成为日后手机最重要的标配,通过NFC技术,手机支付、看电影、坐地铁都能实现,将在人们的日常生活中发挥更大的作用。
(3)智能卡
智能卡(Smart Card)是内嵌有微芯片的塑料卡(通常是一张信用卡的大小)的通称。一些智能卡包含一个微电子芯片,智能卡需要通过读写器进行数据交互。智能卡配备有CPU、RAM和I/O,可自行处理数量较多的数据而不会干扰到主机CPU的工作。智能卡还可过滤错误的数据,以减轻主机CPU的负担,适应于端口数目较多且通信速度需求较快的场合。卡内的集成电路包括中央处理器CPU、可编程只读存储器EEPROM、随机存储器RAM和固化在只读存储器ROM中的卡内操作系统COS(Chip Operating System)。卡中数据分为外部读取和内部处理部分。
根据卡片类型可以分为IC卡(使用最为广泛)、ID卡(逐步淘汰中)和CPU卡(发展趋势)。
根据是否具有运算能力,智能卡可分为存储式芯片卡和CPU卡,存储式芯片卡包含一个EEPROM,部分还包含加密算法,这种卡一般应用在对成本较敏感的大范围系统中。CPU卡包含一个CPU和一个存储芯片(如ROM、RAM、EEPROM),这种卡一般应用在安全性要求较高的系统中。
智能卡基面多为PVC材质,实际起作用的是内里的线圈或芯片。
从功能上来说,智能卡的用途可归为如下4点。
1)身份识别。运用内含微计算机系统对数据进行数学计算,确认其唯一性。
2)支付工具。内置计数器(Counter)替代货币、红利点数等数据。
3)加密/解密。在网络迅速发展的情况下,电子商务的使用率亦大幅成长,部分厂商表示,网络消费最重要的在于身份的真实性、资料的完整性、交易的不可否认以及合法性,密码机制如DES、RSA、MD5等,除可增加卡片的安全性外,还可采用离线作业,以降低网络上的通信成本。
4)信息处理。由于GSM移动电话的普及,SIM卡需求量大增,加速智能卡的技术发展,使移动电话从原来单纯的电话功能,延伸到今天的网络联机等功能。2. 高频IC卡
IC卡全称集成电路卡(Integrated Circuit Card,可读写,容量大,有加密功能,数据记录可靠,使用更方便,应用广泛,如一卡通系统、消费系统、考勤系统等,目前主要有Philips的MIFARE系列卡。
IC卡是继磁卡之后出现的又一种信息载体。一般用的公交车卡就是IC卡的一种,常见的IC卡采用射频技术与支持IC卡的读卡器进行通信。IC卡与磁卡是有区别的,IC卡是通过卡里的集成电路存储信息,而磁卡是通过卡内的磁力记录信息。IC卡的成本一般比磁卡高,但保密性更好。
IC卡工作的基本原理是:射频读写器向IC卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2 V时,此电容可作为电源为其他电路提供工作电压,将卡内数据发射出去或接收读写器的数据。
IC 卡核心是集成电路芯片,是利用现代先进的微电子技术,将大规模集成电路芯片嵌在一块小小的塑料卡片之中。其开发与制造技术比磁卡复杂得多。IC 卡主要技术包括硬件技术、软件技术及相关业务技术等。硬件技术一般包含半导体技术、基板技术、封装技术、终端技术及其他零部件技术等;而软件技术一般包括应用软件技术、通信技术、安全技术及系统控制技术等。
按照IC卡与读卡器的通信方式,可将IC卡分为接触式IC卡和非接触式IC卡两种。接触式 IC 卡通过卡片表面 8个金属触点与读卡器进行物理连接来完成通信和数据交换。非接触式IC卡通过无线通信方式与读卡器进行通信,通信时非接触IC卡不需要与读卡器直接进行物理连接。
MIFARE卡是目前世界上使用量最大、技术最成熟、性能最稳定、内存容量最大的一种感应式智能IC卡。
MIFARE采用Philips Electronics所拥有的13.56 MHz非接触性辨识技术。Philips并没有制造卡片或卡片阅读机,而是在开放的市场上贩售相关技术与芯片,卡片和卡片阅读机制造商再利用它们的技术来创造独特的产品给一般使用者。
MIFARE经常被认为是一种智能卡的技术,这是因为它可以在卡片上兼具读写的功能。事实上,MIFARE仅具备记忆功能,必须搭配处理器,卡才能达到读写功能。
MIFARE智能卡一般分为两种,即MIFARE 1K和4K卡,区别在于,1K卡有EEPROM内存,分为4个扇区,每个扇区包含16个区块,一个区块大小为16 B,而4K卡提供了4 KB大小的EEPROM内存,分为4个扇区,每个扇区包含32个区块,还有余下16个扇区,每个扇区包含8个区块,共计256个区块,每个区块的大小同样为16 B。
MIFARE智能卡的第一个区块包含了一个独一无二的标识序列号(UID),这些数据根据供应商不同而不同,并且这个区块在正规出厂后是会被写保护的,无法进行二次擦写。每个扇区的最后一个区块,存储着访问Key和访问控制条件,这个区块并不存储普通用户数据。
MIFARE又可进行如下分类,如表1所示。

 

 M1 S50是国内最常用的卡,也就是我们俗称的IC卡。由Philips公司旗下NXP开发,国产也有兼容卡。TYPE:NXP MIFARE CLASSIC 1k | Plus 2k SL1 就代表这是M1 S50卡。这种卡片就像个小容量U盘,天生强制加密,密码不可以取消。厂家出厂会把密码设置成大家都知道的默认密码,如FFFFFFFFFFFF,方便使用。
M1 UID卡是针对M1 S50卡特制的变种卡,用起来和M1 S50完全一样,只是多了一个功能,就是0扇区块的数据可以随意修改。因此,UID号也可以随意修改,厂家信息也可以随意修改,UID卡因此得名。
3. 低频ID卡
ID卡全称身份识别卡(Identification Card),是一种不可写入的感应卡,含固定的编号,主要有中国台湾SYRIS的EM格式、美国HID、TI、Motorola等各类ID卡。
ID 卡属于大家常说的低频卡,大部分情况下作为门禁卡或大学里使用的饭卡,一般为厚一些的卡,是只读的,卡里面只保存有一串唯一的数字序号 ID,可以把这串数字理解为身份证号,刷卡的时候,读卡器只能读到ID号,然后通过跟后台数据库进行匹配,如果是门禁卡,那么数据库里面就是存在这样的ID号,如果匹配上,门就开了,匹配不上,门就开不了。
ID卡读卡器是用来读ID卡的,读卡器支持即插即用,在使用过程可以随意拔插,不用外加电源,用户不用加载任何驱动程序,Windows系统直接将其当成HID类设备键盘。计算机USB口接入读卡器后,读卡器“滴”一声开始自检及初始化,再“滴”一声初始化成功,进入等待刷卡状态。
打开一个记事本,或给定一个输入光标,然后将ID卡放置在ID卡读卡器上,发出“滴”的一声,就会将ID卡的UID写入到输入点。
ID读卡器读入UID,如下。
0004037634023958906900057913490005791349
ID卡是我们的俗称,分类如表2所示。内部芯片的全名叫EM4100或EM41XX,是低频卡,每张卡出厂就有独一无二的ID号,不可改写。HID Proxcard卡类似。

 

 T5577卡是一种可以写入数据可以加密的低频卡。最特别的是,写入ID号可以变为ID卡,写入HID号可以变为HID卡,写入Indala号可以变为Indala卡。4. Proxmark III
Proxmark Ⅲ是一款最初由Jonathan Westhues开发的开源硬件产品,用于窃听(双向)、读、写、模拟、克隆RFID芯片卡。通俗地说,这款产品就是一个用于测试高/低频RFID系统安全性的器件。
Proxmark Ⅲ几乎可以在低频(~125 kHz、134 kHz)或高频(~13.56 MHz)下做任何事情,可以作为读卡器、写卡器,可以监听一个合法读卡器和正常RFID智能卡之间的通信内容。因此,用户可以通过Proxmark Ⅲ保存监听到的通信信号,供后续仔细分析,或直接伪造出自己的卡信号,从而模拟出一张RFID智能卡。
Proxmark Ⅲ是一个开源的安全设备,故其内置的固件也因开源而不断地进行升级和修改,可以到 https://github.com/Proxmark/proxmark3 下载最新的固件代码进行升级。定期对客户端和硬件固件进行更新,可以使自己的固件拥有最新的特性,并能获得最新体验。固件如图1所示。

 

 使用Proxmark Ⅲ时,首先需要在电脑上安装驱动程序,支持WindowsXP、Win7、Win8和Win10。
Proxmark Ⅲ查看卡片信息,高频卡放置位置如图2所示。

 

 将高频ID卡放置在上述位置,单击“一键自动解析”按钮。即可获得IC卡的信息,如图3所示。

 

 从图3中可以看出这张高频IC卡是M1卡,UID为a015de80,还有其他区块信息以及Key。
将低频ID卡放置在读卡位置,单击“读ID/HID卡”按钮即可读取信息。如图4所示。

 

 可以看到卡片类型是ID卡,卡号是4900585E75,同时也可以在左下角的区域内看到更详细的信息。
低频非接触式 ID 卡主要应用于门禁、考勤等系统,使用很广泛,但是具有比较大的安全隐患,由于没有密钥安全认证的相关机制,所以只要对低频ID卡的编码/解码机制有所研究,就能够很容易地对这种类型的卡进行破解和复制。
普通ID卡的UID是写死的,只读不写,无法再进行更改,但是T5577卡是可以用来克隆ID卡的。
克隆方法如下。
先使用ID卡读卡器来读取一下这两张卡的UID,如下。
00023333330005791349
然后单击“克隆”按钮,如图5所示。

 

 将T5577卡放置在刚才低频ID卡放置的位置,然后单击“克隆ID卡”按钮即可,可以看到显示信息中的写入ID卡号,那么现在读取这张T5577卡,如图6所示。

 

 可以看出,新卡跟原来的那张低频ID卡的数据是一模一样的。再使用ID读卡器来读取一下两张卡的UID,如下。
00057913490005791349
可以看到克隆完全成功了,这时候的T5577卡完全可以代替原来的低频ID卡。

 

posted @ 2021-04-21 12:34  星火撩原  阅读(505)  评论(0编辑  收藏  举报