法律状态公告日
法律状态信息
法律状态
2020-07-28
授权
授权
2017-06-16
实质审查的生效 IPC(主分类):H04L9/06 申请日:20161130
实质审查的生效
2017-05-24
公开
公开
技术领域
本发明涉及射频识别技术领域,特别涉及一种RFID系统中标签与新旧所有者之间所有权转移的方法。
背景技术
无线射频识别技术(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,通过射频信号自动识别目标对象同时获取对象中存放的相关数据。因其具有精度高,适应环境能力强,成本低,抗干扰性好,易携带等优点,现已被广泛用于物流,门禁,商业自动化,控制管理以及工业自动化等众多领域。
伴随着RFID技术的进一步普及,RFID标签被生产出来之后,制造商会将其嵌入到生产的商品中,同时该标签内部保存了商品的ID,出厂信息,商品使用方法,商品属性等内容。在实际生活应用过程中,实体的所有权经常发生变化。比如:生产者将商品出售给批发商之后,批发商在物理上拥有了该商品的所有权,但是这并不代表批发商完全控制了该商品所有权。假使没有改变该标签的所有权,那么生产商依旧可以扫描并获取该标签的信息,从而导致批发商的隐私遭到泄露。批发商将该商品零售给零售商的过程中,也会存在上面的所有权是否彻底转移问题,同样存在标签隐私信息泄漏的隐患。为了解决上述的安全问题,许多专家学者提出了各种不同的标签所有权转移协议。
虽然国内外学者已提出不少的RFID标签所有权转移协议,但是这些方案一次只能完成单个标签的所有权转移,并不能满足实际应用中RFID标签以群组方式发生所有权转移的需求。为了满足一次完成多个标签的所有权转移,提高标签所有权转移的效率,Zuo在2010年第一次提出了群组标签所有权转移协议。但是该协议对于标签的计算能力要求较高,同时协议不允许标签离开或者加入现有群组,因此协议具有一定的局限性。Kapoor等人提出了一个供应链环境下多标签多所有者的标签所有权转移协议,但是该协议中身份认证阶段未将通信双方身份标识纳入双向认证协议中,使得协议不能抵抗重放攻击和假冒攻击等安全缺陷。Yang M H等人提出了一个适于移动RFID系统可跨越的群组RFID标签所有权转移协议,但分析发现该协议存在诸多问题,比如:协议假设前提不成立,同时协议不能抵抗后向安全攻击以及拒绝服务攻击等安全缺陷。梁樱等人提出了一个基于TTP的安全群组RFID标签所有权转移协议,分析发现此协议不能抵抗暴力破解攻击,同时协议采用哈希函数及轻量级对称加密算法,使得标签端的计算量较大。基于上面的叙述,因此设计一个安全的标签所有权转移协议具有重大的实用价值意义。
发明内容
本发明提出了一种基于字合成运算的超轻量级群组RFID标签所有权转移方法,通过此方法解决了RFID系统中标签与新旧所有者之间所有权转移存在安全缺陷的问题。
为解决上述技术问题,本发明采用的技术方案分为以下十二个步骤:
(1)标签新所有者S_new向标签原所有者S_old发送(Query,IDi)信息;
(2)标签原所有者S_old向组内标签广播(Query,r1,Ai)信息;
(3)标签验证Ai的值,再计算B的值,并将(r2i,Bi)一起传送给标签原所有者S_old;
(4)标签原所有者S_old验证Bi的值,进行组密钥更新阶段;
(5)标签原所有者S_old向可信第三方TTP发送(Query,r1,IDi)信息;
(6)可信第三方TTP生成新的群组密钥K_new,再计算Di的值,并将(IDi,K_ttp_i,K_new,Di)一起传送给标签原所有者S_old,同时可信第三方TTP将自身生成的新群组密钥K_new通过安全信道传送给标签新所有者S_new;
(7)标签原所有者S_old计算Ei的值,并将(Di,Ei)一起传送给组内标签Ti;
(8)组内标签Ti验证Ei的值,再计算新的群组密钥K_new,进行验证核实阶段;
(9)标签新所有者S_new分别计算Fi,Mi,Ni的值,并将(Fi,Mi,Ni)一起传送给组内各标签;
(10)组内标签Ti验证Fi的值,再计算Hi的值,并将(r2i,Hi)一起传送给标签新所有者S_new;
(11)标签新所有者S_new验证Hi的值,向标签原所有者S_old发送确认消息SURE;
(12)标签原所有者S_old向标签新所有者S_new发送组内各标签的相关信息Info(IDi),协议完成。
在步骤(1)中,标签新所有者S_new向标签原所有者S_old发送(Query,IDi)信息。
在步骤(2)中,标签原所有者S_old向组内标签广播(Query,r1,Ai)信息。
在步骤(3)中,标签验证Ai的值,再计算B的值,并将(r2i,Bi)一起传送给标签原所有者S_old。
在步骤(4)中,标签原所有者S_old验证Bi的值,进行组密钥更新阶段。
在步骤(5)中,标签原所有者S_old向可信第三方TTP发送(Query,r1,IDi)信息。
在步骤(6)中,可信第三方TTP生成新的群组密钥K_new,再计算Di的值,并将(IDi,K_ttp_i,K_new,Di)一起传送给标签原所有者S_old,同时可信第三方TTP将自身生成的新群组密钥K_new通过安全信道传送给标签新所有者S_new。
在步骤(7)中,标签原所有者S_old计算Ei的值,并将(Di,Ei)一起传送给组内标签Ti。
在步骤(8)中,组内标签Ti验证Ei的值,再计算新的群组密钥K_new,进行验证核实阶段。
在步骤(9)中,标签新所有者S_new分别计算Fi,Mi,Ni的值,并将(Fi,Mi,Ni)一起传送给组内各标签。
在步骤(10)中,组内标签Ti验证Fi的值,再计算Hi的值,并将(r2i,Hi)一起传送给标签新所有者S_new。
在步骤(11)中,标签新所有者S_new验证Hi的值,向标签原所有者S_old发送确认消息SURE。
在步骤(12)中,标签原所有者S_old向标签新所有者S_new发送组内各标签的相关信息Info(IDi),协议完成。
本发明与现有技术相比,具有如下优点和有益效果:
现有的RFID所有权转移协议存在一定的安全缺陷问题或标签成本过高问题,本发明的所有权转移协议有以下优点:
(1)抛弃传统的Hash运算加密传输的方法,采用字合成运算方法对传输信息进行加密,从而减少标签端及新旧所有者端的运算量,使本发明中的协议可以达到超轻量级的级别;
(2)协议可以满足一次认证转移多个标签的所有权,克服传统的协议认证一次只能转移一个标签的所有权缺陷;
(3)充分利用标签和新旧所有者之间共享的标签唯一的标识符ID的信息,减少信息的引入和存放,将标签的标识符ID分成ID_L和ID_R两部分进行加密传输,作为双向认证的凭据,从而降低标签端的存储成本。
附图说明
图1是字合成运算计算过程流程图;
图2是初始认证阶段流程图;
图3是所有权转移阶段流程图;
图4是认证核实阶段流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
首先给出本协议中各符号的含义:
S_new:标签新所有者;
S_old:标签原所有者;
Ti:第i个标签;
TTP:可信第三方;
IDi:第i个标签的标识符;
r1:标签原所有者S_old生成的随机数;
r2i:第i个标签生成的随机数;
r3:标签新所有者S_new生成的随机数;
K_old:标签原所有者S_old与群组标签之间共享的群组密钥;
K_old_i:标签原所有者S_old与第i个标签之间共享的认证密钥;
K_new:标签新所有者S_new与群组标签之间共享的群组密钥;
K_new_i:标签新所有者S_new与第i个标签之间共享的认证密钥;
K_ttp_i:可信第三方TTP与第i个标签之间共享的认证密钥;
Flag:标志位,1表示拥有标签所有权,0表示未拥有标签所有权;
⊕:异或运算;
&:与运算;
Syn(X,Y):字合成运算;
Info(IDi):第i个标签的完整信息;
Query:认证请求命令;
FALL:失败消息;
SURE:成功确定;
Ai、Bi、Di、Ei、Fi、Hi、Mi、Ni:协议中的通信数据。
设X、Y是两个具有L位的二进制数,X=x1x2x3...xL,Y=y1y2y3...yL;其中,xi,yi取值范围为{0,1},i=1,2,..L,Syn(X,Y)=YL-M+1YL-M+2···YLX1X2···XL-M;字合成运算Syn(X,Y)是指由X的前L-M位与Y的后M位组合而形成新的L位数组;其中M的设定为:M=Hw(Y),也可以为M=L-Hw(Y);或者是M=Hw(X),也可以为M=L-Hw(X);或者是M=Hd(X,Y),也可以为M=L-Hd(X,Y);Hw(X)表示为X的汉明重量,Hw(Y)表示为Y的汉明重量,Hd(X,Y)表示为X与Y的汉明距离。
例如,取长度L=12,设X=011100101010,Y=011001011011,设定M=Hw(Y)=7,则根据上述字合成运算的定义可以得到Syn(X,Y)=101101101110,具体运算过程如图1所示。该运算只需要移位以及按位或运算既可以实现,从而可以有效的降低标签的计算量和存储空间,最终达到降低标签成本的目标,可以实现标签所有权的超轻量级转移。上例中M可以根据需要设定其他不同的数值,在这里不再一一的列出其实现的过程,并且在运用过程中M的值要保密,以防攻击者恶意攻击,M的值保密,使得攻击者没有办法简单的进行攻击,从而增加了攻击者的攻击难度,可以提高协议的安全性。
为了使协议具有一定的实用价值,作出如下假设:可信第三方TTP与标签原所有者S_old之间的通信信道是安全的;可信第三方TTP与标签新所有者S_new之间的通信信道是安全的;标签新所有者S_new与标签原所有者S_old之间的通信信道是安全的;标签原所有者S_old与标签Ti之间的通信信道是不安全的;标签新所有者S_new与标签Ti之间的通信信道是不安全的。读写器与新旧所有者之间的双向认证具体过程如图2、图3、图4所示:
对图2、图3、图4中出现的Ai、Bi、Di、Ei、Fi、Hi、Mi、Ni的说明:
Ai=Syn(K_old⊕IDi⊕r1,K_old&IDi&r1);
Bi=Syn(K_old_i⊕r1,K_old_i⊕r2i);
Di=Syn(K_ttp_i⊕IDi,K_ttp_i&IDi)⊕K_new;
Ei=Syn(K_old⊕r1,IDi⊕r1)&Syn(K_new⊕r1,K_ttp_i⊕r1);
Fi=Syn(K_new&r3,K_new_i&IDi);
Hi=Syn(K_new_i&r2i,K_new_i&r3);
Mi=K_new⊕K_new_i;
Ni=r3⊕K_new_i。
整个协议的认证步骤描述如下:
(1)初始认证阶段
步骤一:协议最开始,标签新所有者S_new向标签原所有者S_old发送所有权转移请求Query,以及第i个标签的标识符IDi,即(Query,IDi)。
步骤二:标签原所有者S_old在收到所有权转移请求后Query,标签原所有者S_old检索需要进行所有权转移的标签的标志位。若标志位都为1,则表示标签原所有者S_old拥有需要进行所有权转移的群组标签所有权,接着标签原所有者S_old生成一个随机数r1,同时计算Ai的值,最后标签原所有者S_old将(Query,r1,Ai)一起向组内标签广播;若标志位不全为1,则表示标签原所有者S_old未拥有需要进行所有权转移的部分群组标签所有权,协议中止。
步骤三:组内标签在收到(Query,r1,Ai)消息后,标签Ti用接收到的随机数r1,自身的标识符ID,自身存放的群组密钥K_old来计算Ai`的值,即:Ai`=Syn(K_old⊕ID⊕r1,K_old&ID&r1),然后比较Ai与Ai`的值。若相等,则该标签被激活,接着被激活的标签生成一个随机数r2i,同时计算Bi的值,最后将(r2i,Bi)一起传送给标签原所有者S_old;若不相等,放弃操作。
步骤四:标签原所有者S_old在接收到(r2i,Bi)消息后,标签原所有者S_old用自身生成的随机数r1,接收到的随机数r2i,自身存放的与组标签Ti共享认证密钥K_old_i来计算Bi`的值,即:
Bi`=Syn(K_old_i⊕r1,K_old_i⊕r2i),
然后逐一比对Bi`与Bi的值。若全部都相等,则开始进行组密钥更新阶段;若未全部相等,标签原所有者S_old向标签新所有者S_new发送失败消息FALL,协议中止。
(2)组密钥更新阶段
步骤一:在逐一比对Bi`与Bi的值全部都相等的前提下,开始进行组密钥更新阶段。标签原所有者S_old向可信第三方TTP发送密钥更新请求Query、第i个标签的标识符IDi以及自身生成的随机数r1,即(Query,r1,IDi)。
步骤二:可信第三方TTP在接收到(Query,r1,IDi)消息后,可信第三方TTP首先生成新的群组密钥K_new,然后用接收到的第i个标签的标识符IDi,自身生成的新群组密钥K_new,可信第三方TTP与第i个标签之间共享的认证密钥K_ttp_i来计算Di的值,最后可信第三方TTP将(IDi,K_ttp_i,K_new,Di)一起通过安全信道传送给标签原所有者S_old,同时可信第三方TTP将自身生成的新群组密钥K_new通过安全信道传送给标签新所有者S_new。
步骤三:标签原所有者S_old在接收到(IDi,K_ttp_i,K_new,Di)消息后,标签原所有者S_old用自身生成的随机数r1,接收到的IDi、K_ttp_i、K_new,自身存放的K_old来计算Ei的值,最后标签原所有者S_old将(Di,Ei)一起传送给组内标签Ti。
步骤四:组内标签在接收到(Di,Ei)消息后,标签通过计算Syn(K_ttp_i⊕ID,K_ttp_i&ID)⊕Di得到群组新密钥K_new,然后再用计算得到的K_new,自身存放的K_old,自身存放的ID,接收到的随机数r1,自身存放的K_ttp_i来计算Ei`的值,即:Ei`=Syn(K_old⊕r1,ID⊕r1)&Syn(K_new⊕r1,K_ttp_i⊕r1),然后比对Ei`与Ei的值。若相等,检查随机数r1的值,确定是否还在同一会话中,如果还在同一会话中,则根据上面的计算获取新的群组密钥K_new,从而进入验证核实阶段;否则,放弃操作。
(3)验证核实阶段
步骤一:标签新所有者S_new在接收到K_new消息后,标签新所有者S_new首先生成一个随机数r3,同时为组内各标签成员生成新的认证密钥K_new_i,然后分别计算Fi,Mi,Ni的值,最后标签新所有者S_new将(Fi,Mi,Ni)一起传送给组内各标签。
步骤二:组内各标签在接收到(Fi,Mi,Ni)消息后,标签通过计算Mi⊕K_new得到K_new_i,再通过计算Ni⊕K_new_i得到r3,接着标签用自身存放的ID,计算得到的K_new_i及r3,自身存放的K_new来计算Fi`的值,即:Fi`=Syn(K_new&r3,K_new_i&ID),然后比对Fi`与Fi的值。若相等,标签更新自身与标签新所有者S_new之间共享的新认证密钥K_new_i,接着标签用K_new_i,r2i,r3来计算Hi的值,最后将(r2i,Hi)一起传送给标签新所有者S_new;若不相等,则放弃操作。
步骤三:标签新所有者S_new在接收到(r2i,Hi)消息后,标签新所有者S_new用自身生成的K_new_i,接收到的r2i,自身生成的r3来计算Hi`的值,即:Hi`=Syn(K_new_i&r2i,K_new_i&r3),然后逐一比对Hi`与Hi的值。若全部都相等,则标签新所有者S_new向标签原所有者S_old发送确认消息SURE;若不全相等,则协议中止。
步骤四:标签原所有者S_old在接收到SURE消息后,标签原所有者S_old向标签新所有者S_new发送组内各标签的相关信息Info(IDi),协议完成。到此,群组标签所有权全部转移成功。
在不脱离本发明精神或必要特性的情况下,可以其它特定形式来体现本发明。应将所述具体实施例各方面仅视为解说性而非限制性。因此,本发明的范畴如随附申请专利范围所示而非如前述说明所示。所有落在申请专利范围的等效意义及范围内的变更应视为落在申请专利范围的范畴内。
机译: 一种用于超轻波的人工轻量级冷却的方法和装置-天线通过烟道的蒸发作为信号的函数
机译: 运算合成器,运算合成方法,包括运算合成器的数据处理系统和运算合成程序
机译: 基于群组成员身份信息的电子签名方法,获取已签名群组成员身份信息的方法,以及基于群组成员身份信息进行电子签名的电子签名系统