一种基于时间因子抗去同步化的轻量级RFID双向认证方法
技术领域
本发明涉及一种基于时间因子抗去同步化的轻量级RFID双向认证方法,属于RFID通信安全技术领域。利用“单向随机数-新旧密钥对”双重认证机制实现后台数据库-标签系统的双向挑战-应答,并利用及时更新的时间因子的办法保证协议新鲜量的可信任性与实时性,密钥更新以及认证参数的运算使用轻量级散列函数和超轻量级循环移位函数,最后结合BAN逻辑的形式化证明方法和非形式化方法对协议进行隐私安全性分析,证明该方法可以达到预期状态空间,并且可以有效抵抗位置跟踪攻击和去同步化等攻击。本方法仅需要四次通信即可完成阅读器和RFID标签认证,标签仅需少量门电路即可满足所有计算需求,协议具有传输高效、密钥存储量小、计算和搜索复杂度低等特点,适用于低成本的RFID系统的身份认证,密钥更新等领域。
背景技术
RFID(Radio frequency identification)认证协议是解决无线射频识别系统安全与隐私问题的有效手段,但由于低成本RFID系统在计算能力、存储空间方面存在诸多局限性,难以实现复杂的密码算法和大容量的数据存储,因此现有的不少RFID认证协议和方案都不能较全面地满足无线射频系统的隐私安全属性。早期提出的轻量级RFID协议完全依靠Hash(哈希)函数的随机性和单向性实现身份认证和密钥更新,如DUC DN和Kwangjo Kim的抗Dos的RFID认证协议(DUC DN,KIM K.Defending RFID authentication protocolsagainst Do-S attacks[J].Computer Communications,2011,34(3):384-390)以及Mitchell的拥有权转换协议(SONG B,MITCHELL C J.Scalable RFID security protocolssupporting tag ownership transfer[J].Computer Communications,2011,34(4):556-566)等。
为进一步降低标签计算开销,后来的协议设计者开始寻求具有更小计算开销的轻量级算法代替多次Hash计算,以实现协议认证和前向安全。但在节约成本的同时,协议的设计缺陷也引发了密钥更新去同步化和标签位置跟踪等诸多问题。比如Lim J的隐私保护认证协议(LIM J,OH H,KIM S.A new Hash-based RFID mutual authentication protocolproviding enhanced user privacy protection[C]//Roceedings of the 4thInformation Security Practice and Experience Conference.LNCS 4991,Berlin:Springer-Verlag,2008:278-289)中,会话双方在未完成认证的情况下仍能执行密钥动态更新,可以避免标签位置隐私泄露,但由于该协议缺乏可信任新鲜量,攻击者仍可以利用通信量分析获得标签密钥状态。2007年Chien HY在超轻量级SASI认证协议(H Y Chien.SASI:A new ultralightweight RFID authentication protocol providing strongauthentication and strong integrity[J].IEEE Transactions on Dependable andSecure Computing,2007,4(9):337-340)中仅利用有限次数的XOR(异或)、Rot(x,y)循环移位等超轻量级算法实现挑战-应答,并在后台数据库中建立两个密钥存储单元,提高密钥恢复能力,但由于ROT函数的代数特性,SASI被证明易受位篡改型(Dimitriou,T.(2005).ALightweight RFID Protocol to protect against Traceability and Cloning attacks[C]//Proceedings of First International Conference on Security and Privacyfor Emerging Areas in Communications Networks(SecureComm 2005),Athens,Greece,ISBN:0769523692)去同步化攻击。Peris Lopez设计的协议完全依靠阅读器PRNG(伪随机数发生器)提供新鲜量,节约了标签的计算开销,但是该协议同样容易遭受去同步化攻击(LiT Wang.Security analysis of two ultra-lightweight RFID authenticationprotocols[C]//Proceedings of the IFIP TC-11 22nd International InformationSecurity Conference IFIP SEC 2007.South Africa:2007:109-120)和代数攻击(GidasAvoine,Xavier Carpent.Strong Authentication and Strong Integrity(SASI)Is NotThat Strong[C]//The 6th International Workshop.RFIDSec 2010.Turkey:Istanbul,2010,50-64)。
发明内容
基于上述,本发明提出一种面向物联网低成本RFID系统的双向认证方法,该方法利用记录新旧密钥对的办法提高协议对密钥去同步化的容忍度,利用及时更新时间因子的办法提高协议新鲜量的可信任性和实时性,可以有效抵抗来自系统外部和内部的去同步化攻击,弥补了上述协议方法的不足,不仅具有完善的隐私安全属性,而且满足低成本RFID系统对于通信次数、密钥长度、标签搜索复杂度和标签计算复杂度方面的要求,通过BAN逻辑的形式化证明方法和非形式化方法对方法进行隐私安全性分析,证明该方法可以达到预期状态空间,能够安全、高效地完成RFID阅读器和标签之间的身份认证以及密钥更新。
为实现低成本RFID应用的安全认证,本发明设计了基于Hash和Rot(x,y)函数的抗去同步化轻量级RFID双向认证方法,其具体认证方法会话过程如附图所示。
本发明的优点在于:方法交互轮数少,密钥长度低、标签搜索复杂度低以及计算开销小等,能够实现RFID应用的双向身份认证,并且可以同时抵抗来自系统外部和内部的去同步化攻击,具有完美的前向安全和后向安全,能够有效避免由消息重放、位置跟踪、标签伪造等典型攻击方式给RFID系统带来的安全性威胁。
表1方法中的符号定义
附图说明
附图1为本发明中设计的流程附图;
附图2为本发明中设计的抗去同步化的RFID双向认证方法;
具体实施方式
(一)实施步骤
认证方法包括初始化、认证、更新三个阶段,现将协议中后台数据库、阅读器、标签之间的具体交互过程描述如下:
1.初始化阶段
RFID系统为每个标签Tag产生一个唯一性检索名IDS(标签假名),时间因子t,并和数据库共享密钥(K)。标签方保存其唯一检索名和密钥,存储单元为(IDS,K,t);后台数据库存储目录(IDSOLD,KOLD;IDS,K;ID),其中数据库的密钥单元(IDS,K)和标签的(IDS,K)相同。时间因子仅存储在标签中。
2.认证阶段
2.1)Step 1 Reader→Tag(Challenge Message):Hello
读写器发请求应答消息(Hello)给标签。
2.2)Step 2 Tag→Reader→Back-End Server(Responding Message):IDS,t
标签接收到请求消息后,取出当前唯一性索引名IDS,并将IDS及t给读写器,读写器将标签应答消息转发给后台数据库。
2.3)Step 3Back-End Server→Reader→Tag(Forwarding Message):A、B
数据库收到读写器应答消息后,分离出消息中的假名IDS和时间因子t,然后在数据库中遍历假名信息,如找到假名,则生成随机数n1,然后计算消息 否则给读写器发消息使标签重新应答。
2.4)Step 4 Reader→Back-End(Authenticating Back-End):B'
标签在收到A、B值之后,从消息A中解出n1,然后根据自身的存储信息计算校验值
2.4.1)如果计算值B'=B,则再次更新时间因子然后将更新后的t用于计算认证消息并将C、t由阅读器传给后台数据库;
2.4.2)如果计算值B'≠B,则标签认定认证消息来源不可靠,终止认证,并更新自存储的时间因子
2.5)Step 5 Tag→Reader→Back-End Server(Authenticating Tag):C、t
后台在收到认证消息C和更新过的时间因子t之后,直接根据自存储信息与分理出的t计算校验值
2.5.1)若计算值C'=C,则后台产生新的随机数n2,将其用于计算新的认证消息并将认证消息D、E由阅读器传给标签,并进行密钥更新;
2.5.2)若计算值C'≠C,直接终止认证。
3.更新阶段
为保证方法前向安全,认证双方通过协议新鲜量执行更新,数据库将IDS和K写入IDSOLD、KOLD单元,并将更新后的IDS和K写入本轮认证的IDS和K单元。标签则直接将更新后的参数写入内存。
3.1)若认证过程中以IDS认证的话,数据库端更新:
IDSOLD=IDS KOLD=K
3.2)若认证过程中以IDSOLD认证的话,数据库端更新:
3.3)标签更新信息如下所示:
(二)BAN逻辑形式化证明
1.BAN逻辑
BAN逻辑是由美国DEC公司研究人员提出的一种可用于认证协议形式化分析的逻辑。借助此逻辑,认证双方可以对相互身份进行确认。该逻辑是基于知识和信仰的,认证双方通过相互接收和发送消息来从最初的信仰逐渐发展到最终信仰。BAN逻辑在协议分析时假设协议采用的密码算法是完美的,即不考虑密码算法被攻破。BAN逻辑主要对象包括:主体P、Q,密钥K,公式,任意语句X。
1.1.BAN逻辑的基本语句
BAN逻辑的基本语句及其解释如下:
(1)P∣≡X主体P相信X是真的
(2)P∣~X主体P曾经发送过包含X的消息
(3)主体P接收到了包含X的消息,或存在某主体Q向P发送了包含X的消息
(4)主体P对X有管辖权
(5)#(X)X是新鲜的,没有在当前回合前被作为消息的一部分发送过
(6)K为主体P和Q的共享密钥
(7)K为主体P的公开密钥
(8)<X>K用密钥K对消息X进行加密的密文
1.2.BAN逻辑的推理规则
BAN逻辑的主要推理规则如下所示:
(1)消息含义规则
P相信Q与P之间共享密钥K,且P曾收到过用密钥K加密的消息X,则得出P相信Q曾说过X。
(2)仲裁规则
P相信Q对X有仲裁权,P也相信Q相信X,则得到P相信X。
(3)临时验证规则
P相信X是新鲜的,P相信Q说过X,则P相信Q相信X。
(4)信仰规则
a)P相信X的真实性,P相信Y的真实性,则P相信由X、Y组成的信息。
b)P相信由X、Y组成的信息,则P相信信息X。
c)P相信Q相信由X、Y组成的信息,则P相信Q相信X。
(5)新鲜性规则
P相信信息X的新鲜性,则P相信由X、Y组成信息的新鲜性。
2.本发明的形式化证明
方法中共有三方参与:标签T、读写器R和数据库DB。其中,读写器只为标签提供耦合供电和为标签和数据库之间传递消息;标签和数据库之间共享Hash加密和Rot(x,y)加密算法,且共享可靠的加密密钥K,同时数据库还会产生一个由数据库和标签共享的随机密钥n1,n2加密。
2.1.方法认证过程描述
1)R→T:Query
2)T→R→DB:IDS,t
3)DB→R→T:
4)T→R→DB:
5)DB→R→T:
2.2.方法认证信息理想化
(1)DB→R→T:
(2)T→R→DB:
DB→R→T:
2.3.初始化假设
①
②
③
④
⑤
2.4.方法目标
i.由理想化的消息(1)推出:
ii.由理想化的消息(2)推出:
iii.由理想化的消息(3)推出:
2.5.BAN逻辑的协议推理
过程如下:
1.由消息1可知,标签T收到了来自读写器转发的数据库消息,可得:
根据消息规则(4)可得:
再由假设和规则(1)可以得到:
由假设协议规则(5)可以得到:
再利用规则(3)可以得到:
再根据规则(4)可以得到:
再由假设和规则(2)可以得到:
到此,方法目标(i)得到证明;
2.由消息2可知,数据库DB收到了来自读写器转发的标签T的消息,可得:
根据消息规则(4)可得:
再由假设和规则(1)可以得到:
再由DB∣≡#(t),协议规则(5)可以得到:
再利用规则(3)可以得到:
再根据规则(4)可以得到:
到此,协议方法(ii)得到证明。
同理可以证明方法目标(iii)。
(三)认证方法的安全性分析
轻量级协议认证方法中仅包括位运算来实现加密过程及相互认证,因此其安全性分析主要依靠非形式化的分析方法。从加密计算的角度来看,协议需要满足数据的机密性、完整性和安全认证性;从攻击检测角度来看,协议需要抵抗重放攻击、窃听攻击、跟踪攻击、去同步化攻击,并能够保证前向安全和后向安全。
下面详细介绍:
3.1.方法的安全认证性
只有合法的数据库和标签才能够取得对方的彼此认证,并在认证过程结束后对内部存储信息进行更新。本方法在每次认证过程结束后,都会对通信信息进行更新,并且更新的消息同步且相同,只有合法的数据库与标签才知道更新过的信息,且它们之间信息共享,所以,新协议满足安全认证性。
3.2.数据的机密性和完整性
标签和阅读器之间通过不安全信道传输消息,攻击者通过监听信道分析有用的数据信息。本文所提协议中的消息由单向哈希函数Hash和循环移位函数Rot(x,y)保护,不安全信道中的交互消息具有足够的随机性和单向性。此外,Hash函数良好的防碰撞特性保证后台能够发现任何形式的消息篡改,因此,新协议能够保证消息数据的机密性和完整性。
3.3.抵抗重放攻击
每次标签与读写器的会话信息中都有随机数和时间因子的参与,并且在认证过程结束后,所有信息都会更新。当攻击者截获本轮的认证消息要对下一轮标签与读写器会话时进行重放,标签会根据计算识别出重放的会话信息,并停止会话,导致攻击失败。所以,标签可以抵抗重放攻击。
3.4.抵抗窃听攻击
除去标签给读写器假名消息,之后认证过程中的所有消息都有数据库产生的随机数的参与,因此,攻击者在无法知道随机数的前提下,是不能够从截获的消息中推测出任何关于标签和数据库的消息。因此,新协议可以抵抗窃听攻击。
3.5.防跟踪攻击
标签和读写器在每完成一次认证过程后,都会对标签假名信息IDS,密钥信息K,时间因子t进行更新,并且更新的信息都包含了每次认证过程中数据库提供的随机数来作为新鲜量。在认证交互的信息中,都通过Hash和Rot(x,y)函数对交互信息进行加密,具有较好的单向性和随机性,攻击者无法从截获的信息中获取标签的关联性,也不能从标签的发送信息中获得相关的信息。因此,新协议能够保证防跟踪攻击。
3.6.防去同步化攻击
方法在认证过程中有时间因子的存在,它的更新与否不跟随认证过程的结果成功或者失败,因此,在第二节的介绍的去同步化攻击中,若攻击者第一轮会话中截获了消息A、B,并阻止了标签接收消息D、E,使读写器更新,标签不更新;第二轮会话,攻击者再次截止消息D、E的发送阻止标签更新;第三轮,攻击者对标签重放第一轮截获的消息A、B,标签通过A得到的随机数n1,因为时间因子t的更新,导致标签计算的B'与攻击者发送的B消息不相等,从而标签识别出消息假冒,会话结束。因此,本方法能够防止文献中提到的三轮会话去同步化攻击。
3.7.本方法的前向安全和后向安全
攻击者利用侧信道攻击等方式获得标签内部状态,并通过获取的信息推导之前或之后读写器与标签之间的会话情况,即攻击者获得消息A、B和C并试图通过该信息推导之前或之后的会话信息。由于协议在双向认证过程中,每次会话过程都引入新鲜因子随机数,同时,Hash具有很好的单向性及随机性,攻击者无法根据加密运算Hash和函数Rot(x,y)的输出结果来推导加密运算的输入信息。因此,攻击者无法根据标签现有内部状态推导出之前或之后的会话信息,可知本方法能够保证前向安全和后向安全。
表2本发明与同类认证方法的安全性比较
(四)性能分析
计算开销:本发明的认证过程支持Hash计算、异或操作、模加及循环移位Rot(x,y)计算,循环移位操作仅根据y的汉明重量对x进行移位,可以在被动标签上执行,符合轻量级安全协议对标签的要求。且在标签计算量上,本发明方法在认证过程中只需要一次Rot(x,y)操作和2次Hash计算。
存储需求:在标签存储上,本方法将标签与读写器的共享密钥改为一个便足以防止多种攻击,与文献(彭朋,赵一鸣,韩伟力,金波.一种超轻量级的RFID双向认证协议[J].计算机工程,2011,37(16):140-142.)认证方法相比,不仅减少了标签的存储量,也减少了标签在硬件设计上的门电路的开销。数据库端更是减少了3L的数据存储。
通信开销:文献(彭朋,赵一鸣,韩伟力,金波.一种超轻量级的RFID双向认证协议[J].计算机工程,2011,37(16):140-142.)认证方法在互认证过程中,共具有5L的通信信息交互量,本发明方法在标签与读写器的互认证的过程中工虽具有6L的信息交互量,而其中2L为时间因子的信息,时间因子t能够保证标签抵抗去同步化攻击,因此,增加1L的通信交互量在被动标签的可接受范围内。