引言
早在上世纪80年代初,射频识别技术(RadioFrequency Identification,I讯ID)就由美国国防部和世界第一大商品零售商沃尔玛公司首先提出并进行研究。
这是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递,并通过所传递的信息达到识别目的的技术。它是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据,识别工作无需人工干预,可工作于各种恶劣环境。
目前,随着RFID技术的不断发展,与RFID相关的应用也大量涌现,被广泛应用于工业自动化、商业自动化和交通运输控制管理,汽车、火车等交通实时监控,高速公路自动收费系统,停车场管理系统,物流管理,流水线生产自动化,安全出入检查,仓储管理,动物管理,车辆防盗等诸多领域。目前应用得最成功的领域是物流管理和商品流通领域。
但是,在实际使用过程中,RFID的安全性问题也开始凸显出来,由于RFID标签的安全问题而导致的安全事件也在逐渐增多,为解决上述安全与隐私问题,人们从技术上提出了多种方案,这些方法各有自己的特色和不足,必须针对不同应用灵活选择和组合。
本文在基于RFID的汽车号牌自动识别系统的设计与实现中,在研究其他人提出的各种技术方案的基础上,结合该系统自身的特点提出了隐秘起始地址、随机数初始化两种新方法,而且还采用了MD5加密算法、标签锁定等常规方法,并把这些方法有效地结合起来,从而保证系统中号牌数据的安全可靠。
通过多次实验和系统的长时间运行均表明本文所采用的方法切实可行且安全有效。进一步研究可以保证号牌标签达到第二代身份证的安全级别。
1 汽车号牌自动识别系统
车辆自动识别系统(Automatic Vehicle Iden—tification,AⅥ),可准确无误地自动识别并采集路网中运行车辆的身份特征信息和法定管理信息,使车辆信息瞬时进入计算机,可为车辆及交通管理部门提供一个实时、动态的车辆信息采集平台。本文采用了RFID技术设计和实现了汽车号牌自动识别系统,该系统的硬件是由读写单元(标签阅读器)和标签号牌组成,阅读器通过线路与计算机的RS32接口通信,其系统硬件框架如图1所示。
程序通过计算机控制阅读器来对标签进行读写操作,阅读器通过天线发出电磁脉冲,标签接收到这些脉冲并发送已存储的信息到阅读器作为响应,再由阅读器将信号处理后传给计算机,实现对汽车号牌在不同状态(静止、移动,甚至恶劣环境)下的自动识别和管理。
系统中的阅读器采用了某厂商生产的8801型号的读写器,该读写器读写距离远,读写速度快,抗干扰能力强。
标签包含了具有RFID射频部分和一个超薄天线环路的RFID芯片的RFID电路,这个天线与一个塑料薄片一起嵌入到标签内。标签一般为信用卡大小,因此可以集成到其他产品里面。该系统就把标签集成到汽车牌照中,构成了标签号牌,这样在收发端就无需增加任何其他硬件,也不会增加用户的开销。
系统软件方面采用了VB编程,通过VB程序控制读写器来读取号牌标签中的号牌信息,并访问后台数据库,从而完成号牌数据的判别。软件系统框架如图2所示。
该系统环境适应性强,受雨雪、冰雹、灰尘等影响小,可全天候工作,非接触地完成自动识别、跟踪与管理,并且具有可穿透非金属物体进行识别,抗干扰能力强等主要优点。
2 系统安全的设计与实现
安全问题是管理系统的命脉,对于汽车号牌自动识别系统来说,安全尤为重要,由于汽车号牌是汽车最为明显的标识,现实中人们都是通过号牌识别违章车辆、肇事车辆,因此系统必须保证标签中的号牌数据不能被随意读取甚至篡改。但标签本身的安全又很薄弱,因此必须采用合理有效的方法才能保证系统的安全。
集成的RFID系统实际上是一个计算机网络应用系统,因此安全问题类似于计算机和网络的安全问题,但由于RFID系统的两个特点:首先RFID标签和后端系统之间的通信是非接触和无线的,使它们很易受到窃听;其次标签本身的计算能力和可编程性,直接受到成本要求的限制。因此RFID的安全威胁除了与计算机网络有相同之处外,还包括以下三种:
(1)通信链路上的安全威胁
标签与阅读器之间传送数据时,其数据通信链路是无线通信链路,无线信号本身是开放的。这就给非法用户的侦听带来了方便。常见的威胁有:黑客非法截取通信数据(非授权获取数据)、业务拒绝式攻击(非法用户通过发射干扰信号来堵塞通信链路,使得阅读器过载,无法接收正常的标签数据)、标签的冒名顶替、发射特定电磁波破坏标签等。
(2)阅读器的安全威胁
物理方式侦测或修改阅读器的硬件;修改阅读器的配置参数,使其误报、少报标签数据或者把标签数据转发到其他应用系统;窃听或干扰阅读器与计算机之间的通信。
(3)标签中数据的
安全威胁
由于成本的限制,标签本身很难具备能够足以保证安全的能力。因此非法用户可以利用合法的阅读器或者自构一个阅读器,直接与标签进行通信。这样就可以很容易地获取标签内所存数据。而对于读写式标签,还面临数据被篡改的风险。
对于通信安全和阅读器的安全问题,人们研究得非常多,而且也提出很多行之有效的方法,这些方法包括:采用安全的通信协议或专有的通信协议,如Hash2Lock协议、Hash链协议、基于杂凑的ID变化协议、询问。响应认证协议、再次加密机制等等。使用探测器探测其他RFID阅读器的存在,并发送干扰信号,以防标签上的数据被暴露;为标签编程,使其只可能与已授权的RFID阅读器通信;对标签和阅读器采用更强的加密及安全功能;此外还提出了Kill标签、法拉第网罩、智能标签、阻止标签等方法。这些方法均很成熟,并各有自己的特色和不足,必须针对不同的应用灵活选择和组合。
而对于标签中的数据安全,日常应用都是采用加密的方法。然而不同的加密算法复杂程度不同,对硬件性能的要求也不同,其安全级别也不同。
为了保证汽车号牌自动识别系统中的安全,在通信和阅读器方面系统采用相应的高安全措施,对于标签中的数据安全,系统除了采用部分常规的加密方法,还综合衡量标签中可读写的空间大小,读写效率以及读写误差等因素,提出了新的安全设计,这种多层次的安全措施足够保证标签中的号牌数据不能被随意读取甚至篡改。
2.1隐秘数据起始地址
目前一般的标签可供写入的有200多个存储单元(每个单元一个字节),汽车号牌形式为“吉AAl234”,存储时只需要8个字节,加上其他信息(如发动机号等),一般只需要30~50个字节,这样就可以从地址9—150(地址0—8中存放标签ID)范围中任意选择一个地址作为存储数据的起始地址,由于地址的任意性,即使非法用户获取到标签中的数据,但也很难确认哪些信息是车牌信息。为此系统提供了设置数据起始地址的功能,而这个起始地址是保密的。此外系统还提供了利用随机数生成器来生成随机的起始地址,然后把这个起始位置信息存放到固定的地方,每次读取数据的时候先从固定地方读取出数据的起始地址,然后再去读取真正的号牌信息。安全性虽然增加了,但读标签的次数也会相应增加,效率就会降低,目前这种方法已经实现,但考虑到标签的读写效率以及系统本身的足够安全,因此还没有采用。
2.2随机数初始化
标签在出厂后,内部的数据单元除了标签ID外,其余单元均为数字零,因此可以通过读取标签中非零单元中的数据,就能很容易识别出标签中的车牌号码等信息。即使简单地进行初始化,非法用户依旧可以通过读取标签中的数据后,根据数据本身的特征分析出车牌号码等重要信息。为了防止其他非法用户读取标签中的数据用来分析,系统在运行后提供了随机数初始化功能,该功能主要是利用随机数生成函数生成若干个随机数,然后把标签中所有的单元均写上这样的数据。这个随机数不是任意的,而是和车牌号码相同的,也就是说生成的都是车牌号码,这一点至关重要。如此初始化后,非法用户无法通过读取卡中数据来获知车牌号码等信息,因为标签中存储的是若干个车牌号码。而这样的初始化并不影响真正数据的写入操作,在写入真实号牌信息时会自动覆盖掉原来的数据。具体实现如下:
2.3使用验证码
由于标签是读写式,非法用户可能通过一些非法渠道获得合法的阅读器(尽管机会很小,但仍不可避免),这样非法用户就可以对标签中的数据进行改写或者完全复制,从而把非法的标签冒充为合法标签,逃避车辆识别,也就是现实中的汽车号牌的套牌现象。为了维护合法用户的权力,保证标签中的数据不被恶意篡改或被用户完全拷贝,系统中增加了一种用于辨认标签合法身份的验证码。
系统利用MD5算法加密生成一个16个字节长的验证码,该验证码随同号牌数据一同写入到标签中的另外一个固定的地址中。验证码的明文是由标签ID、车牌、发动机号码以及用户输入的一个8位以上的口令等若干信息组合而成。
识别标签时,首先需要输入相应的用户口令,读取标签ID、标签内的号牌等信息,然后利用同样的MD5加密算法生成一个16个字节的验证码,与标签中的验证码进行比对,相同则验证通过,否则视为非法标签。这样即使非法用户完全拷贝了一个合法的标签,由于MD5算法的不可逆性、标签ID的唯一性以及用户口令的保密性,在读取时肯定不能通过验证。
2.4锁定标签并与数据库结合
每种标签都提供了锁定功能,一旦某个单元地址被锁定,那么该单元内的数据就变成只读,而再也不能被重写(标签不提供解锁功能)。因此系统在写完所有的数据信息后。可以把标签中所有的单元锁定,锁定后的单元均不能被重写,这样避免了被合法用户无意的改写或被非法用户恶意的篡改,从而保证数据的正确性。
以上的措施已经能够保证标签中的数据不会被篡改,也不会被破解。但为了更加安全可靠,系统采用了在写入号牌数据的同时,往公安交通部门的号牌数据库中写入对应的标签ID信息,号牌数据库本身的安全性,使得非法用户难以修改该数据库中的信息。这样在读取的时候只要到数据库中同时比较号牌和标签ID就可以知道该标签和对应号牌是否是真实的,从而确定是否被套牌。
3 验证
为了验证系统安全措施的有效性,搭建了测试平台,阅读器采用系统的阅读器,标签则采用了多种不同厂商的标签(也包括系统中使用过的标签),一部分软件是专门为测试编写的程序,一部分是从网络上收集来的解密程序。分别从获取、解密、改写标签内容、破坏和伪造标签等方面进行了反复测试,多次的测试结果分为以下几类:
(1)可以通过合法的阅读器或伪造的阅读器获取到标签里的内容,很难分析出其中的号牌数据,其成功率小于5%,且不能破解其中的加密内容。
(2)在某些特定的情况下可以改写里面的内容,但在验证的时候不能通过验证。
(3)破坏后的标签和伪造的标签均不能通过系统的验证。
4 结论
为了保证基于RFID的汽车号牌自动识别系统的数据的安全性,文中提出了随机数初始化、隐秘起始地址、MD5加密算法、标签锁定等多种方法,并把这些方法有效地结合起来。多次的实验结果和长时间的系统运行情况都证明了这些方法切实可行而且有效。
未来可以与标签生产商以及读写器生产商联合生产专门的标签和读写器,而这种标签和读写器不对外出售,这样就可以保证号牌标签达到二代身份证的安全级别甚至更高级别。目前该系统正在申请鉴定。