潘 涛,王涛春,左开中
一种适用于大规模RFID系统的认证协议
潘 涛1,王涛春2,左开中2
(1.安徽机电职业技术学院 互联网与通信学院,安徽 芜湖 241002;2.安徽师范大学 计算机与信息学院,安徽 芜湖 241002)
针对现有RFID认证协议中标签硬件成本及运算复杂度高、后台数据库检测效率低问题,提出适用于大规模RFID系统的认证协议。该协议要求标签利用矩阵乘法完成身份加密、基于位运算实现信息交互,解决了标签高复杂度运算和硬件成本问题;要求后台数据库对信息进行二次判定的预认证,解决了因对非法标签无效识别导致检测效率低问题。证明与分析结果显示,该协议性能好,可抵御多种攻击。实验结果表明,与现有协议相比,该协议提高标签运算效率,减少后台数据库无效识别次数,适用于大规模RFID系统。
RFID认证;矩阵乘法;位运算;二次判定;大规模系统
射频识别(radio frequency identification,RFID)是一种非接触式自动识别技术,作用在于实现对物品的识别、追踪和管理。RFID具有反应灵敏、操作简便、定位精准优点,广泛用于生产和生活领域[1-3]。随着RFID技术的应用,RFID系统认证备受业界关注,但效率、成本和安全问题到目前为止仍未能得到很好的解决[4-5]。
目前,学术界提出多种RFID安全认证协议。文献[6]提出基于伪随机散列函数和共享秘密机制的双向认证协议,由于阅读器向外发送身份明文,保密性差,协议要求标签执行哈希运算。文献[7]提出超轻量级安全双向认证协议,随后文献[8]指出文献[7]协议保密性差,为解决此问题,文献[8]通过密钥的加权移位运算提高信息安全级别,但易受前向隐私安全和假冒阅读器攻击。文献[5]提出改进型RFID安全认证协议,随机数明文传输,保密性差,忽略对阅读器的身份认证,易受假冒阅读器攻击,要求标签执行哈希运算。文献[9]提出轻量级认证协议,指出后台数据库与阅读器间是安全信道,易受重放攻击和假冒阅读器攻击,标签多次执行哈希运算。文献[10]提出高效的RFID双向认证协议,易受假冒阅读器攻击,标签需执行哈希运算和非对称加密算法。
不难看出,现有RFID认证协议大都存在系统安全隐患和隐私泄露问题。部分协议利用复杂密码算法对标签身份进行加密,保密性好,但标签运算效率低、硬件成本高。普通标签方案理论可行,但因结构简单、计算和存储能力有限,实际不可取。近年来,RFID应用不再局限于对单个标签的识别,大规模标签认证的RFID应用日趋广泛。分析看出当前RFID认证协议不能很好地应用于大规模RFID系统,设计安全的低成本、高效率适用于大规模RFID系统认证协议成为研究重点。
考虑到大规模RFID系统中后台数据库和阅读器存储空间大、均可执行复杂的加解密操作,标签存储容量小、计算能力有限的实际情况,为有效解决认证中成本、效率和安全问题,本文中提出适用于大规模RFID系统的认证协议。该协议要求标签从实际情况出发,将自己身份数据划分为4个部分,通过每部分数据与该部分数据比特位数信息来构造矩阵,基于矩阵乘法运算完成标签身份加密,避免采用哈希算法和加密算法等复杂度高的运算,减少标签运算时间;后台数据库在对标签身份数据查询前,对接收的信息实施二次判定的预认证,减少后台数据库对于非法身份标签的无效识别次数,提高后台数据库检测效率。给出文中相关记号,定义如表1所示。
某次应用中,仍假定有个阅读器,每个阅读器管理a个标签,∈(1,),现要求对第组中所有标签进行身份认证。协议分为3个阶段,即初始化阶段、公钥分发阶段和标签身份认证阶段。
表1 记号定义表
(1)初始化阶段
(2)公钥分发阶段
后台数据库将公钥、本次认证过程中由后台数据库生成由阅读器管理的随机数R分发给域内指定阅读器以完成授权,从而激活第个阅读器开始采集组内标签数据,如图1所示。
图1 公钥分发
具体分发过程如下。
步骤1 后台数据库生成本次认证中阅读器所需随机数R,利用持有数据计算1=(k1||k2)⊕,2=(k1L⊕k2L⊕RL)||(⊕R)||(k1R⊕k2R⊕RR),接着向第个阅读器发送1、2和激活信号。
步骤2 阅读器在收到信息后,执行:
①利用持有的密钥Ri分别计算获得k1L⊕k2L和k1R⊕k2R值,抽取2中首部和尾部数据,亦或计算获得RL和RR值。
②利用持有密钥数据计算获得k1||k2值,对收到的1进行异或运算,得到1⊕(k1||k2)。
③抽取2中间部分数据3=⊕R,利用②中数据计算获得R=⊕3。
④将③中数据R与①中数据RL和RR匹配比较,若相等,协议继续,若不相等,协议终止,说明信息受到篡改;再将③中数据R与历史记录R进行比较,若相等,协议终止,说明是重放信息,否则,存储和R。
(3)标签身份认证阶段
协议从实际情况出发,将标签ID划分4个部分,即版本号、域名管理、对象分类、序列号,基于矩阵乘法运算完成标签身份数据加密,后台数据库在对标签ID认证成功后向标签反馈响应信息,认证流程如图2所示。
图2 适用于大规模RFID系统的认证协议
具体认证过程如下。
步骤1 阅读器计算1=R⊕k1⊕k2,向标签发送1和请求。
步骤2 标签在收到请求和信息后,执行:
①将接收到的1与历史记录1进行比较,若相等,协议终止,表明为重放信息,否则利用持有密钥数据Ri计算获得R=k1⊕k2⊕1。
图3 标签ID结构示意图
③基于密钥T计算
④生成随机数T,计算2=(R||k2)⊕k1,3=(R||k1)⊕T,向阅读器发送数据、2和3。
步骤3 阅读器在收到标签响应后,做如下处理:
①利用持有数据计算获得1=(R||k2)⊕k1,比较1∞2,若相等,协议继续,否则协议终止,表明信息受到篡改。
②利用持有数据计算获得2=R||k1,从3中提取出数据T=2⊕3。
步骤4 后台数据库在收到阅读器信息后,执行:
①基于密钥解密数据获得3=R||k1||=D(4)和4=R||k2||=D(5),根据随机数R占据的二进制位数信息,可分别从3和4中提取R,与持有的R比较,三者若不一致,协议终止,表明阅读器为非法身份阅读器,即未授权域内攻击者;若一致,接着从3和4中提取1和k2并验证数据正确性,若与持有的(k1,k2)不一致,协议终止,表明阅读器为非本次通信阅读器,即授权域内其他非指定阅读器,图4给出二次判定流程。
图4 二次判定流程
④计算并向阅读器发送数据6=(R||k1||k2)。
步骤5 阅读器在收到信息后,做如下处理:
①利用持有的随机数R、密钥k1和k2进行单向散列计算获得6=(R||k1||k2),判断6∞6,判定标签身份是否通过后台数据库认证。
②计算并向标签发送数据7=k1⊕21L⊕R,8=k2⊕22L⊕T。
步骤6 标签在收到信息后,执行:
①利用持有数据计算7=k1⊕21L⊕R,判断7∞7,若不相等,表明认证信息不是来自合法的阅读器。
②利用持有数据计算8=k2⊕22L⊕T,判断8∞8,若不相等,表明不是对本次认证的响应。
SVO逻辑吸取了BAN逻辑、GNY逻辑的优点,具有简洁的推理规则和公理,为逻辑系统建立了用于证明正确性、合理性的理论模型[11-12]。将协议认证过程用SVO语言进行形式化表述,证明从协议初始化假设集开始,根据协议执行进展情况,依据SVO公理和规则进行推导,判断能否达到预期目标集,证明协议的正确性和合理性。
(1)基础知识
给出记号解释:|≡、◁、|~、|≈、#、϶表示相信、看到、发送过、刚发送过、新鲜的、拥有,δ(P,)表示是通信实体P的公开协商密钥。
给出该文用到的定义和公理,如下:
信任公理A0:(P|≡θÙP|≡φ)≡(P|≡θÙφ)
信任公理A1:P|≡θÙP|≡(θÉφ)ÉP|≡φ
消息发送公理A14:
P|≈(1,...,X)ÉP|~(1,...,X)ÙP|≈(X)
消息新鲜性公理A17:#(X)É#(F(1,...,X))
临时值验证公理A18:(#()ÙP|~)ÉP|≈
拥有等价公理A20:P ϶ K ≡ P ◁K
(2)初始化假设集
文中约定后台数据库、阅读器和标签分别用记号DB、R和T表示,⊕看作函数( )的运算。该协议关于通信实体的初始化假设集如下:
①DB|≡δ(DB,DB)
②DB|≡DB◁R
③DB|≡(R,R)
④DB|≡T|~(R,R)
⑤DB|≡DB϶DB
⑥T϶T
⑦T|≡#T
⑧T|≡R|~(R,T)
(3)协议预期目标集
给出协议应该达到的目标集G1和G2,SVO表示如下。
G2:T|≡R|≈(R,T),即T若能相信R刚发送正确的阅读器及标签随机数,就可以确定本轮认证是成功的。
(4)协议证明
从初始化假设集出发,利用SVO逻辑的规则和公理对协议进行推导证明。
推论1 DB|≡δ(T,T)
协议要求T利用密钥T实现对标签身份数据加密,DB再对加密后的密文数据进行合法性认证,因此,DB相信T是T的公开协商密钥显而易见,推论1得证。
推论2 DB|≡δ(DB,DB)Ùδ(T,T)
由推论1,对假设①分析,应用信任公理A0,得:
(DB|≡δ(DB,DB)ÙDB|≡δ(T,T))≡
(DB|≡δ(DB,DB)Ùδ(T,T))
DB|≡(δ(DB,DB)Ùδ(T,T))ÙDB|≡
推论3得证。
推论4 DB|≡DB ϶T
对假设②分析,DB接收到R后,结合持有的密钥DB组建有效密钥,等同于接收到密钥T。应用拥有等价公理A20,得(DB|≡DB◁T)≡(DB|≡DB϶T),推论4得证。
推论5 DB|≡T|≈R
对假设③和④分析,应用信任公理A0,得(DB|≡(R,R)ÙDB|≡T|~(R,R))≡(DB|≡(R,R)ÙT|~(R,R)),应用临时值验证公理A18,得DB|≡T|≈(R,R),应用消息发送公理A14,得DB|≡T|≈R,推论5得证。
推论7|≡#(R,T)
应用消息新鲜性公理A17,得#(T)É#(R,T)。对假设⑦分析,得T|≡#(R,T),推论7得证。
推论8 T|≡ R|≈(R,T)
由推论7,对假设⑧,应用信任公理A0,得T|≡R|~(R,T)ÙT|≡#(R,T) ≡ T|≡ (R|~(R,T)Ù#(R,T)),应用临时值验证公理A18,得T|≡ R|≈(R,T),推论8得证。协议满足预期设计目标G2。
(1)保密性
RFID标签携带敏感信息及其漏洞,数据保密性及其重要[13]。攻击者主要考虑2种类型的信道监听,即后台数据库与阅读器间信道和阅读器与标签间信道。攻击者对第一类信道实施非法监听,对于密钥分发阶段,攻击者可获取1、2,由于均是异或运算后的密文数据,攻击者无法获取公钥和本次认证随机数R;对于标签身份认证阶段,攻击者可获取'、4、5、6,根据公钥算法保密性以及单向散列函数的单向性、不可逆性,攻击者无法解密出分向量密钥(k1,k2),更不可能破译出密钥T、得到ID明文。
攻击者监听第二类信道,窃取数据'、1、2、3、7和8,其中,'为矩阵乘法运算密文,1、2、3、7和8是异或运算后密文,假设数据长度位,攻击者破译出概率1/2,当γ→∞时,→0,可忽略不计。攻击者无法获取T,仍然不能预测ID明文。
(2)前向隐私安全
前向隐私安全指攻击者破解某一个标签,但无法获取标签在被破解前的通信隐私数据[14-15]。该协议中,对于攻击者而言,标签隐私数据为密钥T。攻击者监听无线信道截获标签对外发送的数据'、2和3,现假定通过某种手段破译出数据2和3(通过保密性分析发现,2和3破解难度极大),由于通信数据缺少矩阵密钥中完整的21和22信息,攻击者不能对被破解之前上轮通信隐私数据进行分析得到T,也不可能得到ID明文。
(3)重放攻击
攻击者向标签重放阅读器数据7和8,声称标签已通过合法认证。由于协议执行初始即要求标签判断1重复性,R是不可再现的,同时T为标签自身随机数,因此,每次认证中R和T均不相同。而数据7和8均含有标签和阅读器随机数,根据随机数的随机性和不可预测性,每次执行结果均不相同,攻击者不可能通过重放阅读器之前的信息获取标签合法认证,重放攻击失败。
(4)假冒阅读器
攻击者假冒阅读器向标签发送认证成功的响应,标签在收到阅读器响应后,需要计算7=k1⊕21L⊕R,8=k2⊕22L⊕T,验证7和8正确性。这里,标签通过随机数R和T确定为本次认证,通过分向量密钥(k1,k2)确定通信实体的合法身份,通过(k1L,22L)确定检测实体的合法身份,攻击者很难假冒阅读器获取标签合法认证。
攻击者假冒阅读器向后台数据库发送信息,试图获取合法认证。
方式一 假定攻击者不属于后台数据库授权域内成员,不持有公钥,利用自有数据计算并发送'、4和5,后台数据库对收到的信息解密,由于攻击者的公钥与后台数据库的私钥不匹配,4和5中的R不相同,协议终止,攻击失败,如图5所示。
图5 假冒攻击方式一
方式二 假定攻击者属于后台数据库授权域内成员,但非本次通信合法主体。此时攻击者可持有公钥,计算并发送'、4和5,后台数据库解密数据,由于需通过二次检测,首先检测R一致性,再次检测分向量密钥(k1,k2)正确性,假冒阅读器攻击仍无法成功,如图6所示。
图6 假冒攻击方式二
现有协议加密操作大都利用复杂的哈希算法或非对称加密算法,提高标签硬件成本,增大标签运算复杂度,计算效率低,此外,多数协议未考虑后台数据库对非法标签的无效识别次数,降低后台数据库检测效率。
表2从标签硬件成本、计算复杂度、存储复杂度和后台数据库对标签无效识别次数方面分析,展示不同协议的性能比较,其中,h为单向散列函数运算复杂度,xoR为异或运算复杂度,f为其他函数运算复杂度,E为公钥加密运算复杂度;k为密钥长度,ID为身份标识长度,m为随机数长度。
表2 协议性能比较
表3从保密性、前向隐私安全、重放攻击和假冒阅读器攻击方面展示了不同协议的安全性对比。
表3 协议安全性比较
为使协议适用于大规模RFID系统,协议设计应提高认证效率。现有后台数据库查询算法搜索效率高,大规模RFID系统认证应重点考虑缩短标签运算时间,提高标签运算效率;减少非法标签无效识别次数,提高后台数据库检测效率。EPC和ISO/IEC标准体系的RFID标签ID长度一般在512位以内[16]。实验对大批量典型身份长度为128位的标签进行识别,从标签运算总时间和后台数据库检测总时间2个方面对各协议进行真实场景实验的效率比较。
标签运算效率实验设计,选取阅读器与多标签的通信场景,通过阅读器实时记录大规模标签的总响应时间,检测标签的运算性能,评估标签运算效率,流程如图7所示。选用MagicRF M100型号的阅读器,选取5个nRF24LE芯片的RFID标签,认证过程中对5个标签进行多轮重复识别,模拟大规模标签场景,利用时隙ALOHA协议实现标签轮回认证。PC端利用C#语言设计应用程序记录并显示标签的运算总时间,如图8和图9所示。
图7 标签运算效率评估
图8 通信串口设置
图9 运算时间记录界面
图10给出了标签运算总时间随着标签数不同而出现的变化趋势。可以看到,由于该协议中标签运算摒弃了复杂加密运算,与其他协议相比,随着标签数的增加该协议标签运算总时间明显减少,标签运算效率高。
图10 标签运算总时间比较
后台数据库检测效率实验设计,数据库查询选取顺序查找算法,单向散列函数选择SHA-1算法,非对称加密选择RSA加密算法。由阅读器向后台数据库发送个标签身份数据,其中前-1个为非法数据,第个为合法数据,通过观察后台数据库对所有标签的检测总时间,判断后台数据库无效识别次数,评估后台数据库检测效率。文献[5]、[8]完全未考虑预认证情况,不参与实验评估。图11给出了检测总时间随着标签数的增加而发生的变化。由于对无效标签的识别增加了认证时长,可以看到,与其他协议相比,随着非法标签数的增加,该协议后台数据库检测总时间小,检测效率高。
图11 检测总时间比较
大规模RFID系统应用是物联网技术推广的重要因素之一,该文针对当前RFID协议中系统安全性不强、硬件成本高、认证效率低问题,提出适用于大规模RFID系统的认证协议。该协议要求标签利用矩阵乘法运算完成身份数据加密、基于位运算实现信息交互,要求后台数据库对信息进行二次判定的预认证。分析显示,协议能抵御多种攻击,降低标签硬件成本,有效提高系统认证效率,有极其重要的现实应用价值。下一步工作将研究大规模移动RFID系统识别精准率问题,提出安全、高效、实用的方案。
[1] 邓春红, 左开中, 潘涛. 一种RFID标签所有权完全转移协议[J]. 信息与控制, 2016, 45(6): 677-683.
[2] CESAR M A, JuanR R, Gustavo R G. RFID Applications and security review[J]. Computation, 2021, 9: 1-21.
[3] Xu He, Yin Xianzhen, Zhu Feng, et al. An enhanced secure authentication scheme with one more tag for RFID systems[J]. IEEE Sensors Journal, 2021, 21(15): 17189-17199.
[4] 李涛, 刘亚丽. 一种基于双PUF的RFID认证协议[J]. 计算机研究与发展, 2021, 58(8): 1801-1810.
[5] Damghani H, Hosseinian H, Damghani L. Investigating attacks to improve security and privacy in RFID systems using the security bit method[C]//2019 5th Conference on Knowledge Based Engineering and Innovation (KBEI). Tehran, Iran. IEEE, 2019:833-838.
[6] 石乐义, 贾聪, 宫剑, 等. 基于共享秘密的伪随机散列函数RFID双向认证协议[J]. 电子与信息学报, 2016, 38(2): 361-366.
[7] Tewari A, Gupta B B. Cryptanalysis of a novel ultra-lightweight mutual authentication protocol for IoT devices using RFID tags[J]. Journal of Supercomputing, 2017, 73: 1085-1102.
[8] Wang K H, Chen C M, Fang W C, et al. On the security of a new ultra-lightweight authentication protocol in IoT environment for RFID tags[J]. Journal of Supercomputing, 2018, 74(1): 65-70.
[9] Zheng Y, Zou M, Hu G. Implementation of a lightweight RFID security authentication protocol system[J]. Journal of Physics: Conference Series, 2020, 1549(4): 1-5.
[10] Mehrabani M, Sadegha S. Improvement of the efficient mutual authentication protocol for passive RFID tags (EMAP)[J]. International journal of innovation in Engineering, 2021, 1(3): 1-7.
[11] 冯登国, 范红. 安全协议形式化分析理论与方法研究综述[J]. 中国科学院研究生院学报, 2003, 20(4): 389-406.
[12] 周永彬, 冯登国. RFID安全协议的设计与分析[J]. 计算机学报, 2006, 29(4): 581-589.
[13] Ahmed M I, Kannan G. Cloud-based remote RFID authentication for security of smart internet of things applications[J]. Journal of Information & Knowledge Management, 2021, 20(1): 1-20.
[14] 马昌社. 前向隐私安全的低成本RFID认证协议[J]. 计算机学报, 2011, 34(8): 1387-1398.
[15] Tiplea F L. Narrow privacy and desynchronization in vaudenay's RFID model[J]. International Journal of Information Security, 2021, 21(3): 1-13.
[16] FATEMEH B, NEMAI C K. Hybrid chipless RFID tags-a pathway to EPC global standard[J]. IEEE Access, 2018, 6: 67415-67426.
A New Authentication Protocol for Large Scale RFID Systems
PAN Tao1, WANG Tao-chun2, ZUO Kai-zhong2
(1.School of Internet and Communication, Anhui Technical College of Mechanical and Electrical Engineering, Wuhu 241002, China; 2.School of Computer and Information, Anhui Normal University, Wuhu 241002, China)
To solve the problem of the higher hardware and computational complexity of tag and the low-efficiency detection of the database in the existing RFID authentication protocol, a new authentication protocol for large scale RFID systems is proposed. The protocol requires tag to encrypt its identity by matrix multiplication and to exchange information on bit operation. The method can deal with the problem of higher computational complexity and hardware cost. It also requires the database conducts preliminary authentication by two validations to the receiving information. This method can deal with the problem of invalid identification of tag which reduce the database detection efficiency. Proof and analysis show that the protocol has good performance. It can resist different types of attacks. Experiment results show that the protocol can improve computational efficiency of tag and avoid invalid identification when compared with other existing protocols. The protocol can be used in large scale RFID systems.
RFIDauthentication; matrixmultiplication; bitoperation; twovalidations; largescalesystems
10.15916/j.issn1674-3261.2023.05.001
TP311
A
1674-3261(2023)05-0281-07
2023-02-07
安徽省高等学校省级自然科学研究计划项目(2108085MF219);安徽省质量工程项目(2021JXTD065)
潘涛(1986-),男,安徽六安人,讲师,硕士。
责任编辑:孙 林