一种增强型RFID 双向认证协议∗

2019-11-13 08:19刘立波郑巧珍
舰船电子工程 2019年10期
关键词:读写器非对称攻击者

刘立波 郑巧珍 付 强

(中国船舶重工集团公司第七二二研究所 武汉 430079)

1 引言

无线射频识别技术(Radio Frequency Identification,RFID)是一种自动识别技术,能实现对感知物品的精确定位和资源共享,它的信息读取过程不需要人工干预,还能够在恶劣环境下工作[1]。但是在RFID 应用越来越广泛的同时,RFID 系统的安全问题也越来越严峻。为了提高RFID 系统的安全性,研究者们把密钥方法应用到RFID认证协议中,但是RFID 标签其储存空间和计算能力都有限,无法实现复杂的高安全加密算法。另一方面,Hash函数因操作简单、易实现,可以被广泛用于RFID标签中[1]。因此密钥方法与Hash 函数方法相结合的认证协议也应运而生。

本文针对一种基于非对称密钥和Hash 函数的RFID 双向认证协议的不足提出了改进方案,同时用BAN逻辑验证改进协议的安全性。

2 基于非对称密钥和Hash 函数的RFID双向认证协议

RFID 系统一般分为三个部分:标签(Tag)、读写器(Reader)、数据库(Data Base)。数据库和读写器一般都具有足够的存储和计算能力,两者之间可以使用有线信道通信,目前的密码算法和安全协议完全可以保护两者的通信安全,因此RFID 的安全问题主要在读写器和标签之间[1]。

文献[1]中介绍的RFID 双向认证协议。其认证过程和更新过程如图1所示。

表1 文献[1]协议中的标识符

其中,标签和读写器中都引入随机数产生模块和相同的Hash 算法,另外,标签上存储有DID 和秘密值——数字串num;读写器上存放非对称密钥对{K,K-1}和非对称加密算法;数据库中存有标签的标识符ID、加密后的数字串Dnum和标签信息DM。

3 分析与改进方案

3.1 原双向认证协议分析

该协议能让标签与读写器实现双向身份认证,在应用方面有不少优点。比如标签中ID 虽然使用非对称密钥加密,但是标签并不需要运行非对称加密算法,降低了标签的负载;不同于类似Hash 链的RFID 认证协议,该协议的后端数据库只用根据ID查询信息,而不用计算所有ID 的Hash 值来与之匹配等。

但是该协议还是仍然存在不足之处。比如标签易被跟踪,num 的更新不同步和非对称加密算法使用不当等问题。以下是具体的分析。

1)标签容易被跟踪。在标签端存储的DID 没有进行过更新,每一次标签都是向读写器发送同样的信息,虽然攻击者无法根据DID得到标签的真实ID,但是非法攻击者却可以将DID 视作ID 的别称,跟踪标签及其携带者。

2)非对称密钥算法使用过多,造成计算资源的浪费。协议在执行步骤3)时,读写器直接将ID 发送给数据库,由此可以认为该协议将读写器与数据库之间的信道默认是安全的,当读写器与数据库之间的通信是安全的时候,读写器就不需要再对num和M加解密,可以节省非对称密钥算法的计算开销。

3)随机数产生器依然要求一定的计算能力。标签端在更新阶段需要产生高质量的伪随机数,而当前应用广泛、高效的梅森旋转算法,通过反馈位移寄存器产生随机数,算法最大周期为219937-1,标签需进行19937 次位移操作,这将增加标签的负担[3]。

图1 文献[1]协议认证与更新过程

4)无法抵抗中继攻击。中继攻击是中间人攻击的一种,攻击者在读写器端伪装成标签,又在标签端伪装成读写器,伪标签与伪读写器可以通信,然后通过转发真正的读写器与标签之间的消息,使假冒标签通过读写器的认证[4]。这种伪装攻击是最难抵抗的一种攻击。

5)存在更新不同步问题。在更新数字串num时,新的数字串Nnum 是由标签产生的,如果在标签已经进行后,拦截了标签向读写器发送的更新消息,即步骤12)未执行,那么就会造成标签的数字串num已更新,而数据库里面的数字串num还是上一次认证时使用的,从而引起更新不同步问题,使合法标签认证失败。

3.2 改进方案

根据对原协议的分析,本文提出了以下的改进方案,如图2所示。

表2 改进协议中的新引入的标识符

改进方案的具体步骤如下:

1)读写器→标签:读写器发送请求Query,计时模块开始计时;

2)标签→读写器:标签返回DID;

3)读写器→数据库:读写器若在规定时间T0内收到标签回复(T1

4)数据库→读写器:数据库根据ID 查找相应num和M,返回给读写器;

5)读写器→标签:读写器产生R1并且发送给标签,同时用num与R1计算哈希值H1=H(num‖ R1);

6)标签→读写器:标签应答时间T1'

7)读写器:比较H1和H2,若相等,则标签为合法标签,读写器完成认证和信息的读取;

8)读写器:产生新的随机数R2和R3,然后使用R2更新ID:NID=ID⊕R2,再加密NID,同时还用R2计 算 H3=H(num‖R2) , 最 后P=DNID⊕H(num‖R3);

9)读写器→标签:读写器打包发送{H3,R2,R3,P,更新命令};

10)标 签:先 使 用R2与num 计 算 哈 希 值H4=H(num‖R2),比较H3和H4,若相等,则进行标签更新,DNID=P⊕H(num‖R3),Nnum=num⊕R3,最 后 用 更 新 后 的 Nnum 与 R3计 算H5=H(Nnum‖R3);

11)标签→读写器:标签发送H5与更新成功消息;

12)读写器→数据库:读写器更新数字串Nnum=num⊕R3,然后计算H6=H(Nnum‖R3)是否与H5相等,相等则表示更新成功,然后发送更新后的NID和Nnum给数据库;

13)数据库:更新NID和Nnum。

在认证协议的改进方案中,双向身份认证过程与原协议基本一致,只是减少了对num和M的解密计算,增加了读写器的计时模块,但是对更新过程进行了较大的修改。

首先新协议增加了标签ID 的更新,来防止攻击者跟踪标签及其携带者;其次由于读写器与数据库之间使用的是安全信道,改进协议减去了对num和M的加解密过程;然后新协议将产生随机数的任务都交给读写器来完成,减轻了标签的计算任务;同时读写器引入了计时模块,有效预防了中继攻击;最后新协议也解决了更新不同步的问题。

4 改进协议安全性能分析

改进协议在安全性方面有了很大地提高,具体如下。

1)双向认证与防窃听。标签利用非对称密钥认证阅读器,阅读器通过Hash 函数来认证标签。与此同时,协议中无论是非对称密钥算法,还是Hash函数都可以保护ID与num的机密性。

2)防重放攻击。在认证过程和更新过程中引入随机数,使得每一轮认证信息与以前都不同,可以防止攻击者利用窃听到的信息进行重放来伪装合法的标签。

3)防篡改攻击。标签和读写器之间使用了Hash 函数进行加密,在Hash 函数中引入数字串num,由于数字串num 是秘密信息,所以当攻击者攻击协议时,攻击者无法计算出正确的Hash 值,有效防止了认证消息被非法篡改。

4)防同步破坏攻击。在本协议中,标签的更新由读写器发起,在标签完成更新后,还需要使用新的数字串Nnum 与随机数R3进行Hash 运算,由读写器确认更新成功来保证同步更新。即使更新过程中,读写器和标签之间的消息被拦截(无论是步骤10),还是步骤12)),数据库也可以通过存储了上一轮的ID 和num 和当前更新的NID 和Nnum,避免了数据库和标签中ID 和num 不一致而无法继续认证的问题。

5)防位置跟踪。协议在运行期间,攻击者可以通过一些非法手段得到标签的部分数据信息,特别是某些关键数据,对合法标签进行位置跟踪[2],但是改进协议会在每次完成信息认证后,立即更新用户的ID 信息和数字串num,动态信息认证可以防止攻击者的跟踪。

图2 改进协议的认证与更新过程

6)防中继攻击。解决RFID中继攻击的方法就是对认证过程的时间进行限制,由于中继攻击的伪标签和伪读写器需要一定的通信时间,假冒标签的认证通常会比正常认证过程耗时更多,设置一个合理的时间限制就可以避免中继攻击。因此改进协议在读写器中加入了计时模块,在步骤3)和步骤8)中,一旦标签的响应时间超过预先设置的限制,读写器就会中断此次认证。

5 改进协议安全性验证

利用BAN 逻辑分析法验证改进协议的安全性,但是由于篇幅原因,只证明认证阶段。改进协议的流程可以用BAN逻辑语言描述为

消息(1):Tag →Reader:{ID}K

消息(2):Reader →DB:{ID}key

消息(3):DB →Reader:{Tag ↔numReader,M}key

消息(4):Reader →Tag:R1

消息(5):Tag →Reader:H(Tag ↔numReader,R1)

读写器与数据库之间的消息和分析论证无关,将其去除,其他消息转换为BAN 模型可以识别的理想化模型:

消息(1):Reader ◁{ID}K

消息(4):Tag ◁R1

协议的初始假设有以下这些:

假设 7:Reader|≡Tag|⇒{ID}K

假设 8:Reader|≡#{ID}K

假设 9:Reader|≡#(R1)

协议希望证明的目标是:

目标(1):Reader|≡ID;

首先证明目标1)Reader|≡ID

(g)由(e)和(f)中的结论,根据临时值验证规则 , 可 以 得 到 结 论 Reader|≡Tag|≡

6 结语

本文分析了一种基于非对称密钥和Hash 函数的RFID 双向认证协议,并且针对其进行了协议的改进,修补了其中的漏洞。然后本文对改进协议也进行了性能分析和安全性验证,相较于原协议,改进协议抗攻击能力更强。但本文并没有在硬件上对改进协议进行实验验证,因此协议距离实际应用还有一段距离,必然还需要进一步的完善。

猜你喜欢
读写器非对称攻击者
后发技术非对称赶超策略及其情境依赖机制研究
基于贝叶斯博弈的防御资源调配模型研究
非对称腹板束设计方法在地铁大跨变宽变高连续梁中的应用
宁波轨道交通AFC系统读写器测试平台设计
共享密钥与位运算的移动RFID认证协议
交错群与旗传递点本原非对称2(v,k,4)-设计
非对称干涉仪技术及工程实现
正面迎接批判
正面迎接批判
基于国家标准的UHF RFID读写器数字基带系统设计