APP下载

基于流密码加密的RFID双向认证协议的研究

2017-08-12

计算机应用与软件 2017年7期
关键词:阅读器双向密钥

夏 辉 吴 鹏

(沈阳师范大学软件学院 辽宁 沈阳 110034)



基于流密码加密的RFID双向认证协议的研究

夏 辉 吴 鹏

(沈阳师范大学软件学院 辽宁 沈阳 110034)

针对目前RFID系统难以抵抗各种网络攻击,如伪造标签攻击,无抵抗嗅探能力等,并且很多无源RFID标签,存储容量和计算能力较差,这些标签都无法使用高级的加密算法,如非对称加密算法。本文分析了很多现存的主流RFID标签的认证加密协议,推出一种全新的可以抵御服务攻击的RFID双向认证协议。该认证协议是基于密钥动态更新和流密码加密方式设计的,它的健壮性、安全性、效率会更好。通过实验比较各个认证协议的安全性。实验表明,在同等条件下,比较几种协议被攻击的次数,提出的双向认证协议安全性更好。

流密码 双向认证 电子标签 安全 认证协议

0 引 言

RFID[1]是一种无线射频识别技术,它无需和获取数据的对象进行接触,通过频率信号和无线传感技术获取所需要的相关数据。RFID对信号进行识别不需要人力监控和参与,免除人们工作在各种恶劣环境。伴随着互联网和电子通信技术的不断发展,RFID标签也越来越多地应用于工业、农业等各个行业领域,由于业务需要,低成本而且运算及储存能力较强的同步密钥标签逐渐成为主流。对于这些RFID标签,通常使用某些加密方式来抵御外界攻击。一些相关专家学者提出了一些加密协议,如Hash链[16]、Hash-Lock协议[15-17]等协议、LCAP协议[18-20]等,但这些协议都存在着被网络攻击的安全隐患。

1 传统RFID加密方法

(1) Hash-Lock加密协议

在Hash-Lock协议中,使用metaID替换实际的标记Tag ID。如图1所示的Hash-Lock协议流程,阅读器读取的Tag标签MetaID不是真正的Tag ID,通过这样的方法来减少信息的盗取,然而每次标签回应给数据库和阅读器的都是同一个信息,这样才能保证两次回应的是同一标签。这样做虽然便于阅读器识别标签,但是同样也给盗窃者创造了复制标签信息的机会。因此从这个角度来看,Hash-Lock协议的安全性存在着漏洞。

图1 Hash-Lock协议加密过程

(2) 随机化Hash-Lock协议

由于Hash-Lcok协议标签回复给阅读器信息的固定化而使其表现出不安全性,随机化Hash-Lock协议[11-15]在这方面有所改进,它的主要特征是标签Tag回复信息MeataID不是固定而是随机变化的。如图2所示。标签对阅读器的回馈是一个随机数rk,并输出rk,H(IDk‖rk)。H是Hash函数,‖表示级联。当阅读器接受完所有随机数和rk,H(IDk‖rk)后,根据所有的rk和数据库中的IDk计算Hash值,如果得到的Hash值和标签发送的Hash值相匹配,则数据库将IDk返回给阅读器。该技术来带来了一定的安全性能,还实现了标签与阅读器的双向认证。但由于每次阅读器询问后标签都要重新搜索数据,并且更新标签值,因此计算量非常大,当遇到大规模的计算和数据更新时,会使得该协议速度非常慢,甚至经常会出现系统“死机”现象。

图2 随机Hash-Lock协议加密过程

(3) O-FRAP协议

O-FRAP协议[9-10]是一种密钥在认证后被更新的协议,该协议保证前向可靠,很难被跟踪。由于随机数r和服务器的共享密钥是绑定在一起的,这样保证后台数据库与标签的数据同步。每次查询都要对所有数据库的各个记录进行认证和比对,这样就会使攻击者复制射频Tag与阅读器的信息,造成后台服务器可能遭受外界的入侵。同时,由于Tag随机数和密钥并不是同步的,那么就会给伪造者进行同步伪造,在随机书和密钥同步前进行伪造攻击,那么就可以使得伪密钥和随机书进行更新,从而攻击了系统。

从上面的所描述的三种RFID加密协议来看,目前还没有一个计算简单、安全性强并且成本较低的安全协议。然而现在许多RFID系统应用广泛,随着互联网的不断渗透,服务器不断通信,攻击者会伪造RFID标签来攻击和入侵服务器,因此,本文提出了一个安全协议解决这个问题。

2 流密码加密过程

流密码加密算法[5-8]是对称加密算法的一种,加密和解密双方使用的是相同的密钥,明文数据每次和密钥数据流[2-4]顺次对应加密,从而得到秘闻数据流。具体变化过程如图3所示。流密码加密过程如下所示:

ci=Eki(mi)i=1,2,…,n

(1)

其中明文流为:M=m1,m2,…,mn,密钥流为:K=k1,k2,…,kn,由式(1)得到密文流:C=c1,c2,…,cn其解密过程如下所示:

mi=Dki(mi)i=1,2,…,n

(2)

Ek是加密函数,Dk是Ek反变换。最后的密文是由密钥发生器输出的位序列:k1,k2,…,kn和明文序列m1,m2,…,mn进行异或运算产生的结果。如式(3)所示:

ci=mi⊕ki

(3)

同样解密时,密文序列与密文流进行异或运算,从而可以得到明文密钥,如下所示:

mi=ci⊕ki

(4)

图3 流密码加密与解密流程

3 本文的流密码协议流程

本协议设计原则时首先考虑到标签的安全性,其次考虑到成本,同时兼顾到运算、存储能力较好的RFID标签。对于这种标签,本文使用一些有效加密措施来抵御外来的服务攻击。

3.1 设计思路

本文采纳了随机Hash-Lock协议的优点,采用了流密码加密结合伪随机生成函数PRNG()方法,设计了一个较为保密的认证协议。其主要思路为,每一个标签和服务器都使用两个密钥:公共密钥kc与私有密钥kt,公共密钥用来识别阅读器和标签是否合法,这个值相对来说是固定的;然而私有的密钥kt在认证的过程中进行更新和变化。协议认证第一步:阅读器、标签,以及服务器上的密钥流产生器会产生初始密钥kc和kt。第二步:就可以利用流密码加密过程的异或运算来进行加密二进制明文,并且每个密钥流产生器都是采用相同算法。

3.2 协议加密过程

本文提出协议的认证过程可见图4所示流程,主要可以由下面几个步骤来描述:

Step1 标签Tag进入到阅读器可读范围内后,阅读器会发送一个Query信号给Tag。阅读器收到信号后会产生一个与ID位数相同的随机数rt,然后把这个随机数rt发送给阅读器。

Step2 当阅读器收到Tag发送数据后,同时也会生成一个随机数rr,并与接收的rt一同传送到服务器S,接着服务器S就去连接rr与rt:b=rt‖rr;最后利用kc来加密b:c=kc(b),而且把c传回到阅读器。

Step5 首先服务器s将收到的a和rt进行异或运算n=a⊕r,将它记作kc(ID),然后利用n作为查询条件,从数据库中搜索标签的记录,然后从这些记录中去找寻标签对应的ID和私有密钥kt:(ID,kt)←D.query(n)。具体 过程见下面三个步骤:

(1) 使用密钥kt进行加密rt:d′=kt(rt)。然后来判定d和d′是否相同,如果这两个值相同,那我们认定Tag合法,就可以通过此认证,接着再执行Step2;假如这两个值不相同,则先执行Step2,然后重新执行Step1。

(2) 同样使用Tag更新方法来更新密钥kt:k″t=PRNG(kt)。

(3) 使用k″t来对数据库记录:D.update(k″t)进行更新,生成随机数rs,用k″t加密:h=kt(rs),把h和rs传给阅读器。

图4 本文RFID安全认证协议流程

3.3 协议安全性理论分析

本文提出的协议比传统的RFID加密方法具有更好的安全性,这是因为:

(1) 本协议中, ID都是使用加密传输的,盗听者在不知道密钥kc的情况下是无法得到ID的,并且必须知道密钥kt方可通过认证。

(2) 本文协议中,PRNG随机化函数每一次认证都会更新密钥,并且PRNG函数是单向函数,即使保存在标签的密钥kt丢失了,攻击者也找不出旧密钥kt,因此保证了前向安全性。

(3) 非法用户可以阻断协议中Step3发起的通信会话,这样就导致服务器更新了密钥kt,然而标签却没有更新其存储的密钥kt,服务器与标签会失去同步。协议中没有使用在数据库和标签中存储两个新旧密钥,而是在服务器端重复使用PRNG函数来更新密钥kt,用来认证标签以防止数据不同步。

(4) 在协议中,由于ID在传送过程中都用密钥kc加密的形式传送,攻击者就不能算出a与m,所以攻击者就不能假冒服务器和标签,虽然攻击者可以通过某种途径得到一个标签的密钥kc,协议就会暴露它的标签ID,然而验证标签和服务器的过程都需要密钥kt,并且不断更新的密钥kt是极难得到的,因此本协议可以有效防止伪造服务器与标签的攻击。

4 仿真实验环境和安全性分析

4.1 模拟实验环境

本实验采用ACE[21]软件包进行设计仿真实验程序,客户端与服务器程序的主要功能是通过读取攻击程序的协议配置信息来完成协议的通信。仿真实验中攻击程序的设计尤为重要,攻击程序是使用 ACE包中的连接模块功能,它负责模拟对服务器以及客户端的通信进行攻击。例如拒绝服务攻击、重放攻击等。攻击程序界面使用微软.NET程序设计,既可以采取主动方式连接服务器或客户端,也可以采取被动方式连接服务器与客户端,通过配置攻击程序来选择客户端与服务器的通信协议。服务器负责把每一次通信所使用的协议以及每次通信的时间记录到数据库中,服务器和客户端采用 ACE 包的通信组件将各个安全协议封装成类。

本文认证协议安全的分析结果。为了仿真本文提出的认证协议以及其他协议安全认证过程,本文采用客户端-服务器模式设计仿真程序,采用VS2010开发环境,开发语言采用VC++,数据库服务器端采用MS SQLServer,客户端采用较为轻便小巧的Mysql数据库。对“Tag-Reader”安全协议的认证过程进行了模拟,操作体统采用了Windows 7系统,具体仿真环境见表1所示。

表1 模拟仿真实验环境

4.2 实验结果

本文将Hash-Lock协议、随机化Hash-Lock协议、O-FRAP协议以及我们提出的双向认证协议放在一起,进行仿真实验。为了能对这些协议的安全性进行较好的测评与比较,在此增加了攻击程序,用来模拟攻击者对协议进行攻击,本文模拟了几种常见的网络攻击。通过计算机软件的模拟实验,模拟了几种不同的协议,在相同情况下受到网络攻击的次数进行了计算机模拟,仿真实验结果如表2所示。

表2 攻击实验数据

为了更好地体现本文提出的算法优越性,我们在攻击程序数据库中检索出随机化Hash-Lock 、Hash-Lock 和O-FRAP 协议的详细攻击数据明细,以1 000秒为一个时间节点,统计了这几种不同认证协议在每个时间节点的攻击次数,如图5所示。

图5 本文的认证协议和其他协议的对比

根据图5的6个子图可以看出,使用随机Hash-Lock协议和Hash-Lock协议,单位时间内被成功攻击次数基本上成线性分布,也就是说随时间增长,系统被成功攻击的次数迅速增长,这说明这两种协议存在很大的安全隐患问题。Hash链协议和数字图书馆协议的曲线说明它们都存在很明显的安全缺陷,而O-FRAP协议在第6千秒以前受到的攻击成功次数很少,并且保持平稳态势。然而6千秒后却陡然上升,这就说明了这个协议无法抵御服务的攻击。也就证实了前面对O-FRAP协议分析所讲到的那样,当使用该协议系统负荷增大后,其系统极不稳定,容易受到外界的攻击。基于以上情况,可以看出提出的双向认证协议在各个时间点受到成功攻击的次数基本保持稳定,而且数量也不多,这表明了它具有很好的安全性。

5 结 语

通过本文提出的这种流密码加密形式的认证协议除了能够提高网络安全[11-12],减少被攻击几率,而且也提高了系统运算速度。归根结底是由于本文借鉴了随机Hash-Lock和O-FRAP算法的长处,使用了Hash技术对Tag密钥通过阅读器和服务器进行双向认证加密,保证了安全性。而且巧妙地运用了流密码的加密方式,因为流密码的工作特性非常适合硬件的功能实现,它具有较高的响应速度,所以它可以很好地应用于RFID标签这种有限资源的系统中。通过这种方式,使得全部双向加密认证过程中,仅仅使用了简单的异或操作,从而避免使用Hash锁算法而造成的速度与资源的额外开销,这个过程非常的简单实用,大大提高了运算效率高。因此,本文提出的双向认证的RFID协议规避传统协议的安全性,并且提高了运算效率,是一种很好的认证方法。

[1] Gope P,Hwang T.A Realistic Lightweight Authentication Protocol Preserving Strong Anonymity for Securing RFID System[J].Computers & Security,2015,55(C):271-280.

[2] Lee J G,Kim S W,Kim D H,et al.D 2 ART:D irect D ata A ccessing from Passive R FID T ag for infraless,contactless,and batteryless pervasive computing[J].Microprocessors & Microsystems,2015,39(8):767-781.

[3] Velandia D M S,Kaur N,Whittow W G,et al.Towards industrial internet of things:Crankshaft monitoring,traceability and tracking using RFID[J].Robotics and Computer-Integrated Manufacturing,2016,10(41):66-77.

[4] 胡炜.物联网中基于RFID的系统安全技术研究与应用[D].江苏科技大学,2012.

[5] 郭雨,柏森,郭辉,等.H.264视频感兴趣区域加密算法[J].计算机应用研究,2015(2):516-520.

[6] 张沛,关杰,李俊志,等.MORUS算法初始化过程的混乱与扩散性质研究[J].密码学报,2015(6):536-548.

[7] 陈卓.一种RFID系统的Tag-Reader双向安全认证协议[J].电子测试,2016(18):40-41.

[8] 胡炜,李永忠,李正洁.一种能抵抗拒绝服务攻击的RFID安全认证协议[J].计算机应用研究,2012,29(2):676-678.

[9] 邓淼磊.几类安全协议的研究与设计[D].西安电子科技大学,2010.

[10] 邓淼磊,朱昭,石金娥,等.RFID标签的不可追踪性[J].北京邮电大学学报,2010,33(2):44-47.

[11] 张航.面向物联网的RFID技术研究[D].东华大学,2011.

[12] 王艳.混沌技术在RFID安全认证协议中的应用研究[D].河北工程大学,2012.

[13] 李莉,刘建伟.RFID安全保密技术研究进展[J].信息安全与通信保密,2007(8):165-167.

[14] 史长琼,吴丹,肖瑞强.能抵抗拒绝服务攻击且高效的RFID安全认证协议[J].计算机工程与应用,2016,52(2):105-111.

[15] 肖渝梅.双层/双向RFID安全认证协议的研究与设计[D].西南交通大学,2013.

[16] 章轶,刘皖,陈琳.基于Hash函数的RFID认证协议改进设计[J].微计算机信息,2008,24(11):221-223.

[17] 刘念,殷业,叶龙,等.一种改进的高效RFID加密安全协议[J].计算机工程,2014,40(7):87-91.

[18] 钱权,贾彦龙,张瑞.基于随机数同步更新的RFID安全协议[J].计算机工程,2013,39(8):9-14.

[19] 郭建庆.RFID系统的安全认证协议的研究[D].南京邮电大学,2012.

[20] 李旺.RFID系统安全认证协议的研究与设计[D].扬州大学,2012.

[21] Schmidt D C,Huston S D.C++ Network Programming Vol.1 Mastering Complexity With ACE And Patterns[M].Addison-Wesley Professional,2001:33-34.

[22] 郭维,王立斌.低成本David的数字图书馆协议[J].现代计算机,2009(6):29-31.

RESEARCH ON RFID MUTUAL AUTHENTICATION PROTOCOL BASED ON STREAM CIPHER ENCRYPTION

Xia Hui Wu Peng

(CollegeofSoftware,ShenyangNormalUniversity,Shenyang110034,Liaoning,China)

Some existing RFID authentication protocols have some problem of being difficult to resist a variety of network attacks (e.g., forgery tag attacks, sniffing attacks). Moreover, most of passive RFID tags have poor storage capacity and computing power, which none of these tags can use advanced encryption algorithm (e.g., asymmetric encryption algorithm). Therefore, we present a new mutual authentication protocol for passive RFID tags that can withstand service attacks. Based on key dynamic update and stream cipher encryption scheme, the proposed protocol has better robustness, security, efficiency compared to other mainstream protocols. In order to compare the safety of various authentication protocols, we carried out the attack simulation, which compared and analyzed the number of attacks of various agreements under the same conditions. The results show that the proposed authentication protocol has better security effect and higher efficiency.

Stream cipher Two-way authentication Electronic tag Security Authentication protocols

2016-10-24。国家自然科学基金项目(31170380);辽宁省自然科学基金项目(2014020118);辽宁省教育厅科学技术基金项目(L2014441)。夏辉,副教授,主研领域:计算机应用,网络安全,算法。吴鹏,副教授。

TP393

A

10.3969/j.issn.1000-386x.2017.07.015

猜你喜欢

阅读器双向密钥
双向度的成长与自我实现
幻中邂逅之金色密钥
幻中邂逅之金色密钥
降低寄递成本需双向发力
用“双向宫排除法”解四宫数独
密码系统中密钥的状态与保护*
The Magna Carta
Winner Takes All
TPM 2.0密钥迁移协议研究
完善刑事证据双向开示制度的思考