CN107480564B - 一种改进的rfid群组认证方法 - Google Patents

一种改进的rfid群组认证方法 Download PDF

Info

Publication number
CN107480564B
CN107480564B CN201710562409.6A CN201710562409A CN107480564B CN 107480564 B CN107480564 B CN 107480564B CN 201710562409 A CN201710562409 A CN 201710562409A CN 107480564 B CN107480564 B CN 107480564B
Authority
CN
China
Prior art keywords
tag
reader
verifier
writer
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201710562409.6A
Other languages
English (en)
Other versions
CN107480564A (zh
Inventor
孙达志
康洋
朱泽光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201710562409.6A priority Critical patent/CN107480564B/zh
Publication of CN107480564A publication Critical patent/CN107480564A/zh
Application granted granted Critical
Publication of CN107480564B publication Critical patent/CN107480564B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种改进的RFID群组认证方法,包括四个阶段,第一阶段:读写器Reader向验证器发送请求,验证器生成伪随机数r,使用标签TagA的密钥SA,以随机数r为输入,计算出哈希值mX1,将其发送给读写器;读写器将request请求和mA1发送给TagA;标签TagA收到消息后,生成伪随机数rA,使用TagA的密钥SA,以rA和mA1为输入计算出哈希值mA2,将消息对(rA,mA2)发回给Reader。第二阶段:读写器Reader向验证器发送请求,验证器使用TagB的密钥SB,以随机数r为输入,计算出哈希值mB1,将其发送给读写器Reader;读写器Reader将request请求和消息对(mB1,mA2)发送给标签TagB;标签TagB收到消息后,生成伪随机数rB,使用TagB的密钥SB,以rB,mB1和mA2为输入计算出哈希值mB2,将消息对(rB,mB2)发给Reader。

Description

一种改进的RFID群组认证方法
技术领域
本发明属于信息技术安全领域,涉及RFID技术、消息认证码MAC技术以及伪随机数生成器PRNG技术,实现保证RFID群组认证安全和隐私保护的目的。
背景技术
RFID(Radio Frequency Identification)技术,又称无线射频识别技术,是一种开放环境下,无需识别***与特定目标之间建立机械或光学接触,通过无线电讯号识别特定目标并读写相关数据的通信技术。RFID技术近些年来成为科学界和工业界研究和应用的热点问题,并逐渐被广泛应用于工业生产、物流交通、身份认证、智能家居等各个领域。与此同时,RFID协议的安全问题也逐渐突出,人们对网络安全和信息安全的保护意识逐渐提高。
RFID***如图1所示,RFID***主要由三部分构成:RFID读写器,RFID标签和后端服务器。
本发明提出的改进的RFID群组认证方案,主要是在分析并参考了若干篇前人论文提出的群组认证协议的安全性后提出来的,该协议综合了前人论文的协议中安全的部分,并修补了这些协议中的缺陷和漏洞。参考协议可能遭受的攻击主要有:重放攻击、交错攻击、伪造攻击、窃取隐私攻击(这里讨论的隐私主要包括匿名性和不可追踪性)。下面对RFID认证协议可能遭遇的四种攻击做简要介绍。
重放攻击是指攻击者重发一个从标签那里嗅探到的用来认证身份的包,从而冒充有效标签。交错攻击是指攻击者在协议认证中的两个或者多个会话中,利用一个会话的应答响应另一个会话应答,从而可能会产生一个有效的证明或者直接把窃听到的发送给一个会话的报文,发送给另一个会话,从而建立关于另一个会话的认证。伪造攻击是指伪造认证过程中需要的信息,产生可以被认证通过的消息。窃取隐私攻击是指携有唯一身份信息的标签,容易被追踪到与身份信息紧密联系的个人信息,从而泄露用户隐私或者根据这些信息追踪行踪。
实体和参数说明:
(1)Verifier:验证器,可以验证读写器发送来的证明P,利用伪随机数生成器PRNG()生成伪随机数r,并生成MAC。
(2)TagA:标签TagA与验证器共享密钥SA,可利用伪随机数生成器PRNG()生成伪随机数rA,并生成MAC。
(3)request:请求标识符。
(4)PRNG():伪随机数生成器,在(七)最佳实施方式中给出了建议方案。
(5)MACS[m]:以S为密钥以m为输入的消息认证码函数,在(七)最佳实
施方式中给出了建议方案。
(6)fS[c]:以S为密钥,以c为输入的哈希函数。
(7)IDx:标签Tagx的身份标识。
(8)Sx:标签Tagx的密钥。
(9)PAB:标签TagA和TagB的共存证明。
(10)cx:标签Tagx的计数器。
下面以Juels论文中提出的RFID群组认证协议—YP为例,对群组认证协议可能受到的攻击做简要介绍。
协议执行过程如图2,在此之前已经为标签TagA和TagB分配了秘密密钥SA和SB,密钥和后台验证器Verifier共享。另外,已为标签TagA和TagB提供了计数器cA和cB,初始值为0。
首先由读写器Reader向标签TagA发送请求标识request。经过计算,最终生成一个共存证明PAB=(IDA,IDB,cA,cB,mAB)。该共存证明会由读写器Reader发送给后台验证器Verifier进行验证,Verifier利用与标签共享的密钥,计算a’=(IDA,cA,fSA[cA]),b’=(IDB,cB,MACSB[a’,cB]),随后验证mAB=MACxA[a’,b’]是否成立。若成立,认为认证成功,否则,认为认证失败。
针对YP的重放攻击如图3所示。在标签TagB发出信息b后,攻击者进行拦截并保存b。此时因为读写器Reader无法收到来自标签TagB的反馈,导致协议在预定时间窗口内被迫中止。标签TagA的计数器cA是在收到来自读写器的b后进行加1运算的,所以此时cA还没来得及加1,cA还是原来的值。当协议下次启动后,标签TagA将还是发送与上次相同的a给读写器Reader,此时攻击者将可以利用上次截获的b来冒充标签TagB,最后读写器Reader将收集到有效的共存证明PAB,从而完成重放攻击。
以上协议攻击的类型可以分为三种:这些标签并没有在同一时间段内被扫描,或者攻击者在生成证明的时候并没有证明中所声称的RFID标签的参与,或者证明可以通过验证,但是证明中的标签不是读写器希望进行认证的。
易受攻击的原因有很多,可以总结为,标签TagA生成的伪随机数rA容易被窃取或者rA的生成没有TagA的密钥的参与,所以无法保证rA就是标签A所产生的。并且TagB计算mB时MAC的输入结构和标签TagA计算mA时MAC的输入结构类似,或者发送的消息没有特定标签的密钥的参与并且返回的消息中没有ID相关信息,或者ID信息容易被篡改,导致无法判断对方是否是读写器希望认证的标签,这些均为交错攻击提供了条件;标签生成各自消息的过程中,没有自身变量的参与,这为重放攻击埋下隐患;由于读写器的不安全性以及读写器和标签信道的不安全性,攻击者可以窃听读写器和标签的信道,甚至可以篡改消息或者发送自己伪造的消息给读写器或者标签,使最终生成的P中含有伪造的信息,若是通过验证器的验证,就是成功的伪造攻击。另外,如果攻击者多次发送相同的request和消息给标签TagA,TagA将可能以相同的消息响应攻击者,从而攻击者可以追踪标签流向。而且,个人信息数据经常和ID紧密联系并被共同包括在通信数据里面,导致用户的身份隐私可能被窃取。
发明内容
本发明的目的是提供一种新的认证方案,以修补现有技术的上述缺陷和漏洞,即有效抵抗交错攻击和重放攻击以及伪造攻击,并且具有匿名性和不可追踪性。技术方案如下:
一种改进的RFID群组认证方法,包括下面的几个阶段:
第一阶段:读写器Reader向验证器发送请求,验证器生成伪随机数r,使用标签TagA的密钥SA,以随机数r为输入,计算出哈希值mX1,将其发送给读写器;读写器将request请求和mA1发送给TagA;标签TagA收到消息后,生成伪随机数rA,使用TagA的密钥SA,以rA和mA1为输入计算出哈希值mA2,将消息对(rA,mA2)发回给Reader,第一阶段完成。
第二阶段:读写器Reader向验证器发送请求,验证器使用TagB的密钥SB,以随机数r为输入,计算出哈希值mB1,将其发送给读写器Reader;读写器Reader将request请求和消息对(mB1,mA2)发送给标签TagB;标签TagB收到消息后,生成伪随机数rB,使用TagB的密钥SB,以rB,mB1和mA2为输入计算出哈希值mB2,将消息对(rB,mB2)发给Reader,第二阶段完成。
第三阶段:读写器Reader发送mB2给标签TagA,TagA收到后,使用TagA的密钥SA,以mB2和rA为输入计算出哈希值mA3,将其发回给读写器Reader,第三阶段完成。
第四阶段:也是验证阶段,读写器Reader将生成的r,IDA,IDB,rA,rB,mA3,mB2发送给验证器进行验证,IDA,IDB分别是标签TagA和TagB的身份标识;验证器首先判断是不是到了窗口时间,如果到了就关闭会话,如果没到窗口时间,就尝试用验证器自己存储的和TagA、TagB共享的密钥代替前三个阶段中的SA、SB,并用相同的方法来计算出哈希值mB2’,mA3’,判断是否满足mB2’=mB2和mA3’=mA3,满足则认证成功,否则认证失败。
附图说明
图1:RFID***模型
图2:YP的执行过程
图3:针对YP的重放攻击
图4:改进的RFID群组认证协议-场景1
图5:改进的RFID群组认证协议-场景2
具体实施方式
本发明是在建立了新的协议的基础上给出的。现在对新的协议进行说明。
假设:
(1)验证器可信:验证器Verifier通常是一个在物理上安全并且很难被攻破的可信实体,它维护一个包含所有信息的数据库,包括标签共享的密钥,并且假设这些信息不会被攻击。
(2)读写器不可信:我们假设读写器和验证器之间的信道是安全的。然而在群组证明中,两个或多个读写器可能被攻击者利用伪造有效的证明,因此我们只能认为读写器和验证器之间的信道虽然是安全的,但是二者之间没有信任关系,即读写器送至验证器的P不一定是可信的,有可能被伪造甚至篡改过,必须以验证结果为判断依据。读写器和标签之间没有信任关系,读写器可任意与标签交互,交互信息甚至可能被修改。读写器内部并不存储密钥。
(3)标签在物理上是安全的:我们假设标签中所存储的密钥很难被窃取。
(4)标签和读写器进行通信的信道是不安全的,可能被窃听,甚至可能标签和读写器收到的消息均来自于攻击者伪造。
(5)读写器和标签建立认证有两种方式,第一种是读写器对标签的ID有一个期望,即是读写器期望本次通信与其认证的是特定的标签。第二种是读写器对标签的ID没有期望,即并不指定与某些特定标签进行群组认证。
(6)超时假设:协议将在一个特定的时间间隔t内终止,到时间窗口时会话仍未完成,就应该关闭会话,起到可靠作用。这也是一般标签读取协议的基本特征。
(7)参数长度假设:本协议中假设随机数、密钥和消息认证码等参数的长度均为固定比特长度d。
(8)验证器需要保证实时性:协议开始就需要读写器向验证器请求获取伪随机数,由于协议会随时开始,所以验证器需要随时在线,即是保证实时性。
执行过程如图4:
可以分为四个阶段
第一阶段:读写器Reader向验证器发送请求,验证器利用PRNG()生成伪随
机数r,并利用公式1生成mA1,使用的密钥是SA,发送给读写器;读写器将request请求和mA1发送给TagA;标签TagA收到消息后,利用PRNG()生成伪随机数rA,利用公式2,计算出mA2,将(rA,mA2)发回给Reader,第一阶段完成。
第二阶段:读写器Reader向验证器发送请求,验证器利用公式1生成mB1
使用的密钥是SB,发送给读写器;读写器将request请求和(mB1,mA2)发送给标签TagB;标签TagB收到消息后,利用PRNG()生成伪随机数rB,利用公式3,计算出mB2,将消息对(rB,mB2)发给Reader,第二阶段完成。
第三阶段:读写器Reader发送mB2给标签TagA,TagA收到后,利用公式4,计算出mA3,发回给读写器Reader。第三阶段完成。
第四阶段:也是验证阶段,读写器Reader生成P(r,IDA,IDB,rA,rB,mA3,mB2)发送给验证器进行验证,验证器Verifier首先判断是不是到了窗口时间,如果到了就关闭会话,如果没到窗口时间,就尝试用验证器自己存储的和TagA、TagB共享的密钥代替公式中的SA、SB,并用相同的公式来计算mB2’,mA3’判断是否满足mB2’=mB2和mA3’=mA3,满足则认证成功,否则认证失败。
公式1:mX1=MACSX[r]
公式2:mA2=MACSA[rA||mA1]
公式3:mB2=MACSB[rB||mB1||mA2]
公式4:mA3=MACSA[mB2||rA]
以上方法对应的场景是读写器预期得到特定标签的回复的群组认证协议,标签Tag的身份可以通过RFID***的底层协议先行确定,所以可以针对特定标签发送request请求。针对另外一种场景,即读写器不预期得到特定标签的回复,验证器最终根据收到的P判断哪些标签参与了群组认证,如图5,有另外一种场景的执行过程如下:
可以分为四个阶段
第一阶段:读写器Reader利用PRNG()生成伪随机数r发送给读写器;读写
器将request请求和r发送给TagA;标签TagA收到消息后,利用PRNG()生成伪随机数rA,利用公式5,计算出mA2,将(rA,mA2)发回给Reader,第一阶段完成。
第二阶段:读写器将request请求和(r,mA2)发送给标签TagB;标签TagB收到
消息后,利用PRNG()生成伪随机数rB,利用公式6,计算出mB2,将消息对(rB,mB2)发给Reader,第二阶段完成。
第三阶段:读写器Reader发送mB2给标签TagA,TagA收到后,利用公式4,计算出mA3,发回给读写器Reader,第三阶段完成。
第四阶段:也是验证阶段,读写器Reader生成P(r,rA,rB,mA3,mB2)发送给验证器进行验证,验证器Verifier首先判断是不是到了窗口时间,如果到了就关闭会话,如果没到窗口时间,就尝试用验证器自己存储的和TagA、TagB共享的密钥代替公式中的SA、SB,并用相同的公式来计算mB2’,mA3’判断是否满足mB2’=mB2和mA3’=mA3,满足则认证成功,否则认证失败。
公式5:mA2=MACSA[rA||r]
公式6:mB2=MACSB[rB||r||mA2]
第二种场景与第一种场景在执行上的区别主要有两个,第一是r的生成是在读写器Reader内部完成,这样验证器便不需要随时保持在线;第二是用r取代mA1和mB1,最终形成的P中没有ID信息。第二种场景可以认为是第一种场景对应的群组认证协议的一种特殊情况,即不需要指定标签的情况。可以认为第一种场景是主要场景,第二种场景是在安全性要求可以放宽的情况下,为了使协议更具备通用性的一个特殊场景。本文技术交底书中进行的有益效果讨论,主要是基于第一种场景的协议进行的。
经分析,该协议可以抵抗交错攻击、重放攻击、伪造攻击和隐私攻击。
(1)抵抗交错攻击分析过程如下:
本协议计算随机数的种子r容易被窃取。但是这个种子r主要是用来保证新鲜性的,读写器内部通过伪随机数生成器PRNG()生成的rA不容易被窃取以及发送的消息是用指定标签的密钥加密产生的正是抵抗交错攻击的关键,生成mB2和mA3的结构不同,生成mA2和mA3的输入消息的结构也不同,这些也均保证了不具备交错攻击的条件,做如下分析。
在交错攻击中,攻击者将某个协议的两个或者多个运行实例安排为以交织的方法执行。我们据此来分析所提出协议抵抗交错攻击的能力。不妨假设TagA和TagB是一对合法的参与同一认证的标签,TagC为另一合法标签,但不应该参与此次认证。在一次完整的协议运行中共有三次读写器和标签的交互,如图4所示,分别是读写器Reader向TagA输入request和mA1并得到TagA的响应rA和mA2;读写器Reader向TagB输入request和消息对(mB1,mA2)并得到TagB的响应(rB,mB2);读写器Reader向TagA输入mB2并得到TagA的响应mA3。第一阶段和第二阶段中发送的消息是由指定标签的密钥产生的,如果发送给其他标签,其他标签处理的时候必然会有他自身标签的参与,导致最终提交给验证器校验的时候,如果只有TagA和TagB的密钥,而没有TagC的密钥的参与,无法校验通过,交错攻击也就无法成功实现。第三阶段,发送的消息也在第一阶段和第二阶段有特定标签密钥的参与,所以如果交错发送给其他标签,与第一阶段第二阶段攻击情况类似,也无法实现交错攻击的目的。综上所述,本协议可有效抵抗交错攻击。
(2)抵抗重放攻击分析过程如下:
本协议中利用了Reader生成一个d比特的随机数r来保证证明的新鲜性。所以,若攻击者试图进行重放攻击,他必须构造随机数r,以及对应的mA1并且标签TagA内部还通过生成一个rA来保证安全,以及对应的mA2,TagB部分与之相似也对应着mB1、rB、mB2,另外还有第三阶段的mA3,通过暴力攻击的方式收集证明。我们从进行攻击需要花费的空间和时间来进行分析。
首先看空间,对于同一个长度为d比特的r来说,攻击者M需要找出所有的长度为d比特的随机数mA1、rA、mA2、mB1、rB、mB2、mA2,总所需的存储空间为8*d比特。这个组合的可能性有28d种,总共需要的存储空间就是8*d*28d。再分析时间,M利用r进行一次认证请求,共执行6次通信,收集所有证明,需要执行28d次,所以总通信次数为6*28d次。
所以,虽然攻击者可以通过暴力攻击方式收集证明,之后完成重放攻击,但是复杂性很高,总共所需通信次数为6*28d次,总共所需存储空间为8*d*28d比特。完全可以通过取一个相对较大的d值,来增加攻击者实施攻击的难度。
类似于交错攻击,针对攻击者将窃听到的消息发送给其他不应该参与通信的其他合法标签产生合法的P的攻击也可以认为是一种重放攻击,本协议的构想是利用mA1和mB1,取代原先的r进行传递,以下验证一下此方案抵抗重放攻击的性能。攻击可能发生的环节有三个:首先看第一阶段,假如攻击者将发送给标签TagA的消息发送给TagC,这样最终生成的P中的mA2是利用的TagC的密钥SC计算得到,而计算mA2所需要的mA1是利用的TagA的密钥SA,无法只用TagA或者TagC的密钥通过验证。再看第二阶段,假如攻击者将发送给标签TagA的消息(mB1,mA2)发送给TagC,这样最终生成的P中的mB2是利用的TagC的密钥SC计算得到,而计算mB2所需要的mB1是利用的TagB的密钥SB,无法只用TagB或者TagC的密钥通过验证。如果是第三阶段进行重放攻击,将mB2发送给标签TagC,由于TagC内部没有rA,不会产生有效的回复。所以本协议可有效抵抗重放攻击。
针对攻击者收集第一阶段消息后,直接通过读写器Reader进行第二阶段,然后进行第三阶段,意图产生有效P的重放攻击,由于第三阶段中,产生mA3需要rA的参与,所以如果第一阶段没有进行,就无法最终产生有效的mA3,攻击无效。
(3)抵抗伪造攻击分析过程如下:
对伪造攻击进行如下表述:攻击者M可以在任意时间段内,与任意标签进行交互,在M并没有同时读取标签TagA和TagB的前提下,M提供某一对标签TagA和TagB的共存证明PAB给验证器。如果PAB被验证器认为是有效认证,则认为M伪造攻击成功,我们定义这个概率为p。
问题可以抽象为计算p。攻击者M未同时读取标签的情况,我们运用密码学原语对随机预言模型进行分析。假设攻击者M未向TagA提供request输入和mA1,而是选取任意随机数作为rA,直接将消息对(rA,mA2)发给Reader,那么攻击者必须在不知道TA的密钥SA的情况下,利用公式1和2进行随机预言假设,猜测出正确的rA和mA2,其概率为2-2d,d较大时,这个概率可以近似为0。对于TagB同样的道理,需要猜测出(rB,mB2),概率也为2-2d,完全可以通过取一个相对较大的d值,来使攻击者攻击成功的概率近似为0,第三阶段相似,所以本协议可有效抵抗伪造攻击。
(4)抵抗窃取隐私攻击分析如下:
通信数据里面不含有ID等身份信息,具有匿名性。最后提交给Verifier的P中虽然有ID信息,但是无法知道P的验证结果,并不能确定参与认证的就是对应ID的标签。同样的mA1发送给标签,由于有标签自己的rA的参与,所以得到的回复也是不同的,另外,虽然读写器期待和特定标签建立连接,但是无论标签是不是特定标签,他都会返回消息,所以具有不可追踪性。所以本协议可以抵抗窃取隐私攻击。
实施过程具体如下:
1:读写器Reader向验证器发送请求,验证器利用PRNG()生成伪随机数r,
并利用公式1:mX1=MACSX[r]生成mA1,使用的密钥是标签TagA的密钥SA,然后将mA1发送给读写器;
2:读写器Reader将request请求和mA1发送给TagA
3:标签TagA收到消息后,利用PRNG()生成伪随机数rA,利用公式2:mA2
MACSA[rA||mA1],计算出mA2,将(rA,mA2)发给Reader;
4:读写器Reader向验证器发送请求,验证器依然使用第一步的r利用公式
1:mX1=MACSX[r]生成mB1,使用的密钥是标签TagB的密钥SB,然后将mB1发送给读写器;
5:读写器Reader将request请求和(mB1,mA2)发送给标签TagB
6:标签TagB收到消息后,利用PRNG()生成伪随机数rB,利用公式3:mB2=MACSB[rB||mB1||mA2],计算出mB2,将(rB,mB2)发给Reader;
7:读写器Reader发送mB2给标签TagA
8:标签TagA收到消息后,利用公式4:mA3=MACSA[mB2||rA],计算出mA3,将
mA3发给Reader;
9:读写器Reader生成P(r,IDA,IDB,rA,rB,mA3,mB2)发送给验证器进行验证;
10:验证器Verifier首先判断是不是到了窗口时间,如果到了就关闭会话,
如果没到窗口时间,就尝试用验证器自己存储的和TagA、TagB共享的密钥代替公式中的SA、SB,并用相同的公式来计算mB2’,mA3’判断是否满足mB2’=mB2和mA3’=mA3,满足则认证成功,否则认证失败。
第二种场景的实施过程和第一种场景类似,主要区别是r的生成是由读写器Reader而不是验证器Verifier负责,而且用r取代mA1和mB1,省去了公式1的使用,而且最终生成的证明P中不包含ID信息。
密码工具
MAC算法最佳实施方式:HMAC-密钥相关的哈希运算消息认证码,利用哈希函
数,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。哈希算法可以使用MD5,SHA1,SHA256,SHA384,SHA512等密码Hash算法。B表示数据块的长度,这里为64字节。
初始化时定义两个固定且不同的字符串ipad,opad:
ipad=把0x36重复64次后的字符串
opad=把0x5C重复64次后的字符串
以MD5为哈希函数举例,计算HMAC即为以下步骤:
(1)在密钥key后面添加0来创建一个长为B的字符串(str)。
(2)将上一步生成的字符串(str)与ipad(0x36)做异或运算,形成结果字符串(istr)。
(3)将数据流data附加到第(2)步的结果字符串(istr)的末尾。
(4)做md5运算于第(3)步生成的数据流(istr)。
(5)将第(1)步生成的字符串(str)与opad(0x5c)做异或运算,形成结果字
符串(ostr)。
(6)再将第(4)步的结果(istr)附加到第(5)步的结果字符串(ostr)的末尾。
(7)做md5运算于第(6)步生成的数据流(ostr),输出最终结果(out)。
注:如果第一步中,key的长度klen大于B,则先进行md5运算,使其长度klen=16字节。
PRNG最佳实施方式:为了抵抗攻击,群组认证需要高质量的伪随机数,经过比较,推荐使用梅森旋转法,它基于有限二进制字段上的矩阵线性递归field F_{2}。可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。这个算法是公开的,有着广泛的应用,可以直接作为工具使用。

Claims (1)

1.一种改进的RFID群组认证方法,包括下面的几个阶段:
第一阶段:读写器Reader向验证器发送请求,验证器生成随机数r,使用标签TagA的密钥SA,以随机数r为输入,计算出值mA1,将其发送给读写器;读写器将 request请求和mA1发送给TagA;标签TagA收到消息后,生成伪随机数rA,使用TagA的密钥SA,以rA和mA1为输入计算出值mA2,将消息对(rA,mA2)发回给Reader,第一阶段完成;
第二阶段:读写器Reader向验证器发送请求,验证器使用TagB的密钥SB,以随机数r为输入,计算出值mB1,将其发送给读写器Reader;读写器Reader将request请求和消息对(mB1,mA2)发送给标签TagB;标签TagB收到消息后,生成伪随机数rB,使用TagB的密钥SB,以rB,mB1和mA2为输入计算出值mB2,将消息对(rB,mB2)发给Reader,第二阶段完成;
第三阶段:读写器Reader发送mB2给标签TagA,TagA收到后,使用TagA的密钥SA,以mB2和rA为输入计算出值mA3,将其发回给读写器Reader,第三阶段完成;
第四阶段:也是验证阶段,读写器Reader将生成的r,IDA,IDB,rA,rB,mA3,mB2发送给验证器进行验证,IDA,IDB分别是标签TagA和TagB的身份标识;验证器首先判断是不是到了窗口时间,如果到了就关闭会话,如果没到窗口时间,就尝试用验证器自己存储的和TagA、TagB共享的密钥代替前三个阶段中的SA、SB,并用相同的方法来计算出值mB2’,mA3’,判断是否满足mB2’=mB2和mA3’=mA3,满足则认证成功,否则认证失败,
所采用的计算公式如下:
公式1: mX1= MACSX[r]
公式2: mA2=MACSA[rA||mA1]
公式3: mB2=MACSB[rB||mB1||mA2]
公式4: mA3= MACSA[mB2||rA]。
CN201710562409.6A 2017-07-11 2017-07-11 一种改进的rfid群组认证方法 Expired - Fee Related CN107480564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710562409.6A CN107480564B (zh) 2017-07-11 2017-07-11 一种改进的rfid群组认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710562409.6A CN107480564B (zh) 2017-07-11 2017-07-11 一种改进的rfid群组认证方法

Publications (2)

Publication Number Publication Date
CN107480564A CN107480564A (zh) 2017-12-15
CN107480564B true CN107480564B (zh) 2020-07-17

Family

ID=60596212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710562409.6A Expired - Fee Related CN107480564B (zh) 2017-07-11 2017-07-11 一种改进的rfid群组认证方法

Country Status (1)

Country Link
CN (1) CN107480564B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108601001B (zh) * 2018-03-09 2021-02-12 天津大学 一种环形分割加速的rfid群组认证方法
CN109711216A (zh) * 2018-12-18 2019-05-03 江南大学 一种认证***的匿名分组方法及认证方法
CN110190965B (zh) * 2019-05-17 2021-10-26 西安电子科技大学 一种基于哈希函数的rfid群组标签认证协议
CN115277094B (zh) * 2022-06-24 2023-07-18 北京天融信网络安全技术有限公司 一种基于区块链的通信方法、终端、***及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853369A (zh) * 2010-04-01 2010-10-06 西北工业大学 基于随机哈希的双向认证方法
CN104883681A (zh) * 2015-05-04 2015-09-02 河南理工大学 一种基于动态共享密钥的移动rfid双向认证方法
CN105656632A (zh) * 2015-12-29 2016-06-08 蓝盾信息安全技术股份有限公司 一种群组rfid标签身份认证方法
CN106911700A (zh) * 2017-03-06 2017-06-30 江南大学 一种rfid标签群组证明的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8446260B2 (en) * 2009-11-30 2013-05-21 Industrial Technology Research Institute Group proving method and radio frequency identification reader and tags using thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853369A (zh) * 2010-04-01 2010-10-06 西北工业大学 基于随机哈希的双向认证方法
CN104883681A (zh) * 2015-05-04 2015-09-02 河南理工大学 一种基于动态共享密钥的移动rfid双向认证方法
CN105656632A (zh) * 2015-12-29 2016-06-08 蓝盾信息安全技术股份有限公司 一种群组rfid标签身份认证方法
CN106911700A (zh) * 2017-03-06 2017-06-30 江南大学 一种rfid标签群组证明的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Grouping proof for RFID tags;Juniciro Saito等;《19th international conference on advanced information networking and Applications volume1,IEEE》;20050425;第1-4页 *

Also Published As

Publication number Publication date
CN107480564A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
Song Advanced smart card based password authentication protocol
EP3069249B1 (en) Authenticatable device
Yu et al. SLAP-IoD: Secure and lightweight authentication protocol using physical unclonable functions for internet of drones in smart city environments
CN107480564B (zh) 一种改进的rfid群组认证方法
US9219612B2 (en) Method of mutually authenticating a reader and a radio tag
WO2010005071A1 (ja) パスワード認証方法
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
Liu et al. A Lightweight RFID Authentication Protocol based on Elliptic Curve Cryptography.
JP2017524306A (ja) 暗号化操作における悪意のある変更に対する保護
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
Akhmatovich et al. Improvement of a security enhanced one-time mutual authentication and key agreement scheme
CN111770089B (zh) 一种用于区块链传感器的认证方法及区块链网络
Long et al. Energy-efficient and intrusion-resilient authentication for ubiquitous access to factory floor information
CN110650019B (zh) 基于puf和安全概略的rfid认证方法及***
Kiran et al. A lightweight two-factor mutual authentication scheme for cloud-based IoT
Hamian et al. Blockchain-based User Re-enrollment for Biometric Authentication Systems
Tapiador et al. Cryptanalysis of Song's advanced smart card based password authentication protocol
Wu et al. A secure strong-password authentication protocol
Patel et al. User-empowered secure privacy-preserving authentication scheme for Digital Twin
Abyaneh On the privacy of two tag ownership transfer protocols for RFIDs
CN110138547B (zh) 基于非对称密钥池对和序列号的量子通信服务站密钥协商方法和***
Mansour et al. A Lightweight Multi-Factor Authentication and Privacy Preservation Protocol for Fleet Vehicles
Gódor et al. Elliptic curve cryptography based mutual authentication protocol for low computational complexity environment
Chen et al. The RFID mutual authentication scheme based on ECC and OTP authentication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200717

Termination date: 20210711