抗穷举攻击的改进的RFID双向认证协议

2022-09-06 13:17
计算机应用与软件 2022年8期
关键词:汉明读写器加密算法

周 扬 帆

(湖南财经工业职业技术学院电子信息系 湖南 衡阳 421002)(湖南大学信息科学与工程学院 湖南 长沙 410082)

0 引 言

射频识别是一种能够不与物体相接触就可以读出特定物体中存放的数据技术[1-2]。进入新世纪之后,在大数据、物联网、云计算等新技术的应用中,射频识别技术也得到大面积的推广,用到场合最多的当属RFID系统[3-4]。一个典型的RFID系统至少含有标签、读写器、数据库三者,比如当前流行应用的校园一卡通系统。一卡通系统中,学生用到的饭卡可以看成是标签;饭堂中能够将饭卡里的钱扣成功的机器,可以看成是读写器;学生饭卡与饭堂中扣钱的机器之间通信的数据存放的机器,可以看成是数据库[5-7]。

在上述例子中,学生的饭卡和饭堂扣钱的机器之间通过无线方式完成扣钱过程,交换数据方式并不是绝对安全;饭堂扣钱的机器与存放数据的机器之间通过光纤等媒介完成传递,该过程中数据安全度较为高[8-9]。为能够保障饭卡与扣钱机器之间的安全性,需要用到通信协议来解决该问题。

文献[10]利用PRF设计一个协议,但随后多人指出该协议存在缺陷[11],比如无法抗异步攻击。文献[12]提出一个具备后向安全的协议,但文献[13]指出其无法抗暴力破解攻击。同时文献[13]给出改进的协议,协议虽未发现安全缺陷,但协议基于Rabin算法加密,计算量较大,无法推广。文献[14]基于哈希函数给出一个协议,因随机数采用明文传送方式,使得协议无法抗暴力破解。文献[15]的协议存在无法抗假冒攻击的缺陷。文献[16]同样利用哈希函数设计一个协议,采用明文发送数据,攻击者可穷尽共享密钥信息,存在不足之处。鉴于文章有限,更多协议可以参见文献[17-20]。

在重点分析文献[16]协议存在不足之处基础上,给出改进协议。本文给出的改进协议沿用原协议设计思想,改进之处在于:(1) 随机数采用密文形式发送;(2) 标签的假名也进行更新,前后值不同,无法追踪标签位置;(3) 用计算量更低的创新型加密算法Pcs(X,Y)对信息加密。这样能够在降低整体计算量之时,确保隐私信息安全。

1 认证协议设计

1.1 文献[16]协议的安全分析

对文献[16]设计的协议进行分析,协议存在无法抗攻击者暴力破解的缺陷问题。对该协议的具体分析步骤如下:

该协议的步骤5)中,读写器产生的随机数R1,以明文的形式发送给标签。攻击者可以通过窃听方式获取该随机数R1。

该协议的步骤6)中,标签计算的H2消息,在发送读写器过程中,攻击者还是可以获取H2。

由协议可得知:H2=H(num‖R1)。在该计算公式中:H( )表示哈希加密函数,该加密算法对外公开,攻击者可获知;R1表示读写器产生的随机数,在步骤5)中,已被攻击者获取;H2表示会话消息,在步骤6)中,也已被攻击者获取;num表示通信实体之间的共享密钥。基于上述,在H2=H(num‖R1)中,有且仅有num参量的值是攻击者不知道的,此时攻击者可以采用穷举的方式穷尽num所有可能的取值。当攻击者穷举出num的值之后,攻击者就可以假冒成为标签,计算H2的值,向读写器发信息,从而获取更多的通信实体的隐私信息。

该协议中其他消息H3、H5的破解方式与上述H2的破解方式一样,鉴于篇幅有限,不再阐述。

按照上述分析,文献[16]设计的协议无法满足协议应具备的抗假冒攻击、暴力破解的安全需求。本文在此协议基础之上设计一个改进的认证协议,主要从以下角度改进:(1) 通信实体产生的随机数均采用密文方式发送;(2) 摒弃哈希函数加密,采用新型的置换交叉合成运算对信息加密,降低系统总的计算量。

1.2 置换交叉合成运算

置换交叉合成运算统一用符号Pcs(X,Y)(Permutation Cross Synthesis)表示。Pcs(X,Y)的具体定义如下:

(1)X、Y、Z、W均是长度为L位的二进制序列,且L为偶数。

(2) 当二进制序列X的第i位为0时,将二进制序列Y的第i位进行取反,取反之后的值放置在二进制序列Z的第i位;当二进制序列X的第i位为1时,二进制序列Y的第i位不进行任何操作,直接取该位的值放置在二进制序列Z的第i位。按照上述(1)和(2)可以完成置换操作。

《中国钼业》为中国科技核心期刊,是中国钼行业唯一的一份权威性学术期刊,也是金堆城钼业集团有限公司乃至陕西有色的一张名片,期刊影响力不断提升,是国家权威机构对期刊质量和学术水平的充分认可,也是金堆城钼业集团有限公司科研实力、管理能力和社会影响力的集中体现。

(3) 分别求出二进制序列X、Y的汉明重量、汉明重量差值。当二进制序列X的汉明重量大于或等于二进制序列Y的汉明重量时,取二进制序列Y、Z在上述汉明重量差值的前提下进行交叉合成操作;反之,取二进制序列X、Z在上述汉明重量差值的前提下进行交叉合成操作。

(4) 取二进制序列Y的汉明重量差值位,放在二进制序列W的右边;取二进制序列Z的后汉明重量差值位,放在二进制序列W的左边。循环进行上述操作,即可得到完整的二进制序列W,W即是Pcs(X,Y)的运算结果。

HW(X)表示二进制序列X的汉明重量;HW(Y)表示二进制序列Y的汉明重量;HW(X-Y)表示二进制序列X的汉明重量与二进制序列Y的汉明重量差值的绝对值,即HW(X-Y)=|HW(X)-HW(Y)|。

为能够更清楚地描述Pcs(X,Y)的过程,文中选择L=12位,X=0110 1100 0111,Y=1011 0001 1000为例子进行讲解。根据上述定义,得出:HW(X)=7,HW(Y)=5,HW(X-Y)=2,Z=0010 0010 0000,W=Pcs(X,Y)=1010 1000 0010,如图1所示,此时满足二进制序列X的汉明重量大于或等于二进制序列Y的汉明重量,即HW(X)≥HW(Y)。

再选择L=12位,X=1011 0001 0100,Y=0110 1100 0111为例子进行讲解。根据上述定义,得出:HW(X)=5,HW(Y)=7,Hw(X-Y)=2,Z=0010 0010 1100,W=Pcs(X,Y)=1010 1000 0001,如图2所示,此时满足二进制序列X的汉明重量小于二进制序列Y的汉明重量,即HW(X)

图2 置换交叉合成运算(HW(X)

1.3 认证协议

(1) 协议符号解释。本文协议部分符号表示的含义如下:R:读写器;T:标签;K:R与T之间共享秘密信息;Kold:R与T之间上轮共享秘密信息;Knew:R与T之间本轮共享秘密信息;ID:T的标记信息;IDS:T的标记信息相对应的假名;IDSold:T的标记信息上轮相对应的假名;IDSnew:T的标记信息本轮相对应的假名;Pcs(X,Y) :对参数X、Y进行置换交叉合成运算;R1:R产生的随机数;R2:T产生的随机数;&:与运算;⊕:异或运算。

(2) 协议初始化阶段。本文协议共分为两个阶段,初始化阶段是在标签还未出厂之前完成的,初始化之后T存放信息:、R存放信息:。协议开始之时IDSnew=IDSold=IDS,Knew=Kold=K。另一个阶段是认证阶段。

(3) 协议认证阶段。本文协议步骤如图3所示。

图3 认证协议

1)R→T。R向T发送Query认证请求。

2)T→R。T将假名IDS发送给R。

3)R→T。R先在IDSnew中搜索是否有与IDS值相等的记录。没有,进行操作1;有,进行操作2。

操作1:R再次在IDSold中搜索是否有与IDS值相等的记录。仍没有,协议结束;有,进行操作2。

操作2:T通过R的第一次验证。R产生随机数R1,计算A=R1⊕ID,B=Pcs(R1,ID),将发送给T。

操作4:R计算E=Pcs(R1,R2),并开始更新信息IDSold=IDSnew,IDSnew=Pcs(IDS,R2),Kold=Knew,Knew=Pcs(K,R1&R2),最后将发送给T。

2 协议分析

2.1 Pcs(X,Y)加密算法分析

协议需要具备较高的安全性,除了采用密文传送信息之外,加密算法的安全性也是很重要的。本节详细分析本文设计的创新型的加密算法的安全性。

攻击者对Pcs(X,Y)加密算法进行破解,需要进行两个步骤:(1) 置换;(2) 交叉合成。

置换中,攻击者可以获取置换的规则,即当二进制序列X的第i位为0时,将二进制序列Y的第i位进行取反,取反之后的值放置在二进制序列Z的第i位;当二进制序列X的第i位为1时,二进制序列Y的第i位不进行任何操作,直接取该位的值放置在二进制序列Z的第i位。攻击者需要在知道进行加密的两个参数的前提之下,再运用上述的置换规则就可以分析出隐私信息。但关键问题是,攻击者并不知道加密参数的数值,因此,攻击者无法正确顺利完成置换步骤的破解。

交叉合成中,攻击者可以获取交叉合成的规则,即取二进制序列Y的汉明重量差值位,放在二进制序列W的右边;取二进制序列Z的后汉明重量差值位,放在二进制序列W的左边。攻击者想完成交叉合成步骤的破解,需要知道加密参数每个相对应的汉明重量数值,同时还要知道两个参数汉明重量差值。但遗憾的是,攻击者并不知道每个参量的汉明重量数值。攻击者不知道汉明重量,就无法知道交叉合成是按照多少位数进行的。因此,攻击者在交叉合成步骤中破解失败。

基于上面的描述,创新型的Pcs(X,Y)加密算法具备较好的安全性,能够提供用户所需的安全要求。

2.2 常见攻击类型安全分析

(1) 假冒攻击。攻击者假冒成R给T发消息,比如发送A和B消息。想要发送正确的A消息,需要正确的ID参数值,随机数攻击者可以随意选择一个,但攻击者缺少ID的正确数值,无法计算出正确的通信消息A的值。当攻击者再次随意选择一个数值作为ID的数值参与计算所得到的A并不是正确的,发送给T之后,T通过相同的运算法则,即可辨析出攻击者假冒的R,假冒失败。攻击者假冒成T给R发消息,比如发送C和D消息。攻击者缺少ID和K的正确数值,攻击者无法破解出R发送给T的正确的随机数R1的值,从而攻击者进一步无法计算得到正确的C消息的数值。当R收到C之后,R通过相同的运算法则计算,即可识别出T由攻击者假冒,假冒失败。

(2) 重放攻击。R与T之间的信息基于无线信道传送,使得攻击者可以很容易监听获取通信消息,进而攻击者发起重放攻击。本文协议在所有消息加密过程中加入随机数,具体地:A中加入R1,B中加入R1,C中加入R1和R2,D中加入R1和R2,E中加入R1和R2,使得攻击者前后两次监听的信息数值并不是一致的。因此,当攻击者重放监听到的上一轮消息时,本轮通信的消息数值早已发生变更,待接收者通过计算即可辨别出消息来源的真伪,重放失败。

(3) 定位攻击。定位攻击也就是常见的追踪攻击。标签发送的消息中,若存在某个数值一直未发生变动,则攻击者可以通过该数值逐渐地定位和追踪标签的踪迹位置,进而发起追踪攻击。本文协议信息都加入随机数,随机数由随机数产生器产生,具备无法预测性、不重复性等特征,使得每次消息的数值不尽一样,则攻击者也无法进行追踪标签的位置操作,定位失败。

(4) 异步攻击。通过重放等手段破坏标签与读写器之间共享秘密信息等参数的一致性,称之为异步攻击。本文协议从两个方面能够有效防止异步攻击的发生:① 读写器存放前后两轮的IDS信息;② 读写器存放前后两轮的K信息。待收到信息后,先用IDSnew和Knew进行信息的认证,验证失败后,将再次用IDSold和Kold进行信息的认证。当且仅当两次验证都失败,协议停止。

(5) 暴力破解。本文将重点分析协议具备抵抗攻击者暴力破解攻击,以此显示出本文协议相对刘立波等设计协议的优势所在。整个协议在通信过程中,发送的信息较多,有A、B、C、D、E、IDS。攻击者获取IDS信息没有任何用,因为IDS是标签的假名,并不含任何有用的隐私信息。此处选择A=R1⊕ID为例子进行分析,在A中,于攻击者而言,有R1、ID两个参数的数值是不知道的,攻击者便无法以穷举的方式穷尽变量所有可能的值,这是其一;其二,随机数R1是变动的,前后两次的数值不同,上一轮截获的信息,攻击者还没有来得及暴力破解穷尽参数所有可能的值,下一轮通信数据已发生变化,因此攻击者根本无法穷举出任何有用的隐私信息的数值,攻击者暴力破解失败。

(6) 双向认证。协议安全性方向最基本的要求便是通信实体之间能够完成彼此之间的认证。第三步中,读写器完成对标签的第一次认证;第四步中,标签完成对读写器的第一次认证;第五步中,读写器完成对标签的第二次认证;第六步中,标签完成对读写器的第二次认证。基于上面的讲解,本文协议具备通信实体之间双向认证的安全需求。

各协议安全性能比较如表1所示。其中:√表示可以满足需求;×表示无法满足需求。

表1 安全性分析

2.3 认证协议性能分析

选取标签为对象,以计算量、存储量两个属性为目标进行性能比较,结果如表2所示。其中:异或运算计算量用XOR表示;置换交叉合成运算加密算法计算量用Pcs( )表示;产生随机数计算量用LSRT表示;哈希函数加密算法计算量用HASH( )表示;模运算加密算法用MOD( )表示;与运算计算量用AND表示;标签一端存放的数据一般为共享密钥、假名、标识符、统计器、标记符等,用T表示参数的长度。

表2 性能分析

从存储量角度分析,本文协议与其他协议大致相当;从计算量角度分析,本文因未采用哈希函数或模运算加密算法,而是采用创新型的置换交叉合成运算加密算法,使得标签整体计算量远远少于其他协议。根据本文前面对Pcs( )算法描述可以得知:该加密算法属于超轻量级,可基于位运算实现,在计算量方面优于其他协议,且能够保障通信实体隐私信息安全。

3 结 语

在分析文献[16]协议基础上,指出协议存在的缺陷,进而进行改进。借鉴其协议通信的框架模型,采用计算量更低的创新加密算法,置换交叉合成运算对参数进行加密,能够有效降低计算总量。加密算法在交叉操作中引入汉明重量概念,因攻击者无法获取每个参数汉明重量的数值,因此按照怎样的交叉方式进行,对于攻击者来说是无法知晓的,从而增加攻击者破解难度。加密算法在合成操作中混入汉明重量差值绝对值,更进一步使得攻击者无法破解隐私信息。从安全性和性能两个角度将本文协议与其他协议进行比较,阐明本文协议设计过程中具备的安全需求以及计算总量低等优势。

猜你喜欢
汉明读写器加密算法
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现
基于Jave的AES加密算法的实现
媳妇管钱
基于国家标准的UHF RFID读写器数字基带系统设计
RFID技术在固定资产管理中应用研究
高频RFID技术在图书馆中的应用
AES加密算法的实现及应用
一种新的计算汉明距方法
基于Intel R1000的超高频RFID读写器设计