• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > RFID和物联网 > RFID > 基于Hash函数的RFID认证协议改进设计

基于Hash函数的RFID认证协议改进设计

录入:edatop.com     点击:

1 引言
射频识别技术简称为RFID技术,它是近几年来业界关注的热点。由于RFID标签本身具有体积小、容量大、寿命长、可重复使用等诸多特点,并可支持快速读写、非可视识别、移动识别、多目标识别、定位及长期跟踪管理。目前,射频识别技术已被广泛应用于工业自动化、商业自动化、交通运输控制管理等众多领域:汽车、火车等交通监控,高速公路自动收费系统,停车场管理系统,物品管理,流水线生产自动化,安全出入检查,仓储管理,动物管理,车辆防盗,等等[1,2]。

但是,随着射频识别系统应用范围的不断扩大,它的安全问题逐渐引起了人们的关心。并且在研究RFID技术的过程中,也有不少研究人员发现了它所存在的安全隐患。例如:2005年,美国约翰霍普金森大学的研究人员就花了三个月的时间破解了德州仪器公司制造的汽车防盗系统“immobilizer”[2];而在今年年初的RSA security年会上,阿迪·沙米尔教授也宣布了他们所进行的RFID标签攻击试验,并称手机经过改写程序同样具备攻击能力。所以,加强射频识别系统的安全是不容忽视的问题。

而与网络系统类似,在射频识别系统中,身份认证是第一道安全屏障,也是实施访问控制的基础,通信安全几乎总是开始于身份认证握手过程。因此,身份认证机制对整个系统的安全具有十分重要的作用。与此同时,随着RFID应用的推广,RFID系统的规模也逐渐变大。在一个RFID应用系统中往往拥有成百上千的标签(例如,我国从去年开始发放的第二居民身份证中,就采用了射频识别技术),这就要求其应该具备适用于大规模应用的特点。

早先人们也提出了许多认证协议的解决方案。其中,被大家广泛接受的协议有Hash-Lock协议[4]、随机Hash-Lock协议[5]、Hash链协议[6]等等。但是这些协议有些存在着明显的安全隐患(如:Hash-Lock协议),有些则不适合于在大规模RFID系统中的应用(如:Hash链协议)。基于设计一种安全、高效的RFID轻型认证协议的思路考虑,本文在这些协议的基础上提出了一种基于Hash函数的改进认证协议。

2& nbsp;& nbsp;& nbsp;& nbsp; 两种基于Hash函数的认证协议分析
2.1& nbsp;& nbsp;& nbsp; Hash-Lock协议

& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; 图1  Hash-Lock协议流程图
& nbsp;
Query
& nbsp;
Hash-Lock协议[4]是由Sarma等人提出的一种基于单向Hash函数的访问控制机制。最初设计时,基于避免信息泄漏,隐藏真实标签ID号的考虑,使用了metaID=H(key)来代替真实标签ID号进行识别。为了完成相互认证过程,在发放标签之前需要将metaID、ID和key这三组数据存放于后端数据库中,并将ID和key存放于标签只读存储器中。此协议流程如图1所示。

由协议执行过程可以分析,在安全方面,虽然协议利用了metaID回应阅读器的询问,并且由于metaID=H(key)不是真实的标签ID,所以对于非法阅读器而言,无法轻易地获取标签ID进行标签复制或哄骗攻击。但是由于每次认证时,标签的回应消息都是固定不变的,因此给攻击者进行跟踪提供了一种便利。另外,由于在无线通信信道中传输的消息随时都有可能性被攻击者窃听,而在此协议执行到第六步时,标签ID号以明文的形式传送给阅读器,很明显这将给攻击者窃取标签消息,甚至复制标签创造了机会。因此,Hash-Lock协议在安全性方面有些欠缺。

在存储空间方面,标签需要存储metaID与ID号(一般情况下,metaID与ID号的长度均为128比特);后端数据库需要存储 metaID、key与ID号(key的长度为512比特)。

在计算量方面,整个认证过程中,标签需要进行一次哈希运算;阅读器只需要负责传输数据,没有计算工作;而后端数据库则无需任何计算,只需要采用直接查询的方式进行搜索比较。因此整个协议的执行速度比较快。

2.2& nbsp;& nbsp;& nbsp; Hash链协议
Hash链协议是由Ohkubo等人提出的针对Hash-Lock协议的改进协议。从本质上而言,Hash链协议[6]是基于共享秘密的询问-应答协议。为了避免跟踪,此协议采用了动态刷新机制。它的实现方法主要是在标签中加入了两个哈希函数模块。与Hash-Lock协议类似,在发放标签之前,需要将标签的ID和St, 1(St, 1是标签初始密钥值,对每一个标签而言,它的值都是不同的)存于后端数据库中,并将St, 1存于标签随机存储器中。其协议流程如图2所示。

图2  Hash链协议流程图

由上述过程可以看出,在安全方面,后端数据库从阅读器处接收到标签输出的at, j,并且对数据库中(ID;St, 1)列表的每个St,1计算at, j*=G(H j-1 (St, 1)),检查at, j与at, j*是否相等。如果相等,就可以确定标签ID。该方法满足了不可分辨和前向的安全特性。G是单向方程,因此攻击者能够获得标签输出at, j,但是不能从at, j中获得St, j。G输出的是随机值,攻击者能够观测到标签输出,但不能把at, j和at, j+1联系起来。另外,H也是单向函数,即使攻击者能够篡改标签并获得标签的秘密值,但仍然不能从St, j+1中获得St, j。也就是说,此协议对跟踪与窃听攻击有较好的防御能力。但是,由于标签回应认证请求时,它无法对阅读器身份进行核实,当一个非授权的阅读器向标签发送认证请求时,标签也会毫无防备地回应消息,攻击者便可利用这个消息哄骗系统。所以此协议没有达到系统安全需求。

在存储空间方面,标签需要将初始秘密值St, 1存储于随机存储器中;后端数据库则需要存储标签的ID标识和与其对应的St, 1。

在计算量方面,标签为了实现秘密值的更新,每次认证时都需要进行2次哈希运算;阅读器没有任何计算操作;后端数据库为了进行标签ID的搜索,需要进行若干次哈希运算。如果RFID系统中有n个标签,且当前标签是第j次进行认证通信,那么对于采用固定搜索顺序的数据库而言,系统中每个标签平均需要进行(n+1)/2次ID搜索,j(n+1)/2次Hash方程计算和比较。计算机处理负载也将随着系统ID数目成线性增加。因此,该方法也不适合拥有大量电子标签的RFID系统。

3& nbsp;& nbsp;& nbsp;& nbsp; 改进协议设计
为了避免Hash锁方法安全性方面的缺陷,并克服Hash链方法不适合于大规模RFID系统的情况,本文在Hash链协议的基础上,提出了一种改进方法。

3.1& nbsp;& nbsp;& nbsp; 工作原理

& nbsp;

& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp; 图3  改进协议流程图
& nbsp;
首先,在发放标签之前,需要将标签标识IDT与阅读器标识IDR分别存放于标签与后端数据库中,以便在认证时的调用。另外,在标签中设置了一个哈希函数模块用于每次认证时,对IDR和随机数RR进行处理。

改进协议流程如图3所示。其执行过程如下:

(1)阅读器生成随机数RR,向标签发送Query认证请求的同时,将RR发送给标签;

(2)标签计算(IDT⊕H (IDR⊕RR)),并将其结果发送给阅读器;

(3)阅读器将(IDT⊕H (IDR⊕RR))与随机数RR一同发送给后端数据库;

(4)由于后端数据库中存放了IDR,因此通过一次哈希运算和二次异或操作便可得到IDT;接着,数据库查询库内数据,是否存在某个IDT'与IDT一致,如果存在,则说明,对于认证通过的标签,数据库再将IDR⊕H(IDT⊕RR)发送给阅读器;

(5)阅读器将IDR⊕H(IDT⊕RR)转发给标签;

(6)标签接收到的IDR⊕H(IDT⊕RR)后,通过一次哈希运算和二次异或操作便可得到IDR;再将其与内部存储的IDR进行比较,如果相同,则认证完成;否则,认为此阅读器为非法阅读器。

3.2& nbsp;& nbsp;& nbsp; 改进协议安全性与高效性分析
在安全性方面,改进协议吸取了已有协议的许多优点,能有效地抵抗各种形式的攻击。下面,本文将对改进协议抵抗各类攻击的情况进行分析。

(1)窃听攻击:由于随机数RR 的参与,此协议可以保证标签与阅读器之间每次通信的消息都是变化的。并且由于函数H为单向函数,通信信息即使被攻击者窃取,他也无法从获取到的消息中得有价值的原始信息。因此,改进协议可以很好的避免窃听攻击给系统带来的风险。

(2)哄骗与重放攻击:在哄骗与复制攻击中,攻击者扫描标签,记录下它的回应消息,并在稍后重放这个回应消息,以便用此标签标识其它物品,从而达到以低廉的价格购买昂贵商品或是获得对某种设备访问权的目的。不过,此类攻击对改进后的协议没有什么威胁。因为,在此协议中,阅读器每次通信时都将产生一个随机数RR,并且攻击者无法预知和控制,所以当标签将消息(IDT⊕H (IDR⊕RR))回复给阅读器时,即使攻击者记录下这一标签的回应消息,并在稍后合法阅读器扫描其它标签时,重放截取的回应消息也无法通过后端数据库的认证。

(3)跟踪或位置隐私攻击:由于当前的协议中标签在每次通信中传递的消息都是不固定的,并且哈希函数H的输出也是不可预知的,因此攻击者对标签的跟踪以及用户位置隐私攻击很难实现。

在存储空间方面,如前所述标签与后端数据库都需要存储IDT与IDR两组数据。

在计算量方面,标签需要进行2次哈希运算;阅读器需要进行一次随机数生成的操作;后端数据库则需要进行一次随机数的生成操作和2次哈希运算。

4& nbsp;& nbsp;& nbsp;& nbsp; 三个协议的比较
为了更清晰地说明改进协议的优点,本文将在表1与表2中分别对上述三个协议的安全性与高效性进行详细的比较。

表1 三个协议的安全性比较
 

& nbsp;

窃听

哄骗

重放

跟踪

Hash-Lock协议

×

×

×

×

Hash链协议

×

×

改进协议


& nbsp;(其中,×表示不安全;○表示安全)

 

表2 三个协议的高效性比较

& nbsp;

 

& nbsp;

存储空间

计算量

标签

数据库

标签

阅读器

数据库

Hash-Lock协议

2L

4L

H:1

Hash链协议

1L

2L

H:2

H:j(n+1) /2

改进协议

2L

2L

H:2

R:1

H:2

(其中,H表示哈希函数操作;R表示产生随机数的操作)

通过比较可以发现,改进后的协议在安全性方面具有明显的优势;在高效性方面,与Hash-Lock协议相比,虽然认证过程需要较多的计算,但是整个系统资源占用较小;而与Hash链协议相比,虽然系统资源占用上比大,但是认证所需的计算量比较小,这可以节省大量的认证时间。因此,从安全性方面考虑此协议具有很好的抗攻击能力;从高效性方面考虑此协议是一种较好的空间/时间折衷协议,并且比较适合应用于拥有大量电子标签的RFID系统。

本文作者创新点是:改进了现有射频识别系统认证协议,并且使之在保证认证安全性的同时,解决了认证高效性的问题。

参考文献:

[1] 游战清,李苏剑.无线射频识别技术(RFID)理论与应用[M],电子工业出版社.2005:13-17

[2] 袁昌立.集成RFID的智能建筑系统研究[J].微计算机信息,2007,1-2期:264-265

[3] Steve Bono, Matthew Green, Adam Stubblefield, Ari Juels, Avi Rubin, Michael Szydlo. Security Analysis of a Cryptographically-Enabled RFID Device[C],2005,1

[4] Sanjay E.Sarma, Stephen A.Weis,Daniel W.Engels.RFID Systems and Security and Privacy Implications. Proceedings of the 4th International Workshop on Cryptographic Hardware and Embedded Systems[C] (CHE 2002).

[5] Stephen A.Weis, Sanjay E.Sarma, Rivest R.L., Daniel W.Engels.Security and Privacy Aspects of Low-cost Radio Frequency Identification Systems. Proceeding of the 1st Intermational Conference on Security in Pervasive Computing[C],2003

[6] Miyako Ohkubo, Koutarou Suzuki,Shingo Kinoshita.Hash-chain based Forward-Secure Privacy Protection Scheme for Low-cost RFID. Proceedings of the 2004 Symposium on Cryptography and Information Security [C] (SCIS 2004).

13.56MHz NFC天线,13.56MHz RFID天线设计培训课程套装,让天线设计不再难

上一篇:城市路灯控制系统的无线解决方案
下一篇:如何进行RFID的现场勘验(Site Survey)

13.56MHz 线圈天线设计详情>>
手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

  网站地图