APP下载

基于Hash函数与状态锁定的RFID认证协议研究

2015-08-05刘国柱王华东

关键词:阅读器后台攻击者

刘国柱,王 腾,王华东

(青岛科技大学信息科学技术学院,青岛266061)

射频识别(RFID)[1]技术作为一种非接触式自动识别技术,在工业界和学术界得到迅速发展,广泛应用于销售、物流、安保等领域.在RFID系统中,带有惟一识别码的标签附着在待识别物品上,阅读器通过向物品发射无线射频信号进行识别.像其他无线通信系统一样,RFID系统也存在着安全隐患[2],例如窃听、假冒、非法读取、重传、去同步攻击.安全方案一旦被攻破,将会导致诸如假冒用户身份、泄露机密信息、篡改机密数据等一系列重大安全事故.

RFID系统[3]一般由标签、阅读器、后台数据库三部分构成.阅读器与标签之间的数据传输采用无线方式,所以,阅读器与标签的信息通信是存有安全隐患的.一般认为,固定式RFID系统的阅读器和后台数据库之间的数据传输是安全可靠的,而移动式RFID系统的阅读器与后台数据库之间的信息通信是不可靠的.本文在介绍和分析几种常用的基于Hash函数[4]的 RFID安全认证协议的基础上,针对这些认证方案的不足之处,提出一种基于Hash函数与状态锁定的安全认证协议.该协议假设阅读器与后台数据库之间的数据传输是安全的,标签的合法性由后台数据库来验证.该协议不仅能有效实现阅读器与标签的相互认证,而且能够及时更新ID和密钥值,能较好地保证系统安全性和高效性.

1 RFID系统安全状况分析

1.1 安全问题分析

RFID系统的通信信道是开放性的,可能会受到多种威胁和攻击,这些攻击有些是主动性[5]的,有些是被动性的,但无论何种都需要采取防范措施进行避免.目前,RFID系统面临的安全问题主要有以下几种:

1)窃听

由于阅读器与标签之间采用无线通信方式,攻击者可以在通信信道中窃听阅读器与标签之间的通信数据,在窃听并分析相关数据后可进行更具威胁性的攻击.

2)追踪

追踪是指攻击者通过标签的响应信息来定位标签位置,从而达到跟踪定位的目的.

3)假冒攻击

假冒攻击包括攻击者假冒阅读器和攻击者假冒标签两种方式.通常,攻击者首先会假冒阅读器来接收标签的响应信息,然后用该信息去响应合法阅读器以获取信任,进而继续非法通信获取更多机密信息.

4)重传攻击

攻击者在通信信道中截取阅读器与标签之间的通信数据,然后将该数据在阅读器与标签之间进行重传从而达到系统攻击的目的.

5)去同步化攻击

去同步化攻击是指通过使阅读器后台数据库与标签双方存储的信息不一致从而导致标签失效的一种攻击.攻击者主要通过干扰标签ID的更新使双方产生不同步.

1.2 安全需求分析

安全隐私问题的有效解决保证了RFID技术在实际应用中的可行性.为保证用户的安全和隐私,RFID系统需具备以下几项安全特性:

1)数据机密性

为保证用户的私密信息不被非法者获取,标签需要保证对非法阅读器不泄露任何有关信息.

2)标签匿名性

为保证标签的识别码ID不被攻击者破解,需要使攻击者无法分辨出传输的信息是来自于哪个标签的输出或标签的哪项输出.

3)前向安全性

前向安全性是指即使攻击者获得了标签发送的信息,也不能通过回溯当前信息获得标签的历史信息.

4)相互认证性

相互认证[6]是指只有通过了身份认证的标签(或阅读器)才能确保是合法的电子标签(或阅读器),从而使阅读器(或标签)确认获得的消息是从合法的标签(或阅读器)处发出的.

2 基于Hash函数的相关认证协议研究

目前,研究学者已经提出了4种基于Hash函数的安全认证协议,这些协议都对RFID系统的安全问题进行了一定程度的解决,但也存在诸多的不足之处.下面,针对这几种协议做简要介绍.

2.1 Hash-Lock协议

Hash-Lock协议[7]是一个简单的基于单向散列函数(Hash函数)的访问控制机制.标签初始化为非激活状态,标签中存储标识自身的ID和经过Hash函数变换后来代替 ID的 metaID(=Hash(key));后台数据库中存储对应每一个合法标签的metaID,ID,key.认证流程示意图如图1所示.

图1 Hash-Lock协议流程示意图

协议初步保证了系统通信的安全性.但由于标签ID以明文方式传输,metaID的值也始终不变,导致系统易受窃听、重传攻击及假冒攻击,攻击者可通过分析传输内容对标签进行跟踪定位.

2.2 Randomized Hash-Lock协议

Randomized Hash -Lock协议[8]是基于 Hash-Lock协议上改进的访问控制机制.待识别标签除了配备单向散列函数外,还配备了一个随机数发生器.后台数据库中存储每一个标签的ID值.认证流程示意图如图2所示.

图2 Randomized Hash-Lock协议流程示意图

协议采用生成随机数的方式解决了标签的跟踪定位问题.但标签仍不能避免重传攻击和假冒攻击.同时,读卡器需要将后台数据库中的所有标签进行运算才能比对出合法ID,运算量较大.

2.3 Hash-Chain协议

Hash-Chain协议[9]中的标签配置了 H与 G两个不同的Hash函数.在后台数据库和标签中都存储了初始值Si,1,同时后台数据库中还存储了每一个标签的ID.认证流程示意图如图3所示.

图3 Hash-Chain协议流程示意图

协议通过不断更新标识值使系统满足匿名性和前向安全性,但由于Hash函数只是用来单向认证,仍会受到假冒和重传攻击.系统需要两个不同的Hash函数,增加了系统成本.而且,每次验证都需要计算逐个计算和比对,计算的负荷量较大.

2.4 基于Hash的ID更新协议

基于Hash的ID更新协议[10]在每次认证后都会更新双方的交换信息.标签初始存储ID、TID(上次认证 ID)、LST(最近一次认证 ID),且 TID=LST;后台数据库中存储每个标签的H(ID),ID,TID,LST,AE.认证流程示意图如图4所示.

图4 基于Hash的ID更新协议流程示意图

协议利用ID值的更新,保证了匿名性和前向安全性,有效防止假冒攻击和重传攻击.但是,攻击者可以通过进行去同步话攻击致使后台数据库和标签的ID值不同步,使标签失效.

3 对称加密机制

对称加密机制是在公开密钥机制开发之前唯一被采用的加密方案,是一种传统的密码机制.在对称加密机制中,信息发送方把明文经过密钥和加密算法处理后,使其成为无规律、难破译的密文传输出去.信息接收方获得密文后,通过密钥和加密算法的逆执行对密文进行解密,使其恢复成明文信息.对称加密机制的简化模型如图5所示.

图5 对称加密机制的简化模型

通常来讲,对称加密算法中的加密密钥和解密密钥是相同的.这就要求信息发送方和接收方在进行信息传输之前,共同商定好密钥.对称加密算法的安全性主要依赖密钥,任何人掌握了密钥都可以对发送或接收的消息进行加解密,所以密钥的保密性对通信安全至关重要.

对称加密机制的优势在于计算开销小、加密速度快、加密效率高.但是不足之处在于如何保证通信双方安全的传递密钥是一个困难的问题.同时,每对用户都需要与其他用户不同的惟一密钥,系统密钥数量呈几何级数增长,增加了系统管理密钥的开销.目前使用较广泛的对称加密算法有DES,IDEA、AES等.

4 基于Hash函数与状态锁定的认证协议

本文在分析和总结上述几种安全认证协议的基础上,提出结合Hash函数与对称加密机制保证消息传递的安全,通过设置标签和后台数据库的工作状态保证双方的同步,在每次认证结束后都及时进行ID的更新.该协议可有效抵御窃听、跟踪定位、假冒攻击、重传攻击和去同步化攻击,完成阅读器和标签的相互认证,保证了系统的安全性和隐私性.

4.1 协议初始化说明

系统初始状态下,标签存储共享密钥K、识别标识ID、标签状态ST置为00、随机数rt置0,且嵌入一个对称加密算法(例如DES,AES)和Hash函数(例如 SHA-1,MD5).阅读器存储共享密钥K,、随机数r置0,且嵌入与标签对应的对称加密算法.后台数据库存储所有标签的当前识别标识CID、上一次识别标识PID置0、阅读器状态SR置为00、随机数rr置0,且嵌入与标签对应的Hash函数.协议中提到的符号含义解释如表1所示.

表1 协议中符号含义表

4.2 认证过程

基于Hash函数与状态锁定的认证协议流程示意图如图6所示.

图6 基于Hash函数与状态锁定的认证协议流程示意图

具体的认证步骤如下:

1)阅读器通过随机函数random()生成随机数r并传输给后台数据库,然后通过对称加密算法Ek(Query||r)将询问信息和随机数生成密文之后发送给标签作为认证请求.

2)后台数据库收到r值后将rr=r,SR置为01;标签通过对称加密算法的逆执行Dk(Ek(Query||r))获得Query||r,并提取 Query和 r值,使 rt=r,利用Hash函数H(ID⊕rt)加密发送给阅读器,ST置为01.

3)阅读器将H(ID⊕rt)转发给后台数据库.

4)后台数据库查询存储的所有CID字段,确定是否存在一个CID,使得H(CID⊕rr)等于H(ID⊕rt).如果存在,则表示标签通过阅读器认证,然后SR置为10,并将H(CID)发送给阅读器,否则认证失败.

5)阅读器转发H(CID)给标签.

6)标签比对H(CID)与H(ID)是否相等.如果相等,则表示阅读器通过标签认证,将Ek(update)发送给阅读器,ST置为10.

7)阅读器通过Dk(Ek(update))提取update消息,转发给后台数据库.

8)后台数据库收到update消息后,使PID=CID,CID=rr⊕CID,完成 CID的更新,将 update消息发给阅读器,rr置为0,SR置为11.

9)阅读器将Ek(update)发送给标签,使K=r⊕K,完成阅读器密钥的更新.

10)标签通过Dk(Ek(update))提取update消息,使ID=rt⊕ID,K=rt⊕K,完成 ID 和密钥的更新,将Ek(ack)发送给阅读器,rt置为0,ST置为11.

11)阅读器通过Dk(Ek(ack))提取ack消息,转发给后台数据库.

12)后台数据库收到ack消息后,使SR置为00,将ack消息发给阅读器.

13)阅读器将Ek(ack)发送给标签.

14)标签通过Dk(Ek(ack))提取ack消息后,ST置为00.

5 协议安全性分析与性能比较

5.1 安全性分析

1)数据机密性:在阅读器与标签之间传递的所有信息都通过对称加密算法或Hash函数进行了加密.对于攻击者来讲,任何信息都处于加密状态,不是以明文传输,完全可以保证标签ID、随机数r及其他数据的机密性.

2)标签匿名性:标签向阅读器发送的认证消息H(ID⊕rt)是经过ID与随机数异或且进行加密后传输的,ID值与密钥值的更新都包含有随机数.每轮传输的信息随着阅读器产生的随机数的不同而重复,对于攻击者而言,传输的信息是无规律的,所以协议可保证标签的匿名性.

3)前向安全性:在每次完成认证之后,标签和阅读器后台数据库会根据随机数同步更新ID值和K值,即便攻击者获得了当前标签的ID值和K值,在不知道随机数r值的情况下,也无法推算出之前的标签信息,保证了标签的前向安全性.

4)相互认证性:后台数据库收到阅读器转发的标签信息后,通过查询存储的所有CID字段,确定是否存在一个CID,使得H(CID⊕rr)等于H(ID⊕rt),完成对合法标签的认证;标签收到阅读器发送的信息后,比对H(CID)与H(ID)是否相等,完成对合法阅读器的认证.

5)假冒攻击:协议执行相互认证之后,标签ID和密钥K值都要进行更新,即使攻击者窃听了本次认证所有信息,获得标签ID值,在假冒标签进行重新发送时不会通过阅读器的认证.

6)重传攻击:通过给标签和后台数据库设置状态值,使得协议在每一步的执行都锁定在特定的状态下,执行操作后转为下一状态.所以,当攻击者利用本次窃听到的信息进行重传时,标签和后台数据库已经转入了下一状态,不会对攻击者重传的信息进行正确的响应.协议状态设置含义如表2所示.

表2 协议状态设置含义表

7)去同步攻击:协议中约定了两种消息:update消息和ack消息.当一方接收到update消息时,就会对相应的数据进行更新.当一方收到ack消息时,表明对方已完成数据的更新,将自身状态转到初始状态即可.假如攻击者干扰标签ID的更新,标签的状态就会停留在11,这时标签会直至收到ack消息才完成整个认证过程.即使标签的状态一直没有转到00,当系统进行初始化后,后台数据库可通过查找PID字段,重新对合法标签进行认证.

5.2 性能比较

本文协议与上述几种基于Hash函数的认证协议相比,本协议具备上述协议的全部安全安全性能,同时具备密钥更新性能.安全性能比较如表3所示,其中,√表示满足该项要求,×表示不满足该项要求.

表3 安全性能比较表

6 结语

本文在研究和分析几种常用的基于Hash函数的RFID安全认证协议的基础上,提出一种基于Hash函数与状态锁定的RFID安全认证协议.该协议结合阅读器后台数据库与标签状态锁定设置,不仅能有效实现阅读器与标签的相互认证,而且能够及时更新ID和密钥值,有效处理RFID认证阶段的安全风险问题.

[1]游战清,李苏剑,张益强.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社,2004.

[2]张 兵,马新新,秦志光.基于hash运算的RFID认证协议分析和改进[J].计算机应用研究,2011,28(11):4311-4314.

[3]OSAKA K,TAKAGI T.An Efficient and Secure RFID Security Method with Ownership Transfer[C]//Guangzhou:Proc.of Conf.on Computational Intelligence and Security,2006.

[4]TSUDIK G.YA-TRAP:Yet Another Trivial RFID Authentication Protocol[C]//Washington D.C.:Proceedings of International Conference on Pervasive Computing and Communications,2006.

[5]谢 川.结合Hash函数和密钥阵列的RFID安全认证协议[J].计算机应用,2011,31(3):805-807.

[6]丁振华,李锦涛,冯 波.基于Hash函数的RFID安全认证协议研究[J].计算机研究与发展,2009,45(4):583 -592.

[7]胡 捷,宗 平.面向物联网的RFID安全策略研究[J].计算机技术与发展,2011,21(5):151 -154.

[8]袁署光,戴宏跃,赖声礼.基于Hash函数的RFID认证协议[J].计算机工程,2008,34(12):141 -143.

[9]张捍东,丁 磊,岑豫皖.基于Hash函数的RFID安全协议研究[J].计算机工程与设计,2013,34(11):3766-3769.

[10]余恬恬,冯全源.基于Hash函数的RFID挑战-应答认证协议[J].计算机工程,2009,35(24):156-161.

猜你喜欢

阅读器后台攻击者
基于反向权重的阅读器防碰撞算法
基于微分博弈的追逃问题最优策略设计
一种高效的RFID系统冗余阅读器消除算法
正面迎接批判
后台暗恋
前台、后台精彩花絮停不了
有限次重复博弈下的网络攻击行为研究
一种RFID网络系统中消除冗余阅读器的高效算法
电力调度中后台监控系统的应用
后台