一种基于标签ID的超轻量级RFID双向认证方法转让专利

申请号 : CN201610016305.0

文献号 : CN105530263B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 凌捷刘道微谢锐柳毅

申请人 : 广东工业大学

摘要 :

本发明提供了一种基于标签ID的超轻量级RFID双向认证方法,采用位运算方法以及循环校验码方法对传输信息进行加密,从而减少标签及读写器的运算量,使通讯协议可以达到超轻量级的级别,缩短认证时间;由读写器产生随机数,可降低标签成本;充分利用标签和读写器之间共享的标签唯一的标识符信息,减少信息的引入和存放;在读写器计算新的共享密钥,并将新共享密钥通过简单的加密传输给标签,标签只需要进行简单的异或运算即可得到新的共享密钥,从而减少了标签的计算量;在标签与读写器之间传输的信息都是经过加密后再传输,使攻击者难以获取有效信息,可有效提高安全性能。

权利要求 :

1.一种基于标签ID的超轻量级RFID双向认证方法,其特征在于,包括如下步骤:第一步,读写器向标签发送认证请求命令;

第二步,标签在接收到认证请求命令后将标识符前半部分值ID_L发送至读写器;

第三步,读写器判断接收到的标识符前半部分值ID_L是否在储存数据中存在相同数值:若不存在,则判定标签伪造,认证结束;

若存在,则读写器调取与所述标识符前半部分值ID_L相对应的标识符ID’、标识符后半部分值ID_R’和共享密钥K’,并产生随机数r;随机数r、标识符前半部分值ID_L’、标识符后半部分值ID_R’和共享密钥K’的长度相同;读写器将标识符后半部分值ID_R’和随机数r加密形成数值A;将标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r加密形成数值B;读写器将数值A和数值B发送至标签;

第四步,标签利用标识符后半部分值ID_R解密数值A得到数值r’;利用标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’计算数值B’;判断数值B和数值B’的大小:若数值B≠数值B’,则判定读写器伪造,认证结束;

若数值B=数值B’,则判定读写器合法;标签将标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’加密形成数值D,并将数值D发送至读写器;

第五步,读写器利用标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r计算数值D’;判断数值D和数值D’的大小:若数值D≠数值D’,则判定标签伪造,认证结束;

若数值D=数值D’,则判定标签合法;读写器计算新的共享密钥K’new以实现共享密钥更新,并将新的共享密钥K’new和随机数r加密形成数值E;读写器将数值E发送至标签;

第六步,标签利用数值r’解密数值E来获取新的共享密钥Knew;

所述第三步中,读写器将标识符后半部分值ID_R’和随机数r加密形成数值A是指:A=ID_R’⊕r;

所述第三步中,将标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r加密形成数值B是指:B=CRC(Cro(K’||ID_R’,ID’)⊕(K’||r));

所述第四步中,标签将标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’加密形成数值D是指:D=CRC(Cro(K,r’)||ID_R⊕ID);

其中,⊕为异或运算;||为连接运算符;Cro为交叉位运算;CRC为循环校验函数。

2.根据权利要求1所述的基于标签ID的超轻量级RFID双向认证方法,其特征在于,所述第四步中,标签利用标识符后半部分值ID_R解密数值A得到数值r’是指:r’=A⊕ID_R。

3.根据权利要求1所述的基于标签ID的超轻量级RFID双向认证方法,其特征在于,所述第四步中,利用标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’计算数值B’是指:B’=CRC(Cro(K||ID_R,ID)⊕(K||r’))。

4.根据权利要求1所述的基于标签ID的超轻量级RFID双向认证方法,其特征在于,所述第五步中,读写器利用标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r计算数值D’是指:D’=CRC(Cro(K’,r)||ID_R’⊕ID’)。

5.根据权利要求1所述的基于标签ID的超轻量级RFID双向认证方法,其特征在于,所述第五步中,读写器计算新的共享密钥K’new以实现共享密钥更新是指:K’new=CRC(Cro(r,ID_R’)⊕K’)。

6.根据权利要求1所述的基于标签ID的超轻量级RFID双向认证方法,其特征在于,所述第五步中,将新的共享密钥K’new和随机数r加密形成数值E是指:E=K’new⊕r;

所述第六步中,标签利用数值r’解密数值E来获取新的共享密钥Knew是指:Knew=r’⊕E。

说明书 :

一种基于标签ID的超轻量级RFID双向认证方法

技术领域

[0001] 本发明涉及射频识别技术领域,更具体地说,涉及一种基于标签ID的超轻量级RFID双向认证方法。

背景技术

[0002] RFID(Radio Frequency Identification,射频识别)是一种自动识别人或物的非接触式技术,这种识别无需物理接触或其它任何可见的接触。如今,RFID系统广泛应用于供应链管理场合、数字图书馆管理场合、防伪造的电子护照系统,甚至是构建智能自组网络环境等等。
[0003] RFID系统包含有后端数据库、读写器及标签三部分。后端数据库和读写器之间的通信信道,一般认为是安全可靠的;读写器和标签之间的信道暴露在空气中,极容易被监听,进一步的还可以对读写器或标签进行伪造欺骗,因此需要为读写器和标签之间的通信设计可靠的双向认证协议,用以保证整个RFID系统的安全性。
[0004] 为了降低标签的生产成本,在设计更加安全的双向认证协议时,同时也要考虑低成本标签的有限计算能力和存储空间。由于标签的大规模生产,使得降低标签成本的需求越来越突出。然而,标签成本的降低,往往需要在设计系统时牺牲一定的安全性。
[0005] 二代标签在2006年作为ISO18000-6C标准被采纳,并将应用于主流的RFID系统。二代标签包含一个伪随机数产生器并使用循环冗余校验码(Cyclic Redundancy Check,CRC)来保证信息的完整性。其存储空间被划分为四个部分:保留存储区、产品电子编码区(EPC)、标签ID区和用户区。二代标签通过电线接收来自阅读器的供电。
[0006] 早期的认证协议LMAP使用了简单的异或(XOR)、与(AND)、或(OR)及模二加(+)运算,有效的降低了标签的生产成本。LMAP协议后被称为超轻量级认证协议,然而,LAMP协议并不完善,经过研究发现存在安全漏洞。改进的超轻量认证协议SASI引入了左循环位移运算Rot(X,Y):将X循环左移wt(y)位,wt(y)为Y的汉明重量,通过Rot运算提高了协议加密算法的复杂程度,增强了认证的安全性。然而后来又被指出该协议的输出结果具有较大的偏重性,导致标签的隐私性不强且易受跟踪攻击。此后,研究人员又引入MIXBITS函数提出了Gossamer协议,但有学者分析发现其存在拒绝服务攻击等安全缺陷。
[0007] 此外,现有认证方法还存在以下不足:(一)在认证过程中,标签需要产生随机数,因此标签上必须安装有随机数产生器,随机数产生器的存在使得标签门电路的个数增多,导致实现成本增加;(二)标签与读写器之间传输的信息通过明文传输,攻击者很容易就可获取某些隐私,存在着严重的安全缺陷;(三)使用HASH函数、DES算法等运算量大的算法进行加密运算,整个认证过程时间较长,使得标签的成本达不到超轻量级认证协议的要求;(四)认证过程中所涉及到的量较多,必然会导致计算量的增加,同时标签需要存放的信息较多,必然使得标签端的存储空间增大,从而导致标签的整体成本上升。
[0008] 基于上述原因,因此设计一种运算量少、认证时间短、有利于降低标签成本、安全性能高的双向认证方法具有重大的实用价值。

发明内容

[0009] 本发明的目的在于克服现有技术中的缺点与不足,提供一种基于标签ID、充分利用标签和读写器之间共享的标签唯一的标识符信息、运算量少、认证时间短、可降低标签成本、安全性能高的超轻量级RFID双向认证方法。
[0010] 为了达到上述目的,本发明通过下述技术方案予以实现:一种基于标签ID的超轻量级RFID双向认证方法,其特征在于,包括如下步骤:
[0011] 第一步,读写器向标签发送认证请求命令;
[0012] 第二步,标签在接收到认证请求命令后将标识符前半部分值ID_L发送至读写器;
[0013] 第三步,读写器判断接收到的标识符前半部分值ID_L是否在储存数据中存在相同数值:
[0014] 若不存在,则判定标签伪造,认证结束;
[0015] 若存在,则读写器调取与所述标识符前半部分值ID_L相对应的标识符ID’、标识符后半部分值ID_R’和共享密钥K’,并产生随机数r;随机数r、标识符前半部分值ID_L’、标识符后半部分值ID_R’和共享密钥K’的长度相同;读写器将标识符后半部分值ID_R’和随机数r加密形成数值A;将标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r加密形成数值B;读写器将数值A和数值B发送至标签;
[0016] 第四步,标签利用标识符后半部分值ID_R解密数值A得到数值r’;利用标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’计算数值B’;判断数值B和数值B’的大小:
[0017] 若数值B≠数值B’,则判定读写器伪造,认证结束;
[0018] 若数值B=数值B’,则判定读写器合法;标签将标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’加密形成数值D,并将数值D发送至读写器;
[0019] 第五步,读写器利用标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r计算数值D’;判断数值D和数值D’的大小:
[0020] 若数值D≠数值D’,则判定标签伪造,认证结束;
[0021] 若数值D=数值D’,则判定标签合法;读写器计算新的共享密钥K’new以实现共享密钥更新,并将新的共享密钥K’new和随机数r加密形成数值E;读写器将数值E发送至标签;
[0022] 第六步,标签利用数值r’解密数值E来获取新的共享密钥Knew。
[0023] 优选地,所述第三步中,读写器将标识符后半部分值ID_R’和随机数r加密形成数值A是指:A=ID_R’⊕r;
[0024] 所述第四步中,标签利用标识符后半部分值ID_R解密数值A得到数值r’是指:r’=A⊕ID_R。
[0025] 所述第三步中,将标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r加密形成数值B是指:B=CRC(Cro(K’||ID_R’,ID’)⊕(K’||r));
[0026] 所述第四步中,利用标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’计算数值B’是指:B’=CRC(Cro(K||ID_R,ID)⊕(K||r’))。
[0027] 所述第四步中,标签将标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’加密形成数值D是指:D=CRC(Cro(K,r’)||ID_R⊕ID);
[0028] 所述第五步中,读写器利用标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r计算数值D’是指:D’=CRC(Cro(K’,r)||ID_R’⊕ID’)。
[0029] 所述第五步中,读写器计算新的共享密钥K’new以实现共享密钥更新是指:K’new=CRC(Cro(r,ID_R’)⊕K’)。
[0030] 所述第五步中,将新的共享密钥K’new和随机数r加密形成数值E是指:E=K’new⊕r;
[0031] 所述第六步中,标签利用数值r’解密数值E来获取新的共享密钥Knew是指:Knew=r’⊕E。
[0032] 与现有技术相比,本发明具有如下优点与有益效果:
[0033] 1、本发明双向认证方法抛弃传统的Hash运算加密传输的方法,采用位运算方法以及循环校验码方法对传输信息进行加密,从而减少标签及读写器的运算量,使通讯协议可以达到超轻量级的级别,缩短认证时间;
[0034] 2、本发明双向认证方法不同于传统方法采用标签产生随机数的方式,选择由读写器产生随机数,从而达到降低标签成本的目标;
[0035] 3、本发明双向认证方法充分利用标签和读写器之间共享的标签唯一的标识符信息,减少信息的引入和存放,将标识符分成标识符前半部分值和标识符后半部分值两个部分进行加密传输,作为双向认证的凭据,从而降低标签的存储成本;
[0036] 4、本发明双向认证方法抛弃以往在标签通过复杂计算来更新标签与读写器之间共享密钥的做法,而是在读写器计算新的共享密钥,并将新共享密钥通过简单的加密传输给标签,标签只需要进行简单的异或运算即可得到新的共享密钥,从而减少了标签的计算量;
[0037] 5、本发明双向认证方法在标签与读写器之间传输的信息都是经过加密后再传输,使攻击者难以获取有效信息,可有效提高安全性能。

附图说明

[0038] 图1是本发明双向认证方法的流程图;
[0039] 图2是本发明双向认证方法中交叉位运算计算过程流程图。

具体实施方式

[0040] 下面结合附图与具体实施方式对本发明作进一步详细的描述。
[0041] 实施例
[0042] 本实施例基于标签ID的超轻量级RFID双向认证方法,其流程如图1所示,包括如下步骤:
[0043] 第一步,读写器向标签发送认证请求命令;例如发送字符串“Hello”作为认证请求命令;
[0044] 第二步,标签在接收到认证请求命令后将标识符前半部分值ID_L发送至读写器;标识符前半部分值ID_L是指储存在标签中的标识符ID的前半部分;
[0045] 第三步,读写器判断接收到的标识符前半部分值ID_L是否在储存数据中存在相同数值:
[0046] 若不存在,则判定标签伪造,认证结束;
[0047] 若存在,则读写器调取与所述标识符前半部分值ID_L相对应的标识符ID’、标识符后半部分值ID_R’和共享密钥K’,并产生随机数r;随机数r、标识符前半部分值ID_L’、标识符后半部分值ID_R’和共享密钥K’的长度相同;读写器将标识符后半部分值ID_R’和随机数r加密形成数值A:A=ID_R’⊕r;将标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r加密形成数值B:B=CRC(Cro(K’||ID_R’,ID’)⊕(K’||r));读写器将数值A和数值B发送至标签;
[0048] 第四步,标签利用标识符后半部分值ID_R解密数值A得到数值r’:r’=A⊕ID_R;利用标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’计算数值B’:B’=CRC(Cro(K||ID_R,ID)⊕(K||r’));
[0049] 若标签和读写器均合法时,则标签中储存的标识符ID、标识符后半部分值ID_R和共享密钥K分别与读写器中储存的标识符ID’、标识符后半部分值ID_R’和共享密钥K’相等,因此,得到的数值r’与随机数r相等,数值B’与数值B相等;根据该原理,可以通过判断数值B和数值B’的大小来辨别读写器真伪;
[0050] 判断数值B和数值B’的大小:
[0051] 若数值B≠数值B’,则判定读写器伪造,认证结束;
[0052] 若数值B=数值B’,则判定读写器合法;标签将标识符ID、标识符后半部分值ID_R、共享密钥K和数值r’加密形成数值D:D=CRC(Cro(K,r’)||ID_R⊕ID);并将数值D发送至读写器;
[0053] 第五步,读写器利用标识符ID’、标识符后半部分值ID_R’、共享密钥K’和随机数r计算数值D’:D’=CRC(Cro(K’,r)||ID_R’⊕ID’);若标签和读写器均合法时,则数值D和数值D’相等,因此可通过判断数值D和数值D’的大小来辨别标签真伪;
[0054] 判断数值D和数值D’的大小:
[0055] 若数值D≠数值D’,则判定标签伪造,认证结束;
[0056] 若数值D=数值D’,则判定标签合法;读写器计算新的共享密钥K’new以实现共享密钥更新:K’new=CRC(Cro(r,ID_R’)⊕K’);并将新的共享密钥K’new和随机数r加密形成数值E:E=K’new⊕r;读写器将数值E发送至标签;
[0057] 第六步,标签利用数值r’解密数值E来获取新的共享密钥Knew:Knew=r’⊕E。
[0058] 上述方法中,⊕为异或运算;||为连接运算符;Cro为交叉位运算;CRC为循环校验函数。
[0059] 具体地,设X、Y是两个具有偶数位L位的二进制数,X=x1x2x3...xL,Y=y1y2y3...yL;其中,xi,yi取值范围为{0,1},i=1,2,..L;交叉位运算Cro(X,Y)是指由X的奇数位和Y的偶数位相互交叉形成新的L位数组;交叉位运算可在标签中有效实现:定义两个指针p1和p2分别指向X和Y,当p1指向X的奇数位时,把此位置上的值赋予运算结果的偶数位;当p2指向Y的偶数位时,则把此位置上的指赋予运算结果的奇数位。例如,取长度L=12,设X=
111000110110,Y=011001011100,则Cro(X,Y)=110110111001,如图2所示。
[0060] 本实施例双向认证方法具有以下优点:
[0061] 1、本实施例双向认证方法抛弃传统的Hash运算加密传输的方法,采用位运算方法以及循环校验码方法对传输信息进行加密,从而减少标签及读写器的运算量,使通讯协议可以达到超轻量级的级别,缩短认证时间;
[0062] 2、本实施例双向认证方法不同于传统方法采用标签产生随机数的方式,选择由读写器产生随机数,从而达到降低标签成本的目标;
[0063] 3、本实施例双向认证方法充分利用标签和读写器之间共享的标签唯一的标识符信息,减少信息的引入和存放,将标识符分成标识符前半部分值和标识符后半部分值两个部分进行加密传输,作为双向认证的凭据,从而降低标签的存储成本;
[0064] 4、本实施例双向认证方法抛弃以往在标签通过复杂计算来更新标签与读写器之间共享密钥的做法,而是在读写器计算新的共享密钥,并将新共享密钥通过简单的加密传输给标签,标签只需要进行简单的异或运算即可得到新的共享密钥,从而减少了标签的计算量;
[0065] 5、本实施例双向认证方法在标签与读写器之间传输的信息都是经过加密后再传输,使攻击者难以获取有效信息,可有效提高安全性能。
[0066] 实际应用中,所述第三步中数值A和数值B的计算可采用其它公式,且第四步中采用对应的计算公式得到数值r’和数值B’。所述第四步数值D和第五步中数值D’的计算也可采用其它公式,只要计算数值D和计算数值D’的公式对应即可。此外,第五步中新的共享密钥K’new和数值E可采用其它公式,且第六步中采用对应的计算公式得到新的共享密钥Knew。
[0067] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。