胡德新,王晓明
(暨南大学 计算机科学系,广东 广州510632)
随着计算机技术与网络的发展,RFID(radio frequency identification)即射频识别技术,广泛地应用在各行各业,并成为物联网的核心技术之一。它无需物理接触即能快速、准确地采集信息,对对象进行有效地识别。在带给人们便利的同时,RFID 系统的安全与隐私问题也日益突出,严重制约着RFID 和物联网的发展和广泛应用。而在所有的安全问题当中,信息的泄露和跟踪是最为严重的两个。信息的泄露指的是标签中对象的数据信息被泄露出来,而信息的跟踪则指标签是可区别的,并且是可跟踪的[1]。特别是在一些低成本的RFID 系统中,一个传统的标签只有数千个门电路组成,存储容量也只有数百位。电子标签资源的有限性加大了安全机制实现的难度,传统的密码技术很难直接应用到系统中来。而认证协议对于RFID 系统来说又是至关重要的,因为它关系着读写器和标签两者之间的身份识别。因此轻量级安全认证机制的设计在RFID 研究领域中将一直占有重要的位置[2-4]。
在RFID 标签的生命周期内,其所属的拥有者一般会发生改变。例如,一个商品标签最初的所有者是制造商,当商品到批发商时,标签的所有者就会由制造商变成批发商。批发商把贴有RFID 标签的商品运送到零售商后,标签的所有者变为零售商。而在商品被消费者购买后,消费者将会变成RFID 标签的所有者。这就是一个典型的RFID标签所有权转移的例子,如果涉及到商品的售后服务等,还将会有更多的所有权转移过程。可见,RFID 标签的所有权转移必须满足一定的安全和隐私要求,还需要具有抵抗一些主流攻击的能力,如重放攻击、异步攻击等等。其中最重要的是原所有者和新所有者不能利用自己已经掌握的信息来对另一方进行跟踪、冒充等或者获得另一方的秘密信息,以保护双方的隐私。
最近,金永明等人提出了一个所有权转移认证协议[4]。尽管该协议是第一个基于优化函数SQUASH 的所有权转移认证协议,相比其它已知基于哈希函数的方案拥有更高的效率。但经分析后发现该协议不能绝对保证前向隐私和后向隐私问题,而且认证效率也不如他们所声称的那样高。本文先深入分析了金永明等人提出的所有权转移认证协议,指出其安全缺陷和造成认证低效的地方,然后在原协议的基础上加以修改并提出一个新的、安全的、高效的所有权转移方案。新方案不仅能解决原协议存在的安全问题,还能保护原所有者和新所有者的隐私,同时提高了认证效率。
近年来,国内外不少学者针对标签所有权转移问题做了大量的研究工作。其中物理上的方法有用EPC(electronic product code)毁坏标签的Kill命令以及Blocker Tags方法等等。Kill命令指的是从物理上毁坏标签来保护拥有者的隐私,而Blocker Tags则是通过干扰来封锁标签与读写器之间的通信。除了物理上的方法外,另一个有效的保护措施就是使用一个安全的认证协议。2005年,Saito等人提出了一个使用对称密码加密标签标识的方案,可以防止原所有者在权转移后继续访问标签数据,但不足之处在于需要增加一个可信的第三方(TTP)。2005 年,Molnar和Soppera等学者提出了一个适用于RFID 标签的可扩展所有权转移授权协议,但实际上该协议的应用范围很小,因为它需要假定原所有者和新所有者之间有一个共同的可信中心(TC)。2006年,Osaka等人提出了一个较为重要的基于Hash函数和对称密码的RFID 安全机制,它可以通过改变对称私钥来保护隐私,而缺点是不能抵抗拒绝服务(DoS)攻击和不具有不可追踪性。2007 年,Fouladgar和Afifi提出了一个新的协议[5]来保护新所有者的隐私,但是攻击者却可以通过重用返回值来冒充标签。其后,针对Osaka协议,Jappinen和Hamalainen在2008年提出了一个简单有效的改进方案[6],增加了标签端的一次Hash运算,使得在秘密信息更新时,能对消息进行一个完整性检查,但标签被跟踪的问题仍不能有效地解决。2010 年,Kulseng等人提出了一个轻量级的RFID 相互认证协议[7],并在它的基础上,提出了一个具有物理不可复制功能(PUF)和线性反馈移位寄存器(LFSR)的所有权转移协议。虽然该协议相比其它已知的基于Hash函数的协议具有更高的效率,但同样需要增加一个TTP,而协议也未对抵抗主流攻击的能力进行详细的分析。2011年,金永明等学者提出了一个基于SQUASH的所有权转移认证协议[4],他们声称该协议能满足RFID标签所有权转移的安全和隐私要求,除了能抵抗重放攻击、异步攻击、中间人攻击等外,还能够保护原所有者与新所有者双方的隐私。但本文经分析后发现该协议并不能绝对保证前向隐私和后向隐私问题,而且认证效率也不如他们所声称的那样高。
2011年,金永明等人提出了一个基于SQUASH 的轻量级所有权转移的协议LOTP,协议的认证过程如图1所示。
图1 轻量级所有权转移认证协议
该协议主要分为6个步骤,读写器和标签双方的认证可简单可归纳为:读写器首先发送请求信号给标签,然后标签Ti生成一个随机数rT,再计算M,N’和N,然后发送M 和N 给Di。由于此时所有权转移还没发生,Di必须将M 和N 转发给Dj。Dj接收到数据后会验证数据库中是否存在一个ti或者vi使得认证条件[(M ⊕ti)2mod n]t=N或[(M ⊕vi)2mod n]t=N 成立,若等式成立,对标签的认证会成功通过。同时Dj会将(si,ti)和Ui通过安全信道发送给Di,并且更新数据库中的数据,而这时标签的所有权已经从Dj转移到Di了。相反,认证失败的话,Dj会停止操作,所有权转移失败。转移成功后,标签也需要验证读写器是否合法。首先,Di会产生一个随机数si’,依次计算ti’,rT,P 和Q。然后Di在更新完数据后会将P 和Q 发送给Ri,Ri再转发给Ti。标签收到数据后,首先会通过异或运算得到新的公钥ti’,再根据认证条件Q=si⊕(ti’>>l/4)判断读写器的认证是否成功。
原方案是首个基于优化函数SQUASH 的所有权转移认证协议,无论在计算方面还是通信方面,效率都要比其它已知的基于Hash函数的方案要高。由于SQUASH 方案的安全性决定了该协议的安全性,而Rabin加密体制的安全性又奠定了SQUASH 的安全,可见该协议是可证安全的。另外,它额外存放了上一轮的公私钥,用于抵抗异步攻击,与标签恢复同步。
尽管该方案有着上述各样优点,但实际上该协议存在几个安全缺陷:
(1)该协议不具有前向隐私性
在所有权转移成功后,若Di使用之前Dj发送给它的旧消息(M,N)和ti冒充标签,这样一个非法的认证也会被成功通过。原因在于:为了抵抗异步攻击,该协议利用了上一轮的密钥实现与标签恢复同步,尽管Dj已经将数据块(si,ti)更新,认证条件N=[(M ⊕ti)2mod n]t也不会满足,但是Dj仍然能从上一轮的密钥当中找到一个相应的vi,使得另一个认证条件N=[(M ⊕vi)2mod n]t满足,从而Di能非法访问Dj。换句话来说,标签的新所有者能利用自己已经掌握的信息非法获取原所有者的秘密信息,造成原所有者的隐私泄露,即金永明等人提出的协议不能保证前向隐私。
(2)该协议不具有后向隐私性
为了确保后向隐私性,Di会选择一个新的私钥ti’,并且将它嵌入到数据块(P,Q)发送给标签。但是读写器与标签之间的不安全传输使得(P,Q)有可能被原所有者窃取,而它又持有之前对标签认证时取得的随机数rT,使得原所有者有可能在一定的时间内破解出rT的移位方式,从(P,Q)中求出ti’,而ti’在该协议的认证中是一个非常关键的参数,它在下一轮转移发生之前都不会进行更新,也就是说原所有者能够利用自己掌握的信息和非法窃取来访问标签并获得新所有者的隐私。因此安全隐患显而易见,该协议不能完全地保证后向隐私。
(3)该协议对标签的认证效率较为低下
Dj对标签进行认证时,每一次都需要用数据库中的ti或vi计算[(M ⊕ti)2mod n]t,以判断它是否满足认证条件。众所周知,指数模幂运算的计算代价是比较高的。除此之外,Dj也需要从头到尾地在数据库中查找相应满足认证条件的ti或vi,若所找的记录在较后的位置或者在末端的话,认证效率会比较低下。
针对上述的安全缺陷,我们对该协议作了一系列的改进和调整,并在此基础上提出了一个新的所有权转移认证协议。首先,基本的定义如下所示:
Ti:RFID 系统中进行权转移的标签;
Ri:RFID 系统中新所有者的读写器;
Di:RFID 系统中新所有者的数据库;
Dj:RFID 系统中原所有者的数据库;
IDold:权转移前标签Ti对于Dj的身份标识;
ID’:权转移后标签Ti对于Dj的身份标识;
IDnew:权转移后标签Ti对于Di的身份标识;
k:标签所选的种子,用来计算ti;
k’:标签所选的新种子,用来计算ti’;
i:种子k可使用的次数;
i’:新种子k’可使用的次数;
ti:Ti长度为l的密钥,t0=h(k),…,ti=h(ti-1)=h(h(ti-2))=hi+1(k);
ti’:Ti长度为l的新密钥,t0’=h(k’),…,ti’=h(ti-1’)=h(h(ti-2’))=hi’+1(k’);
Ui:Ti存储的业务数据;
⊕:异或运算;
x>>a:右循环移位运算;
←:置换(赋值)运算;
h():哈希函数;
‖:连接运算;
假设原所有者数据库与新所有者数据库有安全的通信信道,数据库与读写器之间的通信信道是可信的,与此同时,而读写器与标签之间的通信信道是不安全的。另外,在认证过程运行之前,假设原所有者数据库Dj已为每个标签Ti分配一个临时的标识符IDold,而Dj也存储了Ti产生的密钥ti。
协议的具体步骤如下所示:
(1)Ri→Ti
读写器发送请求给标签。
(2)Ti→Ri→Di→Dj:M,N
标签首先判断种子k是否可用,若i为0则代表种子k不可用,需要产生新种子。然后依次计算ti=h(ti-1)=h(h(ti-2))=…=hi+1(k),ti-1=hi(k),M=ti⊕ti-1⊕IDold,N=h(ti‖IDold),同时将i更新为i-1,再把(M,N)发送给读写器Ri,Ri转发给新所有者数据库Di,Di再转发给原所有者数据库Dj。
(3)Dj→Di:Ui,ti
收到(M,N)后,Dj把新所有者发送过来的N 跟原所有者数据库中存储的h(ti‖IDold)匹配,若h(ti‖IDold)=N,则找到相应的ti和IDold。计算ti-1=M ⊕ti⊕IDold并验证h(ti-1)是否等于ti,若相等,则标签Ti认证通过,是一个合法的标签,然后Dj把Ui和ti通过安全信道发送给Di,并产生新的标签标识符ID’,同时将ti更新为ti-1,IDold更新为ID’,而这时Di已经获得了标签Ti的所有权授权。相反,Dj停止协议过程,所有权转移过程未通过。
(4)Di→Ri→Ti:O,P,Q
为了更新标签Ti的密钥并验证读写器是否合法,Di计算O=M ⊕ti,然后选择一个随机数si,再计算P=si⊕(ti>>l/2),Q=IDnew⊕(si>>l/4),再把O,P 和Q 发送给Ri,然后转发给Ti。
(5)Ti→Ri→Di:S
接收到O,P 和Q 后,标签Ti计算h(O ⊕IDold),若它跟ti相等则完成认证,并计算出si=P ⊕(ti>>l/2),IDnew=Q ⊕(si>>l/4),然后产生一个新的种子k’和它的使用次数i’,计算t1’=hi’+1(k’),S=ti’⊕(si>>l/2),把S 发送给Ri后再转发给Di。
(6)Di→Ri→Ti:response
新所有者数据库Di通过异或运算得出ti’,同时进行更新操作,ti←ti’,并发送response。
(7)标签Ti
收到response后,进行更新操作,k←k’,i←i’,IDold←IDnew。
协议具体过程如图2所示。
图2 新提出的方案
新协议详细的安全分析如下所示:
(1)重放攻击(RA):新协议具有抵抗重放攻击的能力。假设攻击者甚至是Di使用旧的消息(M,N)进行访问,认证也不会成功通过。因为此时原所有者数据库中的ti已经更新为ti-1,而攻击者是无法得知ti-1的,甚至是已经获得ti的新所有者也无法计算出ti-1。纵使ti=h(ti-1),但是哈希函数的单向性限制了ti-1的获取。因此,新协议能抵抗重放攻击。
(2)异步攻击(DoS):在旧协议中,Di发送消息(P,Q)后会对自己的公私钥进行更新,若攻击者对 (P,Q)进行截取,标签会因消息的阻断而停止更新,从而造成异步问题。在新协议中,标签只有在收到消息(O,P,Q)后才会生成新种子k’和新密钥ti’,但此时并不会立刻对密钥进行更新操作,它首先会将S=ti’⊕(si>>l/2)发送给对方,对方只有得到ti’后才会对密钥进行更新,并发送响应给标签,而标签在收到响应后才会对密钥进行更新。如果攻击者阻止了消息O,P,Q 或者S 的发送,由于此时双方都没有对密钥进行更新,所以不会造成任何的异步问题,而接收方会要求发送方将数据重发。由于标签只会在收到对方的更新响应之后才会对自己的密钥进行更新,即使response被阻止发送,标签也可根据响应的时间自动对密钥更新,这样两边的密钥就再次同步,并不会产生因更新不一致而造成的异步问题。
(3)中间人攻击(MITM):由于读写器与标签之间的传输信道是不安全的,这样的话所有攻击者都可以获得或者是篡改消息(M,N),(O,P,Q)和S。即使攻击者对消息进行篡改,但是哈希函数的单向安全性阻止了ti-1的获取,同时攻击者也很难找到一个相应的ti-1满足等式h(ti-1)=ti使得认证通过。
(4)可证安全(PS):可以看出,新的所有权转移协议很大程度上取决于哈希函数的单向安全性,而哈希函数的单向安全性是可证安全的。
(5)前向隐私(FP):新协议能够保护Ti原所有者的隐私。就算新所有者在转移过后能够从原所有者中获得标签存储的业务数据Ui和密钥ti,由于原所有者会将密钥ti更新为ti-1,IDold更新为ID’,新所有者甚至标签也不能获得原所有者的隐私,因为新所有者不能从ti中求得ti-1,而标签也无法得知ID’,只有同时知道ti-1和ID’才有机会获取原所有者的信息,两者缺一不可,可见前向隐私得到保障。
(6)后向隐私(BP):新协议可以保护Ti新所有者的隐私。因为转移后,标签会重新选择一个种子,再把新密钥ti’发送给新所有者。而攻击者,甚至原所有者都不能识别这过程,因为他们不能得知Di产生的随机数si。即使原所有者仍保留着标签的密钥ti,甚至破解了ti的移位方式,求出一个猜测的si。原所有者也无法确认这个猜测si的正确性,原因是他并不知道IDnew和si的移位方式。而在攻击者破解移位方式的这段时间里,标签的密钥ti’可能由于认证的关系已经进行了数次的更新操作,因此攻击者也无法得知此时标签的密钥ti’。要获得新所有者的隐私,攻击者必须掌握标签的密钥ti’和标签对于新所有者的身份标识IDnew,正是这双重的保护使得新所有者的隐私不会被侵犯。
通过分析参考文献[4]中关于安全性和隐私性对比的数据,本文比较了新协议、金永明等人提出的协议和其它已知的协议[5,6,8],得出了新的所有权转移协议安全性和隐私性对比,见表1。可见,新协议除了能抵抗重放攻击、异步攻击、中间人攻击外,还能保护前向隐私和后向隐私。
表1 所有权转移协议的安全性与隐私性比较
在原协议中,Dj为了查找满足认证条件的ti或者vi,需要对它们每一个进行N =[(M ⊕ti)2mod n]t或者是N=[(M ⊕vi)2mod n]t计 算。而在新协议中,Dj只需要进行一些哈希操作和异或运算去查找满足认证条件的密钥,与原协议中指数模幂运算相比,新协议中对标签认证的计算量较低。除此之外,原协议中的Dj需要从头到尾地在数据库中查找相应满足认证条件的ti或vi,若所找的记录在较后的位置或者在末端的话,认证效率会很低。而在新协议里,这个问题将得到很好的解决,只需将Di发送过来的N 与存储在数据库中的h(ti‖IDold)进行匹配就能快速找到相应的记录,大大提高对标签的认证效率。
而对于标签的计算量,新协议的性能也会比原协议较佳。对于每一次的认证,新协议中的标签需要进行数次的哈希操作和异或运算。而在原协议中,每轮认证标签需要计算N’=r2Tmod n 以及进行数次异或运算,如果对于一些低成本标签的话,这个计算量是比较大的。另外,新协议在一些特定的环境里效率还能再提高,比如说在不发生所有权转移而需要对标签进行反复认证的场合。因为对于多次的认证,每轮认证过后标签需要进行的哈希操作都会减少,如第一轮需要计算ti-1和ti,而第二轮就只需要计算ti-2和ti-1了,如果认证次数比较大的话,效率是非常可观的。
此外,与金永明等人提出的协议相比,本方案不需要在标签中存储密钥ti,但需要存储用来计算密钥ti的种子k和它的使用次数i。一般来说,k 和i 不会太大,它们的存储空间约与原协议中存储的密钥ti相当。另外,比较新协议标签存储的身份标识符IDold和原协议中的n,由于n 是用来计算SQUASH 密文的,一般来说比较大,也就是说就存储空间而言n>IDold。可见,新协议在标签的存储性能上也占了一点点优势。
通过分析参考文献[4]中关于性能上比较的数据,本文对比了新协议、金永明等人提出的协议和其它已知的协议[5,6,8],得出了新的所有权转移协议的性能对比,见表2。这里h指的是哈希操作的次数;a 指的是异或运算的次数;b指的是右循环移位运算的次数;l是密钥的长度;t是交换密文的长度;j是金永明等人提出协议中n 的比特数;i是种子k 的使用次数;i’是新种子k’的使用次数;x 是k的比特数;y 是IDold的比特数。为了方便对比,考虑到i的比特数基本上可忽略,因此不带入到TS中。
表2 所有权转移协议的性能比较
从表2可以看出,尤其在所有权转移发生之前,新协议在标签计算量方面比原协议优胜。而在标签的存储量方面,由于l近似于x,但j远远比y 大,所以新协议在存储性能方面也较好。至于通信量方面,新协议与原协议相差不大。
下面本文从实验上比较了新协议与金永明等人提出协议在Dj的认证代价,Di的计算代价以及标签Ti的计算代价方面的异同。本实验是在Intel(R)Core(TM)i3CPU@2.93GHz处理器,4GB RAM,操作系统为Windows 7的计算机下面完成的,而数据库建立在Microsoft SQL Server 2008R2中。
如图3所示,新协议在Dj的认证代价方面更为优胜,尤其是当标签在较后的位置时,新协议所需要的查找认证时间较少。这里横坐标指的是标签记录在数据库中的位置,而纵坐标表示认证的代价(用毫秒表示)。
图3 Dj 的认证代价
如图4所示,新协议在Di的计算代价方面低于原协议。这里横坐标表示认证的次数,而纵坐标表示计算的代价(用毫秒表示)。
图4 Di 的计算代价
如图5所示,新协议在标签Ti的计算代价方面同样比原协议好。这里横坐标表示认证的次数,而纵坐标表示计算的代价(用毫秒表示)。
图5 Ti 的计算代价
本文针对金永明等人提出的基于SQUASH 的所有权转移协议进行了研究,对其方案作了一系列的改进和调整,并在它的基础上提出了一个新的所有权转移协议。新协议除了解决原协议中存在的安全问题外,还提高了认证效率,消除了一些潜在的安全隐患。此外,新协议还能够满足所有权转移过程中必要的安全和隐私条件,具备抵抗一些主流攻击的能力,如重放攻击、异步攻击、中间人攻击等等,并且能够保护新所有者和原所有者双方的隐私不被侵犯。
[1]Shucheng Y,Kui R,Wenjing L.A privacy-preserving lightweight authentication protocol for low-cost RFID tags [C]//Military Communications Conference,2007.
[2]ZHOU Yongbin,FENG Dengguo.Design and analysis of cryptographic protocols for RFID [J].Chinese Journal of Computers,2006,29 (4):581-589 (in Chinese). [周永彬,冯登国.RFID安全协议的设计与分析 [J].计算机学报,2006,29 (4):581-589.]
[3]DING Zhenhua,LI Jintao,FENG Bo.Research on Hashbased RFID security authentication protocol [J].Journal of Compu-ter Research and Development,2009,46 (4):5 83-592(inChinese).[丁振华,李锦涛,冯波.基于Hash函数的RFID安全认证协议研究 [J].计算机研究与发展,2009,46 (4):583-592.]
[4]JIN Yongming,SUN Huiping,GUAN Zhi,et al.Ownership transfer protocol for RFID tag [J].Journal of Computer Research and Development,2011,48 (8):1400-1405 (in Chinese).[金永明,孙惠平,关志,等.RFID 标签所有权转移协议研究 [J].计算机研究与发展,2011,48 (8):1400-1405.]
[5]Fouladgar S.An efficient delegation and transfer of ownership protocol for RFID tags[C]//1st Int EURASIP Workshop on RFID Technology.Piscataway,NJ:IEEE,2007:10-14.
[6]Jappinen P,Hamalainen H.Enhanced RFID security method with ownership transfer[C]//Proc of Int Conf on Computational Intelligence and Security.Piscataway, NJ:IEEE,2008:382-385.
[7]Kulseng L,Yu Zhen,Wei Yawen,et al.Lightweight mutual authentication and ownership transfer for RFID systems[C]//Proc of the 29th Conf on Computer Communications IEEE INFOCOM.Piscataway,NJ:IEEE,2010:1-5.
[8]Song B.RFID tag ownership transfer[C/OL]//the Conf on RFID Security.http://event.iaik.tugraz.at/RFIDSec08/Papers,2008.
[9]MA Changshe.Low cost RFID authentication protocol with forward privacy [J].Chinese Journal of Computers,2011,34(8):1387-1398 (in Chinese). [马昌社.前向隐私安全的低成本RFID认证协议 [J].计算机学报,2011,34 (8):1387-1398.]
[10]LI Huixian.Design and analysis of the light-weight mutual authentication protocol for RFID [J].Journal of Xidian University,2012,39 (1):172-178 (in Chinese).[李慧贤.轻量级RFID双向认证协议设计与分析 [J].西安电子科技大学学报,2012,39 (1):172-178.]