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

新的轻量级RFID 双向认证协议 PUF-LMAP+

作者:朱峰,白恩健
来源:微型机与应用
日期:2016-03-03 13:47:51
摘要:随着射频识别(RFID)技术越来越广泛的应用,其安全与隐私问题成为制约RFID技术的主要原因之一。为了降低标签的成本,有一些基于位操作的超轻量级安全认证协议被提出,但仅仅利用位操作的超轻量级安全认证协议安全性不能很好保证。本文针对改进的LMAP+安全认证协议不能够抵抗跟踪攻击和完全泄露攻击的问题,融合物理不可克隆函数(PUF)提出新的轻量级算法,新算法能够抵抗追踪攻击、完全泄露攻击和标签克隆攻击等攻击方法。

  0引言

  随着RFID应用范围的不断扩大,其安全与隐私问题也得到越来越广泛的重视。现有的RFID系统安全技术可以分为两大类[1]:一类是通过物理方法保证标签与阅读器之间通信的安全;另一类是通过逻辑方法增加标签安全机制。物理方法由于缺乏灵活性而很难在标签中广泛使用,因此逻辑方法得到广泛的关注。逻辑方法[2]主要包含超轻量级安全认证协议(仅采用位运算)、轻量级安全认证协议(伪随机数发生器和简单的函数运算)、中量级安全认证协议(随机数产生器和Hash 函数)和重量级安全认证协议(对称或非对称加密函数)。

  尽管重量或中量级安全认证协议有很好的安全和隐私保护,但是由于受到成本的制约,标签计算能力和存储能力受到一定限制。因此重量或中量级安全认证协议很难广泛应用于实际当中。设计安全、低成本和轻量级的RFID双向认证协议是非常值得研究的一个课题。

  参考文献[3]提出了超轻量级双向认证协议族(Ultra-lightweight Mutual Authentication Protocol,UMAP),包括最低要求双向认证协议(Minimalist Mutual-Authentication Protocol,M2AP)、高效双向认证协议(EfficientMutual Authentication Protocol,EMAP)和轻量型相互认证协议(Lightweight Mutual Authentication Protocol,LMAP)。这个协议族只需要简单的位操作就可以完成认证协议,但这些协议无法抵抗去同步破坏攻击和跟踪攻击。文献[2]提出了轻量级强认证强完整性协议(Strong Authentication and Strong Integrity,SASI协议),该协议拥有更强的完整性保障,但也不能抵抗拒绝服务攻击和去同步攻击[4]。针对SASI协议的缺点,文献[5]提到了Gossamer协议,同时也指出该协议也存在拒绝服务攻击和去同步攻击。

  针对LMAP不能抵抗的攻击,不断有学者对LMAP协议进行改进,但同时也陆续有学者指出改进的协议中仍存在缺陷。在2012年,Gurubani[6]等人在较完善的LMAP+协议的基础上进行了改进,提出了新的协议,该协议仅使用按位加、按位异或等简单的位运算,改进后的协议能够抵抗跟踪攻击和去同步攻击。2014年王超[7]等人针对改进的LMAP+协议提出跟踪攻击(在该文献中用的是追踪攻击)以及由跟踪攻击发展而来的完全泄露攻击。

  本文针对文献[7]提出的攻击,对改进的LMAP+协议进行进一步的改进,在原有的协议中融入物理不可克隆函数(Physical Unclonable Function,PUF)后提出新协议并对新协议进行安全性分析。结果表明新协议能够抵抗追踪攻击、完全泄露攻击和标签克隆攻击等其他攻击方法。

  1改进的LMAP+和PUF

  1 1改进的LMAP+

  2012年,Gurubani[6]等人分析了所提出的跟踪攻击和去同步攻击后,在原有的LMAP+协议上添加了一项密钥信息K3,并且在整个认证过程中没有涉及到标签的ID,对在阅读器和标签之间相互认证的传输数据表达式和最后的更新表达式都进行了改进。在改进的LMAP+中仅使用了位加、位异或等位操作,而且假设阅读器与后台数据库之间传输信息是安全的。

  2014年,王超[7]等人提出针对改进LMAP+协议的基于模拟退火算法的攻击策略,并对该协议进行安全性分析,通过自定义评价函数,以启发式算法的思想,使猜测数据逐渐逼近真实秘密数据,从而完成跟踪攻击和在跟踪攻击上衍生出来的完全泄漏攻击。

  12PUF

  为了提高RFID系统的安全性,大部分安全认证协议都采用加密算法或哈希函数来实现。但是这些协议需要一定的硬件成本才能实现加密运算过程。即使对于简化之后的哈希运算而言,加密运算过程也至少需要1 700个等效门[8]。因此尽管这些协议有较高的安全性,但是它们很难应用于低成本的RFID系统中,并且应用扩展性也较低。同时采用这些安全协议的RFID系统也难以抵抗一些不良攻击,如无法抵抗物理攻击和标签克隆等。攻击者可以通过解剖芯片的方式获取标签内部存储的密钥,在此基础上进行芯片的反向设计实现标签的克隆。物理不可克隆功能[9]的出现能有效解决上述问题。PUF是一组微型延迟电路,当收到一个随机的二进制输入之后,会生成一个唯一的、随机的二进制序列作为响应。由于芯片制造过程中产生的差异本身具有不可模仿和复制的特性,所以每个芯片中的PUF电路可以生成无限多个、唯一的、不可预测的“密钥”。即使是芯片的制造厂商也不可能从另外一个芯片上复制出一套一模一样的响应序列。所以,如果在标签芯片内部集成一个PUF模块,则该标签就具有反克隆的功能,同时PUF 唯一的响应序列也可以用来对标签进行认证。而且PUF 电路所需的硬件开销很小,一个64 位的PUF 电路大概需要545个等效门电路[9],大大少于简化后的Hash 运算和MD5等加密电路。正是由于PUF的这些特点,使得利用PUF 来设计RFID 认证协议成为一个新的研究热点。

  但是单独使用PUF也存在一定的安全问题,每个标签需要预先在后台数据库中存储大量的响应对,如果标签数量很多,后台数据库在对标签进行安全认证的时候就要进行大量的查找,从而会降低整个系统安全认证的效率。另外,由于认证过程中没有随机数,标签容易被攻击者跟踪。

  本文针对上述安全问题提出了新的PUFLMAP+协议,新协议不仅能够克服上述没有融合PUF时的安全问题,而且能够满足低成本要求,依然属于轻量级安全认证协议。

  2新轻量级安全认证协议PUF-LMAP+

  PUFLMAP+协议在LMAP+的基础上融合了PUF技术,不仅能够解决上述的安全问题,而且还能够抵抗克隆攻击等一些其他攻击。新协议作了如下的改进:

  (1)为了降低RFID系统成本,只在标签芯片内部集成一个PUF模块(以下部分将PUF模块当成一个PUF函数来使用),PUF的特性使标签能够抵抗克隆攻击。

  (2)在后台数据库中除了要提前存储LMAP+算法中所存储的信息外,还要存储PUF函数的两个输出量,而PUF函数的两个输入量则为共享密钥对。而且经过PUF模块后两个输出量是唯一的。

  (3)为了降低RFID系统的成本,将阅读器中的随机数产生器(Pseudo-random Number Generator,PRNG)改用线性反馈移位寄存器(Linear Feedback Shift Registers,LFSR),在文献[3]中已经提到LFSR也能产生随机数,并且其等效门比PRNG的等效门要少一些。

  (4)在文献[10]中阐明了用模2m不能够抵抗由信息量的最低位引起的跟踪攻击,而用模2m-1能够抵制上述攻击,所以也将新协议中凡是用到模2m的地方都改用模2m-1。

  新算法的具体步骤主要分三步:标签认证过程,阅读器认证过程和标签与阅读器更新相应的信息量。新协议中的标签与LMAP+协议一样只需要存储IDtag(i)、PIDntag(i)和三对共享密钥对(K1ntag(i),K2ntag(i),K3ntag(i))。而后台数据库却要在标签存储的基础上多存储由PUF函数产生唯一输出量分别为(G1ntag(i),G2ntag(i))。下表1是对新协议符号的说明,新协议的具体流程如图1。表1新算法符号与说明符号改进的算法ID tag(i)标签唯一识别号PIDntag(i)标签在第n轮认证过程中的动态假名K1ntag(i),K2ntag(i)

新的轻量级RFID 双向认证协议 PUF-LMAP+

  K3ntag(i)标签和阅读器在第n轮认证过程中的共享密钥对‖连接运算符异或运算符+模2m-1加运算符G1ntag(i),G2ntag(i)

  G3ntag(i)

  l后台服务器在第n轮认证过程中的PUF函数输出量

  阅读器用LFSR所产生的随机数

  其中G1ntag(i),G2ntag(i),G3ntag(i)具体表达式如下:

  G1ntag(i)=PUF(K1ntag(i))(1)

  G2ntag(i)=PUF(K2ntag(i))(2)

  l=LFSR(Gjntag(i))(j=1,2)(3)

  图1新算法具体认证过程

新的轻量级RFID 双向认证协议 PUF-LMAP+

  为了提高随机性,阅读器每次在产生随机数l时随意选择j等于1或2。

  图1中的A、B、C、D和E具体表达式如下:

新的轻量级RFID 双向认证协议 PUF-LMAP+

  新协议的具体流程如下:

  (1)首先阅读器发送HELLO给要认证的标签,标签收到请求信息后,发送自己的动态假名PIDntag(i)给阅读器。

  (2)阅读器收到标签的动态假名后,将动态假名传给后台数据库,后台数据库根据动态假名来查找对应的共享密钥对(K1ntag(i),K2ntag(i),K3ntag(i))和经过PUF函数的输出量(G1ntag(i),G2ntag(i))。阅读器用存储的Gintag(i)(i=1,2)作为LFSR的输入量,并将所得的输出量作为随机数记为l,再根据A和B的表达式计算出相应信息值,然后再将A和B连接在一起发送给标签。标签接收到信息后根据A的表达式算出一个l1,再根据B的表达式算出一个l2。判断l1是否等于l2,若不相等,则认为阅读器是假冒或者本次信息传输是不安全的,认证失败;若相等,则标签认证阅读器成功并且本次传输是安全的。

  (3)在标签认证安全的情况下,标签会先计算出G1n+1tag(i)和G2n+1tag(i)(具体计算表达式如下),再根据C、D和E的表达式和得到的随机数l,计算出C、D和E的信息值,将C、D和E连接在一起发送给阅读器。

  (4)阅读接收到信息值C、D和E后,根据C和D表达式分别计算出G1n+1tag(i)和G2n+1tag(i)。然后根据E的表达式计算出E’,再判断E’和收到的E是否相等,若不相等,则认为标签是假冒或本次信息传输是不安全,认证失败。若相等,则阅读器认证标签成功并且本次信息传输是安全的,双向认证成功。

  G1n+1tag(i)=PUF(G1ntag(i))(9)

  G2n+1tag(i)=PUF(G2ntag(i))(10)

  (5)在双向认证成功后,标签和后台数据库会根据如下表达式对各自的(K1ntag(i),K2ntag(i),K3ntag(i))和PIDntag(i)进行更新。

新的轻量级RFID 双向认证协议 PUF-LMAP+

  (6)最后阅读器将计算出的(G1n+1tag(i),G2n+1tag(i))传给后台数据库用于更新(G1ntag(i),G2ntag(i))。为了抵抗去同步攻击,新协议仍使用LMAP+协议中的方法在阅读器和标签中分别设置了状态位S。在每次认证过程中,如果协议认证成功,状态位S设置为0,否则设置为1,即S=1代表认证不成功。

  3PUF-LMAP+安全性分析

  (1)跟踪性攻击:在文献[7]中针对改进的LMAP+协议通过猜测一个秘密数据与窃听的公开传输数据推导出剩余秘密数据,由猜测的秘密数据预测下一轮认证过程中的PID,从而达到跟踪性攻击。而本文提出的新协议中在原有的公开传输的表达式中加入了两个由PUF函数产生的唯一的G1ntag(i)和G2ntag(i),使得原来通过猜测一个共享密钥的方法不能够实现。因为加入的G1ntag(i)和G2ntag(i)使得原来的表达式更具安全性,不可能用猜测的方法和推导的方式来推出共享密钥。例如攻击者在窃听PID、A和B后,再猜测K1ntag(i)为某值K1’ntag(i),由B的表达式无法推随机数l,因为在B中新加入了G2ntag(i)。从而后续推导其他共享密钥值的企图都无法实现,因此新协议能够抵抗跟踪攻击。

  (2)完全泄露攻击:在文献[7]中也提到通过多次猜测和窃听公开传输数据来推导出所有共享密钥。但是因为表达式A、B、C和D中分别加入了G1ntag(i)、G2ntag(i)、G1n+1tag(i)、G1n+1tag(i),而且在E中加入了G1n+1tag(i)和G2n+1tag(i),使得原来的表达式的安全性提高了。这是因为每个表达式都加入了不同的PUF函数的输出量,无法猜测和推导出共享密钥。因为无法通过多次猜测来得到共享密钥的近似值,从而整个系统能够抵抗完全泄露攻击。

  (3)去同步攻击:在仅使用PUF的认证协议中,因为标签要在认证阅读器时发送下一轮的G1n+1tag(i)和G2n+1tag(i)用于存储以及下一轮安全认证,因此攻击者可以在认证阅读器的过程中窃听C和D,并且更改其信息量。例如在C中加入一个值f使得G1n+1tag(i)发生改变,使阅读器存储的G1n+1tag(i)和标签发送的G1n+1tag(i)不一样,从而达到去同步攻击的目的。而在新协议中加入一个新的传输量E就是用来验证C和D在传输中是否被攻击者更改。若更改了,则阅读器计算出的E和接收到的E不相同,阅读器不会对G1ntag(i)和G2ntag(i)进行更新,阅读器会要求标签重传正确的C和D后,再更新相应的G1ntag(i)和G2ntag(i),从而系统就可以抵抗去同步攻击。

  (4)中间人攻击:在阅读器认证标签时会发送A和B,攻击者可以拦截A和B后对两者进行更改,然后再传给标签。但是在协议中标签会根据A的表达式和存储的信息量来计算随机数得l1,再根据B的表达式和存储的信息量来计算随机数得l2,判断l1和l2是否相等来判断是否有中间人攻击。在标签认证阅读器时会发送C、D和E,而表达式E也是用来验证C和D是否受到中间人攻击。因此该新算法能够抵抗中间人攻击。

  (5)克隆攻击:攻击者可以利用物理方法来复制标签存储的信息来克隆出一个合法的标签,但在新协议的认证过程中使用到PUF函数的输出量来进行安全认证。由于PUF函数的特殊性,攻击者想要模拟PUF函数的输出量是很困难的。因此新协议能够抵抗克隆攻击。

  4结论

  本文首先分析了改进的LMAP+算法并且指出其存在的安全问题。为了解决这些安全问题,在标签中融合PUF模块,提出新的PUFLMAP+协议。分析表明新协议能够解决文献[7]中所提出的安全问题(跟踪攻击和完全泄露攻击),PUF模块为新算法提供了防止硬件复制篡改的特性。

  参考文献

  [1] 刘彦龙,白煜,滕建辅.RFID 分布式密钥阵列认证协议的安全性分析[J].计算机工程与应用,2014,50(16):72-76.

  [2] CHIEN H Y.SASI:a new ultralightweight RFID authentication protocol providing strong authentication and strong integrity[J].IEEE Transactions on Dependable and Secure Computing,2007,4(4):337-340.

  [3] 高树静.低成本无源RFID安全关键技术研究[D].济南:山东大学,2012.

  [4] RAPHAEL C W. Cryptanalysis of a new ultralightweight RFID authentication protocolSASI[J]. IEEE Transactions on Dependable and Secure Computing, 2009, 6(4):316-320.

  [5] TAQIEDDIN E,SARANGAPANI J. Vulnerability analysis of two ultralightweight RFD authentication protocols: RAPP and gossamer[C].The 7th International Conference for Internet Technology and Secured Transactions,2012:80-86.

  [6] GURUBANI J B, THAKKAR H, PATEL D R. Improvements over extended LMAP+: RFID authentication protocol[C]. In: IFIP Advances in Infoomation and Communicatioh Fechnology, 2012: 225-231.

  [7] 王超,秦小麟,刘亚丽.对改进LMAP+协议的启发式攻击策略[J].计算机科学,2014,41(5): 143-149.