APP下载

一种适用于标签组的所有权转移协议①

2018-11-14付萍萍卓明旺

计算机系统应用 2018年11期
关键词:群组攻击者所有权

于 仕,付萍萍,卓明旺,李 彬,江 虹

1(国网江西省电力有限公司信息通信分公司,南昌 330077)

2(南京南瑞集团公司信息系统集成分公司,南京 211106)

无线射频识别(Radio Frequency IDentification,RFID)是一种自动识别和数据获取技术,只需要将RFID标签附着在目标实体上,无需直接接触目标实体就可以实现对选定目标的识别[1–3].具有体积小、寿命长等优点,已被广泛应用在商品生产、交通运输等各个领域[4–6].在应用中,通信实体的所有权会不断的发生改变,比如: 生产者将商品卖给批发商,商品的所有权就会发生改变,所有权不再属于生产者,然而生产者却依旧有可能获取该商品的信息,而导致批发商的隐私信息遭到泄漏[7–9].为了解决上述存在的问题,需设计出安全的所有权转移协议.

Molnar等人在2005年首次提出RFID标签所有权转移协议,但是该协议每次通话只能完成一个标签的所有权转移,使用范围受到局限[10]; Zuo等人在2010年首次提出RFID标签组所有权转移协议,该协议可以一次通话完成一组标签所有权的转移,但该协议基于可信第三方,使其应用也具有一定的局限,同时该协议无法抵抗异步攻击和假冒攻击[11]; Yang等人在2012年提出了一个适用移动RFID系统的RFID标签组所有权转移协议,分析发现,该协议无法抵抗异步攻击,同时协议也无法满足后向隐私的安全需求[12];He等人在2014年提出了一个RFID标签组所有权转移协议,但分析发现,该协议仍无法抵抗去同步化攻击,同时不能保证后向隐私的安全性[13].原变青等人在2015年提出了一个通用可组合安全的RFID标签组所有权转移协议,但分析发现,该协议无法抵抗暴力破解攻击,攻击者通过强制手段,可以暴力破解出标签的相关隐私[14].在总结上述协议基础之上,提出一种适用于的多标签的所有权转移协议.在所提协议中,信息通过字合成运算加密后再传输,使得攻击者只能获取密文;同时在所提协议中,保证每个传输的信息中,都至少有两个以上的量是攻击者事前无法知晓的,从而使得攻击者无法进行暴力破解攻击; 通过BAN逻辑形式证明了协议的正确性.

1 本文协议

1.1 符号说明

对协议中出现的符号进行如下说明:

A: 标签原所有者;

B: 标签新所有者;

Ta: 群组标签(其中a表示群组标签的总个数);

Ti: 群组标签中编号为i的标签;

V: 群组标签Ta与标签原所有者A之间共享的密钥;

U: 群组标签Ta与标签新所有者B之间共享的密钥;

Vi: 群组标签Ta中编号为i的标签与标签原所有者A之间共享的认证密钥;

Ui: 群组标签Ta中编号为i的标签与标签新所有者B之间共享的认证密钥;

x: 标签原所有者A产生的一个随机数;

y: 标签新所有者B产生的一个随机数;

zi、wi: 群组标签Ta中编号为i的标签产生的两个随机数;

e、f: 标签新所有者B随机选取的两个大素数;

g:e、f两个大素数的乘积,即

Query: 所有权转移请求命令;

SURE: 所有权转移授权命令;

Cro(X,Y): 交叉位运算;

⊕: 异或运算;

&: 与运算;

M2modd: 模运算.

其中有关交叉位运算详细实现步骤可参考文献[15],示例可参考如图1所示: 取长度L=12,并设定根据交叉位运算的定义可得:

图1 交叉位运算

1.2 所有权转移协议

所提所有权转移协议分为两个阶段,第一个阶段是初始化阶段,完成标签原所有者A、标签新所有者B、群组标签Ta中各参数的设置; 第二阶段是所有权转移阶段,完成标签所有权由标签原所有者A转移到标签新所有者B的过程.

(1)初始化阶段

在所有权转移协议的初始化阶段,标签新所有者B随机选择两个大素数e和f,然后计算的值,并将g的值通过安全信道告知标签原所有者A和群组标签Ta.标签原所有者A端存放如下信息: (Vi、V、g);标签新所有者B端存放如下信息: (e、f、g); 群组标签Ta中编号为i的标签端存放如入信息: (Vi、V、g).

(2)所有权转移阶段

对图2中的通信过程中出现的字符进行解释:

图2 本文协议

所提所有权转移协议如图2所示,具体的执行步骤如下:

(1) 步骤1

1)标签原所有者A生成一个随机数,记作x.

2)标签原所有者A用自身生成的x、自身存放的V计算得到M1.标签原所有者A用自身生成的x、接收到的g计算得到M3.

3)标签原所有者A将一并发送给标签新所有者B.

(2) 步骤2

标签新所有者B在接收到信息之后,进行如下操作.

1)标签新所有者B生成一个随机数,记作y.

2)标签新所有者B用自身生成的y、接收到的M1计算得到M2.标签新所有者B用自身生成的y、自身存放的g计算得到M4.

3)标签新所有者B向标签组Ta广播消息.

(3) 步骤3

标签Ti在接收到信息之后,进行如下操作.

1)标签Ti用接收到的M3、自身存放的g计算得到随机数x.标签Ti用接收到的M4、自身存放的g计算得到随机数y.标签Ti用计算得到的x、计算得到的y、自身存放的V计算得到一个M2`的值.

2)标签Ti将计算得到的M2`与接收到的M2值进行比对.若两者值相等,进行步骤3); 反之,协议终止.

3)标签Ti生成两个随机数,分别记作zi、wi.

4)标签Ti用自身生成的zi、自身存放的Vi计算得到M5i.标签Ti用自身生成的zi、计算得到的x计算得到M6i.标签Ti用自身生成的wi、计算得到的y、接收到的g计算得到M7i.

5)标签Ti将一并发送给标签新所有者B.

(4) 步骤4

标签新所有者B接收到标签Ti的响应信息后,得到集合.进行如下操作.

1)标签新所有者B对M7i进行解方程,即:根据中国剩余定理,可以计算得出方程的四个解,依次为:b1、b2、b3、b4.

2)若能够找到左边L位等于y的解进行步骤3); 反之,协议终止.

3)该解相对应的右边L位即为wi,然后存放集合

4)标签新所有者B将集合{(M5i、M6i)|传送给标签原所有者A.

(5) 步骤5

标签原所有者A在接收到信息之后,进行如下操作.

1)标签原所有者A检查收到的消息集合中消息对(M5i、M6i)的数量是否与数据库中存放的待转移的群组标签Ta中的标签数一致.

2)如果数量一致,进行步骤6; 反之,协议终止.

(6) 步骤6

标签原所有者A将对每一个消息对(M5i、M6i)进行验证,验证过程如下.

1)标签原所有者A用接收到的M5i、自身存放的Vi计算得到随机数zi.

2)标签原所有者A用自身生成的x、计算得到的zi计算得到一个M6i`的值.

3)标签原所有者A将计算得到的M6i`与接收到的M6i值进行比对.若两者值相等,进行步骤4); 反之,协议终止.

4)说明群组标签Ta中的每个标签Ti都存在,进行步骤7.

(7) 步骤7

1)标签原所有者A对群组标签Ta中的每个标签Ti用自身存放的Vi、计算得到的zi计算得到M8i.

2)标签原所有者A向标签新所有者B发送授权转移信息

(8) 步骤8

标签新所有者B在接收到所有权转移授权命令之后,进行如下操作.

1)标签新所有者B生成一个标签新所有者B与群组标签Ta之间共享的密钥U.标签新所有者B生成一个标签新所有者B与群组标签Ta中编号为i的标签Ti之间共享的认证密钥Ui.

2)标签新所有者B用自身生成的Ui、计算得到的wi计算得到M9i.标签新所有者B用自身生成的U、计算得到的wi计算得到M10i.标签新所有者B用计算得到的M9i、计算得到的M10i、接收到的M8i、计算得到的wi计算得到M11i.

3)标签新所有者B向标签Ti发送信息.

(9) 步骤9

标签Ti在接收到信息之后,进行如下操作.

1)标签Ti用自身存放的Vi、自身生成的zi计算得到一个M8i`的值.标签Ti用接收到的M9i、接收到的M10i、计算得到的M8i`、自身生成的wi计算得到一个M11i`的值.

2)标签Ti将计算得到的M11i`与接收到的M11i值进行比对.若两者值相等,进行步骤3); 反之,协议终止.

3)标签Ti通过计算wi⊕M9i得到认证密钥Ui的值.标签Ti通过计算wi⊕M10i得到共享密钥U的值.

4)标签Ti更新标签Ti与标签新所有者B之间的密钥信息,到此所有权转移成功.

2 安全性分析

(1)后向安全

在所有权转移协议中,当群组标签的所有权转移成功后,标签组中存放的密钥全部更新,U取代V,Ui取代Vi,同时U和Ui对标签的原所有者A是保密的; 密钥更新之后,标签的原所有者A将不能再识别出群组标签中的任何一个标签,并且无法访问标签与标签的新所有者B之间的会话消息.故所提协议能够保证后向安全性.

(2)前向安全

在所提所有权转移协议中,标签的新所有者B仅仅只能获得更新后的密钥U和Ui,根本没有办法获取标签的原所有者A与群组标签之间共享的密钥V和Vi,因此标签的新所有者B根本没有权限访问到标签与标签的原所有者A之间的会话消息.故本文协议能够保证前向安全性.

(3)去同步化攻击

去同步化攻击是要造成群组标签与标签的新所有者B之间共享的密钥不相同,或者是造成群组标签与标签的原所有者A之间共享的密钥不相同.在所提所有权转移协议中,协议运行的前提是: 群组标签中存放有与标签的原所有者A通信所需用到的密钥V和Vi,因此攻击者无法造成群组标签与标签的原所有者A之间的密钥不同.当标签的新所有者B产生新的密钥之后,群组标签并不是立刻进行更新密钥,而是通过M9i、M10i、M11i消息来验证标签的新所有者B的真伪,只有标签的新所有者B不是伪造的情况下,群组标签端才会进行密钥的更新,否则密钥不仅不会更新,而且协议立刻终止,因此攻击者无法造成密钥不同步的情况.故所提协议可以抵抗去同步化攻击.

(4)暴力破解攻击

在所提所有权转移协议中,攻击者监听整个通信过程,可以获得M2、M3、M4、M5i、M6i、M7i、M9i、M10i、M11i这些消息,但攻击者仍无法从上述消息中获得任何有用的隐私信息.比如对M3进行暴力破解攻击,在该公式中,随机数x攻击者不知晓,它是由标签原所有者A随机产生,且无法提前预测,同时又是通过安全通道传送给标签新所有者B;g是e和f的乘积,对于e和f的选取,攻击者更是无法知晓,且g事先已安全存放在群组标签端,因此在上述公式中,攻击者仅仅只能截获到M3消息,而M3消息中的x和g都是无法知晓的,所以攻击者即使对消息M3进行强制性破解,也还是无法获取任何有用的信息;对其他获取的消息进行强制性攻击同样无法获取信息,因每个消息中至少有两个量,攻击者是无法提前知晓的.故本文协议可以抵抗暴力破解攻击.

(5)追踪攻击

在所提所有权转移协议中,攻击者通过监听一个完整的通信过程,可以获得众多消息中的M5i、M6i、M7i三个消息,攻击者试图通过分析由群组标签产生的M5i、M6i、M7i三个消息来跟踪群组标签,但攻击者无法成功.M5i、M6i、M7i三个消息中都有用到由群组标签产生的随机数来计算,而随机数的产生是随机生成且无法提前预测,并且每次生成的随机数都是不相同的,因此攻击者截获的M5i、M6i、M7i三个消息每次都是不同的,从而使得攻击者根本无法跟踪群组标签的具体位置.故本文协议可以抵抗跟踪攻击.

(6)重放攻击

在所提所有权转移协议中,攻击者监听整个通信过程,可以获得M2、M3、M4、M5i、M6i、M7i、M9i、M10i、M11i这些消息,攻击者想通过重放上述信息进行重放攻击,从而获取标签端的隐私信息,但攻击者无法成功.在上述获取的消息中,每个消息再计算过程中都会用到不同的随机数,标签原所有者A通过随机数x来保持每次传输消息的新鲜性; 标签新所有者B通过随机数y来保持每次传输消息的新鲜性; 标签Ti通过随机数wi、zi来保持每次会话用到的信息的新鲜性.攻击者不论对谁发送的恶意重放攻击,都是不可能实现的,因为随机数x、y、wi、zi的产生都是随机产生的,每次都是不同的,且无法提前预测,因此重复发送上一次会话的消息无法通过认证.故本文协议可以抵抗重放攻击.

3 性能分析

性能分析主要从标签计算量、标签存储空间大小方面来分析,分析结果如表1所示.

表1 协议的性能比较

表1中,设定共享密钥值,共享认证密钥值,大素数的长度均为L位;PR()表示PRNG运算,PH()表示哈希函数运算,PM()表示模运算,PE()表示加解密运算,AND表示与运算,XOR表示按位异或运算,XAND表示连接运算,Cro()表示交叉位运算.

由表1中可得知,在存储空间方面,本文协议相对文献[12]及文献[13]来说,减少了标签端的存储空间;相对文献[14]而言,与其标签端的存储空间相当.在计算量方面,本文协议相对文献[12]及文献[13]来说,标签端的计算量减少较多,因PE()加解密运算,PH()哈希函数运算都是轻量级的运算量,而本文协议中用到的加密方法都是超轻量级的运算量; 相对文献[14]而言,本文协议在超轻量级方面的运算量稍微多一些,但超轻量级的计算量本身计算量较少,因此多几次的超轻量级加密运算量可以忽略不计,同时文献[14]中采用PRNG运算进行加密,而该运算属于轻量级的计算量,本文协议采用Cro()字合成运算进行加密,该加密方法属于超轻量级的算法.因此综合比较,本文协议在标签端计算量方面,要比文献[14]中的计算量少一些,且文献[14]中的协议存在安全缺陷,无法抵抗暴力破解攻击,而本文协议弥补了原协议的安全缺陷问题.

4 基于BAN逻辑形式化证明

本文采用BAN逻辑形式化分析方法对本文协议进行安全性证明,BAN逻辑是由Burrows等人提出的.

采用BAN逻辑对协议进行形式化分析,证明过程如下所示.因标签新所有者B和标签原所有者A中都有读写器部分,因此可以将两者看成一个整体,看成一个大的读写器,用R来表示.

(1)协议的理想化模型

消息①R→T:M2、M3、M4;

消息②T→R:M5i、M6i、M7i;

消息③R→T:M9i、M10i、M11i.

(2)协议的预期目标

本协议正确性的证明目标主要有G1、G2、G3、G4、G5、G6、G7、G8、G9九个,即双向认证实体之间对交互信息新鲜性的相信.

(3)协议的初始假设

(4)协议的推导过程

运用上述条件和法则,同理可证得G2、G3、G4、G5、G6、G7、G8、G9.此处不再赘述.

4 结论与展望

针对RFID系统中标签所有权转移的实际问题,提出了一种轻量级的群组RFID标签所有权转移协议.该协议弥补了一次会话只能转移单个标签所有权的缺陷,本文协议可以在一次会话中转移多个标签的所有权;所提协议弥补了原协议存在的安全缺陷,本文协议可以抵抗暴力破解攻击; 所提协议在传输过程中所有的信息都是经过简单的加密后再传输,从而增加了攻击者破解的难度; 通过安全性分析以及BAN逻辑形式化,证明了协议的安全性; 通过性能分析,表明了该协议适用于低成本的RFID系统.

猜你喜欢

群组攻击者所有权
基于贝叶斯博弈的防御资源调配模型研究
商品交换中的所有权正义及其异化
Boids算法在Unity3D开发平台中模拟生物群组行为中的应用研究
正面迎接批判
一方支付首付购房,婚后双方一起还房贷未取得产权证的,离婚时房屋归谁?
正面迎接批判
论所有权保留
权利人放弃所有权只能适用注销登记