贺 蕾,甘 勇,尹毅峰,金松河
(郑州轻工业学院计算机与通信工程学院,河南郑州450002)
无线射频识别技术(Radio Frequency Identification,RFID)是一种无需被识别物品在可视范围内就能进行自动识别的技术.一个典型的RFID系统通常由标签、读写器和后端数据库组成.标签所附的物品在其生存期内大多需要经历多个所有者,当物品在不同所有者之间进行流通时,需要进行所有权的转换.相应地,物品上所附的标签也要进行所有权转换.标签所有权转换协议除了要满足认证协议所需满足的安全性以外,还要能提供标签信息的前向安全和后向安全.前者指的是新所有者不能依据自己掌握的机密信息获得标签与原所有者共享的机密信息,后者指的是原所有者不能获取标签与新所有者之间共享的机密信息.
Zhou等[1]提出了一种包含原所有者、新所有者、标签、第三方物流(Third Party Logistics,TPL)和可信第三方(Trusted Third Party,TTP)的所有权转换协议.该协议不能抵御去同步化攻击.Jia等[2]所提出的所有权转换协议通过改变标签密钥的方式达到所有权转换的目的,但该协议不能抵御跟踪攻击.Song[3]提出了一种所有权转换协议.Wang[4]对该协议分析后设计了一种攻击方案,破坏了标签信息的前向安全.Kapoor等[5]提出了一个有TTP和一个没有TTP的所有权转换协议,这两个协议都需要使用对称密钥密码算法,计算量较大.
在初始化阶段,标签和所有者共享3个机密信息,分别是标签的身份标识ID、密钥ki和秘密值sj.其中,下标i和j分别表示这是标签与所有者共享的第i个密钥和第j个秘密值.在本协议中,标签中内置了两个轻量级的随机排列函数,分别用F和P表示.其中,F函数是与所有者共享的随机排列函数,可以用线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)[6]实现,P函数则基于物理不可克隆函数(Physical Unclonable Function,PUF)[7]进行构建.利用 LFSR 可以构建具有较好统计特性的伪随机排列函数,如果该伪随机排列的种子值是秘密的,则其输出序列是无法预测的.PUF的输出排列中由于嵌入了标签的物理信息,因而具有唯一性、不可克隆性、不可预测性和防篡改等安全属性.
笔者提出的标签所有权转换协议见图1.
图1 标签所有权转换协议Fig.1 Ownership transfer protocol of RFID tag
(1)标签的原所有者发送所有权转换请求OTR(Ownership Transfer Request)和一个随机数r1给标签,即{OTR,r1}.
(2)标签收到消息后生成随机数r2,并发送{r1,r2,F(OTR,ID,r1,r2)}给原所有者.
(3)原所有者收到标签发来的消息后,通过在数据库中搜索是否存在适当的ID,使其满足F(OTR,ID,r1,r2),以此来判断该消息是否是需要进行所有权转换的标签发来的消息.若不是,则协议终止;若是,则通过对标签的认证,发送{OTR,r1,r2,F(OTC,r1,r2,ID,ki)}给标签.其中,OTC表示所有权转换命令(Ownership Transfer Command).
(4)标签用自己的ID和密钥验证收到的F(OTC,r1,r2,ID,ki)是否正确.若不正确,则协议终止.若正确,则计算 s(j+1)=P(sj),k(i+1)=F(s(j+1)),发送{r1,r2,F(SUC,ki,r1,r2)⊕s(j+1),F(r1,r2,s(j+1))}.其中,SUC 表示机密信息更新命令(Secret Update Command,SUC),符号“”表示异或运算.
(5)原所有者收到标签发来的消息后,用检索到的标签ID所对应的密钥计算出F(SUC,ki,r1,r2),进而求出 s(j+1),并用收到的 F(r1,r2,s(j+1))检查计算出的s(j+1)是否正确,再由k(i+1)=F(s(j+1))计算出 k(i+1).原所有者发送{r1,r2,F(US,k(i+1),r1,r2)}给标签,其中 US(Update Success)为更新成功标识.
(6)标签收到所有者发来的消息后,检查收到的F(US,k(i+1),r1,r2)是否正确.若不正确,则协议终止;若正确,则发送{r1,r2,F(UC,k(i+1),r1,r2)}给原所有者,其中 UC(Update Completed)为更新结束标识.
(7)若原所有者长时间未收到标签发来的更新结束消息,则从步骤1开始重新执行协议.若原所有者收到标签发来的更新结束消息,并确认该消息正确,则表明信息更新结束.原所有者通过安全的信道将密钥k(i+1)和秘密值s(j+1)发送给新所有者.
(8)新所有者收到原所有者发来的消息后,在原所有者的通信范围之外与标签进行通信.生成随机数 r3和标签的新身份标识 IDnew,发送{OOC,r3,F(OOC,r3,k(i+1),s(j+1)),F(r3,s(j+1))IDnew}给标签.其中,OOC(Ownership Obtain Command)为所有权获取命令.
(9)标签根据OOC确定收到的消息是新所有者请求获取所有权的消息,用自己存储的{k(i+1),s(j+1)}验证 F(OOC,r3,k(i+1),s(j+1))是否正确.若不正确,则协议终止.若正确,则通过对所有者的认证.标签求出新所有者为标签分配的新的身份标识 IDnew,生成随机数 r4,标签计算s(j+2)=P(s(j+1)),k(i+2)=F(k(i+1),s(j+2)),发送{r3,r4,F(r3,r4,k(i+1))⊕ s(j+2),F(r3,r4,k(i+2))IDnew}.
(10)新所有者计算出F(r3,r4,k(i+1)),进而得到s(j+2),并由 k(i+2)=F(k(i+1),s(j+2))得到新密钥 k(i+2).计算 F(r3,r4,k(i+2)),以得到 IDnew,确定标签获得了正确的IDnew.若标签获得的IDnew不正确,则返回步骤8重新开始.
笔者采用GNY逻辑对协议的安全性进行分析.为了分析的方便,假设只有标签与所有者之间的信道是不安全的.本节所采用的表述方式和推理规则遵照文献[8-9]中的相关内容.
对协议流程按照GNY逻辑的要求进行形式化表述,其中QO表示原所有者(Quondam Owner,QO),NO 表示新所有者(New Owner,NO),T 表示标签.为了研究的方便,考虑到F函数和Hash函数在本协议中所起的作用类似,故在进行GNY分析时用Hash函数代替F函数.
G1
:QO|≡T∍ID(由M2,A1,I3,I6得G1)
G2:T|≡QO∍ki(由 M3,A2,I3,I6得 G2)
类似地,可以得到G3,G4,G5.
G3:T|≡QO∍k(i+1)
G4:QO|≡T∍k(i+1)
G5:T|≡NO∍k(i+1)
从以上分析过程可以看出,标签与原所有者进行了双向认证,互相确认了对方的身份.同时,对存储的密钥进行了更新,保护了机密信息的前向安全.
G7:NO|≡T~ s(j+2)(由 M8,A3,I1得G7)
从以上分析过程可以看出,新所有者与标签协商出了新的共享密钥k(i+2),保护了标签信息的后向安全,并且为标签分配了新的身份标识、抵御了跟踪攻击.
对于去同步化攻击,在原所有者与标签的通信过程中,标签首先更新密钥.若遭到去同步化攻击,原所有者可以使用标签的ID和密钥重新执行协议.在新所有者与标签的通信过程中,若遭到去同步化攻击,新所有者可以再次发送含OOC的消息给标签,以重新进行信息同步.因此,该协议能够抵御去同步化攻击.
将笔者所提出的协议与部分现有研究成果进行对比,可以发现笔者所提出的协议具有较好的安全性,如表1所示.
表1 与现有部分研究成果的安全性对比Tab.1 Com parison with other research results
在Linux系统中对笔者所提出的协议和其他研究人员所提出的研究成果进行了仿真实现,所用计算机的CPU为3.2 GHz,内存为2.0 GB.通过仿真实现,主要获取了标签进行计算所消耗的时间等实验数据,并进行了对比,如图2所示,单位为微秒.从图2可以看出,与其他研究成果相比,笔者所提出的所有权转换协议中标签所消耗的计算时间较短,适用于低成本的标签.
图2 不同研究成果中标签计算消耗时间Fig.2 Cost time by tag in different research results
笔者提出了一种标签所有权转换协议,该协议使用了基于LFSR和PUF的轻量级随机排列函数.原所有者与标签进行认证和密钥更新后,将更新后的机密信息发送给新所有者,以保护标签信息的前向安全.新所有者再次与标签进行认证和机密信息更新,以保护标签信息的后向安全.使用GNY逻辑对协议安全性进行了分析,该协议能够抵御重放攻击、中间人攻击、去同步化攻击,并能保护标签附着物的位置隐私.对协议进行了仿真实现,获取了标签计算时间等数据.通过与其他协议的数据进行对比发现,笔者所提出的协议中标签的计算时间比其他协议的计算时间短,更适合用于低成本RFID标签.
[1] ZHOUWei,YOON E J,PIRAMUTHU S.Varying levels of RFID tag ownership in supply chains[C]//On the Move to Meaningful Internet Systems:OTM2011Workshops.Berlin:Springer Berlin Heidelberg,2011:228-235.
[2] JIA Han,WEN Jun.A novel RFID authentication protocolwith ownership transfer[J].Lecture Notes in E-lectrical Engineering,2012,122:599-606.
[3] SONG B.RFID tag ownership transfer[EB/OL].http://rfidsec2013.iaik.tugraz.at,2008-12-01.
[4] WANG Shao-hui.Analysis and design of RFID tag ownership transfer protocol[C]//Proceedings of the 2011 International Conference on Informatics,Cybernetics,and Computer Engineering.Berlin:Springer Berlin Heidelberg,2012:229-236.
[5] KAPOORG,PIRAMUTHU S.Single RFID tag ownership transfer protocols[J].IEEE Transactions on,Systems,Man,and Cybernetics,Part C:Applications and Reviews.2012,42(2):164-173.
[6] 杨波.现代密码学[M].北京:清华大学出版社,2010:15-19.
[7] 张紫楠,郭渊博.物理不可克隆函数综述[J].计算机应用,2012,32(11):3115-3120.
[8] GONG Li,NEEDHAMR,YAHALOMR.Reasoning about belief in cryptographic protocols[C]//1990 IEEE Computer Society Symposium on Research in Security and Privacy.Washington D C:IEEE Computer Society,1990:234-248.
[9] 李建华,张爱新,薛质,等.网络安全协议的形式化分析与验证[M].北京:机械工业出版社,2010:27-33.