APP下载

一种基于双PUF的RFID认证协议

2021-08-17刘亚丽

计算机研究与发展 2021年8期
关键词:攻击者信道服务器

李 涛 刘亚丽

(江苏师范大学计算机科学与技术学院 江苏徐州 221116) (广西密码学与信息安全重点实验室(桂林电子科技大学) 广西桂林 541004)

随着物联网技术的兴起与发展,各种物联网技术也逐渐广泛地应用到人们的日常生活中.无线射频识别(radio frequency identification, RFID)作为物联网中的关键技术之一,以其无需物理接触的特点,在无线通信应用中发挥着独特的优势[1].一个完整的RFID系统通常由标签、阅读器、后端数据库(或服务器)3个部分组成[2].标签通常嵌入在实体中并拥有唯一标识,当标签进入阅读器的识别范围时,阅读器与标签会通过安全协议验证对方身份的合法性,验证通过后,标签会将自身的数据发送给阅读器交给后台处理.通常来说阅读器与后端数据库的连接信道是安全的,而标签与阅读器之间的无线信道是不安全的.攻击者可能通过不安全信道发动假冒、窃听、去同步化等多种恶意攻击[3].并且,标签的资源是受限的,其存储能力和计算能力会受到一定的制约.RFID系统的安全隐私问题和代价效率问题是影响RFID技术发展的关键因素.设计一个轻量的、安全的方案是RFID安全认证协议亟待解决的问题.

2002年,一种称为物理不可克隆函数(physical uncloneable function, PUF)[4]的概念被提出,并得到越来越多学者的关注.物理不可克隆函数是一种密码学原语,它利用自身硬件物理结构上的差异,能对不同的激励产生不同的不可预测的响应输出.PUF技术的引入,确保了通信实体能够抵抗攻击者的物理攻击和克隆攻击,同时减少了实体的计算开销[5].对于资源受限的认证实体而言,这一技术的优势更加明显.因此,PUF技术在物联网安全领域中具有十分重要的研究价值与意义.

早期的基于PUF的RFID认证协议使用的是一种简单的响应匹配方法.Devadas等人[6]在其方案中提到,可信第三方事先与RFID标签的标识符建立索引,并将大量激励响应对(challenge-response pair, CRP)存储于数据库中,在验证标签身份时,与数据库匹配对比.该方案认证的过程十分简洁,RFID标签无需任何额外存储,且能防止中间人的篡改攻击.但预存储大量CRP于数据库中将耗费大量的时间,并且耗尽时需要重新补充激励——响应对,这极大地影响了认证的效率.Van Herrewege等人[7]提出了一种轻量级的基于PUF的双向认证方案,使用随机数和Hash函数来混淆通信信息,但该方案明文来传输标签ID,这使得攻击者很容易通过不安全信道窃取标签ID来伪装身份获取数据,且该方案仍需要在数据库中预存大量CRP.Aysu等人[8]设计了一个具有隐私性的双向认证协议,使用了静态随机存取存储器(static random-access memory, SRAM)来实现PUF和真随机数发生器(true random number generator, TRNG),同时协议中使用了密钥的动态更新机制,避免了传统的预存CRP的方法,同时又确保了系统能够抵抗去同步攻击和追踪攻击.但该方案在认证时仍采用传统的穷举搜索法,认证效率较低.Gope等人[9]提出了一种基于PUF的轻量级RFID匿名认证协议.该协议不仅保证了匿名认证,还着重解决了以前协议难以解决的DoS攻击问题.但协议中标签的存储代价依赖于一组伪ID的数量,可能会导致存储花费过高,且当一组备用伪ID耗尽时,标签需要重新启动注册阶段来补充.除此之外,Zhu等人[10]同样提出了一种具有较高可扩展性,能适用于低功耗标签的轻量级PUF认证协议.在该协议中标签只存储一个会话标识SID,因此代价较低.但该协议不能确保匿名性.文献[11]使用协商的一对种子和伪随机数发生器(pseudo random number generator, PRNG)产生一对相同激励,同时利用原始PUF的CRP在阅读器上训练一个PUF的模型,以产生与原始PUF相似的行为输出.在认证时,通过这种PUF模型可以极大地提高认证的效率.但该方案将关键的随机数等信息在不安全信道上明文传输,容易被攻击者窃听和篡改.Rostami等人[12]使用了填充子字符串的过程,使填充字符串的长度等于原始响应字符串的长度,从而隐藏了认证的关键信息.但随后Mukhopadhyay[13]使用机器学习训练出CRP的线性模型并反馈给支持向量机(support vector machine, SVM),成功地攻击了文献[11-12]中的协议,证明这些协议不能抵抗机器学习的模型训练攻击.2019年,Liang等人[14]同样采用PUF模型结构提出了一个双PUF认证协议,他们提出了一个比传统Arbiter PUF更稳定的TSMCA PUF结构,用来更好地抵抗机器学习攻击,并且该结构所需的硬件资源更少.结合使用二分异或,比特填充方法对信息进行加密传输,并使用字符串匹配方法进行解密验证.但经过分析,该协议仍然存在一些安全隐患,如:伪随机数发生器种子泄露、标签的假冒攻击等.

为了增强RFID系统的安全性和隐私性,本文对Liang等人[14]提出的基于双PUF的RFID认证协议给出了描述,并针对其安全性进行了详细的分析,指出其存在的安全隐患,并提出了改进的DPRAP协议.方案通过多次的Hash与异或运算对PRNG种子的值进行加密隐藏,保证协商种子的机密性.同时方案使用了时间阈值,有效防止攻击者恶意阻塞通信信道引发去同步攻击.最后使用BAN逻辑和Vaudenay模型对提出的DPRAP协议进行形式化分析和验证,并分析了协议在安全性能方面的优势.

1 Vaudenay模型

Vaudenay在文献[15]中提出了一个完整的RFID方案安全性形式化分析模型,并建立了一个层次化的隐私模型.在此模型下,给出了安全和隐私的强有力定义,并模拟了一个强大的对手,可以监听一切通信,在有限的时间内跟踪标签,损坏标签.Vaudenay模型通过模拟攻击者对RFID系统的攻击行为来对RFID系统的隐私性进行分析,在模型中,攻击者被允许可以执行一系列预言机操作,对目标系统进行不同程度的攻击.该模型对预言机的描述如下:

1)CreateTag(ID).创建一个具有唯一标识符ID的标签.

2)DrawTag(distr)→(vtag1,vtag2,…,vtagn).根据概率分布distr从自有标签集中随机选取n个标签,标识符为vtagi.

3)Free(vtag).释放标签vtag至自由标签集,使其不可达.

4)Launch→π.阅读器加载新的协议实例π.

5)SendReader(m,π)→m′.给协议实例π中的阅读器发送消息m,并得到响应m′.

6)SendTag(m,vtag)→m′.给标签vtag发送消息m,并得到响应m′.

7)Result(π)→x.协议实例π认证成功则返回1,否则返回0.

8)Corrupt(vtag)→S.破坏标签vtag,返回标签的内部状态S.

在Vaudenay模型中,根据攻击者执行Corrupt预言机的能力,将攻击者的攻击强度划分为5个等级:Strong,Destructive,Forward,Weak和Narrow. 其中:1)Strong类攻击者有权限执行以上所有预言机;2)Destructive类攻击者在执行Corrupt查询后不再使用vtag标签;3)Forward类攻击者能够在其他Corrupt查询后执行Corrupt;4)Weak类攻击者不能执行Corrupt查询;5)Narrow类攻击者不能执行Result查询.

2 文献[14]协议描述

在Liang等人[14]提出的基于双PUF的RFID认证协议中,阅读器与后端服务器之间的通信被认为是安全的,因此将它们看作一个整体Server.该协议主要包含3个阶段:伪随机数发生器种子生成阶段、服务器验证标签阶段和标签验证服务器阶段.

2.1 伪随机数发生器种子生成阶段

在文献[14]中,PRNG被用来产生PUF的激励,而PRNG的输出是由种子决定的.生成PRNG种子的过程如图1所示.

服务器标签步骤1. T1步骤1. T2步骤2. M1=h(T1)T1 M1 →步骤2. 步骤3. 步骤3. M2=h(T1)T1T2步骤4. M3=M2T2h(T1)=T'1 M2‖T2 ←步骤4. 步骤5. If T'1=T1步骤5. 步骤6. Seed=(M2)步骤6. Seed=(M2)

2.2 服务器验证标签阶段

文献[14]中服务器认证标签阶段如图2所示.

1) 服务器和标签利用得到的伪随机数发生器种子产生激励c′=G(Seed),c=G(Seed);

2) 服务器和标签各自使用PUF_mod和PUF产生响应R′和R,然后分别将响应拆分成2个长度相同的子串A′,B′和A,B;

3) 服务器和标签2端分别计算出PW′=A′⊕B′,PW=A⊕B,将PW′和PW划分成2个长度相同的子串C′,D′和C,D;

4) 标签对C和D进行随机比特填充,构成新串GW发送给服务器;

5) 服务器收到GW后,使用自身的C′和D′在GW中搜索匹配并提取C和D,匹配时要求具有最小汉明重量;

6) 比较C,D与C′,D′;

7) 如果误差位数在门限范围内,服务器成功认证标签.

服务器标签步骤1. Seed=(M2)步骤1. Seed=(M2)步骤2. c'=G(Seed)步骤2. c=G(Seed)步骤3. R'=PUF_mod(c'),R'→A',B'步骤3. R=PUF(c),R→A,B步骤4. PW'=A'B',PW'→C',D'步骤4. PW=AB,PW→C,D步骤5. 步骤5. GW=pad(indran,C,D)步骤6. C,D=Sea(C',D',GW) GW ←步骤6.步骤7. T=match(C,C',D,D')步骤8. Auth.Pass:true?

2.3 标签验证服务器阶段

文献[14]中标签认证服务器阶段如图3所示.

7) 如果误差位数在门限范围内,标签成功认证服务器.

服务器标签步骤1. Seed=PW步骤1. Seed=PW步骤2. c'2=G(Seed)步骤2. c2=G(Seed)步骤3. R'2=PUF_mod(c'2),R'2→A'2,B'2步骤3. R2=PUF(c2),R2→A2,B2步骤4. PW'2=A'2B'2,PW'2→C'2,D'2步骤4. PW2=A2B2,PW2→C2,D2步骤5. GW'2=pad(indran,C'2,D'2)步骤5. 步骤6. GW'2 →步骤6. C'2,D'2=Sea(C2,D2,GW'2)步骤7. T=match(C'2,C2,D'2,D2)步骤8. Auth.Pass:true?

3 对文献[14]的安全性分析

本节对文献[14]中提出的协议进行分析,指出其存在的3种安全隐患.

3.1 重放攻击

在原始协议的种子生成阶段,标签在非安全信道上直接将M2和T2传输给服务器,而最终消息M2的值将直接作为双方协商的种子值.攻击者可能通过非安全信道窃听和截获该通信值,使得非法参与者也能重放该消息与合法服务器协商一对种子,并进行认证通信.

3.2 去同步攻击

在原始协议的种子生成阶段,攻击者可能尝试对标签向服务器传输的M2‖T2消息进行修改或阻塞,导致服务器无法成功验证通信值,服务器不能与标签同步地生成一对相同的种子,使该阶段无法成功继续执行.

3.3 标签假冒攻击

在服务器验证标签阶段,假冒的标签在获取种子的值后,与合法的服务器进行验证,尽管该阶段使用双PUF结构,但服务器仍有可能训练一个伪造的PUF模型来与假冒标签完成认证通信,使得假冒的标签也能通过服务器的验证.

4 DPRAP协议

针对伪随机数发生器种子生成和服务器认证标签阶段存在的安全隐患,我们在文献[14]协议的基础上提出了DPRAP协议.DPRAP协议涉及服务器和标签2个通信实体,协议包含3个阶段:伪随机数发生器种子生成阶段、服务器验证标签阶段、标签验证服务器阶段.由于开放的无线信道,服务器和标签间的通信信道是不安全的.

4.1 伪随机数发生器种子生成阶段

伪随机数发生器种子生成阶段主要用来完成服务器与标签之间协商一对伪随机数发生器种子,种子可以用于伪随机数发生器在服务器验证标签阶段产生激励.伪随机数发生器种子生成阶段如图4所示:

服务器标签步骤1. T1步骤1. T2步骤2. M1=T1h(T1) M1 →步骤2.步骤3. 步骤3. M2=M1h(IDS)步骤4. 步骤4. M3=T2IDS步骤5. h(IDS)'=M2M1 M2,M3 ←步骤5. 步骤6. 在数据库中检索IDS满足:h(IDS)=h(IDS)'步骤6. 步骤7. T2=M3IDS步骤7. 步骤8. M4=T1IDS步骤8. 步骤9. M5=h(T1)h(T2) M4,M5 →步骤9. 步骤10. 步骤10. T1=M4IDS步骤11. 步骤11. 验证:M5=h(T1)h(T2)步骤12. Seed=h(T1‖T2‖IDS)步骤12. Seed=h(T1‖T2‖IDS)

该阶段的详细步骤为:

1) 服务器和标签使用TRNG分别产生真随机数T1,T2.

2) 服务器计算M1=T1⊕h(T1),并将M1发送给标签.

3) 标签在接收到M1之后,利用标识假名IDS计算M2=M1⊕h(IDS),M3=T2⊕IDS,并将M3,M4发送给服务器.

4) 服务器在接收到M2,M3之后,从M2中提取h(IDS)′=M2⊕M1,然后在后备数据库中查询注册过的IDS,是否存在某个IDS能够满足条件h(IDS)=h(IDS)′,若不存在,则说明标签不合法,协议终止.若验证通过则利用IDS提取T2=M3⊕IDS,并计算M4=T1⊕IDS,M5=h(T1)⊕h(T2),然后将M4,M5发送给标签.

5) 标签接收到M4,M5之后,先从M4中提取T1=M4⊕IDS,然后验证M5的正确性,若验证通过,则标签与服务器之间确定一对伪随机数发生器种子Seed=h(T1‖T2‖IDS).若标签在一段时间阈值τ(根据实际设定)范围内未能接收到M4与M5,或者验证失败,则说明发生了去同步攻击,种子生成阶段重新执行.

4.2 服务器验证标签阶段

服务器验证标签阶段主要用来完成服务器对标签的合法性的验证.服务器验证标签阶段如图5所示:

服务器标签步骤1. c'=G(Seed)步骤1. c=G(Seed)步骤2. R'=PUF_mod(c')步骤2. R=PUF(c)步骤3. 步骤3. RS=RIDS步骤4. IDS'=RSR' RS ←步骤4. 检查数据库中是否存在IDS'步骤5. R'→A',B'步骤5. R→A,B步骤6. PW'=A'B',PW'→C',D'步骤6. PW=AB,PW→C,D步骤7. 步骤7. GW=pad(indran,C,D)步骤8. C,D=Sea(C',D',GW) GW ←步骤8. 步骤9. T=match(C,C',D,D')步骤10. Auth.Pass.true?

该阶段的详细步骤为:

1) 服务器和标签利用得到的伪随机数发生器种子产生激励c′=G(Seed),c=G(Seed).

2) 服务器和标签分别使用机器学习训练的PUF_mod和PUF产生响应R′和R.

3) 标签计算RS=R⊕IDS,并将RS发送给服务器.

4) 服务器接收到RS之后,计算IDS′=RS⊕R′,然后在后备数据库中查找是否存在相应的IDS′登记,若查找失败,则说明标签不合法,协议终止.

5) 服务器和标签分别将响应R′和R拆分成2个长度相同的子串A′,B′和A,B.

6) 分别计算PW′=A′⊕B′,PW=A⊕B,然后将PW′和PW划分成2个长度相同的子串C′,D′和C,D.

7) 标签对C和D进行随机比特填充,构成新串GW发送给服务器.

8) 服务器收到GW后,使用自身的C′和D′在GW中搜索匹配并提取C和D,匹配时要求具有最小汉明重量.

9) 比较C,D与C′,D′.

10) 如果误差位数在门限范围内,服务器成功认证标签.

4.3 标签验证服务器阶段

在该阶段中,伪随机数发生器种子替换为服务器验证标签阶段中使用的通信量PW,其余步骤与服务器验证标签阶段对应步骤类似,具体步骤如图3所示.

5 DPRAP协议安全性分析

5.1 BAN逻辑分析

BAN逻辑分析是一种常见的安全协议形式化分析方法,被广泛用于证明通信认证协议的正确性和安全性[16].本节将采用BAN逻辑分析方法对所提出的DPRAP协议进行安全性分析.

1) 初始化假设

① A1.T|≡#T2;

③ A3.T◁{M5}T2;

④ A4.T|≡S|⟹M5;

⑤ A5.S|≡#IDS;

⑦ A7.S◁{RS}IDS;

⑧ A8.S|≡T|⟹RS.

2) 逻辑规则说明

② R2(消息含义规则).

③ R3(临时验证规则).

3) 目标与证明

证明目标:

① G1.T|≡M5;

② G2.S|≡RS.

证明.

根据假设A1与规则R1有

① F1.T|≡#M5;

根据假设A2,A3与规则R2有

② F2.T|≡S|~M5;

根据公式F1,F2与规则R3有

③ F3.T|≡S|≡M5;

根据公式F3,假设A4与规则R4有

④T|≡M5;

目标G1得证.

根据假设A5与规则R1有

⑤ F4.S|≡#RS;

根据假设A6,A7与规则R2有

⑥ F5.S|≡T|~RS;

根据公式F4,F5与规则R3有

⑦ F6.S|≡T|≡RS;

根据公式F6,假设A8与规则R4有

⑧S|≡RS.

目标G2得证.

证毕.

5.2 Vaudenay模型分析

命题1.DPRAP协议能够满足前向不可追踪性.

证明.

1) 攻击者调用预言机随机创建标签Create-Tag(IDS0),CreateTag(IDS1);

7)Launch→πi+1,运行并监听第i+1次会话;

攻击者通过入侵标签内部获取的Seed与监听第i轮标签发送的信息RS,企图计算出第i+1轮会话中标签发送的RS.攻击者主要考虑2个方面实现对RS的追踪攻击:

1) 伪造PUF第i+1轮会话的响应

攻击者通过调用Corrupt预言机,获取标签内部Seed的值,尽管伪随机数发生器在种子确定时能够得到相同的随机序列,但攻击者要定位到当前的随机值是很困难的.此外,由于PUF自身具有硬件结构上的差异和物理不可克隆的特性,攻击者试图用伪造的PUF来得到合法的响应是很难的.

2) 用虚假的标签身份信息IDS通过认证

由于攻击者通过非安全信道窃听获取到的信息有限,只能获取第i轮会话的RS信息,由于攻击者无法预测第i轮会话中的PUF响应,他便无法推测合法标签的身份标识IDS,攻击者也因此无法通过后备数据库的合法性验证.任何虚假的标签身份标识IDS都将无法通过认证.

综上所述,DPRAP协议能够满足前向不可追踪性.

证毕.

命题2.DPRAP协议能够满足后向不可追踪性.

证明.

1) 攻击者调用预言机随机创建标签Create-Tag(IDS0),CreateTag(IDS1).

7)Launch→πi,运行并监听第i次会话;

攻击者通过入侵标签内部获取的Seed与监听第i+1轮标签发送的信息RS,企图计算出第i轮会话中标签发送的RS.因为RS=R⊕IDS,攻击者想要根据第i+1轮会话截获的信息推测出第i轮会话中的RS,必须知道第i轮的PUF响应.攻击者无法知道第i轮的PUF响应,原因如下:1)攻击者可以截获标签发送的RS信息,但由于攻击者没有合法的身份标识IDS,因此也不能推算出第i轮的PUF响应.2)攻击者即使通过Corrupt预言机获取了伪随机数发生器种子Seed而确定伪随机数序列,也无法推测出第i轮会话的PUF激励c,因为攻击者无法确定第i+1轮会话伪随机数发生器的输出.3)由于PUF自身具有硬件结构上的差异和物理不可克隆的特性,攻击者试图用伪造的PUF来得到合法的响应是很难的.

综上所述,DPRAP协议能够满足后向不可追踪性.

证毕.

命题3.DPRAP协议能够抵抗标签的假冒攻击.

证明. 在种子生成阶段,攻击者通过假冒标签与合法服务器通信,假冒的标签需要利用自身的IDS计算M2,M3.即使攻击者窃听到信息M1,M2,也无法推断出合法的IDS,因为Hash函数的不可逆性.而使用未注册的IDS进行服务器端的验证是无法通过的,因为后备数据库内不存在该虚假的IDS身份信息.

在服务器认证标签阶段,假冒标签利用自身不合法的IDS与PUF响应计算RS发送给服务器,由于后备数据库内不存在该未注册的IDS身份信息,因此也不能通过服务器的认证.

综上所述,DPRAP协议能够抵抗标签的假冒攻击.

证毕.

命题4.DPRAP协议能够抵抗中间人攻击.

证明. 在种子生成阶段,攻击者可以通过2种方法发起中间人攻击:

1) 修改或阻塞M2,M3消息.当攻击者试图修改M2,服务器端计算h(IDS)′=M2⊕M1将不会得到正确的结果,服务器无法根据h(IDS)′在数据库中查询到正确的标签身份;当攻击者试图修改M3消息,尽管可以得到正确的IDS,但根据T2=M3⊕IDS将会计算出错误的T2,这将导致标签在验证M5=h(T1)⊕h(T2)时不会通过;当攻击者企图阻塞M2,M3的消息将导致标签无法通过服务器的身份验证.因此,中间人攻击失败.

2) 修改或阻塞消息M4,M5.当攻击者企图修改消息M4,根据T1=M4⊕IDS将计算出错误的T1,标签验证M5=h(T1)⊕h(T2)不会通过;当攻击者企图修改消息M5,将直接导致标签对M5验证失败;当攻击者企图阻塞M4,M5消息的传输,标签端将种子无法同步生成,而当攻击者的阻塞时间超过阈值τ后,种子生成阶段将被强制终止并重新执行.因此,中间人攻击失败.

在认证阶段,对任何通信信息(RS,GW)的阻塞和修改都将导致对标签身份认证的失败.因此,中间人攻击无法成功.

综上所述,DPRAP协议能够抵抗中间人攻击.

证毕.

命题5.DPRAP协议能够抵抗去同步攻击.

证明. 在本方案中,由于种子生成阶段存在着种子的同步问题,因此可能存在去同步攻击.

在种子生成阶段,攻击者可以通过2种方法发起去同步攻击:

1) 修改M4,M5消息.攻击者企图修改M4,M5的消息来阻止伪随机数发生器种子生成,如命题4中所叙,攻击者对M4,或M5消息的任何修改都将导致标签对M5的验证失败,种子不会同步产生,去同步攻击失败.

2) 阻塞消息M4,M5.攻击者企图持续阻塞M4,M5消息的发送来使种子无法同步生成,而当阻塞时间超过阈值τ后,该阶段将被强制终止并重新执行,去同步攻击失败.

综上所述,DPRAP协议能够抵抗去同步攻击.

证毕.

命题6.DPRAP协议能够抵抗重放攻击.

证明. 在种子生成阶段,攻击者尝试通过窃听和截获非安全信道上传输的通信值来重放消息,以获取协商的种子值.但攻击者无法做到,原因如下:攻击者想要重放种子值,必须同时获取到T1,T2和IDS,然而攻击者通过监听无法获取到以上3个值中的任何一个,非法攻击者也就不能重放种子值来完成与服务器的认证通信.

在认证阶段,由于PUF输出的具有随机性和不可预测性,每一轮的PUF输出都是不相同的,攻击者通过重放RS和GW信息均无法通过服务器的合法性验证.

综上所述,DPRAP协议能够抵抗重放攻击.

证毕.

6 协议性能对比

在本节中,我们将DPRAP协议与文献[14]的种子生成阶段和认证阶段进行了对比分析,同时也与典型的基于PUF的RFID认证协议[9-10]的认证阶段性能进行了对比.

为了便于比较与分析,我们采用文献[14]中的计算开销.Hash函数输出长度为160 b,PUF输出长度为256 b,pad操作填充后的字符串长为1 024 b,ID信息长度为96 b.我们用Java语言编写的程序模拟了标签和阅读器之间的通信.开发工具是IntelliJ IDEA集成开发环境.网络交互是通过使用抽象TCP客户机/服务器连接的套接字来完成的.服务器等待与指定IP地址和端口上的标签的连接.一旦标签成功地与服务器建立了连接,协议就会执行一个双向认证会话.程序运行在2.30 GHz AMD Ryzen 7 3750H CPU和配备8 GB RAM的Windows10系统上.表1和表2中标签端的计算开销均通过程序计算得到.

Table 1 Performance Comparison of DPRAP Protocol and Ref [14] in Seed Generation Phase

Table 2 Performance Comparison of DPRAP Protocol and Other Literatures in Authentication Phase

表1和表2分别展示了DPRAP协议与文献[14]在种子生成阶段和认证阶段的性能对比.在通信开销方面,由于DPRAP协议为防止伪随机数发生器种子直接在非安全信道上传输导致泄漏,在通信过程中增加了一轮对Hash函数输出消息的验证,在认证阶段为防止假冒标签也能通过服务器的验证,加入了通信量RS,因此通信开销方面有所增大.在计算开销方面,在种子生成阶段引入了多次Hash和异或操作,以达到隐藏种子通信值的目的,同时在认证阶段也引入了对标签身份标识IDS的异或操作,以验证标签的合法性,因此计算开销方面也略有增大.在存储开销方面,由于DPRAP协议为了解决不合法标签也能通过服务器认证的问题,在服务器认证标签阶段引入了IDS作为额外永久存储开销,因此标签端的存储开销略有增大.总的来说,新协议与文献[14]相比,通过牺牲少量的计算代价与通信开销提高了协议的安全性,避免了文献[14]存在的安全隐患.

Fig. 6 Communication cost comparison between DPRAP and Ref [14] in seed generation stage图6 种子生成阶段DPRAP与文献[14]通信开销对比

表2同时展示了DPRAP协议与文献[9-10]之间的认证阶段性能对比情况.在通信开销方面,由于我们使用pad填充的串长为1 024 b,因此整体高于文献[9-10].在标签端计算开销方面,文献[9-10]也表现得更优.然而在存储开销方面,我们的方案具有明显的优势.在标签端存储开销方面,DPRAP协议仅需96 b来额外存储一个IDS,而文献[9-10]则至少消耗128 b,且文献[9]中还需额外存储n个长度为64 b的临时ID.在服务器端存储开销方面,文献[9-10]需要在每轮认证过程中存储PUF的CRP,且文献[10]中需要额外存储n组备用CRP,而DPRAP协议无需存储CRP,服务器端的存储开销将显著降低.由于具有明显的存储开销上的优势,我们提出的DPRAP协议将更加适用于低功耗的RFID系统,协议具有更好的实用性.

图6以种子生成过程为例,展示了当通信信道发生阻塞时,系统的通信开销随着重传次数的增加而发生的变化(重传的时间不会超过阈值τ).可以看到,随着重传次数的增加,总通信开销会不断增大,并呈线性变化.

7 结束语

本文针对文献[14]的协议进行安全性分析,指出其存在的伪随机数发生器种子泄露问题,并且存在去同步攻击、重放攻击和假冒攻击等安全隐患.为了避免文献[14]出现的安全隐患问题,本文提出了一种新的基于双PUF的RFID认证协议.通过Hash与异或运算对种子的值进行加密隐藏,从而确保种子传输过程中的安全性;同时增加时间阈值避免去同步攻击所带来的安全隐患;且通过标签合法性验证抵抗标签伪造攻击.利用BAN逻辑和Vaudenay模型对新方案进行形式化分析和验证,结果表明新方案解决了原协议中存在的安全隐患,具有良好的安全性和隐私性,能够抵抗多种恶意攻击,更加适用于RFID系统的实际应用场景.下一阶段研究工作将在确保协议安全隐私的同时,适当降低计算代价和通信开销以提高认证的效率.

猜你喜欢

攻击者信道服务器
基于信道分类分析的无线通信改进均衡方法
基于自适应学习的5G通信系统信道估计方法
基于贝叶斯博弈的防御资源调配模型研究
2018年全球服务器市场将保持温和增长
正面迎接批判
正面迎接批判
一种基于向量回归的无人机通信信道选择方法
WLAN和LTE交通规则
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵