APP下载

一个超轻量级的RFID认证协议∗

2019-03-27严新荣

舰船电子工程 2019年3期
关键词:发送给阅读器合法

付 俊 严新荣 付 强

(中船重工第七二二研究所 武汉 430205)

1 引言

RFID(无线射频识别)系统作为一种自动识别技术,能够利用射频信号,在开放的环境中对目标对象进行自动识别。由于RFID的电子标签具有成本低、体积小等优点,目前RFID系统已经在现实中得到了广泛的应用[1]。同时,RFID系统的电子标签计算能力和存储能力有限,因此在降低成本的同时将面临更多的安全隐患。

为了保护RFID系统的信息安全,研究者们提出了多种RFID认证协议,希望能够从标签和阅读器双方身份的合法性以及通信数据安全性两个方面来确保RFID系统的安全性。

目前的认证协议按照所用的密码算法体制和运算复杂度基本可以分为四类[9]:1)全面认证协议,使用复杂的密码算法,如对称密码算法、公钥密码算法[4];2)简单认证协议,使用伪随机数和单向哈希函数[11~13];3)轻量级认证协议,使用循环冗余编码和伪随机数;4)超轻量级协议,仅使用简单的位运算。

对于超轻量级的协议,文献[3]在UMAP[5~6]相互认证协议族的基础上,提出了改进的UMA-RFID相互认证协议。而文献[2]针对UMA-RFID协议的安全性漏洞进行了分析,并提出了相应的改进协议。然而,文献[2]中改进协议也存在着明显的安全性漏洞。本文针对于文献[2]中提出的RFID超轻量级协议,提出了一种简单有效的攻击方案。并在该文献的基础上,提出了一种改进的超轻量级RFID双向认证协议。本文提出的改进协议使用简单的比特位运算,并且对于标签端的存储需求低,一定程度上能够满足各类标签资源受限的场景需求。

2 一个RFID超轻量级协议

对于超轻量级认证协议[7]而言,由于仅仅使用了简单的位运算,如异或、与等,所以可以大大降低所需的存储空间和计算需求。

2.1 符号说明

为了简化描述,我们对文献[2]中所描述的一个RFID超轻量级协议中用到的相关符号和操作说明如下所示:

1)ID:标签标识符;

2)Rot(x,y):x左循环移位,移动长度为y的汉明重量,可根据实际需要改变;

3)Reader:阅读器;

4)Tag:标签。

2.2 协议概述

文献[2]以UMA-RFID协议的安全漏洞为目标,进行调整后提出了一个改进的超轻量级RFID相互认证协议,如图1所示。

图1 文献[2]中改进的超轻量级相互认证协议

该改进的超轻量级协议主要分为如下三个部分:

1)RFID读写器产生随机数RR,然后与一个认证请求Query一起发送给标签;

2)标签生成一个随机数RT,以此计算,然后将A、B一起发送给读写器;

3)后端数据库通过读写器收到的A和B,根据存储的每个ID去验证,若能找到存在某个IDj使得A、B符合要求,则认为该标签合法,并将发送给标签;若不符合要求,则认为标签非法,认证失败;

2.3 协议分析

原文中采用128bit的ID长度,根据原文所述,仅当双方均知晓合法的ID时,双方才能相互认证成功。原文认为该协议能有效的达到隐私保护,即即使攻击者获取消息A、B也无法得知标签的唯一标识ID。然而,实际上我们能够通过选择随机数RR,对标签仅进行少量的非法认证请求,通过分析得到的相应的A和B,轻松地得到标签的唯一标识ID。

原文中采用128bit的ID长度,虽然ID对于攻击者是不可知的,但是攻击者可以通过如下步骤分析得到ID:

1)分别发送两次认证请求(Query,M)和(Que⁃ry,N);其中随机选择128bit长度的消息M,以及对应的N。其中N的最低位与M相反,其余位与M相同,故M和N汉明重量相差为1;

3)攻击者根据步骤2)中收到的标签回应对ID进行分析:

对于ID其余位的值,我们在生成随机的M后,只需要将N的对应位置反,通过上述步骤也能分析出ID对应位的值。理论上分析,我们可以仅通过发送256条非法认证请求,通过分析标签的回应消息即可成功分析得到标签的ID值。

因此,我们可以认为文献[2]中提出的改进的超轻量级认证协议式不安全。

3 改进协议

针对文献[2]中的超轻量级认证协议的安全漏洞,本文提出了相应的改进协议。一个完整的认证周期由四个阶段构成,完整的协议认证周期具体步骤如图2所示。

图2 本文提出的改进的超轻量级认证协议

3.1 符号说明

为了简化描述,对接下来的改进协议中用到的相关符号和操作说明如下所示:

1)ID1:标签的假名,在认证过程中可以显式使用;

2)ID2:标签的真实ID,在认证过程中不可显式使用;

5)Rot(x,y):x左循环移动(y mod L)位,其中L为ID的长度,可根据实际需要改变;

6)+:mod2L加,其中L为ID的长度,可根据实际需要改变;

7)SUB(x,y):位替换,x所对应的y中为1的位取反;

9)Reader:阅读器;

10)Tag:标签。

需要特别注意的是Rot(x,y)的定义和文献[2]中的左移定义有所不同,原文献左移量为y的汉明重量。

3.2 改进协议说明

3.2.1 初始化阶段

由数据库产生成对的ID1和ID2,并将其存入合法的阅读器Reader和合法标签Tag中。

3.2.2 标签识别阶段

1)Reader→Tag:阅读器向标签发送问询消息Query,开启一个新的认证周期;

2)Tag→Reader:标签收到问询消息,返回当前周期的ID1给阅读器作为应答;

3)标签识别:阅读器收到标签的应答消息后,通过后台数据库查询,若有匹配的ID1则进入下一个阶段,否则终止当前认证周期。

3.2.3 双向认证阶段

1)Reader→Tag:获取合法的ID1后,阅读器通过数据库找到相对应的ID2,利用伪随机数发生器产生伪随机数n1和n2,长度均为L;由此产生A、B、C,将A||B||C发送给标签用于验证阅读器的合法性,其中

2)阅读器Reader认证:标签接收到Reader发送来的A||B||C后,利用A和ID2提取出n1,利用B和ID1、ID2提取出n2,用上述的四个量来验证C是否正确。若正确,则阅读器Reader合法,继续下一个阶段;否则为不合法,终止当前认证周期。

3)Tag→Reader:当标签验证阅读器 Reader为合法之后,生成D,并将D发送给阅读器;其中

4)标签Tag认证:阅读器收到标签发送来的D之后,根据ID1、ID2、n1、n2的值来验证D是否正确。若正确,则标签Tag合法,继续下一个阶段;否则为不合法,终止当前认证周期。

5)Reader→Tag:当标签Tag被认证为合法之后,阅读器产生伪随机数n3,借此产生E,并将E||F发送给标签以备更新阶段使用,其中利用E||F,Tag可以再次认证Reader,防止伪装攻击。

3.2.4 更新阶段

当阅读器Reader和标签Tag完成双向认证阶段后,将分别更新自身的ID1和ID2,其中阅读器通过保存本轮认证周期中的来防止非同步攻击。标签用同样的公式更新后,仅保存用为新一轮的ID1和ID2。

4 安全性分析[8,10]

4.1 隐私保护

整个认证过程对于唯一的隐私消息ID2,均没有进行显式表示,即使攻击者获取每一轮的认证消息,也无法得知标签的唯一隐私消息ID2。因此,该协议具有隐私保护的功能。

4.2 抗重放攻击

由于整个认证过程中使用了伪随机数保证数据的新鲜性,因此即使认证过程中的数据被攻击者收集,在新的认证过程中进行重放,由于隐私消息进过更新,因此重放过程无法完成正常的认证过程。因此,该协议具有抗重放攻击的功能。

4.3 抗非同步攻击

如果攻击者试图通过阻止最后一条消息,使得阅读器和标签更新不同步。在这种情况下,由于合法阅读器在上一轮的认证过程中更新阶段存储了上一轮和当前的ID1和ID2,因此可以利用和来继续执行协议完成认证过程。因此,该协议具有抗非同步攻击的能力。

4.4 抗伪装攻击

1)伪装标签Tag:由于伪装的非法标签并不具有ID2的信息,所以无法从A||B||C中提取出n1和n2,因此无法完成后续的认证过程。

2)伪装阅读器Reader:由于伪装的非法阅读器并不具有ID2的信息,所以无法完成第一步的认证过程。

综上所述,该协议具有抗伪装攻击的功能。

5 性能分析

由于RFID认证协议更需要的是降低标签端的资源需求,因此我们将关注点放在标签端的性能分析上。

首先,在整个认证过程中,标签端使用的运算包含模加、左移、异或、位替换,均为低代价的比特位操作。因此,一定程度上是降低了标签端的计算负担。

其次,标签端的存储需求为2L,对于存储资源的要求也能满足需求。

6 结语

本文针对文献[2]中提出的超轻量级RFID双向认证协议,提出了相应的攻击方法。并且结合低代价RFID标签资源受限的特点,提出相应的改进方案。新的协议通过使用简单的比特位运算和较低的存储需求,保证了消息的隐私性,并且具有抗重放攻击、抗非同步攻击、抗伪装攻击的能力,能够满足资源受限的超轻量级RFID认证系统。

猜你喜欢

发送给阅读器合法
上学路上好风景
基于反向权重的阅读器防碰撞算法
合法兼职受保护
被赖账讨薪要合法
合法外衣下的多重阻挠
一种高效的RFID系统冗余阅读器消除算法
找个人来替我怀孕一一代孕该合法吗?
公告
一种RFID网络系统中消除冗余阅读器的高效算法
疯狂猜图之侧颜你猜猜猜