一种满足后向安全的rfid双向认证方法

文档序号:10491952阅读:322来源:国知局
一种满足后向安全的rfid双向认证方法
【专利摘要】本发明公开了一种满足后向安全的RFID双向认证方法,包括步骤:读写器生成两个都是L位长度的随机数R1和R2,根据标识符ID_L、ID_R计算出A和B的值,然后将A、B的值以及认证请求命令一同发给标签;标签通过A、B的值计算得到R1_T、R2_T,然后再利用密钥KEY_T、R1_T、R2_T建立一标签真伪验证公式,计算得到标签真伪验证值C_T,将C_T值传给读写器;读写器将自身存储的密钥KEY以及生成的R1和R2代入上述的标签真伪验证公式,验证标签的真伪。如果标签是合法的,读写器用当前密钥KEY以及生成的随机数R2计算得到读写器真伪验证值D,将D值传给标签,读写器更新密钥。标签在收到读写器传来的D之后,验证读写器的真伪。如果验证读写器是合法的,则标签更新自身存放的密钥。
【专利说明】
-种满足后向安全的RF ID双向认证方法
技术领域
[0001] 本发明设及射频识别研究领域,特别设及一种RFID系统中标签与读写器之间满足 后向安全的RFID双向认证方法。
【背景技术】
[0002] 无线射频识别技术(radio frequen巧identification,RFID)是一种利用射频信 号实现无接触信息传输,并且通过所传输的信息来达到识别的目的的技术。由于RFID技术 是利用无线射频通道来交换数据,因此很容易受到外部环境的干扰W及攻击者的恶意攻 击。如果RFID标签中存放的个人信息或者商业情报等被恶意的攻击者非法获取,会给使用 者带来巨大的损失。
[0003] 为克服上述问题,研究人员提出了许多基于伪随机数生成器的认证协议,运类协 议可W实现安全与隐私保护;同时也提出了一些基于位运算和HA甜函数的轻量级RFID认证 协议,但是运些协议都存在安全隐患或是认证效率低等问题。例如,Godor G等人提出的认 证方案不能抵抗去同步攻击,攻击者可W通过重放消息,使读写器与标签两者之间的密钥 不一致,从而破坏两者之间的后续认证(Godor G,Imre S. Hash-based mutual authentication protocol for low-cost RFID systems[C]//Proc of the 18th EUNICE Conf on Informstion 曰nd Communicstions Technologies.Berlin:Springer,2012:76-87.) ;Miyaji A等人提出的认证方案其实质是一个捜索协议,并不能算一个双向认证协议 (Miyaji A,Rahman M S.KIMAP:Key-insulated mutual authentication protocol for RFID[J].Int Journal of Automated Identification Technology,2011,3(2):61-74.); Mamun M SI等人提出的认证方案不能抵抗主动攻击,攻击者通过不断的询问标签,来分析 标签的回复信息,就可W完全推导出标签中存放的所有密钥信息(Mamun M S !,Miyaji A, Rahman M S.A secure and private RFID authentication protocol under SLPN problem[C]//Proc of the 6th Int Conf on Network and System Security.Berlin: Springer,2012:476-489.);Alomair B等人提出的认证方案不能提供向后的隐私安全性 (Alomair B,Cuellar J,Poovendran R.Scalable RFID systems:A privacy-preserving protocol with constant time identification[J]. IEEE Trans on Parallel and Distributed Systems,2012,23(8): 1-10.);杜宗印等人根据遗传算法的相关知识提出了 交叉位运算,并结合X0R、Rot运算提出了 CURAP协议,但是CURAP在运算方面过于简单,安全 性略显不足,同时该协议在每次认证完成之后,标签与读写器两者之间密钥的更新过程过 于复杂且计算量相对较大(杜宗印,章国安,袁红林.基于交叉位运算的超轻量RFID认证协 议[J].计算机科学,2013,40(11): 35-37 .);王少辉等人提出的方案不能抵抗暴力破解攻 击,因为rl和r2采用明文传输,因此攻击者很容易获取rl和采用穷举法可W推导出标签 中存放的密钥信息(王少辉,刘素娟,陈丹伟.满足后向隐私的可扩展RFID双向认证方案 [J].计算机研究与发展,2013,50(6): 1276-1284.)。基于上面的叙述,设计一个安全的双向 认证协议具有重要的研究意义和实用价值。

【发明内容】

[0004] 本发明的目的在于克服现有技术的缺点与不足,提供一种满足后向安全的RFID双 向认证方法,该方法解决了目前RFID系统中标签与读写器之间认证存在安全缺陷的问题, 具有安全性高、认证效率高、标签成本低的优点。
[0005] 本发明的目的通过W下的技术方案实现:一种满足后向安全的RFID双向认证方 法,包括步骤:
[0006] (1)读写器读取内部存储的标签的唯一标识符,将其等分为两部分,记为ID_L、ID_ R,长度均为L位;读写器生成两个长度均为L位的随机数Rl和R2;读写器利用IDJJPRl进行 异或运算得到A,利用10_3和1?2进行异或运算得到B,然后将A、BW及认证请求命令一并发送 给标签;
[0007] (2)标签接收到读写器发送来的A、BW及认证请求命令后,先取出自身储存的ID_ LT和ID_RT,然后将ID_LT与接收到的A进行异或运算得到R1_T,将ID_RT与接收到的B进行异 或运算得到R2_T,接着根据标签自身存储的密钥KEY_TW及计算得到的Rl_T、R2_im立一个 标签真伪验证公式,计算得到标签真伪验证值C_T;最后,将C_T值传给读写器;
[0008] (3)读写器在接收到标签发送来的信息W后,首先读写器将自身存储的密钥KEYW 及生成的随机数Rl和R2代入上述的标签真伪验证公式,得到验证值C,如果C与C_T不相等, 则说明标签是伪造的,认证立刻结束;如果相等,则执行步骤(4);
[0009] (4)读写器用当前密钥KEYW及生成的随机数R2建立一个读写器真伪验证公式,计 算得到读写器真伪验证值D,将D值传给标签;读写器按照预设的密钥更新公式更新密钥; [0010] (5)标签在收至喊写器传来的D之后,将自身存放的密钥KEY_TW及计算得到的R2_ T代入上述的读写器真伪验证公式,得到验证值D_T,如果D与D_T不相等,则说明读写器是伪 造的,认证立刻结束;如果相等,则标签按照预设的密钥更新公式更新自身存放的密钥。 [OOW 优选的,所述步骤(2)中标签真伪验证值C_T的计算公式如下:
[0012] C_T=[(KEY_T&R2_T&Rl_T)Vod M]l;
[OOK]其中,KEY_T表示标签自身存储的密钥,化取运算结果的前U立;&表示与运算,M表 示模数,M=2L-1 ;
[0014] 同理的,验证值C的计算公式如下:
[0015] C=[化EY&R2&Rl)2mod M]l。
[0016] 更进一步的,所述步骤(3)中,读写器自身存储的密钥KEY分为两种,一种是当前的 密钥K_new,另一种是历史使用过的密钥K_old,K_old为一个数组;在接收到标签传来的C_T 值后,读写器先根据1〇16巧、1?1和R2得到第一验证值C',并将C'与C_T进行比较,
[0017] 若二者相等,则令KEY等于K_new,执行步骤(4);
[0018] 若二者不相等,再根据1(_〇1(1、1?巧邮2得到第二验证值(:'',(:''为一个数组,将(:'' 中所有的值与C_T进行比较,如果均不相等,说明标签是伪造的,认证立刻结束,如果C''中 的其中一个值C' '_1与(:_1'相等,则令KEY等于与该C' '_i对应的密钥K_oW_i,执行步骤(4)。 [0019]优选的,步骤(4)中读写器真伪验证值D的计算公式如下:
[0020] D=比EY2mod M]l&R2;
[0021] 其中,[]L取运算结果的前L位;&表示与运算,M表示模数,M=2^1;
[0022] 同理的,验证值D_T的计算公式如下:
[0023] D_T=[KEY_T 2m0d M]l&R2_T。
[0024] 优选的,步骤(4)中,读写器更新密钥的公式是:
[0025] KEY_new= [KEYVod M]l;
[0026] 其中,化取运算结果的前L位;M表示模数,M=2Li;
[0027] 同理的,步骤(5)中,标签更新自身存放的密钥的公式是:
[002引 KEY_T_new=[KEY_T 2m0d M]l。
[0029] 本发明的RFID双向认证方法具有如下优点和有益效果:
[0030] (1)本发明抛弃传统的化Sh运算加密传输的方法,采用具有同等级安全的模运算 加密方法对传输的信息进行加密,从而减少标签端及读写器端的运算量,使本发明方法可 W达到轻量级的级别;
[0031] (2)本发明抛弃标签端产生随机数的做法,选择由读写器端产生随机数,从而达到 降低标签成本的目标;
[0032] (3)本发明充分利用标签和读写器之间共享的标签唯一的标识符ID的信息,减少 信息的引入和存放,将标签的标识符ID分成ID_^PID_R两部分进行加密传输,作为双向认 证的凭据,从而降低标签端的存储成本;
[0033] (4)本发明标签与读写器之间双向认证过程所传输的所有的信息都是经过加密之 后再传输的,与传统的传输方式相比更为安全,同时传输过程的信息中都至少有两个W上 的变量对于攻击者而言是未知的,从而彻底避免了攻击者采用穷举法破解密钥的安全隐 出 VQi'' O
【附图说明】
[0034] 图1是本实施例所述方法的流程示意图。
[0035] 图2是本实施例双向认证过程中各参数传递过程示意图。
【具体实施方式】
[0036] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0037] 实施例1
[0038] 参见图1、2,首先给出本实施例所述方法中设及到的各个符号的含义:
[0039] R:读写器;
[0040] T:标签;
[0041 ] KEY:读写器和标签之间共享的密钥(长度为L位);
[0042] ID:标签的唯一标识符(长度为化位);
[00创 ID_L:标签ID的左半部分(左边的L位);
[0044] ID_R:标签ID的右半部分(右边的L位);
[0045] K_new:本次认证的共享密钥(长度为L位);
[0046] K_old:历史若干次认证的共享密钥(长度为L位);
[0047] ^密钥的长度;
[004 引 M:模数,M = 2L-1;
[0049] Rl和R2:读写器产生的两个随机数(长度都为L位);
[0050] ? :异或运算;
[0化1] &:与运算。
[0052] 在RFID系统中读写器与后端数据库之间通过有线传输方式进行信息的传输,一般 认为两者之间的传输是安全的,因此将后端数据库和读写器看成一个整体。读写器与标签 之间的双向认证具体过程如图1所示,其认证过程中各个参数传递过程参见图2,在图2中,A = ID_L? R1;B = ID_R? R2;C=[化E化R2&Rl)2mod M]l,表示取运算结果的前L位;D = 比EY2Hiod M]l&R2,表示首先取□运算结果的前L位,然后再与R2进行与运算。
[0053] 结合图1、2对本实施例的认证过程具体说明如下:
[0054] ①读写器读取内部存储的标签的唯一标识符,将其等分为两部分,记为ID_L、ID_ R,长度均为L位。读写器生成两个长度均为L位的随机数Rl和R2。
[0化日]读写器利用10_1^和1?1进行异或运算得到A,即A =ID_Le R1,然后利用1〇_3和1?2进 行异或运算得到B,即B = ID_R e R2。
[0056] 最后将A、B W及认证请求命令如ery-并发送给标签。
[0057] ②标签接收到读写器发送来的信息W后,首先取出自身储存的信息ID_LT和ID_ RT,如果读写器和标签均不是伪造的,那么ID_LT和ID_RT应分别等于ID_L、ID_R。
[005引然后将ID_LT与接收到的A进行异或运算得到R1_T,即R1_T= ID_L ? A,将ID_RT与 接收到的B进行异或运算得到R2_T,即R2_T = ID_ReB。如果读写器和标签均不是伪造的,那 么R1_T和R2_T应分别等于读写器中生成的R1、R2。
[0059] 接着标签根据自身存储的密钥KEY_T、计算得到的R1_T、R2_T建立一个标签真伪验 证公式,计算标签真伪验证值(:_1':
[0060] C_T=[(KEY_T&R2_T&Rl_T)Vod M]l;
[0061] 其中,KEY_T表示标签自身存储的密钥,[]L取运算结果的前L位;&表示与运算,M表 示模数,M=2L-1 ;
[0062] 最后,将C_T值传给读写器。
[0063] ③读写器接收到标签发送来的信息W后,首先读写器将自身存储的密钥KEYW及 生成的Rl和R2代入上述的标签真伪验证公式,得到验证值C:
[0064] C=[化EY&R2&Rl)2mod M]l;
[0065] 如果C与C_T不相等,则表明标签是伪造的,认证立刻结束;如果相等,则继续下面 步骤。
[0066] ④读写器用当前密钥KEYW及生成的随机数R2建立一个读写器真伪验证公式,计 算得到读写器真伪验证值D:
[0067] D=比EY2mod M]l&R2;
[0068] 将D值传给标签;读写器按照预设的密钥更新公式KEY_new=比EY2Hiod M]l,更新密 钥。
[0069] ⑤标签在收到读写器传来的D之后,将自身存放的密钥KEY_TW及计算得到的R2_T 代入上述的读写器真伪验证公式,得到验证值D_T:
[0070] D_T=[KEY_T 2m0d M]l&R2_T。
[0071 ]如果D与D_T不相等,则表明读写器是伪造的,认证立刻结束;如果相等,则标签按 照预设的密钥更新公式KEY_T_new=比EY_T 2Hiod M]l,更新自身存放的密钥。如果读写器和 标签均不是伪造的,那么标签更新后的密钥KEY_T_new应与读写器更新后的密钥KEY_new相 同。
[0072] 在实际应用中,有可能标签在上面几次的认证过程中没有得到更新,如果只采用 读写器最新的密钥作为认证密钥,那么运类标签就得不到认证,为了解决运一问题,可对步 骤③进行改进,改进的过程如下:
[0073] (3-1)将读写器自身存储的密钥KEY分为两种,一种是当前的密钥K_new,另一种是 历史使用过的密钥K_old,K_old为一个数组,里面包括历史采用过的所有密钥或者部分密 钥。
[0074] (3-2)在接收到标签传来的C_T值后,读写器先根据1(_116*、1?1和R2得到第一验证值 C':
[0075] C-=[化_new&R2&Rl)2mod M]l
[0076] (3-3)判断C'与C_T是否相等,如果相等,执行步骤(3-4);否则,执行步骤(3-5)。
[0077] (3-4)令KEY等于K_new,执行步骤④。
[0078] (3-5)根据K_old、Rl和R2得到第二验证值C--:
[0079] C'' = [(K_old&R2&Rl)Vod M]l
[0080] 运里的C''为一个数组,如果该数组中所有的值与C_T均不相等,则说明标签是伪 造的,认证立刻结束。如果有一个(:''_1与(:_1'相等,则令KEY等于与该C''_i对应的密钥K_ oW_i,执行步骤④。
[0081] 下面给出认证协议的BAN逻辑形式化分析,通过BAN形式化分析来证明双向认证方 法的安全性和正确性,证明过程如下:(针对上面文字部分的更改,下面也做了一定的更改, 请审核,运里设及的公式麻烦修改)
[0082] 首先给出协议的理想化模型:
[0083] 消息① R 一 T:如 ery,A,B
[0084] 消息②T一R:C_T
[0085] 消息③R一T: D
[0086] 下面给出协议的初始假设:
[0087] Pl:昨"貧?,,时目信R和T共享密钥值KEY。
[008引 P2: n=-/;六,T相信R和T共享密钥值KEY_T,KEY与KEY_T相等。
[0089] P3: 时目信R和T共享标识符ID_L。
[0090] P4: 71./苗/,T相信R和T共享标识符ID_LT,ID_LT与ID_L相等。
[0091] P5: b;? ?V,时目信R和T共享标识符ID_R。
[0092] P6: r=* 〇7,1'相信1?和1'共享标识符10_1?1',10_1?1'与10_时目等。
[0093] P7:R| =#(R1),时目信随机数Rl的新鲜性。
[0094] P8:T| = #(R1),T相信随机数Rl的新鲜性。
[00巧]P9:R| =#(R2),时目信随机数R2的新鲜性。
[0096] P10:T| =#(R2),T相信随机数R2的新鲜性。
[0097] PU; 巧信R对A的管辖权。
[0098] P12; 相信R对B的管辖权。
[0099] P13; 相信T对C_T的管辖权。
[0100] P14; 相信R对D的管辖权。
[0101] 安全目标:
[0102] G1:T|=A,T相信A。G2:T|=B,T相信B。
[0103] G3:R| =C,时目信 C_T〇G4:T| =0,1'相信0。
[0104] 分析推理:
[01化]由消息①祠
(T曾经收到消息A),并且由初始假设Pl及消息含义法则
(若主体P相信主体P和Q的共享秘钥K,且P曾经收到用K加密的密文X,则P相信 主体Q发送过来的消息X),得到;
[0106] 由假设P7、P9及消息新鲜性法抑
:如果一个消息的一部分是新鲜的,则整
冬'谐旨A县盛鲜的),得T I =#(A)。由已经推导出来的
及随机数验证法则 得到RI = Tl = Ao ,'
[0107] 由Rl引I =A、初始化假设Pim及管辖法抑 可得Tl =Ao因此,目标 9. Gl得证。
[0108] 运用上述条件和法则,同理可证得G2、G3 W及G4。此处不再寶述。
[0109] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1. 一种满足后向安全的RFID双向认证方法,其特征在于,包括步骤: (1) 读写器读取内部存储的标签的唯一标识符,将其等分为两部分,记为ID_L、ID_R,长 度均为L位;读写器生成两个长度均为L位的随机数R1和R2;读写器利用IDJ^PRl进行异或 运算得到A,利用ID_I^PR2进行异或运算得到B,然后将A、B以及认证请求命令一并发送给标 签; (2) 标签接收到读写器发送来的A、B以及认证请求命令后,先取出自身储存的ID_LT和 ID_RT,然后将ID_LT与接收到的A进行异或运算得到R1_T,将ID_RT与接收到的B进行异或运 算得到R2_T,接着根据标签自身存储的密钥ΚΕΥ_Τ&及计算得到的R1_T、R2_T建立一个标签 真伪验证公式,计算得到标签真伪验证值C_T;最后,将C_T值传给读写器; (3) 读写器在接收到标签发送来的信息以后,首先读写器将自身存储的密钥KEY以及生 成的随机数R1和R2代入上述的标签真伪验证公式,得到验证值C,如果C与C_T不相等,则说 明标签是伪造的,认证立刻结束;如果相等,则执行步骤(4); (4) 读写器用当前密钥KEY以及生成的随机数R2建立一个读写器真伪验证公式,计算得 到读写器真伪验证值D,将D值传给标签;读写器按照预设的密钥更新公式更新密钥; (5) 标签在收到读写器传来的D之后,将自身存放的密钥ΚΕΥ_Τ&及计算得到的R2_TR 入上述的读写器真伪验证公式,得到验证值D_T,如果D与D_T不相等,则说明读写器是伪造 的,认证立刻结束;如果相等,则标签按照预设的密钥更新公式更新自身存放的密钥。2. 根据权利要求1所述的RFID双向认证方法,其特征在于,所述步骤(2)中标签真伪验 证值C_T的计算公式如下: C_T=[(KEY_T&R2_T&Rl_T)2mod M]l; 其中,KEY_T表示标签自身存储的密钥,[]L取运算结果的前L位;&表示与运算,Μ表示模 数,M=2l-1; 同理的,验证值C的计算公式如下: C=[(KEY&R2&Rl)2mod M]l〇3. 根据权利要求2所述的RFID双向认证方法,其特征在于,所述步骤(3)中,读写器自身 存储的密钥KEY分为两种,一种是当前的密钥K_new,另一种是历史使用过的密钥K_old,K_ old为一个数组;在接收到标签传来的C_T值后,读写器先根据1(_11冊、1?1和R2得到第一验证 值C',并将C'与C_T进行比较, 若二者相等,则令KE Y等于K_n e w,执行步骤(4); 若二者不相等,再根据1(_〇1(1、1?1和R2得到第二验证值C'',C''为一个数组,将C''中所 有的值与C_T进行比较,如果均不相等,说明标签是伪造的,认证立刻结束,如果C''中的其 中一个值C' '」与(:_1'相等,则令KEY等于与该C' '_i对应的密钥K_old_i,执行步骤(4)。4. 根据权利要求1所述的RFID双向认证方法,其特征在于,步骤(4)中读写器真伪验证 值D的计算公式如下: D=[KEY2mod M]l& R2; 其中,[]l取运算结果的前L位;&表示与运算,Μ表示模数,M=2l-1; 同理的,验证值D_T的计算公式如下: D_T=[KEY_T2mod M]l&R2_T〇5. 根据权利要求1所述的RFID双向认证方法,其特征在于,步骤(4)中,读写器更新密钥 的公式是: KEY_new=[KEY2mod M]l; 其中,[]l取运算结果的前L位;M表示模数,M=2l-1; 同理的,步骤(5)中,标签更新自身存放的密钥的公式是: KEY_T_new=[KEY_T2mod M]l〇
【文档编号】H04L9/08GK105847009SQ201610157282
【公开日】2016年8月10日
【申请日】2016年3月17日
【发明人】凌捷, 刘道微, 谢锐, 柳毅, 龚怡
【申请人】广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1