物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

一种基于SASI的轻量级RFID双向认证协议

作者:吴立知
来源:中国论文网
日期:2017-07-04 13:59:22
摘要:对于轻量级RFID系统的认证协议的研究,既要考虑标签与读写器之间的无线通信的安全性问题,又需要兼顾系统在计算量、存储量和通信量等方面的硬件资源限制。该文针对现有的轻量级RFID安全协议存在的缺陷,提出了一种基于SASI的轻量级RFID双向认证协议,并对协议的安全性进行了分析。

  1 概述

  RFID作为一种新型的自动识别技术,可以同时对多个物体进行识别,识别过程使用无线射频,不需要激光或外部材料透明,因此可以透过外部材料对物体进行识别[1]。RFID具有无需直接与被识别物体进行接触和人工干预、数据存储量大、操作简单方便等优点,被广泛应用于停车场管理系统、汽车或火车等的交通监控系统、高速公路自动收费系统、物流管理系统、安全出入检测、流水线生产自动化、动物管理、仓库存储管理、车辆防盗等应用领域的数据收集和处理。随着RFID的广泛应用,因为其具有的强大标签追踪能力,用户的信息隐私问题及信息交互时的数据认证问题成为了系统主要的安全问题[2]。所谓信息隐私问题是指阅读器不用通过安全认证就能读取标签内容,从而造成标签被非法跟踪及信息泄露;数据认证问题指的是读写器在读取标签数据时,不需要通过认证,从而造成标签数据被复制或篡改等安全问题[3]。

  2 RFID系统的安全需求分析

  设计RFID标签应用方案时应注意保护消费者隐私,从解决ID泄漏,ID追踪、信息推断、信息回溯等问题着手。因此RFID系统安全的需求如下[4]:

  1)访问授权:即标签对读写器进行认证。

  2)标签认证:即读写器对标签进行认证,标签和读写器之间的双向认证。

  3)标签的匿名性:标签用户的真实身份等信息要经过加密,以保证通信过程中隐私信息的机密性。

  4)前向安全性:即使攻击者攻破某个标签获得了它当前时刻t2的状态,该攻击者也无法将该状态与之前任意时刻tl(tl  5)后向(反向)安全性与标签所有权转移:标签在时刻tl的秘密信息不足以用来在时刻t2(t2>t1)识别认证该标签(抵抗重放攻击)。若一个安全协议能够实现后向安全性,那么所有权转移就有了保证。每次发送的身份信息需要不断变化,且变化后的值不能由变化前的值推导出。

  6)拒绝服务攻击:可以使标签与读写器的密钥、假名变化不同步,导致读写器不能读标签。也可以Kill标签,使标签实效。还可以通过对合法标签广播大量的访问请求,使得标签无法对合法读写器的访问进行响应,或者反过来对读写器广播大量标签信息。

  7)可用性:RFID系统在受到各种攻击后无法正常工作。例如去同步化攻击导致标签和后台数据库存储信息不匹配而导致合法标签失效。

  3 SASI协议

  SASI协议((Strong Authentication and Strong Integrity,简称SASI协议) [5] 使用简单的逻辑运算(与、异或和移位操作),取代了复杂的运算,实现了系统的轻量级;并在读标签时更新假名IDS、K1和K2,从而使其前向和反向安全性得到提高,SASI协议是轻量级RFID认证协议中安全性最高的一个,是轻量级认证协议研究的一个里程碑。协议在初始化中, 规定Reader和Tag共享假名IDS和密钥K1、K2。图1描述了SASI协议的认证过程。

  根据A、B,计算n1,n2

  SASI协议使用简单的逻辑运算,实现了系统的轻量级;并在读标签时更新假名IDS和K1、K2,从而使其前向和反向安全性得到提高,SASI协议是轻量级RFID认证协议中安全性最高的一个,是轻量级认证协议研究的一个里程碑。

  但实质上对SASI协议,可以进行拒绝服务攻击,思路是针对其在读标签时更新假名IDS和K1、K2,设法使阅读器后台数据库中的当前IDS与标签中的IDS不一致,使标签被攻击后不再能被读取。并且有相关研究表明,SASI协议也无法抵抗代数攻击[6]。还有,通过简单重放,也能实现对阅读器进行攻击,使其无法正确阅读移动中的标签。

  4 基于SASI的改进的轻量级RFID双向认证协议

  4.1 初始化

  1)标签中存放KID和ID,每个标签都有属于自己的唯一的KID和ID。

  2)读写器中存放(KID,ID)列表,该列表存放在后台数据库中,因为读写器和后台管理系统之间的通信是安全通路,对于两者之间的通信,不再另外描述。

  3)读写器的伪随机数生成能力强。

  4)读写器与所有标签有共享密钥K,存放在后台数据库中。

  5)Rot函数

  Rot(x,y):该函数是一个非线性函数,是指将的值循环左移(y mod N)位。在设计的轻量级RFID双向认证协议中,N的值为96。

  6) MIXBITS函数

  M1XBITS(x,y):此函数也是一个非线性函数,采用右位移操作(>>),执行的操作如下:

  4.2 协议的具体流程

  新设计的安全认证协议的具体流程如图2所示,其具体认证过程如下:

  1)首先在标签进入读写器的通信范围内时,读写器发送请求Query给标签。

  2)标签收到Query后,随即生成一个随机数Rt1,并将其发送给读写器。   3)读写器收到Rt1后,自身生成一个随机数Rr,计算n=MIXBITS(Rt1 ,Rr),然后用共享密钥K计算A=Rot(K⊕n,K)和B=Rr⊕K,最后读写器把数据A‖B发送给标签。

  4)标签收到A‖B后,先自己计算Rr = B⊕K,n′=MIXBITS(Rt1 ,Rr),A′=Rot(K⊕n,K),若A′=A,则说明标签完成了对读写器的认证,认为它是合法的;若不相等,则认为是非法读写器,通信终止。

  5)标签生成随机数Rt2,然后计算C=KID⊕Rt2,D=Rot(Rt2,Rr⊕ID),并向读写器发送C‖D。

  6)读写器将C‖D发送给后台数据库。

  7)后台数据库查表(KID,ID),并计算Rt2′= C⊕KIDi,D′=Rot(Rt2′,Rr⊕ID),若存在(KIDi,IDi),满足D′=D,则完成了标签的认证,确定对方是合法标签;否则认为是非法标签,会话终止。

  5 协议的安全性分析

  在RFID系统中,认证协议的安全性是设计认证协议时必须首要考虑的因素。下面将研究几种常见的攻击方式对新协议的安全性是否具有威胁。

  1)标签对读写器的认证:协议使用随机数Rr,和B=Rr⊕K完成对密钥K的加密,并用A=Rot(K⊕MIXBITS(Rt1 ,Rr),K) 完成对读写器的认证,认证过程是安全可靠的。

  2)读写器对标签的认证:在标签信息中采用了KID和ID。在标签向读写器发送的信息中,KID和ID分别在不同的信息中,而且C与D并无直接关系,攻击者在得不到(KID,ID)表情况下,是不可能掌握标签的ID信息。

  3)防窃听攻击:读写器和标签之间的通信信息都经过了加密,而且各个信息之间的关联性非常低,窃听者是无法根据标签和读写器之间的加密信息来获取标签中的敏感信息的。

  4)防假冒攻击:在新的协议中,由于标签产生的随机数Rt1每次都不相同,因此每次攻击者伪装成读写器向标签发送请求时,标签返回的信息都不相同,攻击者无法确定这些响应信息来自同一个标签,即无法对标签实施跟踪。同样的,每次通信的信息都是不相同的,攻击者无法伪装成合法读写器读取标签的敏感信息,该协议可以抵抗假冒攻击。

  5)防重传攻击:每次认证过程中,标签和读写器都分别产生新的随机数密值,攻击者即使截获了某一次认证过程中的信息,也是无法重放或伪造新一次认证过程中的信息的。

  6)防篡改攻击:由于不知道认证密钥,而且该协议在通信过程中使用了MIXBITS和Rot函数对信息进行加密,因此攻击者是无法将原合法信息篡改成另一条信息的。篡改攻击只能造成本次协议认证过程失败,标签进入初始化状态,而不会造成错误认证,该协议可以抵抗篡改攻击。

  6 结束语

  经过学者们的多年研究,RFID技术已取得了巨大的成就,此项技术的应用已成为当今的研究热点之一。但是RFID系统还没有得到广泛应用,其主要原因是由于系统的安全性和硬件成本要求。该文主要是在研究前人成果的基础上,通过阅读大量的文献,针对现有RFID认证协议存在的弊端,提出了一种改进的轻量级的RFID双向安全认证协议。经过分析证明,该协议能够实现双向认证、能够防止窃听、假冒、重传和篡改等非法攻击,并且简化了认证过程和运算的复杂度,能够在低成本标签中实现。

  针对该认证协议,在以后的工作中,会进一步从以下几个方面进行改进:

  1)采用计算量更小的算法,进一步降低标签的成本。

  2)实现并发安全。模拟实现读写器同时和多个标签运行认证协议,全面模拟现实RFID通信环境中的实际情形。