APP下载

抗异步攻击的RFID认证协议

2021-06-21龙桂铃

计算机应用与软件 2021年6期
关键词:读写器攻击者抵抗

王 沅 龙桂铃

1(内蒙古警察职业学院公安管理系 内蒙古 呼和浩特 010000)2(宜春学院网络与教育技术中心 江西 宜春 336000)

0 引 言

射频识别技术不需要与物体直接接触,即可读出物体中存放的信息[1]。射频识别技术在运用过程中,用到最为广泛的当属RFID系统。典型的RFID系统可以抽象为三个节点和两条通信信道的模型,具体为:标签、读写器、服务器;标签和读写器之间信道、读写器和服务器之间信道[2-4]。

在上述模型中,标签与服务器之间不会进行直接通信,而是由读写器作为中间转发装置,读写器起到转发信息作用[5]。由于标签和读写器之间信道是无线方式,导致其易被窃听,存在一定的安全缺陷,研究人员一般认为该信道不安全;读写器与服务器之间的通信信道基于有线方式,比如采用光纤作为传输介质,该类介质一般放于室内,攻击者难以进行监听等行为,具备较好的安全性,研究人员一般将其认定为安全信道[6-7]。

RFID系统在广泛运用的过程中,也逐渐产生诸多问题,其中最为突出的是安全性问题[8]。无线方式通信基于本身固有的缺陷,使得读写器与标签之间的通信消息不再是百分之百安全,认证协议的出现则解决了该问题。

1 相关工作

朱峰等[9]提出认证协议,通过通信实体之间的多次认证,可以在一定程度上确保隐私信息的安全,但协议仍无法满足抵抗重放攻击的需求。

Shen等[10]设计了一个认证协议,在通信消息加密过程中混入随机数,可抵抗攻击者的追踪攻击,但协议无法抵抗攻击者发起的异步攻击。

徐扬等[11]设计出一个认证协议,用串空间模型对协议的安全性进行了证明,但是标签一端因需要产生随机数,需要具备随机数产生器且认证过程复杂,使得协议的推广受到制约。

赵太飞等[12]提出的协议无法满足标签位置隐私的安全需求,攻击者通过监听等手段,能够定位通信实体的位置,从而实施追踪攻击,获取通信实体的隐私信息。

张兴等[13]设计了一个认证协议,本文对该协议进行分析,其存在安全隐患,如:协议无法抵抗攻击者发起的异步攻击;未给出有关密钥更新的算法。

文献[14-18]提出了其他几种关于RFID双向认证的协议。

上述文献中协议存在的不足总结如下:(1) 计算量较大,无法满足低成本无源标签的计算能力;(2) 认证过程复杂,应用范围受到局限;(3) 存在安全缺陷,无法提供协议所需的安全需求。本文在总结上述协议基础上,提出一种能抵抗攻击者去同步化攻击的射频识别认证协议。

2 文献[13]协议分析

鉴于篇幅有限,该协议在文献[13]中有详细步骤描述,在此不再赘述。

文献[13]协议主要存在两个方面的安全问题:(1) 通读协议,未能看出协议有给出共享密钥、ID等参数信息的更新方法;(2) 协议无法提供抗异步攻击的安全需求。

通读协议发现:协议中读写器一端仅存放当前一轮通信的密钥和ID,没有存放上一轮通信用到的密钥和ID。鉴于此,给出如下攻击模型过程,即可使协议中标签与读写器之间失去同步性,即协议无法抵抗异步攻击。

系统中的通信实体之间进行第n轮信息的交换与传输,且第n轮通信正常进行;攻击者窃听该轮会话过程,可获取该轮会话所有消息。

第n轮通信后,标签一端信息如下:ID记作为IDn,m记作为mn(哈希函数加密用到的参数m);读写器一端信息如下:ID记作为IDn,m记作为mn。从上述两个通信实体中存放的信息可以看出,此时两者之间还保持同步。

待第n轮通信完成,在开始第(n+1)轮通信过程中,攻击者执行去同步化攻击步骤,即攻击者切断通信协议过程中的最后一个步骤;同时攻击者将监听第n轮通信过程所获取的H(ID′,i)参数发送给标签。标签对收到的信息进行验证,结合原协议会发现,攻击者能够通过标签的验证,且标签在验证完成之后,将开始进行信息的更新。

第(n+1)轮通信后,因标签端信息有更新,而读写器端未进行信息更新,因此标签一端信息如下:ID记作为IDn+1,m记作为mn+1(哈希函数加密用到的参数m);读写器一端信息如下:ID记作为IDn,m记作为mn。从上述两个通信实体中存放的信息可以看出,此时两者之间不再保持一致性,即IDn≠IDn+1、mn≠mn+1。

当进行第(n+2)轮通信之时,标签用存放的当前密钥和ID信息进行加密计算,再发给读写器;读写器收到消息,对其进行验证,此时读写器验证标签是失败的,因在第(n+1)轮通信后,标签与读写器两者之间的密钥和ID已失去同步性。

至此,攻击者发起的异步攻击成功,使得标签与读写器之间失去同步性。

3 协议设计

通过上述分析可得:文献[13]协议之所以无法抵抗攻击者的异步攻击,主要存在以下两个方面的缺陷。

(1) 读写器一端仅存放当前认证用到的密钥和ID,没存放上一轮认证用到的密钥和ID,从而易造成攻击者发起异步攻击;(2) 在通信最后一步中,标签对读写器发送过来的信息未进行统计,凡验证通过,即进行信息更新,从而造成攻击者异步攻击成功。

本文将从上述两个方面考虑,提出改进的能够抵抗异步攻击的认证协议。本文协议主要创新如下:(1) 读写器一端存储当前和上一轮认证用到的信息,当前信息验证失败之时,会调用存放的上一轮认证信息再次进行验证,从而抵抗攻击者的异步攻击;(2) 标签一端引入信息统计器Q,对最后一步读写器发送给标签的信息个数进行统计,当且仅当Q=0时,标签一端才会进行信息的更新,否则不进行任何信息更新,从而抵抗攻击者发起的异步攻击。

3.1 符号解释

本文协议涉及到的各符号含义解释如表1所示。

表1 符号含义

字合成运算在文中统一用符号Syn(X,Y)表示,其定义如下:X和Y均属于二进制序列,长度均为L位;取二进制序列X的前M位和二进制序列Y的后(L-M)位组合成一个新的二进制序列Z,即Z=Syn(X,Y)。其中M的取值为二进制序列X的汉明重量或二进制序列Y的汉明重量。

为进一步保证加密的安全性,加密过程中M的取值具体选择哪个参量的汉明重量将具体分析;同时加密过程中参与运算的二进制序列X和Y每轮不尽相同,使得每轮中汉明重量的值也不尽相同,从而增大攻击者的破解难度。为进一步对字合成运算的理解,此处取一实例进行讲解,比如:取长度L=8,X=0110 0001,Y=1001 0101,同时约定M的值取Y的汉明重量,则M=4,那么Z=Syn(X,Y)=0110 0101,具体过程如图1所示。

图1 字合成运算示意图

3.2 协议描述

协议通信过程中各加密消息计算公式如表2所示。

表2 计算公式

协议的通信过程如图2所示。

图2 协议的通信过程

结合图2协议的具体通信步骤描述如下:

Step1读写器中随机数产生器随机产生一个随机数a,通过表2中的运算法则计算得到A和B,然后发给标签。

Step2标签收到消息,通过a=A⊕key计算得到一个随机数,暂记作为a′;接着用a′及id计算得到B′,在比较B′与接收到的B是否相等。若相等,则可说明a′=a,且读写器通过标签的验证,然后标签产生随机数b,通过表2中的运算法则计算得C和D,并发送给读写器;若不等,得出读写器是伪造结论,协议将停止。

其中B′=Syn(A⊕key,id)。

Step3读写器收到消息,通过b=C⊕id计算得到一个随机数,暂记作为b′;接着用b′及key、a计算得到D′,再比较D′与接收到的D是否相等。

若相等,则可说明b′=b,且标签通过读写器的验证;然后读写器计算得到通信消息E;接着开始更新信息keyold=keynew、keynew=Syn(a,b);并把E发送给标签。若不等,则读写器将查找keyold,将keyold替换keynew再次进行计算得到D″,再次比较D″与接收到的D是否相等。如果相等,表明标签与读写器之间先前某次通信后暂时失去同步性,通过本次认证后,两者将再次恢复同步;然后读写器计算得到通信消息E;接着开始更新信息keynew=Syn(a,b);并把E发送给标签。如果还不相等,协议结束。

其中D′、D″的计算过程分别如下:D′=Syn(a⊕(C⊕id),(C⊕id)⊕keynew)、D″=Syn(a⊕(C⊕id),(C⊕id)⊕keyold)。

Step4标签收到信息,先对收到的消息E进行统计,查看当前与E消息相对应的计数器Q的值。若Q=0,则表示标签第一次接收到该消息E,标签计算得到E′,接着用E′与接收到的E进行比较。如果E′≠E,表明标签验证读写器失败,协议结束;如果E′=E,认证过程完成,更新信息key=Syn(a,b)。若Q≠0,表示标签之前已经至少接收到该消息E一次,为防止攻击者的异步攻击,标签一端不进行信息更新。

4 本文协议分析

4.1 安全性分析

安全性分析部分可以从双向认证、重放攻击、异步攻击、前向安全、假冒攻击、暴力破解、追踪攻击等多种常见的攻击方式角度对协议的安全性进行分析。其中双向认证、重放攻击、前向安全、假冒攻击、暴力破解、追踪攻击等多种常见的攻击方式,已有相关文献作出分析,本文不再赘述。因此,本节选择对异步攻击方式进行重点分析。

本文协议能够抵抗攻击者的异步攻击,主要原因如下:

1) 读写器一端存放keynew和keyold两个参数的数值。当读写器收到标签发送来的消息之后,会首先用keynew对接收到的消息进行正确性验证。只有验证失败时,读写器一端会再次用keyold对接收到的消息进行正确性验证。当且仅当上述两次验证均失败的时候,才会得出标签是伪造结论,从而避免了攻击者发起的异步攻击。相比较文献[13]协议仅存放当前的通信共享密钥,本文协议存放本轮和上一轮共享密钥,使得协议中读写器与标签之间,即便是上一轮通信中暂时失去一致性,在本轮认证中又可以恢复一致性。

2) 标签一端引进一个新的参量,即计数器Q。该计数器Q的功能是:完成读写器发送给标签信息E的个数统计。标签每次在接收到读写器发送来的信息E之后,先在Q里面查找与此次接收到E信息相对应的Q的数值。

如果没有查找到,即此时Q=0,表示本次接收到的信息E是标签一端第一次收到;接着标签就可以对信息E进行验证,在验证其正确性之后,就可以进行后续操作,同时将该次信息E相对应的计数器Q的值修改为1。

如果查找到,即此时Q≠0,表示此次接收到的信息E在此次之前标签一端至少已经接收到一次;此次再次接收到该信息E,不排除是攻击者重放的信息E,而发起的异步攻击操作。为确保协议能够抵抗攻击者可能发起的异步攻击,在该情况下,标签一端将不进行任何操作,即标签一端不会再次进行共享密钥等参数的更新操作。因标签一端未进行任何参数的更新,使得标签一端与读写器一端通信认证用到的共享密钥等参数信息仍是一致的,因此攻击者通过重放消息E而发起的异步攻击失败。

基于上述分析,本文协议能够抵抗异步攻击。各协议之间的安全性对比如表3所示。

表3 安全性比对

4.2 协议形式化证明分析

基于BAN逻辑形式化分析步骤一般从四个角度进行:(1) 对证明的对象进行理想化建立模型;(2) 对证明的对象进行初始化假设;(3) 给出需要证明的对象目标;(4) 给出严谨的推理证明过程[19]。用BAN逻辑形式化对文中协议证明过程具体如下:

(1) 协议的理想化模型。

消息①R→T:A,B

消息②T→R:C,D

消息③R→T:E

(2) 协议的初始假设。

P5:R|≡#(a),R相信R产生的随机数a的新鲜性。

P6:T|≡#(a),T相信R产生的随机数a的新鲜性。

P7:R|≡#(b),R相信T产生的随机数b的新鲜性。

P8:T|≡#(b),T相信T产生的随机数b的新鲜性。

P9:R|≡T|⟹C,R相信T对C的管辖权。

P10:R|≡T|⟹D,R相信T对D的管辖权。

P11:T|≡R|⟹A,T相信R对A的管辖权。

P12:T|≡R|⟹B,T相信R对B的管辖权。

P13:T|≡R|⟹E,T相信R对E的管辖权。

(3) 协议的安全目标。

G1:R|≡C,R相信C。

G2:R|≡D,R相信D。

G3:T|≡A,T相信A。

G4:T|≡B,T相信B。

G5:T|≡E,T相信E。

(4) 协议的分析推理。

目标G1证明完成。

G2、G3、G4、G5的证明推导过程与的G1证明推到过程相似,故省略。

4.3 协议性能分析

认证协议中的通信实体由标签、服务器、读写器三部分组成。其中读写器与服务器看为一个整体,具备计算能力强、存储空间大的特征;而标签则不具备该特征。鉴于上述,选标签作为对象进行性能分析。本文协议与其他此类协议进行性能分析的结果如表4所示。

表4 协议的性能分析

表4中:pa表示产生随机数需要的计算量;pb表示哈希函数加密计算需要的计算量;pc表示按位运算需要的计算量;pd表示模运算的计算量;pe表示字合成运算加密需要的计算量。约定协议中用到的参数长度为l位。

从计算量角度进行分析:上述各种不同的计算所对应的计算量亦不同,大抵可以按照如下由大到小的顺序进行排序:pd>pb>pa>pe>pc。其中pd、pb两者运算量相差不大,且pd、pb、pa均属于轻量级的计算。本文协议选择计算量为超轻量级的位运算进行加密,相对于文献[11-13]来说,标签一端的计算量有较大幅度的减少;同时本文设计协议能够弥补上述文献中协议存在的安全缺陷。从性能分析角度表明,本文协议具备一定的使用和推广价值。

5 结 语

本文在重点分析文献[13]协议后,指出其存在无法抵抗异步攻击的缺陷,在此基础之上,提出改进的能抵抗异步攻击的认证协议。该协议采用字合成运算对通信消息进行加密,能最大限度降低通信实体的计算量;读写器端通过存放前后两轮的共享密钥来抵抗攻击者发起的异步攻击,同时标签一端引入计数器Q,对通信最后一轮中读写器发送给标签的消息E进行计数,根据Q的值,选择进行计算更新操作或放弃计算更新操作。经典协议之间的安全对比表明本文协议具备较好的安全;逻辑形式化分析协议验证了协议具备严谨的推理过程;对协议进行性能分析,表明协议具备低计算量的特征。未来研究的方向是将协议应用在具体的RFID系统中,对具体的通信时间及计算量进行研究分析。

猜你喜欢

读写器攻击者抵抗
基于贝叶斯博弈的防御资源调配模型研究
Changes in Ribose,AGEs and Transketolase in Female GK Rat,a Type 2 Diabetic Model
做好防护 抵抗新冠病毒
正面迎接批判
正面迎接批判
基于国家标准的UHF RFID读写器数字基带系统设计
RFID技术在固定资产管理中应用研究
高频RFID技术在图书馆中的应用
拥抱改变