论文部分内容阅读
摘要:对基于哈希函数的RFID身份认证协议进行了简要的介绍,对多个协议的安全性能进行了详细的分析和比较,指出其存在的安全缺陷,并提出相应的改进思路。
关键词:无线射频识别;哈希函数;身份认证
DOI:10.3969/j.issn.1005-5517.2016.1.007
引言
无线射频识别(Radio Frequency ldentification,RFID)是一种非接触式的自动识别技术,可以视为无线版本的条形码,具有使用时间长、读取精度高、能够加密标签数据、数据容量更大、操作便捷等优点。RFID技术在生活中的应用日趋广泛,其安全与隐私问题也日益受到关注,比如伪造标签、非法访问等。身份认证是保证信息安全的关键技术之一,由于RFID系统中标签的存储空间和计算能力有限、难以进行复杂的数据加、解密运算,因此轻量级的RFID身份认证协议成为当前研究的热点之一。
现有的轻量级RFID身份认证协议多数基于哈希函数、其中比较典型的有:啥希锁协议[1]、随机啥希锁协议[2]、哈希链协议[3]等,这几个协议都存在无法保障用户隐私、标签容易追踪等安全隐患。对此、Shen等人提出了一种基于匿名机制的RFID身份认证协议ARAP(Anonymous RFID AuthenticationProtoc01)[4]。本文将对多个RFID身份认证协议进行简要介绍,着重对其安全性能进行讨论和比较。
1协议简介
1.1哈希锁协议
哈希锁协议采用哈希函数实现简单的访问控制,工作原理如图1所示:阅读器存储每个标签的访问密钥Key,并生成metaID=hash(key),写入标签。标签接收到阅读器的访问请求时,发送metaID,阅读器则查出相应的key发给标签。标签计算并判断hash(key)与metaID是否相同,若相同,则把自己的ID信息发给阅读器。
1.2随机哈希锁协议义
随机哈希锁是哈希锁协议的改良,工作原理如图2所示:当收到阅读器的访问请求时、标签先生成一个随机数R、并和计算的h(IDkIIR)-起发给阅读器。阅读器将此信息转送给后台数据库,后台数据库则需要穷举所有标签的JDi来计算h(IDiIIR),直至找到计算值与接收到的哈希值相同的IDi,阅读器将此JDi发回,对标签进行解锁和访问。
1.3哈希链协议
在哈希链协议中,标签和阅读器共享两个哈希函数H和G,H用来进行更新,G用来计算响应消息,具体过程如图3所示,S为共享的初始随机标识符。在收到阅读器的查询请求时,标签返回ai=G(Si),同时更新当前的Si为Si+1=H(Si),准备接受阅读器的下一个访问请求。
1.4 ARAP协议
在ARAP协议中,阅读器R和标签T都拥有一个伪随机数发生器,每个标签T都与后端数据库DB共享一个初始秘密XT,DB能够根据T的假名P遍历出初始共享的秘密XT,实现对T的身份认证。具体认证过程如图3所示:
(1)R→T:R向T发送认证请求Query和随机数rR;
(2)T→R:T计算s=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,并向R发送消息{rT,P,M)1乍为应答,其中XT是T与R互相共享的秘密;
(3)R→DB:R向DB发送消息{rT,rR,P,M};
(4)DB→R:DB收到消息后,计算S’=h(P⊕xT)和M’=h(rT⊕rA⊕P⊕S',验证M’与M是否相等。若相等,则通过认证,DB计算N’=h(M’⊕s’)发送给R。否则,认证失败,协议终止。
(5)R→T:R收到N’后转发给T,T计算N=h(M⊕S),验证N’与N是否相等,若相等,则R通过认证,T更新假名P,否则认证失败,协议终止。
2协议的安全和性能分析
2.1协议的安全性分析
哈希锁协议为标签提供初步的访问控制,可在一定程度上保护标签数据,抵抗非法访问攻击[5]。但由于每次标签响应时均使用固定的metaID、攻击者可将此当作对应标签的别名、跟踪标签及其携带者。此外,密钥key通过明文传输,攻击者容易窃取,并可以通过记录、计算组合(metaID,key,ID),在与合法标签或者阅读器的信息交互中进行假冒攻击。
随机哈希锁协议采用基于随机数的询问/应答机制,可防止标签被跟踪,保护其隐私。但由于标签的返回消息不包含能够唯一确定本次会话的标识,攻击者可以此进行重放和假冒攻击。再者,每确认一个标签身份都需要遍历数据库所存的所有ID,认证过程耗时较多,且容易遭受拒绝服务攻击。因此哈希锁协议的可扩展性较差,只适用于小规模应用。
在哈希链协议中,标签使用不同的标识符响应阅读器的询问,以确保前向安全性,但无法抵抗假冒阅读器的攻击。此外,阅读器收到标签的响应后,需要计算数据库中所有标签标识符的哈希值来与之匹配。若标签被攻击者恶意扫描多次、则将导致穷举匹配时标签的认证时间过长、系统无法正常工作。因此,哈希链协议也只适合小规模的应用,且无法抵抗重放和拒绝服务攻击。
ARAP协议能够实现匿名双向认证,标签使用了大量假名来防止被跟踪,能够很好地保障用户的隐私,且协议每执行一次,假名P就随之更新,能够有效抵抗重放攻击。在通常情况下,ARAP协议执行时保持标签和阅读器共享的信息同时更新,能够抵抗拒绝服务攻击。 但是,ARAP协议也存在因异或不当而被攻击者假冒的安全隐患[6-7]。在ARAP协议的第2步中,标签T计算了S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,其中P为标签的匿名,XT为共享秘密,rA和rT分别为攻击者与标签生成的伪随机数。若攻击者截取了消息M,rA,rT,P,利用异或运算的性质(a⊕a=O,a⊕O=a),则可直接计算M⊕h(rT⊕rA⊕P)=h(rT⊕rA⊕P)⊕S⊕h(rT⊕rA⊕P)=s,从而获取S,就相当于获得了阅读器向标签进行认证的钥匙N’=h(M⊕S),攻击者可假冒阅读器向标签发送N’,从而获取标签的信任,成功进行假冒攻击。
综上,可通过表1对上述协议的安全性进行比较,其中ARAP协议比其他3个协议复杂,安全性能也略胜一筹。无法抵抗假冒攻击是ARAP协议的重大缺陷。
2.2协议的性能分析
在RFID系统中,标签的存储空间和计算能力有限,认证协议在解决安全性问题的同时,也要尽可能减少标签的计算量和存储容量,以降低标签的成本。在此对典型的RFID身份认证协议进行对比,比较各协议中标签、阅读器和后端数据库的计算量,结果如表2所示。其中,“H”表示Hash运算的次数,“X”表示异或运算的次数,“R”表示产生随机数的次数,“N”表示数据库存储的标签数量,“j”表示Hash链的长度。
通过比较,啥希锁协议的计算量是最小的,但其安全性得不到保证。随机啥希锁协议和哈希链协议的计算量与标签数量成正比,且执行过程需要遍历计算,只适合小规模应用。ARAP协议的计算量相对较大,但其并没有采用计算开销大的操作,协议中的哈希运算、异或运算、随机数运算标签都够实现,在RFID系统可执行的能力范围之内,具有较高的可行性。
3 结束语
本文主要对基于哈希函数的四种RFID身份认证协议进行了简要介绍和安全性能分析,与哈希锁协议、随机哈希锁协议和哈希链协议相比,ARAP协议的安全性能较好,但存在因异或不当而遭受假冒攻击的安全隐患。对此,需要对部分异或运算和验证操作进行修改,将标签用户的秘密隐藏入哈希函数中,使攻击者无法通过异或运算实施假冒攻击。ARAP协议的全面分析和改进工作将在后继的科研工作中展开。
参考文献:
[1]SARMA S E,WEIS S A, ENGELS D W. RFID systems and security and privacy implications[C].//Proceedings of the 4th International Workshop on Cryptographic Hardware and Embedded Systems, New York: Springer-Verlag,2002:454-469
[2]WEIS S A.SARMA S E.RIVEST R L.et al. Security and privacy aspects of low-cost radio frequency identification systems[Jl. Security ln Pervasive Computing, 2004,28(2):201-212
[3]OHKUBO M, SUZUKI K. KINOSHITA S, Hash-chain based forward-secure privacy protection scheme for low-cost RFID[C].//Proceedings of 2004 Symposium on Cryptography and Information Security(SCIS 2004), Berlin: Springer-Verlag,2004:719-724
[4]SHEN J. CHOI D, MOH S, et al. A novel anonymous RFID authentication protocol providing strong privacy and security[C].// Proceedings of 2010 International Conference on Multimedia Information Networking and Security, Nanjing: ACM Press,2010:584-588
[5]陆桑璐,谢磊射频识别技术:原理、协议及系统设计[M]北京:科学出版社2014
[6]田芸,陈恭亮,李建华针对RFID身份认证协议-ARAP协议的攻击及改进[J]中国电子科学研究院学报,2011,6(6):556-560
[7]李景峰,郭卫锋对ARAP认证协议的攻击及改进[J]武汉大学学报(理学版),2012,58[6)526-530
关键词:无线射频识别;哈希函数;身份认证
DOI:10.3969/j.issn.1005-5517.2016.1.007
引言
无线射频识别(Radio Frequency ldentification,RFID)是一种非接触式的自动识别技术,可以视为无线版本的条形码,具有使用时间长、读取精度高、能够加密标签数据、数据容量更大、操作便捷等优点。RFID技术在生活中的应用日趋广泛,其安全与隐私问题也日益受到关注,比如伪造标签、非法访问等。身份认证是保证信息安全的关键技术之一,由于RFID系统中标签的存储空间和计算能力有限、难以进行复杂的数据加、解密运算,因此轻量级的RFID身份认证协议成为当前研究的热点之一。
现有的轻量级RFID身份认证协议多数基于哈希函数、其中比较典型的有:啥希锁协议[1]、随机啥希锁协议[2]、哈希链协议[3]等,这几个协议都存在无法保障用户隐私、标签容易追踪等安全隐患。对此、Shen等人提出了一种基于匿名机制的RFID身份认证协议ARAP(Anonymous RFID AuthenticationProtoc01)[4]。本文将对多个RFID身份认证协议进行简要介绍,着重对其安全性能进行讨论和比较。
1协议简介
1.1哈希锁协议
哈希锁协议采用哈希函数实现简单的访问控制,工作原理如图1所示:阅读器存储每个标签的访问密钥Key,并生成metaID=hash(key),写入标签。标签接收到阅读器的访问请求时,发送metaID,阅读器则查出相应的key发给标签。标签计算并判断hash(key)与metaID是否相同,若相同,则把自己的ID信息发给阅读器。
1.2随机哈希锁协议义
随机哈希锁是哈希锁协议的改良,工作原理如图2所示:当收到阅读器的访问请求时、标签先生成一个随机数R、并和计算的h(IDkIIR)-起发给阅读器。阅读器将此信息转送给后台数据库,后台数据库则需要穷举所有标签的JDi来计算h(IDiIIR),直至找到计算值与接收到的哈希值相同的IDi,阅读器将此JDi发回,对标签进行解锁和访问。
1.3哈希链协议
在哈希链协议中,标签和阅读器共享两个哈希函数H和G,H用来进行更新,G用来计算响应消息,具体过程如图3所示,S为共享的初始随机标识符。在收到阅读器的查询请求时,标签返回ai=G(Si),同时更新当前的Si为Si+1=H(Si),准备接受阅读器的下一个访问请求。
1.4 ARAP协议
在ARAP协议中,阅读器R和标签T都拥有一个伪随机数发生器,每个标签T都与后端数据库DB共享一个初始秘密XT,DB能够根据T的假名P遍历出初始共享的秘密XT,实现对T的身份认证。具体认证过程如图3所示:
(1)R→T:R向T发送认证请求Query和随机数rR;
(2)T→R:T计算s=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,并向R发送消息{rT,P,M)1乍为应答,其中XT是T与R互相共享的秘密;
(3)R→DB:R向DB发送消息{rT,rR,P,M};
(4)DB→R:DB收到消息后,计算S’=h(P⊕xT)和M’=h(rT⊕rA⊕P⊕S',验证M’与M是否相等。若相等,则通过认证,DB计算N’=h(M’⊕s’)发送给R。否则,认证失败,协议终止。
(5)R→T:R收到N’后转发给T,T计算N=h(M⊕S),验证N’与N是否相等,若相等,则R通过认证,T更新假名P,否则认证失败,协议终止。
2协议的安全和性能分析
2.1协议的安全性分析
哈希锁协议为标签提供初步的访问控制,可在一定程度上保护标签数据,抵抗非法访问攻击[5]。但由于每次标签响应时均使用固定的metaID、攻击者可将此当作对应标签的别名、跟踪标签及其携带者。此外,密钥key通过明文传输,攻击者容易窃取,并可以通过记录、计算组合(metaID,key,ID),在与合法标签或者阅读器的信息交互中进行假冒攻击。
随机哈希锁协议采用基于随机数的询问/应答机制,可防止标签被跟踪,保护其隐私。但由于标签的返回消息不包含能够唯一确定本次会话的标识,攻击者可以此进行重放和假冒攻击。再者,每确认一个标签身份都需要遍历数据库所存的所有ID,认证过程耗时较多,且容易遭受拒绝服务攻击。因此哈希锁协议的可扩展性较差,只适用于小规模应用。
在哈希链协议中,标签使用不同的标识符响应阅读器的询问,以确保前向安全性,但无法抵抗假冒阅读器的攻击。此外,阅读器收到标签的响应后,需要计算数据库中所有标签标识符的哈希值来与之匹配。若标签被攻击者恶意扫描多次、则将导致穷举匹配时标签的认证时间过长、系统无法正常工作。因此,哈希链协议也只适合小规模的应用,且无法抵抗重放和拒绝服务攻击。
ARAP协议能够实现匿名双向认证,标签使用了大量假名来防止被跟踪,能够很好地保障用户的隐私,且协议每执行一次,假名P就随之更新,能够有效抵抗重放攻击。在通常情况下,ARAP协议执行时保持标签和阅读器共享的信息同时更新,能够抵抗拒绝服务攻击。 但是,ARAP协议也存在因异或不当而被攻击者假冒的安全隐患[6-7]。在ARAP协议的第2步中,标签T计算了S=h(P⊕xT)和M=h(rT⊕rA⊕P)⊕S,其中P为标签的匿名,XT为共享秘密,rA和rT分别为攻击者与标签生成的伪随机数。若攻击者截取了消息M,rA,rT,P,利用异或运算的性质(a⊕a=O,a⊕O=a),则可直接计算M⊕h(rT⊕rA⊕P)=h(rT⊕rA⊕P)⊕S⊕h(rT⊕rA⊕P)=s,从而获取S,就相当于获得了阅读器向标签进行认证的钥匙N’=h(M⊕S),攻击者可假冒阅读器向标签发送N’,从而获取标签的信任,成功进行假冒攻击。
综上,可通过表1对上述协议的安全性进行比较,其中ARAP协议比其他3个协议复杂,安全性能也略胜一筹。无法抵抗假冒攻击是ARAP协议的重大缺陷。
2.2协议的性能分析
在RFID系统中,标签的存储空间和计算能力有限,认证协议在解决安全性问题的同时,也要尽可能减少标签的计算量和存储容量,以降低标签的成本。在此对典型的RFID身份认证协议进行对比,比较各协议中标签、阅读器和后端数据库的计算量,结果如表2所示。其中,“H”表示Hash运算的次数,“X”表示异或运算的次数,“R”表示产生随机数的次数,“N”表示数据库存储的标签数量,“j”表示Hash链的长度。
通过比较,啥希锁协议的计算量是最小的,但其安全性得不到保证。随机啥希锁协议和哈希链协议的计算量与标签数量成正比,且执行过程需要遍历计算,只适合小规模应用。ARAP协议的计算量相对较大,但其并没有采用计算开销大的操作,协议中的哈希运算、异或运算、随机数运算标签都够实现,在RFID系统可执行的能力范围之内,具有较高的可行性。
3 结束语
本文主要对基于哈希函数的四种RFID身份认证协议进行了简要介绍和安全性能分析,与哈希锁协议、随机哈希锁协议和哈希链协议相比,ARAP协议的安全性能较好,但存在因异或不当而遭受假冒攻击的安全隐患。对此,需要对部分异或运算和验证操作进行修改,将标签用户的秘密隐藏入哈希函数中,使攻击者无法通过异或运算实施假冒攻击。ARAP协议的全面分析和改进工作将在后继的科研工作中展开。
参考文献:
[1]SARMA S E,WEIS S A, ENGELS D W. RFID systems and security and privacy implications[C].//Proceedings of the 4th International Workshop on Cryptographic Hardware and Embedded Systems, New York: Springer-Verlag,2002:454-469
[2]WEIS S A.SARMA S E.RIVEST R L.et al. Security and privacy aspects of low-cost radio frequency identification systems[Jl. Security ln Pervasive Computing, 2004,28(2):201-212
[3]OHKUBO M, SUZUKI K. KINOSHITA S, Hash-chain based forward-secure privacy protection scheme for low-cost RFID[C].//Proceedings of 2004 Symposium on Cryptography and Information Security(SCIS 2004), Berlin: Springer-Verlag,2004:719-724
[4]SHEN J. CHOI D, MOH S, et al. A novel anonymous RFID authentication protocol providing strong privacy and security[C].// Proceedings of 2010 International Conference on Multimedia Information Networking and Security, Nanjing: ACM Press,2010:584-588
[5]陆桑璐,谢磊射频识别技术:原理、协议及系统设计[M]北京:科学出版社2014
[6]田芸,陈恭亮,李建华针对RFID身份认证协议-ARAP协议的攻击及改进[J]中国电子科学研究院学报,2011,6(6):556-560
[7]李景峰,郭卫锋对ARAP认证协议的攻击及改进[J]武汉大学学报(理学版),2012,58[6)526-530