应用于物联网的RFID标签安全认证方法与装置与流程

文档序号:12468035阅读:306来源:国知局
应用于物联网的RFID标签安全认证方法与装置与流程

本发明涉及应用于物联网的RFID标签安全认证方法与装置。



背景技术:

随着无线射频技术(Radio Frequency Identification,RFID)在物联网中的广泛应用,RFID系统的安全问题也日益突出,这已经成为制约RFID技术发展的关键问题之一,尤其是低成本RFID系统,由于受到设备成本的限制,安全问题尤为突出。为了推动RIFD系统的普及应用,EPC global和ISO制定了EPC-C1G2标准,并被ISO接收为国际标准ISO18000-6C。由于C1G2标准主要设计目标是针对低成本标签,复杂度低,故存在一定的安全隐患,为了提高标准的安全性,LO和Yeh提出了兼容EPC-C1G2标准的安全协议,本文对LO和Yeh所提出协议安全性进行分析,找出了协议的安全漏洞,并在此基础上提出了应对密钥攻击的低成本RFID改进协议;但是该协议存在一定的安全漏洞。攻击者仅需拦截标签和阅读器之间的对话,即能分析出标签密码信息。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供应用于物联网的RFID标签安全认证方法与装置,其能抵御窃听、重放、跟踪、阻断、模拟等多种攻击。

本发明的目的采用以下技术方案实现:

应用于物联网的RFID标签安全认证方法,包括如下步骤:

S10、阅读器随机生成参数N1,并将参数N1发送给标签;

S11、标签随机生成参数N2,计算参数和参数并将参数M1,参数M2和flag发送至阅读器;

S12、阅读器将flag设为1,并将参数M1,参数M2,参数N1和flag发送至后台数据库;

S13、后台数据库设置参数并计算再判断和EPCX||Kx||N1||N2||CRC(EPCX||N1||N2)是否相等;如果是,则后台数据库认证成功,执行S14;否则结束流程;

S14、后台数据库随机生成两个参数N3和N4,并计算参数和参数更新共享密钥将参数M3、参数M4和对象数据发送给阅读器,以使阅读器将参数M3、参数M4发送至标签;执行S15;

S15、标签设置参数以及计算判断与EPCX||N4||CRC(EPCX||N4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束流程。

作为优选,S10之前还包括如下步骤:

S00、当flag=0执行S10,当flag=1时执行S20;

S20、阅读器随机生成参数N'1,并将参数N'1发送给标签;

S21、标签随机生成参数N′2,计算参数和参数并将参数M'1,参数M'2和flag发送至阅读器;

S22、阅读器将参数M′1,参数M′2,参数N′1和flag发送至后台数据库;

S23、后台数据库设置参数以及计算判断和EPCXDB||Kx||N′1||N′2||CRC(EPCX||N′1||N′2)是否相等,如果是则系统通过认证,执行S24;否则结束流程;

S24、后台数据库随机生成两个参数N′3和N′4,并计算参数和参数更新共享密钥将参数M′3、参数M′4和对象数据发送给阅读器,以使阅读器将参数M′3、参数M′4发送至标签;执行S25;

S25、标签设置参数以及计算判断与EPCX||N′4||CRC(EPCX||N′4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束流程。

应用于物联网的RFID标签安全认证装置,包括:

第一生成模块,应用于阅读器,用于随机生成参数N1,并将参数N1发送给标签;

第一处理模块,应用于标签,用于随机生成参数N2,计算参数和参数并将参数M1,参数M2和flag发送至阅读器;

第一发送模块,应用于阅读器,用于将flag设为1,并将参数M1,参数M2,参数N1和flag发送至后台数据库;

第一判断模块,应用于后台数据库,用于设置参数并计算再判断和EPCX||Kx||N1||N2||CRC(EPCX||N1||N2)是否相等;如果是,则后台数据库认证成功,执行第二处理模块;否则结束;

第二处理模块,应用于后台数据库,用于随机生成两个参数N3和N4,并计算参数和参数更新共享密钥将参数M3、参数M4和对象数据发送给阅读器,以使阅读器将参数M3、参数M4发送至标签;执行第二判断模块;

第二判断模块,应用于标签,用于设置参数以及计算判断与EPCX||N4||CRC(EPCX||N4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束。

作为优选,RFID认证装置还包括:

总判断模块,用于在flag=0执行第一生成模块,在flag=1时执行第二生成模块;

第二生成模块,应用于阅读器,用于随机生成参数N'1,并将参数N'1发送给标签;

第三处理模块,应用于标签,用于随机生成参数N′2,计算参数和和参数;并将参数M'1,参数M'2和flag发送至阅读器;

第二发送模块,应用于阅读器,用于将参数M′1,参数M′2,参数N′1和flag发送至后台数据库;

第三判断模块,应用于后台数据库,用于计算参数和判断和EPCXDB||Kx||N′1||N′2||CRC(EPCX||N′1||N′2)是否相等,如果相同,则系统通过认证,执行第四处理模块;否则结束;

第四处理模块,应用于后台数据库,用于随机生成两个参数N′3和N′4,并计算参数和参数更新共享密钥将参数M′3、参数M′4和对象数据发送给阅读器,以使阅读器将参数M′3、参数M′4发送至标签;执行第四判断模块;

第四判断模块,应用于标签,用于设置参数以及计算判断与EPCX||N′4||CRC(EPCX||N′4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束。

相比现有技术,本发明的有益效果在于:通过在服务器上保存每个标签新、旧标识,有效的解决了服务器和标签的同步问题,进一步提高了系统安全性。同时能有效抵御窃听攻击、重放攻击、跟踪攻击、阻断攻击、模拟攻击,具有较高的安全性和实用性。

附图说明

图1为本发明的认证方法的流程图一;

图2为本发明的认证方法的流程图二;

图3为本发明的认证装置的模块图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

应用于物联网的RFID标签安全认证方法,应用于RFID通信系统,包括阅读器、标签和后台数据库。如图1至图2所示,包括如下步骤:

步骤100、当flag=0执行步骤101,当flag=1时执行步骤201。

步骤101、阅读器随机生成参数N1,并将参数N1发送给标签。

步骤102、标签将参数M1,参数M2和flag发送至阅读器;其中:

N2为标签随机生成的参数;EPC(Electronic Product Code)即电子产品编码,是RFID的编码系统。它建立在EAN.UCC(即全球统一标识系统)条型编码的基础之上,并对该条形编码系统做了一些扩充,用以实现对单品进行标志。EPCX是标签x的EPC编码,PRNG是伪随机噪声发生器,CRC是循环冗余校验,f是散列函数;Kx是标签x的共享密钥。

步骤103、阅读器将flag设为1,并将参数M1,参数M2,参数N1和flag发送至后台数据库;

步骤104、后台数据库根据EPCX,设置参数并计算再判断是否等于EPCX||Kx||N1||N2||CRC(EPCX||N1||N2);如果是,则后台数据库认证成功,并执行步骤105;否则结束流程。此时后台数据库已经进行了验证,在后台数据库这边已经验证通过。

步骤105、后台数据库随机产生两个参数N3和N4,并计算参数M3和参数M4,具体:

更新共享密钥

通过安全通道将参数M3、参数M4和对象数据发送给阅读器,以使阅读器将参数M3、参数M4发送至标签;执行步骤106。安全通道是网络层的协议,在网络层下面还有物理层的协议保障安全。

步骤106、标签设置参数以及计算判断与EPCX||N4||CRC(EPCX||N4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束流程。此时标签已经通过验证,也就是此次通信双方都完成了验证。

步骤201、阅读器随机生成一个参数N'1,并将参数N'1发送给标签。

步骤202、标签将参数M'1,参数M'2和flag发送至阅读器;其中:

N′2为标签随机生成的参数。

步骤203、阅读器将参数M′1,参数M′2,参数N′1和flag发送至后台数据库;

步骤204、后台数据库根据EPCX和KX,设置参数并计算判断是否等于EPCXDB||Kx||N′1||N′2||CRC(EPCX||N′1||N′2),如果相同,则系统通过认证,执行步骤205;否则结束流程。

步骤205、后台数据库随机生成两个参数N′3和N′4,并计算参数M′3和参数M′4,具体:

更新共享密钥

通过安全通道将参数M′3、参数M′4和对象数据发送给阅读器,以使阅读器将参数M′3、参数M′4发送至标签;执行步骤206。

步骤206、标签设置参数以及计算判断与EPCX||N′4||CRC(EPCX||N′4)是否相等,如果是则标签认证成功,更新密钥并设置flag=0;否则结束流程。

以下将对协议进行逻辑分析,证明协议的可行性,为说明方便,我们做出以下定义和逻辑假定:

P信任X(P believes X):P信任X是正确的。(1)

P接收X(P sees X):P接收到包含了X的信息(2)

P发送X(P said X):P发送了包括X的信息。(3)

P控制X(P controls X):P是X的权威,P的权限大于X,能够控制X(4)

fresh(X):表示X在之前没有发送过。(5)

秘钥K被P、Q共享(6)

{X}K:X被秘钥K保护(7)

S信任

T信任

S信任T控制{EPCx}(10)

T信任S控制{EPCx}(11)

S信任fresh(N1,N2)(12)

T信任fresh(N3,N4)(13)

由式1、2可知,如果P信任P接收{X}K,则P认为X是由Q发送的。(14)

由式1、3、5可知,如果P信任fresh(X),并且P信任Q发送X,则P认为Q信任X(15)

规则3:如果P信任Qcontrols X,并且P信任Q信任X,则我们认为P信任X(16)

规则4:如果P接收到包含了(X,Y)的信息,则P接收到包含X的信息(17)

由式4、5可知,如果P信任fresh(X),则P信任fresh(X,Y)(18)

协议具体实现如下:

1、S接收到

2、T、S共享Kx

3、S信任T发送了{EPCx,N1,N2}结论1

4、S信任{N1,N2}之前没有被发送过

5、S信任{EPCx,N1,N2}之前没有发送过,结论2

6、由结论1、2可得:S信任T信任{EPCx,N1,N2}结论3

7、由规则2、假设3,S信任T控制{EPCx}

8、由规则3,S信任{EPCx}结论4

9、由第三步可知,T接收到

10、由假设2,T信任T、S共享Kx

11、由规则1,T信任T发送了{EPCx,N4}结论5

12、由假设6可知,T信任{N4}之前没有发送过

13、由规则5,T信任{EPCx,N4}之前没有发送过

14、由规则2,T信任S信任{EPCx,N4}结论7

15、由假设4,T信任S控制{EPCx}结论7

16、由规则3,T信任{EPCx}

基于结论3,4,7,8,通过使用检索值EPCx,S和T能够相互认证。那是非常明显,协议能够获得相互认证的特性。另外,由于T和S能够成功验证{epcx,n1}、{epcx,n4},则证明这种密钥更新机制是可行的。

在RFID中,重放攻击主要包括两种,是攻击者重放标签的响应去伪造标签的存在,是攻击者模拟阅读器重放查询去攻击标签。抵御重放攻击主要有时间戳和参数两种办法,本协议采用参数的办法抵御重放攻击。

首先,在本方法中,重放标签的响应是没有用的。因为在标签、读写器、服务器之间在通信时,都包含了N1、N2、N3等参数,每次通信都会对相应的参数进行更新,而重放攻击的数据包含的是旧参数,阅读器就可以通过比较接收到得参数和存储的参数来判断标签是否存在。

其次,重放阅读器的查询对协议也不能构成威胁。因为标签收到的数据M2,是包含了标签自己发出的参数N2,只需将接收到的参数与之前发出的参数进行比较即可判断是否需要发出响应。

攻击者经常通过伪造成阅读器发送查询信息,诱骗标签发送响应,并根据响应的内容来跟踪标签的运动。在本协议中,标签只会对合法的查询信息进行响应。如果攻击者不知道标签的ID,是无法诱使标签返回信息的,而查询和响应都是经过加密的,不会泄露标签的ID信息。攻击者即使重放查询,并捕获响应,仍然不知道发送响应的标签ID,不能跟踪他想要的标签。如果标签的ID泄露,但由于每次标签产生的N2不同,发送的内容也不相同,故无法跟踪。即使一个标签信息泄露,其所有的秘密数据被攻击者捕获,但由于我们的密钥是自动更新的,所以攻击者不能捕获到该标签之前的运动轨迹。

窃听攻击是攻击者通过偷听阅读器和标签之间的通信,获取标签ID,共享密钥等信息,同时,利用这些信息跟踪标签。本协议可以有效的抵御窃听攻击。

根据Shannon理论,如果在异或操作中至少有一项是随机的,那么一个简单的异或运算就能够很好的对传输数据进行加密。在本协议中,需传输的信息M1、M2分别与进行异或运算,参数N2、N3在每一轮传输中都会改变,因此,阅读器与标签之间的数据通信是安全的。

DoS攻击是指通过暴力手段耗尽被攻击对象的资源,使得服务器或网络无法提供正常的服务或资源访问。关于DoS攻击,我们通过设置flat位来抵御DoS攻击,当前一次通信成功时,flag=0,其中:当flag=1时,由于EPC时是不变化的,那即使被攻击者异常打断,也可以重新更新共享密钥KX

因为被动式RFID标签没有电源,所以安全算法的性能就至关重要,下面,我们将从计算能力和存储空间二个方面进行分析:

本发明提出了安全、高效、实用的,能适用于低成本RFID系统的双向认证方法。该方法通过在服务器上保存每个标签新、旧标识,有效的解决了服务器和标签的同步问题,进一步提高了系统安全性。同时能有效抵御窃听攻击、重放攻击、跟踪攻击、阻断攻击、模拟攻击,具有较高的安全性和实用性。

应用于物联网的RFID标签安全认证装置,如图3所示,包括:

总判断模块,用于在flag=0执行第一生成模块,在flag=1时执行第二生成模块;

第一生成模块,应用于阅读器,用于随机生成参数N1,并将参数N1发送给标签;

第一处理模块,应用于标签,用于随机生成参数N2,计算参数和参数并将参数M1,参数M2和flag发送至阅读器;

第一发送模块,应用于阅读器,用于将flag设为1,并将参数M1,参数M2,参数N1和flag发送至后台数据库;

第一判断模块,应用于后台数据库,用于设置参数并计算再判断和EPCX||Kx||N1||N2||CRC(EPCX||N1||N2)是否相等;如果是,则后台数据库认证成功,执行第二处理模块;否则结束;

第二处理模块,应用于后台数据库,用于随机生成两个参数N3和N4,并计算参数和参数更新共享密钥将参数M3、参数M4和对象数据发送给阅读器,以使阅读器将参数M3、参数M4发送至标签;执行第二判断模块;

第二判断模块,应用于标签,用于设置参数以及计算判断与EPCX||N4||CRC(EPCX||N4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束。

第二生成模块,应用于阅读器,用于随机生成参数N'1,并将参数N'1发送给标签;

第三处理模块,应用于标签,用于随机生成参数N′2,计算参数和和参数;并将参数M'1,参数M'2和flag发送至阅读器;

第二发送模块,应用于阅读器,用于将参数M′1,参数M′2,参数N′1和flag发送至后台数据库;

第三判断模块,应用于后台数据库,用于计算参数和判断和EPCXDB||Kx||N′1||N′2||CRC(EPCX||N′1||N′2)是否相等,如果相同,则系统通过认证,执行第四处理模块;否则结束;

第四处理模块,应用于后台数据库,用于随机生成两个参数N′3和N′4,并计算参数和参数更新共享密钥将参数M′3、参数M′4和对象数据发送给阅读器,以使阅读器将参数M′3、参数M′4发送至标签;执行第四判断模块;

第四判断模块,应用于标签,用于设置参数以及计算判断与EPCX||N′4||CRC(EPCX||N′4)是否相等,如果是则标签认证成功,更新共享密钥并设置flag=0;否则结束。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1