郝伟伟,吕磊
(1.河南省市场监督管理局,信息中心,河南,郑州 450008;2.河南工业大学,信息科学与工程学院,河南,郑州 450008)
射频识别技术起源于上个世纪,在本世纪初得到较大范围的推广运用。一个比较经典的射频识别系统至少包含但不限于电子标签、读写器、后台服务器三者,其中电子标签具备体积比较小、生产成本比较低、容易部署、方便携带、使用周期比较长等众多优势,使得射频识别技术现已在生活的方方面面中得到运用。
在一个经典的供应链中,电子标签的归属者常发生变更,需要确保新旧归属者存放隐私信息的安全性。如有一批嵌入有电子标签的商品,在还未出厂之前,这批商品的归属权归生产商所有;当批发商从生产商手中购买这批商品之后,这批商品的归属权发生变更,由生产商变更为批发商;当零售商从批发商手中购买部分这批商品之后,被购买的这批商品的归属权将再次发生变更,由批发商变更为零售商;最后当消费者从零售商手上购买该商品之后,该商品的最终归属权归消费者所有。就是说,商品的归属权可能在一个相对比较集中的时间段内发生多次变更,当归属权发生变更以后,每个之前使用过的用户都希望有关自己隐私的信息都是安全的。
鉴于现有的经典所有权转移协议[1-9]存在计算量大、设计存在安全隐患等问题,本文提出了一种轻量级的所有权转移协议。该协议基于伪随机数发生器实现对信息加密发送,伪随机数发生器具备实现时钟总数少、门电路数量少等优势,能够推广使用;为了能够抵抗穷尽攻击,文中所有信息均在加密之后,以密文的方式传送,攻击者获取的数据亦是密文,增加其破解难度;通过设定归属权唯一标志位参量,依据该参量的数值来判定归属权的当前归属者。
本章节从2个方面展开,第一个方面给出了本文协议设计过程中涉及到的各个符号所表示的含义,第二个方面详细阐述文中协议设计步骤。
(1) 文中协议符号含义
Dold表示电子标签原所有者。
Dnew表示电子标签新所有者。
Tag表示归属权待转移的电子标签。
ID表示电子标签唯一的身份标识。
ID_L表示电子标签唯一的身份标识左半部分。
ID_R表示电子标签唯一的身份标识右半部分。
Kold表示电子标签与原所有者间共享秘密值。
Knew表示电子标签与新所有者间共享秘密值。
Flag表示电子标签的归属权标志位,其中值为0时,表示归属权归原所有者所有;反之,归新所有者所有。
y、t表示电子标签产生的随机数。
x表示原所有者产生的随机数。
z表示新所有者产生的随机数。
⊕表示按位异或运算。
Prng()表示伪随机数发生器运算。
文中引入伪随机数发生器对所要传送的信息进行加密,采用伪随机数发生器进行加密的优点如下:其一,能够提供较好的安全性(有关其安全性推导证明可参见文献[10]);其二,在确保安全性的前提下,实现过程中所需的时钟周期数和门电路数低于常见加密算法,具体分析可见后文;其三,能够确保协议可适用于低成本的RFID系统中,同时可使协议达到轻量级的级别。
(2) 文中协议实现
文中设计的协议也如其他协议[11-12]一样,遵行如下约定:标签原所有者与电子标签间会话不安全;标签新所有者与电子标签间会话不安全;标签原所有者与标签新所有者间会话安全;标签原所有者及标签新所有者均包含读写器。
文中设计的协议流程如图1所示。
图1 文中协议步骤示意图
结合图1,可将文中设计的协议具体步骤描述如下。
第一步
Dold产生随机数x,并依次计算消息A、B,最后将〈Query、A、B〉一并发送给Tag。A=x⊕ID_R、B=x⊕ID_L。
第二步
Tag收到信息后,查看当前归属权标志位Flag的值是否为0,若为0,可进行后续操作。对消息A、B进行解密,判断x′=A⊕ID_R与x″=B⊕ID_L两者值是否相等。
若两者值不等,发送方未能通过验证,协议停止。
若两者值相等,消息来源方真实可靠。Tag产生随机数y,依次计算消息D、E,最后将〈D、E〉一并发送给Dold。其中,D=x⊕y,E=Prng(x⊕Kold,y)。
第三步
Dold收到信息后,对消息D进行解密,结合Kold、计算得到E′=Prng(x⊕Kold,y′),对E比E′与间值是否相等。
若E与E′间值不等,消息来源方不可靠,协议停止。
若E与E′间值相等,发送方通过验证。Dold计算消息F,最后将〈F〉发送给Tag。F=Prng(y⊕Kold,x)
第四步
Tag收到信息后,结合x、Kold、y计算得到F′=Prng(y⊕Kold,x),对比F′与F间值是否相等。
若F′与F间值不等,消息发送者未能通过验证,协议停止。
若F′与F间值相等,来源方验证通过。
第五步
Dnew向Dold发送Query命令,请求开始所有权转移过程。
第六步
Dold收到信息后,基于安全信道将Tag的唯一身份标识ID发送给Dnew。
第七步
Dnew收到信息后,产生随机数z,依次计算消息G、H,最后将〈Query、G、H〉一并发送给Tag。其中,G=z⊕ID_L,H=z⊕ID_R。
第八步
Tag收到信息后,对消息G、H进行解密,比较z′=G⊕ID_L与z″=H⊕ID_R两者间值是否相等。
若两者间值不等,消息来源方不可靠,协议停止。
若两者间值相等,消息发送方通过验证。Tag产生随机数t,并依次计算消息I、M,最后将〈I、M〉一并发送给Dnew。其中,I=x⊕t,M=Prng(z⊕Knew,t)。
第九步
Dnew收到信息后,对消息I进行解密,结合Knew、t可计算得到M′=Prng(z′⊕Knew,t),对比M′与M两者间值大小关系。
若M′与M两者间值不等,消息来源方不可靠,协议停止。
若M′与M两者间值相等,发送方通过验证。Dnew结合z、Knew、t计算得到消息N,最后将〈N〉发送给Tag。其中,N=Prng(z,t⊕Knew)。
第十步
Tag收到信息后,结合z、Knew、t计算得到N′=Prng(z,t⊕Knew),对比N′与N两者值是否相等。
若N′与N两者值不等,发送方可能存在伪造,协议停止。
若N′与N两者值相等,消息来源方通过验证。Tag将归属权标志位Flag的值置为1,表示Tag归属权不再归Dold,而是归属于Dnew。
(1) 所有权排他性
所有权排他性是指不论何时电子标签的归属权具有唯一性和确定性。文中协议引入归属权标志位参量,根据该参量的值确定标签所有权当前归属者,能够实现所有权排他性,同时攻击者无法修改电子标签一端归属权标志位参数的值。根据文中描述,当且仅当,电子标签与原所有者间对彼此验证通过,且电子标签与新所有者间对彼此验证通过时,电子标签一端才会修改归属权标志位参数信息。
(2) 假冒攻击
文中协议所有信息都是加密之后再发送,故攻击者窃听获取的所有消息都是密文。攻击者在不知晓任一明文参数的前提下,是无法破解出任何有用的信息的。
比如攻击者假冒成合法的电子标签原所有者给电子标签发送信息:攻击者并不知晓标签原所有者与电子标签间共享的电子标签唯一的身份标识ID,因此攻击者在计算消息A、B时只能随机选择一个参数作为ID的值进行计算。当电子标签收到该消息后,仅需要进行简单验证,即可识别出消息来源方是伪造的,协议停止。
(3) 穷举攻击
要想使攻击者无法发起穷举攻击,最为有效的方式便是在每个消息加密之时混入的参数个数至少有2个是攻击者并不知晓,且无法分析得出。
文中协议保证所有消息都是加密之后发送,即密文发送,同时每个消息涉及的参数中,至少有2个或2个以上参数的值,对于攻击者来说,无法获取或无法破解得知。以消息E=Prng(x⊕Kold,y)为例,攻击者在分析该消息时,有3个变量的值是不知晓的,同时这3个变量的值在文中并没有明文出现过,攻击者想要对其中任何一个进行分析破解都是无法实现的,因此攻击者无法对消息E=Prng(x⊕Kold,y)进行穷举,无法获取任何有用的隐私信息。
(4) 重放攻击
要想使得攻击者重放之前消息失败,最为有效的方法是每轮会话用到的消息值都是处于变动状态中,即当前会话消息值与上轮会话消息值不同。
文中在确保所有消息加密之后,在传送的时候亦保证每个信息在加密时一定混入随机数,这样将会使得前后相邻的两轮会话消息值无任何关联性。所有消息混入的随机数并不都是同一个,有的混入标签产生的随机数,有的混入标签原所有者产生的随机数,有的混入标签新所有者产生的随机数等等。随机数由随机产生器随机产生,具备无法预测性、互异性等特征,可以保证每个消息的新鲜性。
(5) 定位攻击
使得攻击者无法进行定位攻击的最简单方式是每个消息每轮数值都不同,这样展现给攻击者的效果将是电子标签时时刻刻都处于变动状态,攻击者无法进行定位攻击。文中所有消息加密过程中全部混入随机数,而且每轮混入的随机数都是不一样的,攻击者当前窃听的消息值中用到的随机数,与下一轮窃听获取的消息值中用到的随机数不一样,从而使得攻击者无法进行定位攻击。
(6) 后向安全性
攻击者虽然无法直接从当前获取的消息中分析出任何有用的隐私信息,但攻击者希望能够对当前获取的消息进行分析,从而破解出之前消息中包含的隐私信息,即协议不具备后向安全性。但文中协议具备后向安全性,主要原因如下:其一,每个消息加密时加入随机数,使前后同一个消息的值并不一样;其二,每轮随机产生的随机数都不一样,具备互异性和无法预测性。基于上述2个原因,攻击者对当前获取的消息进行分析时,无法破解出之前消息中涉及到的用户隐私信息。故本文协议具备后向安全性。
将文中协议与其他协议进行安全方面的对比,对比的结果如表1所示。
表1 多协议间安全性对比
表1中×表示无法提供该安全属性,√表示可以提供该安全属性。
文中协议涉及到的通信实体有电子标签、标签原所有者、标签新所有者3个,考虑到标签新所有者和标签原所有者都具备强大的计算能力、查询能力和充足的存储空间,因此这里仅选择电子标签作为性能分析对象,将从电子标签一端的计算量、存储量、时钟周期数、门电路数等角度综合对比分析各个协议,具体分析结果见表2所示。
表2 不同协议性能间对比
通过表2中各方面综合对比分析,文中协议电子标签一端在时钟周期数、门电路数方面不及文献[3]中协议,相比其他协议都占有优势;文献[3]中协议采用按位运算实现对信息加密传送,使得协议安全性存在不足,而本文协议可以弥补文献[3]中协议安全的不足之处。综上比较,文中协议在安全性及性能角度具备推广的实际使用价值。
表2中的符号所表示的含义如下:Xor符号表示按位异或运算;Prng()符号表示伪随机数发生器运算;C()符号表示混沌加密运算;F()符号表示循环分组运算;Mod()符号表示模运算;Png()符号表示伪随机函数运算。
从文献[10]中可以获悉如下数据信息:哈希函数实现需要的时钟周期数为1 274,伪随机函数实现需要的时钟周期数为1 032,伪随机数发生器实现需要的时钟周期数为104;哈希函数实现需要的门电路数为8 120,伪随机函数实现需要的门电路数为3 400,伪随机数发生器实现需要的门电路数为1 294。由于文献[10]中并未给出超轻量级按位运算的时钟周期数和门电路数,本文按照一次轻量级运算相当于百次超轻量级运算的关系,给出按位运算实现需要的大约时钟周期数为12、门电路数为81。混沌加密与伪随机函数运算时间及实现复杂度大致相当,故时钟周期数和门电路数取值依次为1 032、3 400。模运算实现的时钟周期数、门电路数不少于哈希函数实现的数,这里依次取值为1 274、8 120。
文中协议整个过程中,需要进行6次Xor运算、4次Prng()运算,因此时钟周期数为6*12+4*104=488。文中协议在电子标签一端需要实现按位异或运算、伪随机数发生器运算,故门电路数为81+1 294=1 375。
文中电子标签一端需要存放的参数信息有Kold、Knew、ID,约定每个参数的长度都为L,故文中电子标签一端的存储量为3 L。
针对射频识别技术在运用中有关电子标签归属权变更后用户隐私信息的泄露问题,提出了一种轻量级的所有权转移协议。文中协议采用伪随机数发生器实现信息加密处理,即可提供诸如哈希函数的安全性,亦可实现低计算量的特征,通过设置的电子标签所有权归属者唯一标志位参量确定归属权,具备较高的安全性。对多个协议进行安全、性能等比较分析,表明文中协议可提供较高安全的同时,能够规避其他协议存在的安全隐患,同时文中协议在时钟周期总数和门电路数量方面亦存在优势,满足现有低成本RFID系统各方面要求。