首页 > 代码库 > 另一种角度看《RFID Advanced Security》首部曲

另一种角度看《RFID Advanced Security》首部曲

机缘巧合,有幸看到了不少关于RFID的资料,并且有幸看到了《RFID Advanced Security》这份PDF,听说这是国内安全大会上比较早出现关于RFID的议题。又听说这份是乌云内部的高级教程,文章内容单薄是无可厚非,毕竟是演讲,单单时间上来说不可能什么都讲。看完了以后实在有点不(fei)知(yi)所措(si),因为槽点实在是太多了。

文章分成4大块,分别为“RFID Basic Knowledge、RFID Basic System Security、RFID Multiple System Security、Information Tags System Security” 那我也跟着那篇文章的大纲来边稍微丰富边稍微吐槽吧。(摘自《RFID Advanced Security》原文的内容用红色标记出来)。

RFID Basic Knowledge

0×00 What’s The RFID?

射频识别即RFID (Radio Frequency IDentification)。一套RFID系统至少由两部分:应答器(Transponder)、询问器(Interrogator)or 阅读器(Reader)。Reader通常由射频模块(接受和发送)、控制单元和耦合元件组成,并且很多Reader都有附加的接口(RS 232,RS485,USB,etc)。Transponder 代表着在RFID系统中真正携带数据的设备,常见的Transponder由集成电路和耦合元件组成。

图1 每个RFID系统中的Reader和Transponder存在的形式[摘自RFID handbook] 

下面这张图是《RFID Advanced Security》?里面介绍”RFID的距离、协议和频段”的表格,咋一看感觉还挺算回事。可是仔细一看槽点就出现了。有种牛头不对马嘴的样子。让我觉得有点不(fei)知(yi)所措(si)。 

原PDF图1:协议、距离、频段

经过查找协议原文和搜寻论文资料。发现ISO/IEC 14443ISO/IEC 15693所规定无线接口的载波频率都为13.56MHz这两个协议不存在低频载波频率,所以表上所写的125-135.2kHz与125-135kHz是错误的,所以。而ISO/IEC 18000主要适用于射频识别技术在单片管理中的应用。该协议主要定义了RFID空中接口协议标准。摘选上述提到的协议介绍。

相信看到这边即使没有深入去看协议的内容单看红色标记与原文表格对比都会感觉到一股莫名的违和感。

按无线电波频谱分类及对应的协议

表4:按频谱分类

表1、2、3、4都摘于《ISO RFID Standards: A Complete List》更多协议请到rfid.net查看。

单单从协议上来吐槽那个表格已经有太多槽点了。文章第一部分的RFID基础知识的“What’s the RFID”就这样完了。

业内现在不区分Tag和Transponder,Tag(标签)= Transponder 。(在这篇文章,为了表述一致,“数据获取设备”被称为Reader。eg:读卡器)

Tag(标签)按照有无电池分为主动式和被动式两种。Tag和线圈或天线结合后再经封装,能制造许多造型,应用于许多领域上。常见的造型:卡片型、贴纸型、钥匙圈型、注射圆筒型、手环型、硬币型。

Reader 按照使用需求可以分为两类:

1、固定式:固定式的Reader可置于卖场出口、卖场货架、仓库出入口、机场、图书馆出口或用于门禁系统。

2、手持式:便于携带。

0×01 Some RFID Tags 

说实在的我不知道这个部分独立出来表述有什么重要的地方,特别是他介绍Tag时只列举了2个类型的卡,先抛开单薄的知识展示不说,第一个竟然是一种类型叫做“Mifare Ultra Card”这又让我觉得不(fei)知(yi)所措(si)。MIFARE Ultralight产品线有”MIFARE Ultralight EV1、MIFARE Ultralight、MIFARE Ultralight C”严谨一点的话应该指出是MIFARE Ultralight还是MIFARE Ultralight Production Family中的某一个产品。我犹豫了一下想理所当然的把它以为成是最接近下面参数的MIFARE Ultralight Card,可是那文章应该是大会上议题的演讲稿,不应该出现这么不负责的措辞。后面查阅完NXP Semiconductors的资料,姑且就把它先当成Ultralight吧。对于Ultralight Production Family右图8第二行的“ No key”,是不适合MIFARE Ultralight C Card根据NXP Semiconductors“MIFARE Ultralight C Product short data sheet”里说明了这货是支持”3DE算法”。根据“MIFARE Ultralight EV1 - contactless ticket IC Productdata sheet”里说明MIFARE Ultralight EV1是可选密码的。

虽然我没有机会听到原作者在大会上的演讲,不过我看着第九张图的前两行应该是在讲述MIFAREClassic Card的存取控制,但这个存取控制绝对没有图上那么简单。MIFAREClassic Card的块分为厂商块(Manufacturer block)(UID可改写的MIFARE Classic Card就是这个块可被改写)和数据块(Datablocks)。而数据块又可以分为可以读/写的块和值块。值块除了读/写还可以进行加值、减值、传输、储存的动作。而这些操作都和每一个扇区的尾块(Sectortrailer)有关系。尾块包含了KeyA,存取控制位(AccessBits),KeyB(可选)。更详细的MIFAREClassic Card的扇区结构和存取控制请查阅MIFARE Classic Card Datasheet里面“Memoryorganization”这一节和《射频识别技术漫谈》的第13和14篇。Block的操作没有原文写的那么单纯。 

图13 MIFARE 系列芯片部分产品的特性概览

想要查阅官方更完整的NXP  MIFARE Smart Card  ICs 产品特性请搜索MIFARE_ICs_939775017001_v9_HR.pdf

在说完这仅仅两个类型的卡存在容易让人误解的地方之后。我很不(fei)知(yi)所措(si) ,因为再往下翻就是下一部分“RFID Basic System”的内容了。心里想(裤子都脱了你只给我看这个?)Tag那么多类型,这边就只列出了MIFARE系列中的两种。既然这个是演讲稿就不强求了。

RFID Basic System Security&RFID Multiple SystemSecurity

接下来我们看看第二部分。我们跳到原文所指的,也就是下图所示的读卡器和数据接收反馈中间件中间件中间的这个红色“数据传输渠道”

原文在这边提到“Data Transmission” 里分为有线网络(搭线攻击)和无线网络(计算机无线网络安全攻击)如果我在没有进一步了解这些概念之前,我也可能也会被蒙蔽,觉得可能真的是可能在“RFID System” 里出现的问题。但是他说的这两部分都不能算在RFID System里面。如果像这样强加进去,这在混淆概念就好像“一台公司的服务器到用户之间线路如果被人一锄头挖断了,我就要说这是你公司这边没有做好安全措施,所以出现了安全隐患。”当然了这时候ISP有话说。

而接下来这样混淆概念的问题占据了剩下文章的大部分。比如把后端的数据库安全硬塞进来。后端不安全关RFID System什么关系?让我再次不(fei)知(yi)所措(si)。实在想不通,我只能偷偷的猜测作者还没有理解概念吧。再往下看觉得这句挺牛逼的,觉得“攻破”这词太酷炫了。攻破S70卡就能攻破一卡通系统。据我所知一卡通系统都会有一些针对异常数据的防御,这个“攻破”的逻辑比较难理解。

而接下来更让我不(fei)知(yi)所措(si)了。作者提到了“卡与卡之间的数据库共用”。举了校园卡和银行卡的绑定。这样的绑定大部分只是为了方便校园卡的充值。而数据库共用大家肯定都匪夷所思了。

后面又提到了“业务功能共用”这又和上面一样,后端应用系统的问题又要赖到RFID 系统上了。

Information Tags System Security

进入最后一部分了。这部分是觉得最不(fei)知(yi)所措(si)的是OWASP 2011 亚洲峰会会议的演讲上的”RFID Security” 竟然如此明目张胆的出现这么不专业凑字数的情况。看到最后一部分我已经不知道作者到底知不知道RFID是啥了。”RFID Security“ 里 ”Information Tags System Security “里讲的Tag竟然出现了一维码、二维码、接触式卡。这就好像我们在介绍”天上可以飞的有:小鸟,大象,猪,乌龟“(当然了,我这不是在侮辱猪、大象和乌龟,因为他们几个真的飞不起来。)

写在后面:

写这篇文章的时候也在作者博客得知了作者说了当时在大会上的演讲的版本可能是不完整的。但我相信不完整和混淆概念是两码事。对于我自己来说的话,如果我有机会去到那样的地方去演讲,我肯定会不只准备”一个月“。文章已经吐槽很多地方了,就不对这篇文章标题的”Advanced”这个单词进行吐槽了。