APP下载

基于Hash函数的抵御失去同步RFID安全认证协议

2015-08-16欧阳丹彤何丽莉白洪涛

吉林大学学报(理学版) 2015年3期
关键词:吉林大学读写器后台

郑 莹,欧阳丹彤,何丽莉,白洪涛

(1.吉林大学 公共计算机教学与研究中心,长春 130012;2.吉林大学 符号计算与知识工程教育部重点实验室,长春 130012;3.吉林大学 计算机科学与技术学院,长春 130012)



基于Hash函数的抵御失去同步RFID安全认证协议

郑 莹1,2,3,欧阳丹彤2,3,何丽莉2,3,白洪涛1,2

(1.吉林大学 公共计算机教学与研究中心,长春 130012;2.吉林大学 符号计算与知识工程教育部重点实验室,长春 130012;3.吉林大学 计算机科学与技术学院,长春 130012)

针对无线射频识别(RFID)技术存在的同步安全隐患,提出一种新的基于单向Hash函数的安全认证协议,以解决存在于RFID系统中的各种安全问题,并对提出的协议进行基于GNY逻辑的形式化证明和对比分析.结果表明,该协议可有效解决窃听、重放攻击、失去同步等安全问题,在能耗、安全与性能方面优于当前其他主流协议.

RFID;Hash函数;协议;GNY逻辑

无线射频识别技术(radio frequency identification,RFID)作为一种可高效、快速、实时、精准采集与处理信息的新技术,在商业和国防等领域应用广泛.但由于无线传输、资源受限等自身特点可导致RFID技术的安全性存在如被窃听、追踪等隐患.

传统针对RFID安全机制的研究中,算法的设计都较繁琐,包括文献[1]提出的Hash锁协议和文献[2]中提出的分布式RFID认证协议等;为了减少后端数据库和标签上的计算负载,文献[3-4]提出了改进协议并对算法进行了适度地精简;为了使算法更简洁从而适于RFID的低能耗,Han等[5]提出了RFID相互认证的协议,该协议对数据库服务器的一个组件进行监控,其负面效应是增加了硬件成本;为了满足系统的低能耗性,基于Hash函数的安全算法受到广泛关注,其中Cho等[6]提出了基于Hash函数的交互认证协议;Lee等[7]提出的LCAP协议需要两个单向散列函数运算;为了避免Hash锁方法中可被恶意跟踪的缺陷,陈瑞鑫等[8]提出了一种基于双向Hash认证的RFID安全协议;为了解决重放攻击的安全问题,丁振华等[9]提出了连续会话的模式概念,并提出一种介于RFID标签与后台服务器之间的认证协议HSAP.

在RFID安全协议设计中,Hash函数应用广泛.单向Hash函数无论从安全性还是低能耗性(块大小为64 b的Hash函数仅需1 700个门电路即可实现)都符合RFID协议设计的需求[10].本文通过对RFID技术的安全问题进行对比分析,提出介于RFID标签和后台服务器之间的可抵御失去同步的双向认证协议.该协议基于轻量级单向Hash函数,满足RFID系统低能耗的特点,且可较全面地解决存在于RFID系统中的各种安全问题.此外,本文给出了基于GNY逻辑导出的协议证明.分析结果表明,该协议可以很好地解决假冒攻击、追踪和失去同步等安全问题.

1 基于Hash函数的认证协议

1.1基本概念

本文将提出一个基于Hash函数可高效支持标签转移和抵制失去同步的RFID认证协议(SRFID).设RR表示读写器产生的随机数;RT表示标签产生的随机数;RS表示服务器产生的随机数;H( )表示单向Hash函数;RID表示读写器的静态ID值;IDS表示标签的索引假名;Pre_x表示x的以前值;Cur_x表示x的当前值;INC(x)表示基于x的增函数;⊕表示异或操作符;‖表示连接操作符.

假设条件:

1)标签是低能耗的,仅具有较低的计算能力;

2)标签与读写器、读写器与后台服务器之间的信道均为不安全信道;

3)标签与后台服务器之间存在共有秘钥key和IDS:IDS为标签的索引假名,只有标签和后台服务器共有,并在每轮认证过程中更新;key值与IDS一一对应,在key值发生变化时,IDS的值也随之发生改变;在一轮认证过程后,key值与IDS值一起进行更新;

4)标签是基于动态ID技术;

5)读写器是基于静态ID技术,故每个读写器有唯一一个ID标识并存放在后台服务器中,以便后台服务器认证读写器的合法性.

1.2协议认证

假设以下为第i+1轮认证,过程如下:

1)读写器产生一个随机数RR,并将RR发给标签;

2)标签产生一个随机数RT,计算

M1=H(RR‖RT)⊕IDS,

发RT和M1给读写器;

3)读写器计算

M2=H(RR‖RT)⊕RID,

发M1,M2,RR,RT给服务器;

4)服务器接收到M1,M2,RR,RT后计算

RID′=M2⊕H(RR‖RT),

若在RID列表中找到匹配项,则读写器验证成功;否则验证失败;计算

IDS′=M1⊕H(RR‖RT),

在服务器Cur_IDS列表中查找匹配项,若存在,则对标签验证成功;服务器生成随机数RS,计算

M3=H(RR‖RT);N=H(Cur_key⊕RS⊕M3);

发RS,N到读写器并转发到标签;服务器计算

Pre_IDS=Cur_IDS; Pre_key=Cur_key;

Cur_key=keyi⊕N⊕INC(i); Cur_IDS=H(keyi+1);

若在服务器Cur_IDS列表中未查找到匹配项,则到服务器Pre_IDS列表中查找匹配项,若存在,则认为是在上一轮验证中由于某种原因标签与服务器失去了同步,同样认为标签为合法标签;服务器生成随机数RS,计算

M3=H(RR‖RT);N=H(Pre_key⊕RS⊕M3);

发送RS,N到读写器并转发到标签;

5)标签计算

N′=H(keyi⊕RS⊕M3),

若N′=N,则标签认证服务器成功;标签计算

keyi+1=keyi⊕INC(i); IDS=H(keyi+1).

2 协议证明

RFID协议多数没有严格的形式化分析和证明.本文采用经典安全协议分析方法GNY逻辑[11]对本文提出的SRFID协议进行形式化的分析和证明.

2.1协议的形式化

对协议的消息进行形式化解释如下:

Msg 1 R→T:RR;

Msg 2 T→R:RT,H(RR‖RT)⊕ IDS;

Msg 3 R→S:RR,RT,H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID;

Msg 4 S→R:RS,H(Cur_key ⊕RS⊕M3);

Msg 5 R→T:RS,H(Cur_key ⊕RS⊕M3).

Msg 1 T>*RR;

Msg 2 R>*H(RR‖RT)⊕ IDS,*RT;

Msg 3 S>*H(RR‖RT)⊕ IDS,*H(RR‖RT)⊕ RID ,*RR,*RT;

Msg 4 R>*H(Cur_key ⊕RS⊕M3),*RS;

Msg 5 T>*H(Cur_key ⊕RS⊕M3),*RS.

2.2协议初始化及证明

如果能成功证明交互实体间的信息是新的,即可证明协议的正确性.

正确性目标为:

S|≡T|≡#H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID;

T|≡S|≡#H(Cur_key ⊕RS⊕M3).

协议初始化条件如下:

T∈RT;T∈H(x);R∈RT;S∈H(x);

T|≡#RR;R|≡#RT;S|≡#(RR,RT);

R|≡#RS;T|≡#RS;R|≡R→S(RT,RR);S|≡S→T(RS).

基于GNY逻辑的证明是在上述初始化条件基础上进行的,本文遵循文献[11]中的推理规则进行证明.

Msg 1:

T>*RR;

T>RR;

T∈RR.

Msg 2:

R>*H(RR‖RT)⊕ IDS,RT;

R>H(RR‖RT)⊕ IDS,RT;

R∈H(RR‖RT)⊕ IDS,RT.

Msg 3:

S>*H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID,RR,RT;

S>H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID,RR,RT;

S∈H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID,RR,RT;

S|≡#RR‖RT;

S|≡#H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID;

S|≡T|≡H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID;

S|≡T|≡#H(RR‖RT)⊕ IDS,H(RR‖RT)⊕ RID.

Msg 4:

R>*H(Cur_key ⊕RS⊕M3),*RS;

R>*H(Cur_key ⊕RS⊕M3),*RS;

R∈H(Cur_key ⊕RS⊕M3),*RS.

Msg 5:

T>*H(Cur_key ⊕RS⊕M3),*RS;

T>H(Cur_key ⊕RS⊕M3),*RS;

T∈H(Cur_key ⊕RS⊕M3);

T|≡#H(Cur_key ⊕RS⊕M3);

T|≡#H(Cur_key ⊕RS⊕M3);

T|≡S|≡H(Cur_key ⊕RS⊕M3);

T|≡S|≡#H(Cur_key ⊕RS⊕M3).

由上述证明可见,目标中的正确性在Msg 3和Msg 5中完成.

3 安全性分析

下面针对本文协议认证中可能出现的安全性能问题进行分析:

1)如果协议认证步骤1)中的RR丢失、被截听或被阻止,则标签接收不到RR,从而不会产生响应,于是系统将在预先规定好的时间间隔t后重新生成RR,并发送给标签开始新一轮认证.

2)如果协议认证步骤2)中的RT,M1丢失、被截听或被阻止,则读写器接收不到RT和M1,读写器不会产生响应,于是系统将在预先规定好的时间间隔t后重新生成RR,并转发给标签开始新一轮认证.

3)如果协议认证步骤3)中M1,M2,RR,RT丢失、被截听或阻止,则服务器不会产生响应,于是系统将在预先规定好的时间间隔t后重新生成RR,并发送给标签开始新一轮认证.

4)如果协议认证步骤4)中的RS,N丢失、被截听或被阻止,即标签接收不到来自服务器的数据,此时服务器中的Cur_IDS值与标签中存放的IDS值已经不相同,在下一轮认证中服务器与标签将失去同步;为了解决与服务器失去同步的问题,后台服务器设置了Pre_IDS数据项并将标签在失去同步前的IDS保存在Pre_IDS数据项中.

解决失去同步问题的方法为:假设在第i轮认证中服务器与标签失去同步,当第i+1轮认证开始时读写器发RR给标签,此时标签的IDS为第i轮认证中的值(由于未收到服务器数据,标签中的IDS并未更新).标签基于IDS计算出M1发给服务器,服务器收到M1并计算IDS′.此时IDS′不等于Cur_IDS,在第i轮认证中,服务器将第i轮中的Cur_IDS保存在Pre_IDS中,故IDS′=Pre_IDS.服务器则用Pre_IDS计算N并发送给读写器与标签,此时,服务器将不再更新IDS与key值.当标签接收到来自服务器的数据后更新IDS与key值,此时标签与服务器IDS与key值相等,重新实现了同步.

下面针对本文提出的协议在RFID系统中可能出现的安全问题进行分析:

1)窃听.在认证过程中,由于服务器、读写器与标签都在不安全信道上,故发送出的数据都有可能被窃听,在信道中传输的数据有RR,RT,M1,M2,N,RS,其中RR,RT,RS都是产生的随机数,M1,M2,N均为由单向Hash函数计算出的结果,即使偷听到也不会泄露信息.

2)重放攻击.在认证过程中,攻击者无法重复使用以前的信息进行攻击,在每次认证过程中系统都会产生新的随机数,在信道中的M1,M2,M3和N均为基于系统产生的随机数,IDS的值产生于key值,IDS与key的值只保存在服务器与标签中,并且在每次认证结束后更新.

3)标签克隆.如果攻击者想要克隆一个真正的标签,需要用偷听到的信息去伪造标签,如果偷听到标签的IDS与M1,然后将IDS的值放入到假标签中,则RFID系统的读写器相信标签是真的.但在该认证过程中,真的标签发出的M1值是基于读写器产生的随机数并用Hash函数计算得出,攻击者不能预测随机数的值,故攻击者从真标签处得到的M1与从读写器产生的值并不相同,因此攻击者不能用克隆标签去欺骗读写器.

4)标签追踪.在认证过程中,标签的响应都是基于系统产生的随机数,IDS是基于key值的Hash函数,并且IDS与key值在每次认证结束后都会更新.攻击者并不知道响应来自哪个标签.但该协议仍存在某种被追踪的危险,因为标签总是回答相同的M1值,直到下一轮认证开始,可通过每间隔t时间读写器重新发送随机数避免标签被追踪.

5)数据伪造.想要进行数据伪造,攻击者需知道IDS和key值,由于IDS和key值在信道传送过程中都被Hash函数加密,攻击者很难得知其值.并且IDS和key值在每次认证后都会更新,除非通过物理方法破坏标签,否则攻击者不可能得知标签的IDS与key值.

6)拒绝服务攻击(DoS).在读写器向标签传送数据过程中,有可能出现拒绝服务攻击.但此时后台服务器已成功更新了IDS与key值,标签却未更新.在DoS攻击后会导致服务器与标签的不同步.

7)中间人攻击.由于数据都是基于随机数并且通过Hash函数进行加密,攻击者不能交换或更改数据,故该协议可以抵制中间人攻击.

表1列出了针对重放攻击、标签克隆、标签追踪等安全问题对本文提出的协议(SRFID)与其他协议进行的安全性分析与比较.

表1 安全性分析*Table 1 Security analysis

*√表示可抵御攻击;≈表示部分抵御攻击;-表示不能抵御攻击.

4 性能分析

本文所提出的协议开销分析分为计算开销和通信开销.协议的计算开销主要是标签的计算开销,在本文协议中,标签仅需进行3次单向Hash函数计算和一次随机数生成,符合RFID系统低能耗的要求;通信开销只需考虑标签与读写器间的通信,标签发给读写器的通信长度为LR+LH;读写器发给标签的通信长度为2LR+LH;其中LR为随机数的长度,LH为Hash函数的输出长度.与其他协议开销的分析对比结果列于表2.

表2 通信开销分析Table 2 Communication analysis

综上所述,本文针对RFID技术由于有限的计算能力和存储资源而引发的各种安全问题,提出了一种适用于低成本、可抵御失去同步的双向认证协议,该协议可有效抵御常见的安全威胁.

[1] Weis S A,Sarma S E,Rivest R L,et al.Security and Privacy Aspects of Low Cost Radio Frequency Identification Systems [C]//Security in Pervasive Computing.Berlin:Springer,2004:201-212.

[2] Peris-Lopez P,Hernndez-Castro J C,Estvez-Tapiador J M.RFID Systems:A Survey on Security Threats and Proposed Solutions [C]//Personal Wireless Communications.Berlin:Springer,2006:159-170.

[3] Ha J C,Ha J H,Moon S J,et al.LRMAP:Lightweight and Resynchronous Mutual Authentication Protocol for RFID System [C]//Ubiquitous Convergence Technology.Berlin:Springer,2007:80-89.

[4] Choi E Y,Lee S M,Lee D H.Efficient RFID Authentication Protocol for Ubiquitous Copputing Environment [C]//Embedded and Ubiquitous Computing-Euc 2005 Workshop.Berlin:Springer,2005:945-954.

[5] HAN Song,Potdar V,Chang E.Mutual Authentication Protocol for RFID Tags Based on Synchronized Secret Information with Monitor [C]//Computational Science and Its Applications ICCSA.Berlin:Springer,2007:227-238.

[6] Cho J S,Yeo S S,Kim S K.Securing Against Bruteforce Attack:A Hash-Based RFID Mutual Authentication Protocol Using a Secret Value [J].Computer Communications,2011,34(3):391-397.

[7] Lee S M,Hwang Y J,Lee D H,et al.Efficient Authentication for Low Cost RFID Systems [C]//Computational Science and Its Applications.Berlin:Springer,2005:619-627.

[8] 陈瑞鑫,邹传云,黄景武.一种基于双向Hash认证的RFID安全协议 [J].微计算机信息,2010(11):149-151.(CHEN Ruixin,ZOU Chuanyun,HUANG Jingwu.RFID Cryptographic Protocol Based on Mutual Hash Authentication [J].Microcomputer Information,2010(11):149-151.)

[9] 丁振华,李锦涛,冯波.基于Hash函数的RFID安全认证协议研究 [J].计算机研究与发展,2009,46(4):583-592.(DING Zhenhua,LI Jintao,FENG Bo.Research on Hash Based RFID Security Authentication Protocol [J].Journal of Computer Research and Development,2009,46(4):583-592.)

[10] Yuksel K.Universal Hashing for Ultra Low Power Cryptographic Hardware Applications [D].Worcester,MA:Worcester Polytechnic Institute,2004.

[11] LI Gong,Needham R,Yahalom R.Reasoning about Belief in Cryptographic Protocols [C]//Proc of the 1990 IEEE Computer Society Symp on Research in Security and Privacy.Los Alamitos,CA:IEEE Computer Society,1990:234-248.

(责任编辑:韩 啸)

HashBasedtoRFIDSecurityAuthenticationProtocolWhichAgainsttheLossofAynchronization

ZHENG Ying1,2,3,OUYANG Dantong2,3,HE Lili2,3,BAI Hongtao1,2

(1.CenterforComputerFundamentalEducation,JilinUniversity,Changchun130012,China;2.KeyLaboratoryofSymbolicComputationandKnowledgeEngineeringofMinistryofEducation,JilinUniversity,Changchun130012,China;3.CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012,China)

For synchronous safety problems existed in RFID technology,the paper proposes a new security authentication protocol based on a one-way Hash function,a more comprehensive solution to the presence of RFID systems in various security problems.The proposed protocol was formally proven and comparatively analyzed based on GNY logic.The results show that the protocol can effectively solve the eavesdropping,replay attacking and synchronization losing problems and other safety issues,and is prior to a series of agreements in the current mainstream in energy,security and performance.

RFID;Hash function;protocol;GNY logic

10.13413/j.cnki.jdxblxb.2015.03.29

2014-08-21.

郑 莹(1985—),女,汉族,硕士研究生,从事物联网安全的研究,E-mail:zhengying@jlu.edu.cn.通信作者:欧阳丹彤(1968—),女,满族,博士,教授,博士生导师,从事模型诊断的研究,E-mail:ouyangdantong@163.com.

国家自然科学基金(批准号:61272208)、吉林省科技发展计划项目(批准号:201101039)、吉林大学符号计算与知识工程教育部重点实验室开放项目基金(批准号:93K-17-2011-K01)和吉林大学科学前沿与交叉学科创新项目(批准号:201103134).

TP309

:A

:1671-5489(2015)03-0499-06

猜你喜欢

吉林大学读写器后台
吉林大学学报(地球科学版)
《吉林大学学报(理学版)》征稿简则
《吉林大学学报(理学版)》征稿简则
《吉林大学学报( 理学版) 》征稿简则
后台暗恋
前台、后台精彩花絮停不了
基于视频抓拍读写器的高速公路防倒卡研究
电力调度中后台监控系统的应用
基于随机时隙的RFID读写器防冲突方法
后台