王 悦 樊 凯
1(西安文理学院信息工程学院 西安 710065) 2 (西安电子科技大学网络与信息安全学院 西安 710071) (ywang@xawl.edu.cn)
随着云计算、大数据以及新一代移动通信技术的普及应用,物联网技术也得以快速发展,该技术可应用的领域也越来越多.物联网是一种通过信息传感设备,把任何物品与互联网相连接,按约定的协议进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的网络.无线射频识别(radio frequency identification, RFID)技术是物联网的关键技术之一,也在诸多物联网场景中被广泛应用.RFID是一种非接触式自动识别技术,具有快速高效等特点,可以快速、实时和精确地识别、采集并处理相关对象的信息.近年来,国内的RFID技术发展迅速,已被广泛应用于公共交通、自动收费站、社会保障等领域[1].
在票据领域,RFID广泛应用于获取电子票据的信息认证和隐私保护等方面,是电子票据应用技术的重要组成部分.通过将RFID技术应用于传统的票据,电子票据比纸质的标签能提供更高效、便利的服务[2].但在节约工作成本和提高效率的同时,也带来了一系列潜在的安全威胁.
在实际应用中,使用RFID技术的电子票据体现了物联网的智能化识别和检测.但这一过程存在多种安全问题,比如身份隐私泄露和安全认证等问题.由于电子标签和读卡器之间通过无线链路来交换数据信息,这种无线通信工作于开放环境中,其固有的脆弱性使得传输的数据信息被完全地暴露出来,容易受到外部的干扰和攻击,使标签的隐私信息存在极大的安全隐患[3],如攻击者可以通过跟踪电子标签,追踪用户的位置,从而泄露用户的位置信息[4].此外,攻击者还可以通过窃听获取到电子标签的隐私信息,并对信息分析后进行攻击,也就进一步影响了后续的安全认证.
RFID的安全问题制约着电子票据系统的发展和应用,解决RFID安全问题的有效手段是引入具有隐私保护的安全认证机制.与此同时,由于电子标签的计算能力、存储空间、通信容量、逻辑门的数量和电源供给能力等多方面的资源限制,一些成熟复杂的加密算法不能应用在RFID安全认证系统中,因此轻量级安全认证协议得到了广泛的应用,也成为了当前电子票据安全认证协议研究的重点.
为解决RFID技术在电子票证中存在的安全问题,通过分析研究,本文提出了一个超轻量级的RFID安全认证方案,使得电子票证的隐私保护和安全认证等方面的需求得以保障.本方案采用计算复杂度较简单的逻辑运算用于信息的加密,在保障系统信息安全的同时,可以降低计算开销,能够更好地适用于无源标签系统.方案采用时间戳同步升级机制,可有效解决失同步攻击和重放攻击等安全问题,并可有效防止信息泄露.另外,为了提高信息匹配的速度,后端数据库采用时间戳匹配标签信息的方法,极大地提高了数据搜索效率.
物联网技术正在快速发展,在不同的应用场景中,人们的安全意识和需求也都在逐步提升.物联网的安全主要是指保护在其系统中软硬件的数据免受泄露、篡改、破坏等安全问题,从而使得整个系统稳定、安全且高效地运行.
由于RFID技术在物联网中应用广泛,系统应用的安全问题一直以来都是该领域研究人员重点关注的问题.随着RFID技术的发展,为了进一步扩大轻量级的RFID系统的应用场景和应用领域,一些低成本的RFID安全认证方案先后陆续被提出.早在2003年,文献[5]就曾基于Hash函数提出过Hash-lock协议.在该方案中,标签的身份信息是匿名的,尽管如此,匿名化的身份信息在每轮会话过程中是保持不变的,在保护用户身份隐私的同时,却失去了抵抗追踪的能力.该协议整体设计较为简单,安全防御能力还有待提升.随后, Hash-chain协议[6]被提出,该协议是基于Hash-lock改进的方案,尽管解决了之前协议的不足,却也带来了一些新的安全问题,比如无法抵抗重放攻击等.
2006年,RFID轻量级安全认证协议SPAP[7]被提出,但该协议不仅不能抵抗重放攻击,且容易泄露标签的敏感信息.2007年提出的超轻量级RFID认证协议(SASI)[8]能抵抗重放攻击,并且提供强认证性和强集成性,却不能有效抵抗拒绝服务攻击.一旦有攻击者反复认证IDS信息,会使数据库一直处于忙碌状态,带来资源消耗严重,从而影响正常数据的通信.此外,和SPAP协议相似,SASI协议也容易泄露标签的敏感信息.2012年,文献[9]提出了基于时间戳的认证协议,该协议实现了双向认证.此外,在该协议中,标签的ID信息在传送时都经过了Hash运算,可以保证标签身份的机密性.但是该协议存在一定的缺陷,不能有效抵抗去同步攻击,甚至在失同步的情况下还会进一步遭受重放攻击.2013年文献[10]提出了一个抵抗去同步攻击的协议,但该协议数据库中对同一个标签存储数据过多且不便于查找.以上这些方案或多或少均存在一些安全不足,因此如何设计更安全、成本更低的方案仍然是当前研究的重点.针对RFID技术在电子票据应用场景中存在的安全问题,本文提出了一种安全高效的轻量级认证方案,可以有效地防止重放攻击、去同步攻击等常见的安全威胁,并极大地提高了数据的搜索效率.
一个完善的票证防伪认证系统应当具备匿名访问、票证防伪、防追踪等3种基本的特征[11].
1) 匿名性
票证和读卡器之间是通过无线链路来交换数据信息的,而无线通信固有的脆弱性使得传输的数据信息完全地暴露出来,容易受到外部的干扰和攻击,导致一些信息被泄露.而票证中有很多敏感信息,一旦泄露会给用户造成一定的威胁,如用户的身份信息、当前位置等.在读卡器对票证进行读写和通信的过程中要对重要信息进行加密,不能出现有关这些数据的明文信息,以保证信道中信息传输的机密性.票证在与外界设备的交互过程中也不能直接将自身敏感信息直接传输,而是要经过一些匿名处理,实现对票证的随机化访问控制,即使攻击者通过无线信道截获了交互消息,在未知解密密钥和解密方法的情况下也无法获知票证中的重要信息.而在认证的过程中,每次票证请求时,请求消息中的认证标识符都不相同,从而实现了用户身份的匿名性[12].
2) 票证防伪
RFID技术的票证中都内嵌有独立的芯片,由于芯片制造过程中产生的差异本身具有不可模仿和复制的特性,所以芯片的复制难度极高,并且芯片内存储有唯一的ID,结合通信前的相互认证过程,没有通过认证的票证不能进行下一步操作.芯片ID和双向认证共同作用使票证具有防伪的功能[13].
一般说来,RFID的安全隐私问题与非法的读卡器从合法的标签上读取重要信息有关.因此,解决RFID安全问题的有效手段是引入安全认证机制.即在电子标签和读卡器进行重要信息交换之前先通过一定的手段进行双向认证,认证通过后才可以进一步操作[14].
3) 防追踪
由于票证发送的信息中可能包含某种固有的或者有规律的能唯一标识身份的信息,如ID序列号,攻击者可以根据票证响应读卡器的响应信息对票证进行跟踪分析.因此,当用户没有改变时,攻击者就可以通过跟踪票证追踪用户的位置,从而泄露用户的位置信息[15],因此,在协议交互的过程中不能使用ID的明文信息,需要将ID进行变换,混淆ID信息,防止追踪.
轻量级RFID电子票据安全认证方案在电子标签与读卡器进行有效的数据传输前,会先进行双向认证,只有通过认证后,电子标签才会把身份信息等数据发送给读卡器.双方传输的数据信息用异或、置换变换、循环移位等超轻量级逻辑运算进行加密.电子标签和服务器中存储有相应的时间戳信息,既可以防止失同步问题的出现,又可以提高检索效率.在认证的过程中,一旦发现不能匹配的信息,电子标签、读卡器和后台服务器可随时终止协议.
由于认证期间,只需要传输时间戳作为认证的标识,可以很大程度上减少电子标签的开销.
在电子标签向后台服务器传输数据时,没有直接传输明文ID或者ID的部分明文,而是将ID进行加密、变换后再进行传输,防止标签的重要信息泄露.
时间戳的更新分别在电子标签和服务器中完成,更新后的数据没有在不安全信道上传输,被攻击者窃听到的几率大大减小.
为方便方案描述,协议中需要用到的符号和操作说明如表1所示:
Table 1 Notations表1 符号说明
本方案涉及到3个实体:电子标签、读卡器和后台服务器.读卡器和服务器之间的数据交互基于有线信道,故而是安全可靠的;而读卡器和电子标签之间的数据传输是在无线开放环境中进行的,因此是不安全的.
在电子标签和后台服务器进行通信的过程中,标签运算只涉及加法、异或、置换、循环移位4种简单的位操作.置换变换可以有效地应用在无源标签上,减少标签的计算开销.
2.4.1 置换变换
定义1. 置换变换Per(A,B).假设A,B是2个均为l位长的字符串,且
A=a1a2…al,ai∈{0,1},i=1,2…,l,
B=b1b2…bl,bj∈{0,1},j=1,2…,l,
B中1的个数为m,即:
bk1=bk2=…=bkm=1,bkm+1=bkm+2=…=bkl=0,
其中,1≤k1 例如A=10110101,B=11010110,即可得到Per(A,B)=01001101. 设指针pA和pB分别指向字符串A,B,且同步地从字符串的第1位到最后一位,当pB指向1时,就将pA指向的位取反并复制到第3个字符串中,直到pA,pB都同时指向最后一位,如图1阴影部分所示.然后pA,pB同时从最后一位向第1位同步移动,当pB指向0时,就将pA指向的位复制到第3个字符串中,直到pA,pB都同时指向第1位,计算结果如图1所示Per(A,B). Fig. 1 Permutation operation图1 置换变换 2.4.2 协议步骤 本方案包括2个阶段:初始化阶段和认证阶段. 1) 初始化阶段.该阶段实现标签和后台服务器存储数据的初始化. ① 标签的初始化.系统为每个标签指定唯一的l位长的身份认证信息(Secure ID,SID)和本次认证的密钥信息Kl.将SID,Kl和时间戳Tl存储在每个标签中. ② 后台服务器的初始化.系统将每个电子标签的SID信息、Kl和时间戳Tl存储在后台服务器Database中,并将上次成功认证的时间戳To和上次成功认证的密钥Ko置为0. 2) 认证阶段.方案的认证过程如图2所示.协议共分为6步,每一步的认证过程如下所示: ① 读卡器发送询问信号.电子标签接收到询问信号后,将上次更新的时间戳信息Tl发送给读卡器,读卡器将Tl和随机数R1发送给后台数据库. ② 搜索后台数据库中保存的时间戳信息.如果Tl匹配到的是上次成功认证的时间戳信息To,那么可能是标签上次认证未更新时间戳,而密钥信息是否更新未知,为了保证标签和数据库中数据的一致性,将Ko的值赋给Kl;如果Tl匹配到的是更新后的时间戳Tn,则将Kn的值赋给Kl.通过加密运算Per(R1,Kl)对R1进行加密后传输. ③ 读卡器接收到后台数据库发送的消息P后,将P发送给电子标签.标签通过相应的逆置换变换P-1得到R1,产生随机数R2,计算V=Per(Kl⊕R2,R1),SID′=Rot(SID⊕V,R2),R′=f(SID′,1,R1)‖f(SID′,R2,l).电子标签将计算得到的信息V和R′发送给读卡器. ④ 读卡器将V和R′发送给后台数据库.后台数据库从V中得到R2,计算SID′=Rot(SID⊕V,R2),得到f(SID′,1,R1)‖f(SID′,R2,l),将其与标签发送的数据R′进行比较是否匹配,如果匹配成功,则计算R″=f(SID′,R1,R2),将R″发送给读卡器.然后更新To←Tl,Ko←Kl,Kn←Rot(Kl⊕R1,R1),Tn←Tl+Per(Kn,R1). ⑤ 读卡器将R″发送给电子标签.标签计算f(SID′,R1,R2),并与R″比较,如果相等,则发送“OK”给读卡器,然后更新Kl←Rot(Kl⊕R1,R1),Tl←Tl+Per(Kl,R1);否则发送“No find”信息给读卡器. ⑥ 如果读卡器收到的是“OK”信息,那么就将信息转发给后台数据库,数据库将发送SID信息给读卡器;否则,读卡器终止协议. 在协议认证的过程中,如果有多个电子标签同时对读卡器的询问信号做出响应,那就会产生干扰,影响认证的进行.因此在本协议中使用BMSA(breadth-first-search m-ary split algorithm)来解决标签碰撞问题[16]. Fig. 2 Ultra-lightweight RFID electronic ticket authentication scheme in IoT图2 物联网中超轻量级RFID电子票据安全认证方案 本文对SPAP协议、SASI协议和本文提出的协议进行了分析比较,3种方案的比较如表2所示.SPAP协议中,电子标签中的SID信息仅仅通过简单的取子串和异或的方法就进行发送,一旦被攻击者窃听到,就容易泄露相应的ID信息.在SASI协议中,由于ID信息是以明文的形式在无线链路中传输,因此也容易造成信息泄露.本方案中后台数据库是用时间戳信息搜索电子标签的,标签的ID信息得到保护.本方案在安全性方面具有7个特点: 1) 标签匿名且不可追踪.在整个协议的认证期间,攻击者能获取到的值只有Tl,P,V,R′,R″.而Tl只有时间戳的意义,不包含其他有关电子标签身份的信息.对于系统来说,时间戳只是起到便于后台数据库搜索标签的作用.所以对攻击者来说,即使截获了时间戳,也不能最终通过和后台数据库之间的认证过程.而P,V,R′和R″均会受到随机数的影响,也无法追踪. Table 2 Comparison of Various Authentication Protocols表2 安全认证协议比较 2) 双向认证.后台服务器通过Tl和R′实现对电子标签的认证,电子标签通过R″实现对后台数据库和读卡器的认证.只有存储密钥K的标签和数据库才能完成对R′,R″的认证. 3) 防止重放攻击.攻击者可能会截获标签和读卡器之间传输的消息,但这些消息依赖于每次认证都会更新的密钥和随机数.所以即使攻击者重放消息,也不能通过数据库和标签的认证. 4) 防止去同步攻击.后台数据库中不仅存储当前通信需要的时间戳、密钥,还存储着上次认证成功的时间戳和密钥.防止R″被攻击者截获导致标签更新失败后合法的标签不能通过再次认证的问题. 5) 防止隐私泄露.电子标签和读卡器间传输的信息Per(R1,Kl),Per(Kl⊕R2,R1)是加密后的数据,因为很多对Kl,R1都会得到相同的Per(R1,Kl)值,所以即使攻击者截获Per(R1,Kl),也不能计算出随机数R1和密钥Kl的值.同理通过Per(Kl⊕R2,R1)也不能得到R1,R2和Kl. 6) 前向安全性.后台数据库和电子标签使用随机数分别更新时间戳和密钥信息.因此,即使当前的密钥泄露,攻击者也不能推测出以前的密钥信息. 7) 后向安全性.即使攻击者获取到后台数据库和电子标签之间当前传输的交互信息P,V,R′和R″,也不能从当前信息中推测出更新电子标签的信息Kl,因此不能更新假冒标签的信息. 本文提出的协议只需要标签进行简单的逻辑运算、位运算,可大大减少对标签的软硬件要求.下面将详细论述本方案中标签和后台服务器的开销. 1) 标签的通信开销.在本协议中,电子标签只涉及随机数发生器,简单的加法+、异或XOR⊕、循环移位Rot、置换变换Per等操作,计算简单高效. 2) 标签的存储开销.在本协议中,身份信息SID、时间戳Tl、密钥信息Kl都是l位的,那么标签共需要3l位的空间存储信息. Fig. 3 Authentication time versus the number of tags图3 认证时间和标签数量的关系图 本文采用MATLAB软件对协议进行模拟仿真.图3和图4分别对认证时间和攻击次数进行了仿真,将SASI协议、SPAP协议与本方案进行了分析比较. Fig. 4 The number of attacks versus the length of l图4 攻击次数和l长度的关系图 由图3可知,随着数据库中存储标签个数的增加,标签通过后台数据库认证的时间也随之增加.在后台数据库认证标签的时间开销方面,本文提出的协议的认证时间较短、认证速度较快,具有较好的性能.由图4可知,随着每个标签中SID,Kl长度的增加,为了获取标签的隐私信息需要攻击的次数也在不断增加,可见本文提出的协议安全性较高,抵抗攻击性较强. 物联网旨在实现万物相连,将传统票证电子化也是将其物联网化的一种应用.针对物联网中RFID技术在电子票据应用中存在的安全问题,本文对现有的RFID认证方案进行了优化与改进,提出了一种轻量级安全高效的认证方案.该方案实现了电子标签和读卡器间的双向认证,具有机密性和标签匿名性,可有效抵抗重放攻击、失同步攻击,同时具有前向安全性,基本满足了低成本RFID系统的要求.另外,性能分析和仿真结果均表明,该方案在保证一定安全性的同时,具有较高的性能和较低的资源消耗.3 安全性分析
4 性能分析
5 仿真分析
6 总 结