RFID的原理本身决定了其安全性。全球每一个RFID标签都具有一个全球唯一且不可复制、不可改写的标识码,即使不加密也可以作为有效的防伪标识。但是从另一个角度看,RFID作为一项自动识别技术,其本身并不是为安全防伪而设计的。单纯的标识码并不能保证商品的真实身份,只依靠RFID技术本身并不能消除所有的安全隐患,还需要建立其他的防伪机制,与RFID一起构建可靠的防伪系统。
(一)RFID标识编码
RFID内置的标识码采用的编码结构主要包括EPC编码体系和uID Center编码体系。
EPC(Electronic Product Code)中文名为产品电子代码,EPC是赋予物品的唯一的电子编码,其位长通常为64位或96位,也可扩展为256位。对不同的应用有不同的编码格式。EPC编码是由版本域名管理、对象种类、序列号四个字段组成的一组数字(一般采用十六进制)。表5-2-1是一个EPC-96I型标识码,该序列号唯一标识每一件货品,它会精确地告诉我们究竟是这一类商品中的哪一罐可乐。
表5-2-1 EPC编码
(1)版本号标识EPC的版本号,它使得以后的EPC可以有不同的长度或类型,实现更好的兼容性。
(2)域名管理是描述与此EPC相关的生产厂商的信息,例如“可口可乐公司”。
(3)对象分类记录产品的精确类型信息,例如“中国生产的330ml罐装健怡可乐”。
EPC码段的分配是由EAN/UCC(国际物品编码协会、美国统一代码委员会)来管理的,在物流领域已经成功地大规模应用。EPC标签数据规范1.1采用64位和96位,规范2.0采用96位和256位。目前已经推出EPC-96I,EPC-64I、II、III,EPC-256I、II、III等方案。以EPC-96I为例,域名管理区域有28个数据位,允许大概2.68亿家制造商。对象分类区域占24位,可容纳当前所有UPC库存单元的编码。序列号占36位,可容纳近700亿个产品对象。
日本主导的uID Center的泛在识别技术体系使用ucode识别码。它具备128位的充裕容量,并可以以128位为单元进一步扩展至256位、384位甚至512位。ucode的最大优势是能包容现有编码体系的编码设计,可以兼容多种编码。
(二)RFID电子标签安全机制
从原理上讲,利用标签标识码的唯一性,将其与商品本身的信息结合,即可实现商品的唯一识别。电子标签标识码存储于后台服务系统中,当消费者使用读写器读取电子标签数据后,读写器将标签的标识码发送至后台服务系统,后台服务系统对该请求进行防伪验证,搜索数据库并调出所需数据,数据由服务器加密后发送给读写器。这样,只要伪造者不能进入数据库,恶意获取的代码资料就没有任何意义的,另外,当标签被损坏后,信息将无法被读取,这将保护标签内容不被窃取,从而达到防伪目的。
标识码是厂商在生产时固化到芯片内部的,不可复制且不可更改。要伪造具有相同标识码的RFID标签,需要复制芯片。制作并复制芯片需要很高的半导体制造加工能力,其费用非常昂贵。具备生产复制RFID电子芯片能力的厂商,都严格恪守EAN/UCC对标识码的管理规定。如果违反相关规则,则会遭到巨额罚款。目前已有技术对低频电子芯片进行了破解和仿制。但低频电子芯片已经基本被淘汰,高度安全的高频、超高频电子芯片才是实际应用中的主流产品。
RFID标签属于智能芯片,芯片的类型可分为存储型、逻辑加密型和CPU型。一般来说安全性等级中存储型最低,CPU型最高,逻辑加密型居中。目前广泛使用的RFID电子标签中也以逻辑加密型居多。
1.存储型标签防伪机制
存储型RFID电子标签没有做特殊的安全设置,只有标识码是固化且不可更改的,内部存储区可存储一定容量的数据信息,不需要进行安全认证即可读出或改写。存储型标签常用在商品的追溯中,与二维码的应用类似,要求的是应用系统的完整性,而对于标签存储数据要求不高,多是应用唯一序列号的自动识别功能。伪造者可以轻易将信息写入一张空白的存储型RFID标签中或者修改一张现有的标签,也可以对数据做加密后写入芯片的存储区,这样信息的安全性主要由应用系统密钥体系安全性的强弱来决定,与前文介绍的二维码防伪系统类似。
2.逻辑加密型标签防伪机制
逻辑加密型的RFID电子标签具备一定强度的安全设置,内部采用了逻辑加密电路及密钥算法。可设置启用或关闭安全设置,如果关闭安全设置则等同存储型芯片。如启用一次性编程功能,就可以实现一次写入不可更改的效果,可以确保数据不被篡改。
还有一些逻辑加密型电子标签具备密码保护功能,这种方式是逻辑加密型的RFID电子标签采取的主流安全模式,设置后可通过验证密钥实现对存储区内数据信息的读取或改写等。有了安全设置功能,逻辑加密型的RFID电子标签还可以具备一些身份认证及小额消费的功能。如我国第二代身份证、Mifare公交卡等。但受成本的限制,其计算和存储能力比较低。采用这种方式的RFID电子标签使用密钥一般不会很长,一般为4字节或6字节数字密钥,加密算法也不会十分复杂。
逻辑加密型的RFID电子标签内部存储区一般按块分布,并有密钥控制位设置每数据块的安全属性。以Mifare one(M1)为例,逻辑加密型的RFID电子标签的密钥认证功能流程如下。
(1)RFID读写器向RFID电子标签发送认证请求。
(2)RFID电子标签收到请求后向读写器发送一个随机数B。
(3)读写器收到随机数B后向RFID电子标签回送一个数据包,其内容是使用要验证的密钥加密的B,以及读写器生成的另一个随机数A。
(4)RFID电子标签收到数据包后,使用芯片内部存储的密钥进行解密,解出随机数B并校验与之发出的随机数B是否一致。
(5)如果是一致的,则RFID使用芯片内部存储的密钥对A进行加密并发送给读写器。
(6)读写器收到此数据包后进行解密,解出A并与前述的A比较是否一致。
(7)如果上述的每一个环节都成功,则验证成功;否则验证失败。(www.xing528.com)
这种验证方式可以说是非常安全的,破解的强度也是非常大的,比如Mifare的密钥为6字节,也就是48位;Mifare一次典型验证需要6毫秒,如果在外部使用暴力破解的话,所需时间为数亿小时,常规破解手段将无能为力。
3.CPU型标签防伪机制
CPU型RFID电子标签的安全设计与逻辑加密型相类似,但安全级别与强度要高得多,CPU型RFID电子标签芯片内部采用了CPU,而不是如逻辑加密型芯片那样在内部使用逻辑电路。密钥验证的过程与上述相类似,也是采用随机数+密文传送+芯片内部验证的方式,但密钥长度为16字节。并且还可以根据芯片与读写器之间采用的通讯协议使用加密传送通信指令。
从严格意义上来说,此种电子标签应属非接触智能卡类。但其与应用广泛的RFID高频电子标签所使用的通讯协议相同,所以也可以归为RFID电子标签类。CPU类型的RFID电子标签具备极高的安全性,芯片内部采用了安全的体系设计,并且在应用方面设计有密钥文件、认证机制等,比前几种RFID电子标签的安全模式有了极大的提高,也保持着目前唯一没有被人破解的记录。这种RFID电子标签广泛应用于带有金融交易功能的系统中。
虽然标签标识码是唯一且不可更改的,但是标签中还存有其他商品信息可被修改。而且,无论标识码还是商品信息的验证,都需要通过读写器,经过网络通信向后台服务系统验证商品真实性。因此,对防伪能力要求更高的应用,还需要配合信息加密技术,提高系统级的防伪能力。
(三)RFID应用系统的安全机制
我们已经初步了解了RFID电子标签芯片的安全设计,那么它的安全模式真的就很安全吗?
2008年2月荷兰政府发布了一项警告,指出目前广泛应用的Mifare RFID产品赖以保证安全的密钥存在很高的风险。这个警告的起因是:德国学者Henryk Plotz和弗吉尼亚大学的在读博士Karsten Nohl,表示已破解Mifare的Crypto-1加密算法。利用普通的计算机在几分钟之内就能够破解出Mifare Classic的密钥,一时之间RFID电子标签的安全再度受到审视。
那么Crypto-1是怎么破解的?他们使用了反向工程方法,一层一层剥开芯片,分析芯片中近万个逻辑单元。他们发现了16位随机数发生器的原理,可以准确预测下一次产生的随机数,根据48位逻辑移位寄存器的加密算法,利用普通计算机向读卡器发送几十个随机数,就能够猜出标签的密钥是什么。国内有些地区也曾经出现Mifare交通卡被破解、被人私自充值的问题。其实那些破解更多的是针对系统而不是RFID电子标签本身,所以不会对其他地区和其他系统造成威胁和破坏。但是Nohl和Plotz所做的完全不同,他们几乎可以让Mifare Classic在一夜之间从这个地球上被淘汰。
能够看出,RFID电子标签尽管已经极力地做好了安全设计,但是还是被破解了(仅是Mifare,目前无人能破解CPU型的),那么RFID电子标签还安全么?RFID应用系统要怎么做才能保证和加强安全性呢?
最简单有效的答案就是RFID应用系统采用高安全等级的密钥管理系统,密钥管理系统相当于在RFID电子标签本身的安全性基础上再加上一层保护壳,这层保护壳的强度决定于建立在数学基础上的密钥算法。目前应用广泛的主要有非对称密钥加密体系(非对称密钥算法RSA及椭圆曲线)及对称密钥加密体系(DES及3DES等)。加密体系的介绍见附录3。
通过复杂的生成算法,得到根密钥,再通过多级分散(根据实际需要)最终获得要写入RFID电子标签芯片的密钥。此时,每一个RFID芯片根据ID号不同写入的密钥也不同,这就是“一卡一密”。
如果采用了这种密钥加密的方式,前面介绍的破解方法也只是破解了一张RFID电子标签的密钥而已,而整个防伪系统还是安全的。且不说这需要多么精深的专业技术,要使用多么专业的设备,即使破解成功了,应用系统的管理功能完全可以在下一次账目分析处理时使不合理消费记录无处藏身,那么破解的这一张RFID电子标签芯片也将被加入系统黑名单而无法再次使用。
实际上,RFID应用系统被破解主要是系统中的安全漏洞,和密钥的管理不善。也就是说,内部管理风险比外部破解风险要大得多,做好这些远比保护被专家采用那么多专业手段来破解的这一张RFID电子标签要重要得多。例如,RFID读写器和标签依靠射频信号进行通信,其通信信道是不可靠的信道;后端服务系统可能受到网络攻击和破解等。目前在金融领域不仅采用了专用交易流程限制,在认证安全方面又使用了非对称密钥加密体系的静态认证、动态认证、混合认证,安全性能又提高了一个等级。
对于RFID防伪系统,仍有一些伪造手段,对防伪系统造成威胁。
1.标签移除和重用
从一个真实商品上完整地移除RFID防伪标签,然后将其重用于伪造商品,也就是将真实商品上的RFID防伪标签重新用于伪造商品,这样该伪造商品将能通过防伪系统的验证。另外对包装的重用也能达到相同的目的,对包装的重用指的是将真实商品的包装回收后用于伪造商品。对于贵重商品或奢侈品,即使能成功地完成少量移除和重用,对于造假者也是非常具有吸引力的。
2.标签克隆
虽然标签的标识码无法复制,但在应用中大量的RFID标签使用的是标签中存储的信息作为防伪信息,而不是标识码作为防伪标识。标签克隆指的是获取真实标签中存储的防伪信息数据,将这些数据写入到另一个伪造标签中,然后将克隆的标签附着在伪造商品上,这样伪造商品将拥有合法的防伪验证信息。如果标签未实施任何保护,克隆一个标签是容易的。在许多应用中,标签对于非授权情况下的询问都没有提供相应的保护,从而大大地降低了伪造者进行标签克隆的难度。
3.篡改标签数据
篡改标签数据是指使用非法读写器取得对标签的访问权限,进而对标签内存中的数据进行非法的修改,使得合法标签的防伪数据遭到破坏,从而无法通过正常的防伪验证。
4.中间人伪造
中间人伪造是指伪造者在通信者之间,通过修改和转发合法通信数据从而得到非法认证。一种特殊的中间人伪造是中继伪造,中继伪造是指通过在真实读写器旁边藏匿一个重放设备实施重放伪造,该重放设备既可充当标签也可充当读写器,这就意味该重放设备一方面可以伪装标签接受其他读写器的扫描,另一方面可以伪装成为合法的读写器扫描合法的标签,而构建这样一个设备只需要很少的费用。即使很复杂的协议也很难抵御中继伪造,伪造者通过重放设备重新将真实读写器到标签的挑战信息传给真实标签,然后立刻将真实标签的响应信息传给之前的读写器。该伪造几乎是实时地对通信数据进行转发,截获的数据无需进行任何改动就可以转发给相应的通信方。
5.操纵验证设备
在RFID防伪系统中验证设备主要是指读写器,读写器一方面面向标签,负责读取标签内存中的数据,另一方面面向后台系统,发送相应的标签验证信息。如果验证设备被破坏,它所给出的信息将再也不可信。一个最简单的情况是将验证设备进行破解,使得他通过所有商品的验证。当验证者在采用该验证设备进行防伪验证时,他将总是得到商品为真的验证结果。
6.伪造验证系统
网络信息系统是防伪应用的基础平台,商品制造商也是通过该平台提供相应的服务。验证系统中的数据库是整个系统的信息中心,其中存放数据的准确性和可用性是防伪系统正常稳定运行的关键。另一方面,这些数据也和厂家乃至用户的隐私紧密相关。如果真实商品存储于后台数据库中的参考信息被破坏,应用系统将不能做出正确的判断。例如,造假者向后台服务系统提交海量商品防伪验证请求,导致大量真品失效,从而使得整个系统混乱和失效。
所以我们完全有理由认为,RFID电子标签自身的安全设计虽然不是完美的,但完善的RFID应用系统可以弥补并保证RFID电子标签安全地运行。RFID电子标签只是信息媒介,在RFID电子标签自有的安全设置基础上,加上应用系统更高级别的安全设计才能使RFID电子标签的安全无懈可击。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。