一种rfid系统中基于组的密钥矩阵安全认证方法

文档序号:10660584阅读:507来源:国知局
一种rfid系统中基于组的密钥矩阵安全认证方法
【专利摘要】本发明涉及一种在RFID系统中基于组的密钥矩阵安全认证方法,该方法首先利用密钥矩阵,构建生成认证密钥的方法,使每对标签和阅读器都拥有不同的认证密钥,利用生成矩阵的规律性,有效缩减了存储空间的消耗;设计新型的安全认证过程,并添加了标识符更新阶段,进一步解决标签和阅读器通信时的双向认证问题,增强了系统安全性,最后通过GNY逻辑形式化分析安全认证方法的正确性。本方法相比于已有方案,在抵御内部和外部攻击方面,具有更好的安全性,并且具有较低的内存消耗,可接受的通信和计算负载,适用于存在大规模标签的射频识别场景。
【专利说明】
一种RFID系统中基于组的密钥矩阵安全认证方法
技术领域
[00011本发明属于射频识别RFID通信领域,涉及一种应用于RFID系统中的安全认证方 法,具体涉及一种RFID系统中基于组的密钥矩阵认证方法,适用于大规模的RFID环境,可为 系统提供更为安全的保护机制。
【背景技术】
[0002] 射频识别(Radio Frequency Identification,RFID)系统是一种非接触式的自动 识别系统,可为阅读器和标签之间提供自由的通信链路。近年来,由于RFID系统广泛应用于 各类领域,以及使用开放式的通信环境,使其安全及隐私问题受到了更多的关注,必须确保 通信数据的安全传输,并解决各实体之间的身份认证问题。在电子标签计算速度、通信能力 和存储空间非常有限的情况下,如何设计更为安全高效且开销较小的信息安全认证机制, 提供更强的安全性和隐私性保护,是RFID技术研究的重要课题。
[0003] 为了有效地解决安全问题,许多认证协议已被提出,但绝大多数只关注于对非法 外部攻击的处理,而忽视内部合法节点的攻击问题。Hash链协议使用两种不同的Hash函数 来确认实体身份,增强了安全性;HIDVP协议通过使用会话编号和自适应变量值来防止监听 和重放攻击;Moessner等人通过加强随机密钥的加密方式来提高安全等级;Zhou等人提出 了一种轻量级去同步的隐私保留认证协议,有利于降低系统成本。以上文献都没有考虑内 部攻击的问题。Karthikeyan等人提出了一种基于简单异或操作和矩阵操作的认证方法,但 该方法不能抵御外部攻击,且不支持多个阅读器的安全认证;Yang等人提出了使用Hash函 数和异或操作解决欺骗和匿名攻击的方法,但不能提供隐私保护;Chien等人为低成本标签 提供了双向认证方案,但需要阅读器与标签保持时间同步,否则将不能抵御DoS攻击; Kolias等人对Chien的方案进行了改进,增强了阅读器与标签通信的安全性,并解决了 DoS 攻击;Ding等人提出了一种使用密钥矩阵来共享密钥的认证方法,用以解决内部攻击的问 题,但没有验证其正确性;KAAP协议扩展了 Ding的研究成果,进行了安全和形式化分析,并 验证了其正确性,但不能解决阅读器与标签同组时的内部攻击问题,且没有涉及更新操作, 因而其安全性有待提尚。

【发明内容】

[0004] 要解决的技术问题
[0005] 为了避免现有技术的不足之处,本发明提出一种RFID系统中基于组的密钥矩阵安 全认证方法,构造一种基于组的密钥矩阵安全认证方法(Group based Key Array Authentication Protocol,GKAAP),该方法适用于大规模的RFID应用场景,既可以解决各 类外部攻击问题,又可以解决内部合法节点之间的攻击问题,其中包括同组内不同阅读器 与标签之间的安全通信问题,具有安全性高和资源消耗少等特点。
[0006] 技术方案
[0007] 一种RFID系统中基于组的密钥矩阵安全认证方法,其特征在于步骤如下:
[0008] 步骤1:利用标签和阅读器生成的矩阵,设计认证密钥:
[0009] 1、生成认证密钥的过程如下:
[0010] 设有m个标签表示为Ti,i e 1,2···πι,η个阅读器表示为Rj,j e 1,2···η,随机产生序列 {&1,&2,一,&"},生成尺寸为!11\11的标签矩阵:
,随机产生 序列{gi,g2,··· ,gn},生成尺寸为ηΧη的阅读器矩阵
.,由A 和G生成尺寸为mXn的密钥矩阵
,其中kij对应 的是标签!\与阅读器心的认证密钥,若某对标签和阅读器不允许通信,则此时D中对应位置 上的密钥为null;将D存储于服务器的数据库DB中,用于在通信前验证由标签和阅读器计算 出的认证密钥的正确性;
[0011] 矩阵A的第i行对应标签1\,只记忆ai,根据矩阵内部各项的生成规律,即还原第i 行;矩阵G的第j列对应阅读器心,心只记忆 gl,根据矩阵内部各项的生成规律,即还原第j列; 公式1用于标签!\与阅读器心生成认证密钥:
[0012] kij = l+aigj+(aigj )2+· · - + (aigj )η_1 (1)
[0013] 标签和阅读器分别被分成多个组适用于不同的应用场景,不同标签组与阅读器组 生成不同的认证密钥矩阵,存储于DB中。
[0014] 2、随机生成标签与阅读器共享的全局密钥ku,用于抵御外部攻击;
[0015] 步骤2:采用循环冗余校验函数来计算伪随机标识符:preID = CRC(ID),用伪随机 标识符替代标签和阅读器的ID,防止重放攻击和位置跟踪,利用认证密钥,安全认证阶段的 信息交互流程如下:
[0016] a)阅读器向标签发出认证请求Q&所有请求的内容使用共享的全局密钥ku加密;
[0017] 所述请求的内容:此时生成的阅读器随机数、伪随机标识符、阅读器所属组号及生 成矩阵对应列gi;
[0018] b)标签收到认证请求Qij后,在其访问列表中查找是否包含此阅读器所属组的ID, 若有,则此阅读器具有访问该标签的权限,标签利用生成矩阵对应行及从Qu中解密得到 的 81,利用公式(1),计算认证密钥1?,用其加密自身和阅读器的随机数,连同标签伪随机标 识符和所属组号,作为响应Ru发送给阅读器;否则,标签将忽略认证请求;
[0019] 阅读器收到响应Rlj后,将解密得到的标签伪随机标识符和所属组号发送给数据 库DB,验证标签身份;若标签信息与DB中存储内容相符,则验证成功,DB向阅读器发送认证 密钥,利用认证密钥,阅读器可从响应Ru中解密出自己的随机数,若与发送时的原值一 致,则标签通过阅读器认证;否则,认证失败;
[0020] d)阅读器将标签的随机数取反后,再次用认证密钥ku加密后发送给标签,标签解 密出自己的随机数后,若与发送时的原值一致,则阅读器通过标签认证;否则,认证失败; [0021 ]所述伪随机标识符的更新过程:
[0022]标签Ti与阅读器Rj的新prelD生成公式分别如下:
[0025]其中,PRNGO为单向随机数发生器;
[0026] a)数据库DB利用公式(2)、(3)为标签和阅读器计算新的prelD,采用1?加密后发送 给对应的阅读器,阅读器将其中属于自身的新preID与自己利用公式(3)计算出的新preID 对比,若一致,则DB信息认证成功,记录其通信范围内标签的新prelD,并对自身的prelD进 行更新;
[0027] b)阅读器将标签的新prelD连同标签的随机数用认证密钥kij加密后发送给相应的 标签,标签解密后与自己用公式(2)计算出的prelD数值及随机数原值进行对比,若一致,则 完成与阅读器的认证,并更新自身的prelD。
[0028] 有益效果
[0029]本发明提出的一种RFID系统中基于组的密钥矩阵安全认证方法,克服上述现有方 法的缺点,提出一种适用于RFID系统的基于组的密钥矩阵安全认证方法。为了解决内部攻 击问题,利用密钥矩阵,设计一种认证密钥的生成方法;在此基础上,设计合理的认证处理 过程,以解决内部和外部攻击问题;为了进一步增强方法的机密性和新鲜性,建立阅读器与 标签的伪随机标识符更新机制;利用GNY逻辑对所提方法进行形式化分析,以验证其正确 性;最后通过安全及性能分析,比较本方法与已有方法在解决各类安全问题,及内存消耗、 计算和通信负载等方面的优势。本方法适用于大规模标签的RFID应用场景,将对信息传输 的安全技术起到推动作用。
[0030] 本发明的效果如下:
[0031] (1)提出一种通过密钥矩阵为对应标签和阅读器生成认证密钥的方法,解决同组 中存在的内部攻击问题,由于标签和阅读器生成矩阵的规律性,只需记忆较小序列即可完 成认证密钥的生成,有效的减少存储空间的消耗。
[0032] (2)设计新型的安全认证过程,数据库参与身份认证,并验证认证密钥的正确性, 利用伪随机标识符和随机数,阅读器与标签完成了双向身份认证,解决了关于内部和外部 多种类型的攻击问题。为了进一步增强安全性,加入了标识符更新环节,安全性分析表明, 相比于已有协议,本方法具有更好的安全性,可抵御重放、跟踪、仿冒、DoS等多种攻击,还可 以抵御组内或组间的内部攻击。
[0033] (3)采用GNY逻辑形式化分析安全认证方法,验证其正确性,在理想传输模型的基 础上,可达到预期安全目标。性能分析表明,本方法在减少存储空间消耗方面优于已有协 议,且通信和计算负载适中。
【附图说明】
[0034]图1:基于组的密钥矩阵安全认证方法的认证过程图;
[0035]图2:加入伪随机标识符更新的认证过程图;
[0036] 图3:GNY逻辑的符号表示;
[0037] 图4:本方法与相关方法的安全性能比较;
[0038] 图5:本方法与相关方法的性能比较;
【具体实施方式】
[0039]现结合实施例、附图对本发明作进一步描述:
[0040] 1、基于组的认证密钥的生成
[0041] 标签和阅读器分别被分为S组和T组适用于不同的应用场景,假设标签?\属于第s 组,表示为As,s e 1,2··· S,阅读器Rj属于第t组,表示为Gt,t e 1,2···Τ。阅读器组与标签组具 有独立的访问权限,并在DB中存储了不同的密钥矩阵Dst,如果某一阅读器组不具备读取某 一标签组的权限,则在DB中不存在对应的密钥矩阵,因而不能实施安全认证。
[0042]同组内不同的标签与同组内不同的阅读器通信时使用不同的认证密钥,可有效解 决同组中的内部攻击问题;认证密钥由标签和阅读器共同计算,可有效防止由于节点被俘, 而造成的机密信息泄露问题。
[0043] 2、构造基于组的密钥矩阵认证过程
[0044]图1为基于组的密钥矩阵安全认证方法的认证过程图,以标签1\和阅读器^为例, 说明认证信息的交互过程:
[0045] 1)阅读器&生成一个随机数%,连接%、口阳11/、(^和幻,并用共享密钥1^加密 后,由^向^发送认证请求数据包
[0046] 2)标签Ti收到认证请求后,用共享密钥解密,并进行如下操作:
[0047] (a)首先认证Rj所属的组Gt是否在Ti的允许访问列表中,若存在,则Ti使用ai和 gj利 用公式(1)计算认证密钥1?,否则将停止认证过程。
[0048] (b)Ti生成随机数Γτν链接%,采用kij加密,并连接?和As,采用k u加密后, 向Rj发送响应数据包:
[0049] 3)Rj接收到响应后,将解密后的preIDri^As发送给DB,以验证 Ti身份。
[0050] 4)DB收到阅读器信息后,首先在数据库中查看prelD%是否由As中合法标签产生, 若正确,DB将从密钥矩阵Dst中找到对应1?发送给&。化收到1?后,即可解密[丨y |rR/},对比 接收到的1-??与原有值是否相等,若相等,则h通过^的认证,否则发送错误码停止认证过 程D
[0051] 5)为了防止重放攻击,&随后将%取反后,用1?加密,发送^^^给^工收到信 息后进行解密,对比收到的Γτν与原有值是否相等,若相等,则R」通过T,的认证,双向认证完 成。
[0052] 3、伪随机标识符的更新阶段
[0053] 新prelD的传输及认证过程如图2所示,步骤如下:
[0054] 1 )DB通过PRNG函数为标签和阅读器计算新的prelD,并连接kij,发送信息
?R^Rj将比较
,若等式 成立,则心更新其标识符。
[0055] 2 ) R j使用k i j加密
,并发送给T i,T i解密后,比较
丨:是否成立,如等式成立,则Ti更新其标识符。
[0056]不更换prelD,将会带来重放、跟踪及仿冒攻击,因此在每次认证完成后,都必须为 每个标签和阅读器更新prelD。数据库必须同时记录新旧prelD,防止由于更新不及时,而造 成认证不通过从而导致的DoS攻击,若更新发生问题,则可以使用旧prelD来完成认证。 [0057] 4、用GNY逻辑进行形式化分析,验证认证过程的正确性。
[0058] 1)初始化假设
[0059]根据图3所示的符号表示,及DB的假设分别为:
[0074] 3)Ti、Rj及DB的安全目标表不如下:
[0078] 4)在理想模型中,使用初始化假设和GNY逻辑定理验证安全目标的正确性。[0079] (a)验证Τ,·|ξ R;.|~r~
[0080] 由于卜,应用定理TlJPcGA^/PoY,可得,由假设 i〈w Η?./; kueTi,应用定理T3:(Pc {X}K, K e PV(P < ;〇,可得η < rp广根据定理p丄: (P < x)/(x e p),可得h/e ,应用定理p3: (x e p)八 Η (x) e p)和定理R6 : (//(;〇 e P),/(P| Ξ 0(;〇),可得η丨三因此Ti有权利相信%是可识别的。由假设 1^三妝11,和定理卩1:(卩|三(乂))/(?|三#(乂八),?|三职(乂)),可得1丨三#(1^1< 1^应用定
,得Τ?.|_Ξ %卜_,因此Ti相信Rj传输过巧广
[0081 ] (b)验证.Til 三# {preIDR;L
[0082]由假设阳 E#pre/Z)R/,kueTi,应用定理F2:(P| 5# P)/(P丨兰# {Χ}Κ,Ρ| Ξ# {Χ?κ-Ο,可得Ti丨三# [prelD^ ,由此证明!^相信·[premd是新鲜的。
[0084]
,及DB与阅读器之间可信任Rj | =DB,应用定理J1 :
以此证明Rj相信在DB和Ti通 信过程中使用密钥1?是合理的。
[0085] 5、安全认证方法的安全及性能分析
[0086] 1)安全分析
[0087]本方法对与RFID系统相关的攻击具有较强的抵御能力,安全分析如下:
[0088] a)仿冒攻击的抵御
[0089]仿冒攻击是攻击者伪装成合法的阅读器或标签来获取其他实体的有用信息的一 种攻击形式,本方法解决此类攻击问题的方法如下:
[0090] 假冒Ti:攻击者没有正确的ai和preiD^,不能计算出正确的认证密钥 kij,因而不能 通过DB的认证。假冒攻击者没有允许列表中适当的Gt,因而不能通过1\的认证;由于没 有传输正确的gj,Ti不能计算出正确的认证密钥kij,因而也不能通过DB的认证。
[0091] b)重放攻击的抵御
[0092] 重放攻击是攻击者利用以前截获的合法请求或响应数据包,冒充阅读器或标签完 成认证的一种攻击形式。可以通过在每次认证过程中,加入不同随机数的方法来解决,通过 比较接收到的随机数和原有值是否相等,来判断认证是否可通过。
[0093] 3)跟踪攻击的抵御
[0094]大量恶意阅读器被安放在固定位置,向标签发出相同的请求,若标签在通信过程 中保持响应不变,攻击者则可跟踪标签所经路径。改变标签响应,解决该类问题的方法如 下:a)在不同时刻产生不同的随机数;b)标签ID通过随机数发生器产生prelD,并在每次认 证完成后,进行更新。
[0095] 4)DoS攻击的抵御
[0096]由于路径阻塞,prelD更新信息不能及时传递给阅读器或标签,造成认证不成功, 引发DoS攻击,导致系统不能进行正常通信。可以通过DB同时存储新、旧标识符来解决此类 攻击问题,此时当更新消息传输不成功时,节点依然可以使用旧标识符完成认证工作。 [0097] 5)内部攻击的抵御
[0098]已有方法中每组标签和阅读器拥有不同的认证密钥,可以有效解决组间的内部攻 击问题,而本方法利用密钥矩阵,为同组内的不同标签和阅读器通信时,分别提供不同的认 证密钥,因而本方法不仅可以很好地解决组间的内部攻击问题,还可以有效解决组内的内 部攻击问题。
[0099] 6)双向认证
[0100]本方法可以完成阅读器与标签的双向认证,其中PreIDi?/和1V在过程的1、5阶段 由标签认证,而Pt'eiDyv 1^.和1^在过程的3、4阶段,通过DB的帮助由阅读器认证。
[0101] 图4总结比较了本方法与相关方法的安全性能,从图中可以看出,本方法比已有方 法具有更高的安全性能,可以有效地解决内部和外部的攻击问题。
[0102] 2)性能分析
[0103] 为了简化分析,将忽略密钥长度和随机数长度等变量。在本方法中,标签访问列表 中存储了所有可允许访问的阅读器组号,其数目为T;标签不存储认证密钥,只存储对应每 个阅读器组的,数目为T;标签还需存储自身标识符,长度假设为L,此时标签的内存消耗 为2T+L,KAAP协议的访问列表长度也定义为L,其中T值小于L。本方法的通信和计算负载与 KAAP协议类似,但是由于标识符的更新传输负载增加L。阅读器与数据库直接相连,传输附 加数据的能力较强,增加更新阶段后,标签和阅读器都需进行PRNG操作以更新prelD,因而 计算负载为2(R+E)。由于KAAP协议与方法最相关,因而比较两者的性能。图5给出了两方法 性能比较的结果,从图中可以看出本方法具有较低的存储消耗,稍微增加的通信和计算负 载。由于PRNG操作的消耗较少,所以增加的计算负载是可接受的。综上所述,本方法具有较 高安全性的同时,具有合理的消耗,由此可得通过密钥矩阵生成认证密钥的方法,并没有增 加标签的消耗。
【主权项】
1. 一种RFID系统中基于组的密钥矩阵安全认证方法,其特征在于步骤如下: 步骤1:利用标签和阅读器生成的矩阵,设计认证密钥: 1、 生成认证密钥的过程如下:设有m个标签表不为Ti,i e 1,2···ηι,η个阅读器表不为Rj, je 1,2···η,随机产生序列{ai, a2,"_,am},生成尺寸为mXn的标签矩罔 .产生序列 {gi,g2,···,gn},生成尺寸为11\11的阅读. I由A和G生 成尺寸为m X η的密钥矩罔_中1^对应的是标 签Ti与阅读器Rj的认证密钥,若某对标签和阅读器不允许通信,则此时D中对应位置上的密 钥为null;将D存储于服务器的数据库DB中,用于在通信前验证由标签和阅读器计算出的认 证密钥的正确性; 矩阵A的第i行对应标签T1, T1只记忆ai,根据矩阵内部各项的生成规律,即还原第i行; 矩阵G的第j列对应阅读器RpRj只记忆gl,根据矩阵内部各项的生成规律,即还原第j列;公 式1用于标签!\与阅读器心生成认证密钥: kij = l+aigj+(aigj)2+--- + (aigj)n_1 (1) 标签和阅读器分别被分成多个组适用于不同的应用场景,不同标签组与阅读器组生成 不同的认证密钥矩阵,存储于DB中。 2、 随机生成标签与阅读器共享的全局密钥ku,用于抵御外部攻击; 步骤2:采用循环冗余校验函数来计算伪随机标识符:PreID = CRC(ID),用伪随机标识 符替代标签和阅读器的ID,防止重放攻击和位置跟踪,利用认证密钥,安全认证阶段的信息 交互流程如下: a) 阅读器向标签发出认证请求(^,所有请求的内容使用共享的全局密钥ku加密; 所述请求的内容:此时生成的阅读器随机数、伪随机标识符、阅读器所属组号及生成矩 阵对应列gi; b) 标签收到认证请求Qlj后,在其访问列表中查找是否包含此阅读器所属组的ID,若有, 则此阅读器具有访问该标签的权限,标签利用生成矩阵对应行及从Q lj中解密得到的gl, 利用公式(1),计算认证密钥1?,用其加密自身和阅读器的随机数,连同标签伪随机标识符 和所属组号,作为响应发送给阅读器;否则,标签将忽略认证请求; c) 阅读器收到响应Rlj后,将解密得到的标签伪随机标识符和所属组号发送给数据库 DB,验证标签身份;若标签信息与DB中存储内容相符,则验证成功,DB向阅读器发送认证密 钥1?,利用认证密钥,阅读器可从响应Rlj中解密出自己的随机数,若与发送时的原值一致, 则标签通过阅读器认证;否则,认证失败; d)阅读器将标签的随机数取反后,再次用认证密钥1?加密后发送给标签,标签解密出 自己的随机数后,若与发送时的原值一致,则阅读器通过标签认证;否则,认证失败; 所述伪随机标识符的更新过程: 标签T1与阅读器心的新preID生成公式分别如下:(2) (3) 其中,PRNG 〇为单向随机数发生器; a) 数据库DB利用公式2、3为标签和阅读器计算新的prelD,采用1?加密后发送给对应的 阅读器,阅读器将其中属于自身的新preID与自己利用公式3计算出的新preID对比,若一 致,贝 1JDB信息认证成功,记录其通信范围内标签的新preID,并对自身的preID进行更新; b) 阅读器将标签的新preID连同标签的随机数用认证密钥加密后发送给相应的标 签,标签解密后与自己用公式2计算出的preID数值及随机数原值进行对比,若一致,则完成 与阅读器的认证,并更新自身的pre ID。
【文档编号】H04L9/08GK106027237SQ201610393708
【公开日】2016年10月12日
【申请日】2016年6月6日
【发明人】蒋毅, 张若南, 程伟, 李彬
【申请人】西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1