基于反比例函数的RFID组证明协议
2023-09-04明显诚
齐 宁 明显诚
(吉林电子信息职业技术学院 吉林 吉林 132000) 2(重庆理工大学工程训练与经管实验中心 重庆 400054)
0 引 言
进入21世纪之后,随着科技的快速发展,射频识别(Radio Frequency Identification,RFID)技术得到了广泛的运用[1]。一个经典的射频识别系统至少有电子标签、读写器、服务器三者,在该系统中,一般情况下,读写器固定不变动,电子标签处于不断变动位置状态,服务器也处于固定状态[2-3]。
在射频识别系统中,电子标签与读写器之间会话采用无线方式实现,存在易被攻击者窃听的风险,一般认定为不安全;读写器与服务器之间一般采用光纤或同轴电缆等有线方式实现会话,一般认定为安全可靠[4-5]。要在不安全的链路上交换信息,同时还需要确保用户隐私信息的安全性,就必须设计协议来解决上述问题。
随着人们需求的增加,在涉及到用电子标签标记某个商品的时候,很多时候单个标签无法满足标记某个商品的情况发生,比如:在医疗领域中,某种药品在进行标记时,其中需要一个标签用于标记药品基本信息,比如:药品名称、药品生产日期等;同时还需要一个标签用于标记该药品的使用方法,即用于标记该药品的说明书[6-8]。在遇到上述情况时,需要同时证明两个标签的同时存在,但现有的大多数协议无法满足上述情况。本文设计一种协议适用于上述可证明多标签同时存在情况。
本文给出基于反比例函数加密算法的具体构造和实现方法,加密过程中巧妙用到加密参数自身汉明重量参数,即可减少参数引入、降低存储空间的同时,增加攻击者破解难度,提高协议安全性。数据库一端通过存储前后两轮认证密钥,来抵抗攻击者发起的异步攻击。对设计的协议进行多角度分析,协议可一次实现多标签同时存在的证明,能够抵抗重放、异步、追踪等常见类型的攻击,同时计算量可适用于现有低成本计算量的系统中。
1 相关工作
文献[9]里提出一个组证明协议,具体是用2个标签分别来标记药品和说明书。因协议提出较早,协议设计过程中未考虑更多安全隐私,导致协议无法抵抗定位攻击、重放攻击等攻击类型。
文献[10]中给出一个组证明协议,协议虽能够具备较好的安全性,但协议因选择加密算法为物理不可克隆函数,需进行的计算次数及计算量较大,协议推广受限,同时协议仅适用于证明单组标签存在。
文献[11]中设计了一个组证明协议,协议虽声称可以提供多组标签存在进行证明,但深入分析协议仅能对一组标签存在进行证明。文献[12]中给出一个证明协议,作者对协议分析,表明协议具备较高安全性。
文献[13]中对文献[12]中协议进行了分析,指出文献[12]中协议并不安全,分析指出文献[12]中协议存在隐私泄露安全不足,同时文献[13]中提出一个组证明协议。对文献[13]的协议进行分析,协议采用连接运算,攻击者窃听消息后,可以分析出部分信息数值,再结合随机数明文传送,攻击者可以分析出部分隐私信息,因此文献[13]中协议也同样存在隐私信息泄露问题。
本文介绍了组证明协议产生的背景,分析了部分经典组证明协议,指出其中优势及不足之处,最后给出一个基于反比例函数实现加密的组证明协议。本文协议设计时为尽可能降低计算量,先设计一种基于能够按位运算实现的反比例函数加密算法,能够降低计算量的同时,确保隐私信息安全性。
2 反比例函数
本文反比例函数具体是按照如下方式实现对需要传送的信息进行加密:x、y是需要传送的信息,A是需要传送信息y自身的汉明重量值、B是需要传送信息x自身的汉明重量值。
3 组证明协议
3.1 符号解释
DB:服务器;
R:读写器;
T:标签;
Ti:标号为i的标签;
Ki:DB与Ti之间共享密钥值;
IDSi:Ti的假名;
IDi:Ti的标识符;
gid:Ti所在的标签组编号;
xi:Ti产生的随机数;
y:DB产生的随机数;
⊕:异或运算;
&:与运算;
h():反比例函数运算。
3.2 协议阐述
RFID组证明协议的流程如图1所示。
图1 RFID组证明协议流程
结合图1中流程可将本文协议具体步骤阐述如下:
(1) R向可通信范围内的所有T发送hello消息,开启组证明协议。
(3) R在收到所有消息后,将收到的消息转发给DB。
(5) R在收到消息后,将收到的消息广播给通信范围内的所有T。
上述DB在更新信息时需要分两种情况进行讨论,具体信息如下:
(11) R收到信息后,将接收到的信息广播给仍处于活跃状态下的T。
4 协议安全性
(1) 前向安全性。攻击者通过获取当前会话消息分析出下轮会话用到的消息,攻击者无法成功。协议加密过程中有随机数的加入,使得前后两次会话消息之间无关联;随机数随机产生,攻击者无法从当前会话用到的随机数预测下次加密用到的随机数。故协议具备前向安全性。
(2) 后向安全性。攻击者通过获取当前会话消息逆推出上轮会话中隐私信息,攻击者仍无法成功。协议设计中所有消息加密时必须混入随机数,随机数具备随机性、互异性、无法预测性,因此攻击者无法逆推出上轮会话用到的隐私信息。故协议具备后向安全性。
(3) 存在证明正确性。协议在步骤(10)中,首先会对标签进行验证,只有当所有标签通过验证之后,服务器才会开始对处于激活状态下的标签存在的证明正确性再次进行验证。服务器一端是通过消息a、b对处于激活状态下的标签进行存在证明正确性验证,依据文中对a、b消息的计算由来可发现,任何假冒的标签都不可能通过前面若干步骤复杂的计算及验证阶段。故协议能够确保标签存在证明正确性。
(4) 隐私信息安全性。攻击者想从窃听的消息中分析出用户的部分或全部隐私信息,攻击者无法成功。协议所有加密过程中一定保证至少有两个参量攻击者处于无法获取或知晓状态,假定每个参量的长度都为32位,则攻击者想要获取某个加密消息里面两个隐私信息正确性的概率为1/2×1/2×…×1/2=1/264,几乎为零。故协议具备确保隐私信息的安全性。
(5) 异步攻击。协议在服务器一端存放有前后两次会话用到的标签的假名、标签与服务器之间共享密钥值用以抵抗攻击者发起的异步攻击。结合协议步骤描述中的步骤(10)可以看出,服务器一端对接收到的消息会先用当前的假名、共享密钥值对消息进行验证。若失败,服务器一端将会再次用上轮的标签假名、共享密钥值对消息再次进行验证。通过上面一种机制,可以恢复服务器与标签之间的一致性。故协议能够抵抗异步攻击。
(6) 重放攻击。攻击者通过某些手段获取上轮会话消息,在当前会话过程中攻击者重放上轮消息以企图通过服务器或标签一端的认证,进而获取隐私信息,但攻击者无法成功。协议上轮与本轮加密消息值根本不会相同,因为加密时混入随机数,使得攻击者获取的上轮消息仅能适用于上轮会话,根本不适用其他会话过程。故协议能够抵抗重放攻击。
5 协议性能
将本文协议与其他经典协议在标签一端的计算量、是否适用于多组标签存在证明等角度进行对比分析,对比分析的结果如表1所示。
表1 本文协议与其他协议的对比
在表1中出现部分符号的含义如下:Ja表示产生随机数的时间复杂度;Jb表示反比例函数加密的时间复杂度;Jc表示按位运算的时间复杂度;Jd表示哈希函数加密的时间复杂度;Je表示物理不可克隆函数加密的时间复杂度;Jf表示模运算算法加密的时间复杂度;Jg表示伪随机函数的时间复杂度。在上述运算中,Jb表示反比例函数是可以基于按位运算实现,Jc表示按位运算本身就是按位运算,其他运算均不是基于按位运算实现,因此运算量不属于同一个级别。按照划分,反比例函数及按位运算的计算可属于超轻量级,其他运算的计算属于轻量级。
结合本文表1及上述两段文字描述可以看出,本文协议能够减少通信实体计算量,且计算量要少于对比的所有其他协议,同时本文协议还适用于多组标签存在的证明,能够弥补部分协议仅能证明单组标签存在证明的不足。结合第4节对协议安全性的分析可以得知,本文协议具备较高的安全性,能够抵抗常见类型的攻击,可以弥补其他协议存在的安全不足缺陷问题。
6 结 语
分析近些年经典的证明协议,指出协议存在仅能证明单标签或单组标签存在不足,设计一种可以证明多组标签同时存在的组证明协议。协议并未采用传统的加密算法或基于HASH函数的加密算法,而是采用一种构造的反比例函数进行加密,构造的反比例函数可基于位运算实现,使得协议整体计算量得到一定幅度上降低;协议加密过程中,为确保隐私信息的安全,采用假名替代真实标识符的方式进行会话。将协议与其他经典协议进行安全及性能角度方面的比较分析,表明本文设计协议能够弥补其他协议存在的不能证明多标签存在的缺陷,同时计算量、角度也优于其他协议。