RFID wiki

0x01 RFID是什么

RFID是Radio Frequency Identification的缩写,即射频识别,俗称电子标签。

0x02 什么是RFID技术

RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。 RFID是一种简单的无线系统,只有两个基本器件,该系统用于控制、检测和跟踪物体。系统由一个询问器(或阅读器)和很多应答器(或标签)组成。

0x03 RFID的分类

RFID按应用频率的不同分为低频(LF)、高频(HF)、超高频(UHF)、微波(MW),相对应的代表性频率分别为:低频135KHz以下、高频13.56MHz、超高频860M~960MHz、微波2.4G,5.8G RFID按照能源的供给方式分为无源RFID,有源RFID,以及半有源RFID。无源RFID读写距离近,价格低;有源RFID可以提供更远的读写距离,但是需要电池供电,成本要更高一些,适用于远距离读写的应用场合。

0x04 什么是RFID的基本组成部分

标签(Tag):由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象; 阅读器(Reader):读取(有时还可以写入)标签信息的设备,可设计为手持式或固定式; 天线(Antenna):在标签和读取器间传递射频信号。

0x05 RFID技术的基本工作原理是什么

RFID技术的基本工作原理并不复杂:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无源标签或被动标签),或者主动发送某一频率的信号(Active Tag,有源标签或主动标签);解读器读取信息并解码后,送至中央信息系统进行有关数据处理。 一套完整的RFID系统, 是由阅读器(Reader)与电子标签(TAG)也就是所谓的应答器(Transponder)及应用软件系统三个部份所组成, 其工作原理是Reader 发射一特定频率的无线电波能量给Transponder, 用以驱动 Transponder电路将内部的数据送出,此时 Reader 便依序接收解读数据, 送给应用程序做相应的处理。 以RFID 卡片阅读器及电子标签之间的通讯及能量感应方式来看大致上可以分成, 感应偶合(Inductive Coupling) 及后向散射偶合(Backscatter Coupling)两种, 一般低频的RFID大都采用第一种式, 而较高频大多采用第二种方式。 阅读器根据使用的结构和技术不同可以是读或读/写装置,是RFID系统信息控制和处理中心。阅读器通常由耦合模块、收发模块、控制模块和接口单元组成。阅读器和应答器之间一般采用半双工通信方式进行信息交换,同时阅读器通过耦合给无源应答器提供能量和时序。 在实际应用中,可进一步通过Ethernet或WLAN等实现对物体识别信息的采集、处理及远程传送等管理功能。应答器是RFID系统的信息载体,目前应答器大多是由耦合原件(线圈、微带天线等)和微芯片组成无源单元。

0x00 RFID常见种类

0x01 低频卡, 主要是指125k或者134kHz的卡片,其实低频卡有id卡和更复杂的卡片.

我主要接触的低频卡有以下几种常用的:

ID卡大部分属于低频卡,一般情况下作为门禁卡或者大部分大学里使用的饭卡,一般为厚一些的卡,是只读的,卡里面只保存有一串唯一的数字序号ID,可以把这串数字理解为你的身份证号,刷卡的时候,读卡器只能读到ID号,然后通过跟后台数据库进行匹配,如果是门禁卡,那么数据库里面就是存在这样的ID号,如果匹配上门就开了,匹配不上门就开不了。

也有大学餐厅饭卡是IC卡,一卡通是IC卡。例如我校餐厅饭卡是IC卡,只存卡ID号,余额,校验值,各区密码。一卡通存有学号,余额,时间 等 数据是存储在卡中,然后把消费记录上传的财务处的服务器中。

Em410: 简单来说他用曼彻斯特编码循环发送一组64bits的数据。64bits内部的含义去除各种校验位,起止位以后,表示5个byte。

Hid: 简单来说,用fsk编码循环发送一组数据(多少位是可变的), 相同时间段内8次波动和10次波动分别表示0或者1。

T55x7: 这个卡可以形象的想做低频卡里的万精油, 有1个配置段,7个数据段(最后一个可以兼容密码段),和几个trace段 (印象里每个段都是32bits), 写的编码都一致,读的编码根据配置的编码来.

0x02 高频卡,主要是指13.56Mhz 的rfid卡

常见的有以下几种:

完全符合14443a的卡片: 非常多的CPU卡符合这个标准

部分符合14443a的卡片: 比如常用的M1 (S50, S70),就属于这类卡片, 对于M1, 他的物理层和防冲突协议都是用14443a的,但是内容交换协议是nxp私有的。

完全符合14443b的卡片: 很多交通卡符合这个标准, 第2代个人身份证也属于这个标准, 14443a/b 基本都是使用apdu和卡片做通讯和命令交换。

支持nfc的卡片:绝大多数14443a/b的卡片,sony的felica,还有些别的符合nfc标准, m1其实不在nfc标准内,但是nxp的芯片基本都可以支持它

0x03 CPU卡:

这个就厂商多了去了,大多数符合建设部标准,或pboc标准。 这些标准简单来说就是实现了某些特定的APDU API。

CPU卡相当于低频里的T55x7, 非常牛逼的卡。 不过典型的卡COS都是固化进ROM的,表示里面的code不能修改,这个不够牛逼 更好的卡其实是可以改COS的CPU卡,简单来说,这种CPU卡COS是写在EEPROM里的,可以多次修改,给大家非常大的自由度。 (这个绝对是研究高频卡的人的究极道路,可以做很多事情,我们可以叫他神卡,因为基本无所不能, taobao上卖的有些卡是基于这种卡做的, 以后可以详细分析) (很多人玩proxmark, 其实这个卡从使用角度比proxmark方便很多,而且功能也不弱[仅13。56Mhz来说], usability更是牛逼的不得了)
信用卡: 国外很多信用卡也是这个频率的, paywave或者别的卡,国外已经有很多这方面的研究, 以后也可以展开讨论。 不过这个国内应用不多。

secure element: 这个是很多android手机里的一个芯片,可以模拟TAG, google wallet就是基于这个芯片的, 以后也可以展开。 (由于非实时操作系统的时序问题,靠nfc芯片来模拟比较不可行,openpicc这种基本都是失败的,所以这个是王道)

0x04 磁条卡

这个大家都很熟悉,信用卡,星巴克卡,很多会员卡都是这种,一般上面就一个id,只读的,可以复制这个id到别的卡上。但id相应的数据一般是服务器端的。

0x05 接触式卡

接触式卡一般分开接触式逻辑卡和接触式CPU卡,区别就是有没有COS。 理论上接触式卡和高频的非接触式卡,cos的大部分都是一样的,只有通讯相关的不一样,因为不需要防冲突等。

典型的中石油卡,各种芯片卡都是这种,甚至我们所用的手机卡,其实也算接触式卡,新的手机卡很多都是接触式CPU卡。

PSAM卡也是其中的一类CPU卡,被放在读卡器里提供密码和算法等功能。 长相和手机里的SIM卡长的也一样。引脚定义到处可以找到。

逻辑卡的话,常用的有4442,4428等,主要内部有一些存储,但相对保护比较简单。

扩展阅读

RFID安全协议
RFID探讨 M1

引自

	radiowar
Written on November 13, 2016