基于DES算法的RFID安全系统设计
射频识别(Radio Frequency Identification,RFID)技术是20世纪90年代兴起的一项非接触式的自动识别技术,已经广泛应用于工业生产和日常生活的各个方面,如商品和证件的防伪、供应链管理、图书管理、航空包裹管理和门禁等。由于缺乏可靠的信息安全机制,RFID系统无法有效地保护射频标签中的数据信息。如果标签中的信息被窃取,甚至被恶意篡改,将可能带来无法估量的损失。另外,不具有可靠的信息安全机制的射频标签,还存在易向邻近的读写器泄漏敏感信息、易被干扰和易被跟踪等安全隐患。如果RFID的安全性不能得到充分保证,RFID系统中的个人信息、商业机密和工业机密,都有可能被不法分子盗窃和利用。目前,RFID的安全性已成为制约RFID广泛应用的重要因素之一。
1 RFID系统构成及协议分析
1.1 RIFD系统构成
RFID系统一般由电子标签(Tag)、读写器(Read—er)和后端数据库(Database)三部分组成,如图l所示。电子标签是物品识别的载体,它由天线、射频电路、存储器以及数字电路组成。电子标签与传统的条码技术相比最大的优点是可以对其中的数据进行反复擦写,从而可以实现重复利用。读写器是一个带有天线的无线发射与接收设备,用于读取标签中携带的信息并且对标签写入数据。后端数据库中保存了标签与读写器的所有信息,通过与读写器的相互通信实现对整个RFID系统运作的管理。
标签与读写器之间的工作频率分为低频、中高频、超高频等,现有的电子标签大多工作在13.56 MHz,而工作在超高频(UHF)915 MHz的标签传输距离更长。依据其能量来源,标签可以分为有源和无源两类,前者内置电池;后者的能量则是来自于读写器,其工作原理是当标签进入读写器的磁场后由天线获得感应电流转换为芯片的电源,从而完成信息的发送接收和数据的处理。因此915 MHz无源电子标签成本低廉,使用寿命长,传输距离远,具有更好的应用前景。
1.2 EPCglobal协议安全性分析
目前尚未有全球统一的RFID规范,主要有ISO18000系列标准,欧美的EPC规范和日本的UID规范等。在EPCglobal Class一1 Generation一2协议中,读写器采用选择(Select)、盘存(Inventory)、访问(Access)三个基本操作管理标签群,同时标签根据阅读器的操作有就绪(Ready)、仲裁(Arbitrate)、应答(Reply)、确认(Acknowledge)、开放(Open)、保护(Secured)、杀死(Ki11)七种状态,如图2所示。
上电后标签处于就绪状态,接收到读写器发出的请求时通过防碰撞算法选择惟一的标签进行访问,并进入仲裁状态;此时如果读写器再次发起有效的命令请求,标签将会返回一个随机数(RN),同时进入应答状态;读写器将会发送包含有RN*的命令,标签比较接收到的RN*与自身的RN,如果相等则反向散射其存储的PC、EPC等信息,进入仲裁状态。读写器可以继续向标签发送请求使之进入开放状态,通过Read,Write等命令对标签进行读写,如果读写器持有者拥有访问密码还可以使标签进入保护状态,或者通过杀死命令使标签进入永久失效的状态。
在EPC协议中存在着若干安全问题,从标签中读取的信息是以明文方式传送,会轻易向周围的攻击者泄漏标签中保存的信息。读写器在对标签进行写操作时会使用一个句柄RN与待写入的数据异或后传送,这样避免了明文传输,但是攻击者可以很容易截获作为命令句柄的RN,从而分析出要写入标签的信息,甚至冒充合法读写器对标签的数据任意篡改。
2 RFID安全方案
根据系统结构和协议分析,RFID系统的安全性应从以下方面来改进:
(1)采用标签与读写器相互认证的机制,防止非法的读写器获取标签信息或篡改标签数据,或者伪造的标签哄骗读写器。
(2)避免通信过程中使用明文传输,由于RFID标签成本低、功耗小、资源少的限制,应选取合适的加密算法。
(3)除了读写器与标签之间的通信,后端数据库的管理在RFID系统的安全中也起到了重要的作用,该部分受到攻击会导致系统中大量标签的数据、密钥等信息泄漏,造成无法估计的损失,所以应加强数据库管理。
2.1 相互认证
RFID安全机制研究多是基于密码技术的研究,目前已经提出了多种安全协议,例如Hash—Lock协议、随机化Hash—Lock协议、分布式RFID询问一应答认证协议等,这些方法弥补了RFID协议中的一些安全漏洞,在一定程度上提高了系统安全性,但是仍有明显的安全弱点。在Hash—Lock协议中存在着标签ID的明文传输,攻击者很容易获得该ID进行伪造,而且容易对标签进行跟踪。
针对以上问题,采用读写器与标签相互认证的机制,在系统的认证过程中加入了读写器对标签的认证,防止非法读写器通过攻击标签获取信息或者未授权的读写器跟踪标签。同时在标签中加入了密文信息,通过数字签名技术保护标签中的秘密信息不被非法读取。后端数据库和标签包含的数据信息如图3所示。
标签与读写器之间的相互认证过程如图4所示。
首先标签对读写器进行认证,过程如下:
(1)读写器发送请求;
(2)标签接收到请求信号后发送一个随机数,并且利用存储器中的合法读写器ID(Ri)与该随机数进行加密计算得到Encrypt(RN,Ri);
(3)读写器接收到随机数后与自身ID进行与标签中相同的加密计算得到Encrypt*(RN,Ri),并且发送给标签。标签接收到该数据后与步骤(2)中得出的En—crypt(RN,Ri)比较,如果相同则该读写器为合法的,标签进入下一个操作,否则返回初始状态。
读写器对标签的认证过程如下:
(1)读写器认证通过后,标签向读写器发送请求;
(2)读写器接收到请求信号后返回一个随机数RN给标签;
(3)标签将接收到的随机数与自身ID(Ti)进行加密计算,并将密文Encrypt(RN,Ti)传输给读写器;
(4)读写器将该密文用RN解密,得到Ti*,并回传给后端数据库;
(5)后端数据库快速查找是否存在该标签的ID,如果存在则证明该标签为合法标签,返回确认信息(ACK);
(6)读写器确认该标签为合法标签后开始对标签进行访问或读写,整个认证过程完成。
2.2 DES算法对系统安全性的加强
在以上认证过程中,Encrypt为加密函数,目前已有许多优秀的加密算法如ECC,RSA,AES等,但是这些算法资源开销过大,不适合用于低成本的RFID标签电路中。而DES算法设计的初衷就是为了硬件电路的实现,加解密速度快,安全性好,从产生到现在仍然有着广泛的应用。本系统采用的是一种改进的DES算法,适用于RFID系统。
DES算法的核心是一个轮函数,明文数据经过初始置换后进行16次轮函数的操作,最后经过一个逆初始置换输出结果。在每一次轮函数中所使用的密钥Ki是初始密钥经过置换后的,所以每一轮的密钥都不同;对于输入的64 b明文,分成长度相同的两部分Li,Ri,则输出给下一轮的64 b数据为:
其中E表示将右半部分的32 b数据扩展为48 b,与密钥异或后经过8个S盒,每个S盒接收6 b的输入,产生4 b的输出。然后经过一个置换矩阵P,与左半部分再次异或后作为下一轮函数的右半部分数据。
由于S盒在整个算法中占据了很大的面积和功耗,所以本文针对原有算法对S盒进行改进,采用单个S盒来代替原来的8个,将经过扩展的48 b数分成8块,通过一个多路选择器依次通过S盒,再将产生的结果合成为一个32 b数输入置换矩阵P(如图5)。这样就大大减少了电路的规模,同时由于尺寸的减小整个电路的功耗也会降低,更适合用于RFID标签。
3 系统性能
3.1 安全性分析
所提出的RFID安全系统能够防止多种攻击手段,采用相互认证机制和比较安全的DES算法,提高了系统的安全性。
(1)防止攻击者窃听。一般读写器和后端数据库之间的信道采用有线连接的方式,可以认为是安全信道,而读写器和标签之间的信道可以成为攻击者窃听的对象。设计中,不安全信道上没有任何明文传输,所以窃听者无法得到有用的信息。
(2)相互认证机制阻止了未授权读写器对标签进行读写,同时也防止伪造的标签信息被读取。
(3)防止攻击者截取信息进行重放攻击,由于每次发起请求时都会首先发送一个随机数,攻击者即使截取了读写器与标签传输过程中的数据也无法进行有效攻击。
(4)采用了基于DES的加密函数,攻击者很难从传输的密文数据中分析出有用信息。该算法的不足是密钥长度过短,但是算法本身的结构是没有任何缺陷,破译该算法需要付出一定代价,花费较长时间,所以至今仍然有着广泛的应用。对于安全性要求很高的系统可以考虑采用更长的密钥,或者DES算法的变种(三重DES算法)。
3.2 改进的DES算法性能分析
该设计以减少芯片面积为主要目的,在原有的DES加密算法基础上进行改进,并用Synopsys公司的综合工具DesignCompiler分析了改进后系统的性能,综合使用的是stoic 0.18μm工艺库,性能比较如表1所示。
4 结 语
安全问题的存在制约着RFID技术的发展与应用,在此分析了EPCglobal协议中的安全问题和现有安全协议存在的漏洞,提出了一种安全读写机制,该方案有效地防止了多种攻击,并结合DES加密算法进一步提高系统和数据的安全性。改进后的DES算法具有面积小、功耗低的特点,更适合用于RFID标签电路。