谢海宝,吕 磊
(1.河南省市场监督管理局 信息中心,河南 郑州 450008;2.河南工业大学 信息科学与工程学院,河南 郑州 450008)
射频识别技术是一种不用与特定物品相接触即可读出该物品存放信息的通信技术。该技术虽在20世纪早已产生,但在20世纪并未得到充分的发展,进入新世纪后,伴随着云计算、物联网、大数据等新技术的产生,射频识别技术得到了广泛的推广运用。
射频识别系统经典的组成模块包含读写器、电子标签、后台服务器,其中读写器主要用来转发电子标签发送给后台服务器、后台服务器发送给电子标签的消息。在一般的通信模型中,电子标签与读写器间基于无线链路通信,易被第三方人员窃听,存在一定隐患,一般认定为不安全;读写器与后台服务器间基于有线链路通信,一般认定为安全,故经常将二者看成一个整体对待。电子标签常见的有两种类型,一种是无源被动式电子标签,因自身不携带电源,无法主动向读写器发送信息;另一种是有源主动式电子标签,因自身携带有电源,因此具备主动向读写器发送消息的能力。在绝大多数射频识别系统中,前者类型的电子标签更常见,即无源被动式电子标签运用更为广泛。
正是因为无源被动式电子标签与读写器间基于无线链路通信,因无线链路固有的开放性,才使得会话消息易被第三方人员窃听获取,存在一定的安全隐患。为保证隐私信息的安全性,文中提出一种基于伪随机数发生器的双向认证协议。该协议选择时钟周期数及门电路数均较少的伪随机数发生器进行信息的加密操作,可降低成本;为保障消息的新鲜性,在消息加密过程中全部插入随机数。最后从不同的安全性角度及性能角度出发对文中协议进行分析,表明文中协议具备较高的安全需求,且同时满足成本开销低的优势。
文中内容按照如下方式展开:第一节,介绍文中研究的背景,从而引出文中研究的问题所在。第二节,介绍近年来部分经典的认证协议,并指出其优缺之处。第三节,详细介绍了文中协议的设计实现步骤。第四节,从多个不同攻击类型分析文中协议的安全性。第五节,从电子标签一端的计算量、存储量等角度分析文中协议的性能特征。第六节,总结全文工作。
为能够确保电子标签与读写器间消息传递的安全性,国内外专家学者提出众多认证协议。2016年,SHI等人基于伪随机散列函数设计一个认证协议,该协议能够提供比较理想的安全需求,但第三方人员仍可以发起穷举攻击,从而穷举出部分隐私信息。
2017年,TEWARI等人基于按位运算设计出一个超轻量级的认证协议,因协议采用按位运算实现,在极大程度上降低了整体计算量,但根据已有的研究成果显示,超轻量级的按位运算本身仍存在一定的不足或缺陷,故该协议的使用范围受到制约。
2018年,XIE等人基于经典的哈希函数设计出一个协议,能够抵抗经典的重放攻击、异步攻击等类型的攻击,但深层次分析协议,协议在电子标签一端需多次进行哈希函数运算,使得电子标签一端整体计算量大幅度上升,无法推广运用。
2019年,PANG等人基于RRAM PUF设计出一个认证协议,能够抵抗克隆等类型的攻击,但分析协议发现,该协议仅能提供最后一步读写器对电子标签的认证,无法提供电子标签对读写器最后一步的认证,从而存在假冒攻击的安全隐患。
2020年,FEI等人利用Universal Hash函数提出一个协议,协议具备一定的安全需求,但协议设计过程中,在读写器或后台服务器一端未存放前后会话共享密钥,使得协议无法抵抗异步攻击。
2021年,CHEN等人利用RRAM PUF提出一种认证协议,协议能够提供较好的安全保障,但仍无法抵抗第三方人员发起的定位攻击,即电子标签发送的消息在加密时,部分消息加密中未插入随机数,前后多次会话产生的会话消息值保持不变,第三方人员可通过多次窃听手段定位电子标签具体位置,从而进行其他破坏操作。
鉴于现有的经典协议或多或少存在计算量大或存在安全隐患等诸多问题,文中设计出一个轻量级的双向认证协议。协议设计过程中,考虑到电子标签一端的成本受到制约的因素,因此选择在时钟周期及门电路数实现成本均较低的伪随机数发生器来对发送的信息进行加密。通过后续性能分析对比可发现,文中协议在电子标签一端的时钟周期数及门电路数均是最少的,能够有效降低电子标签一端的成本;同时将文中协议与其他协议进行安全性分析对比,表明文中协议能够抵抗第三方人员发起的诸如假冒攻击、穷举攻击、异步攻击等常见类型的攻击,使得协议具备良好的安全性能。
本章节将先介绍协议相关符号含义,再介绍协议具体实现步骤。
(1)协议符号含义。
文中协议出现的部分符号具体所要表达的含义解释如下:
DB/R:后台服务器与读写器组合成的一个整体(该整体具备足量的存储空间、强大的计算能力及搜索能力);
T:电子标签(侧重于无源被动式电子标签种类);
IDT:电子标签的假名;
IDT:更新之前的电子标签假名;
IDT:更新之后的电子标签假名;
IDT:电子标签标识符的左半边;
IDT:电子标签标识符的右半边;
K
:电子标签与DB/R间的共享密钥值;K
:更新之后的电子标签与DB/R间的共享密钥值;K
:更新之前的电子标签与DB/R间的共享密钥值;g
():伪随机数发生器;a
:电子标签产生的随机数;b
:DB/R产生的随机数;⊕:异或运算;
&:与运算;
A
、B
、C
、D
、E
、Hello、ACK:通信会话消息。(2)协议具体实现。
文中协议与其他协议一样,做出下面假设约定:后台服务器与读写器间基于有线信道方式交换数据,可认定为安全,故两者看成一个整体;读写器与电子标签间基于无线信道完成数据交换,无线信道固有的开放性,易被第三方人员窃听,存在一定的安全缺陷,故不安全。
协议正式开始之前,分为初始化阶段、双向认证阶段、密钥信息更新阶段。初始化阶段主要完成各通信实体在出场之前信息的初始化操作;双向认证阶段实现DB/R与电子标签之间的彼此认证;密钥信息更新阶段是对共享秘密值及假名进行更新,为下次认证做好准备工作。
初始化阶段完成,DB/R端存放的信息有所有合法电子标签的IDT、IDT、IDT、K
;电子标签T端存放的信息有自身的IDT、IDT、IDT、K
。文中协议双向认证示意图可参见图1。
图1 双向认证协议示意图
结合图1,可将文中协议详细实现步骤描述如下:
第一步:DB/R整体向电子标签发送Hello消息,开启认证协议。
第二步:电子标签收到消息,利用伪随机数发生器产生一个随机数a
,并通过约定好的规则计算得到会话消息A
、B
,最后将A
、B
、IDT发送给DB/R整体。其中有关会话消息A
、B
的具体计算方式如下:A
=a
⊕IDT、B
=g
(a
,IDT)。发送电子标签假名IDT的作用如下:其一,假名即便是明文发送,第三方人员可窃听获取,但第三方人员仍无法获取隐私信息;其二,假名与电子标签的标识符间无任何关联,第三方人员无法通过假名推到标识符;其三,假名可在每次认证后进行更新,使得前后两轮认证中,假名值保持变动之中,使得第三方人员无法对电子标签实施追踪定位攻击。
第三步:DB/R整体收到消息,先查找自身存放的众多假名数据中是否存在与接收到的IDT相同的数值。
未找到,则表明电子标签可能由第三方人员伪造,为安全着想,协议终止。
找到,仅能说明电子标签暂时通过验证,可进行后续操作。DB/R整体取出与IDT相对应的IDT、IDT参数信息,接着先对消息A
进行变形处理,可得到一个随机数a
=A
⊕IDT,并将变形所得随机数带入消息B
中,可得到DB/R整体计算所得到的B
=g
(a
,IDT)=g
(A
⊕IDT,IDT),然后DB/R整体开始对比接收到的B
与计算得到的B
是否相等。不相等,则说明电子标签虽之前通过了DB/R整体验证,但无法通过DB/R整体更进一步验证,电子标签仍可能是第三方人员假冒,协议终止。
相等,则表明电子标签真实可靠,DB/R整体可接着进行后续操作。DB/R整体将产生一个随机数b
,并按照约定好的规则计算得到消息C
、D
,最终将C
、D
发送给电子标签。其中有关消息C
、D
的计算方式具体如下:C
=b
⊕IDT、D
=g
(a
,b
)。第四步:电子标签收到消息,将先对消息C
进行变形处理,变形处理之后可得到一个随机数b
=C
⊕IDT,接着将变形处理得到的随机数带入消息D
中,可计算得到一个D
=g
(a
,b
)=g
(a
,C
⊕IDT),然后对比计算所得D
与接收到的D
是否相等。不相等,表明消息来源方无法通过电子标签验证,出于安全考虑,协议终止。
相等,可说明消息来源方真实可靠,通过电子标签验证,协议可继续进行。电子标签接着按照约定的规则计算得到消息E
,最终将E
发送给DB/R整体。待电子标签将消息E
发送给DB/R整体后,电子标签开始更新相关信息,具体更新方式如下:IDT=g
(b
,IDT)、K
=g
(a
,K
)。其中会话消息E
计算的方式如下:E
=g
(a
⊕K
,b&K
)。第五步:DB/R整体收到消息,将先用当前通信的共享密钥按照约定的规则计算得到一个E
=g
(a
⊕K
,b&K
),并对比接收到的E
与自身计算所得E
值是否相同。不相同,还未能说明电子标签是伪造,有可能是电子标签与DB/R整体间共享密钥失去一致性而造成。为避免该情况发生,DB/R整体将再次用上轮通信的共享密钥按照约定的规则计算得到一个E
=g
(a
⊕K
,b&K
),并再次对比接收到的E
与自身计算所得E
值是否相等。若仍不相等,则说明电子标签可能是第三方人员假冒,出于安全考虑,协议终止;反之,表明通过此步骤后,不仅电子标签通过了DB/R整体的验证,同时也使得DB/R整体与电子标签间再次恢复共享密钥一致性,接着DB/R整体将进行操作一。相同,可表明消息来源方通过DB/R整体验证,接着DB/R整体将进行操作一。
操作一:DB/R整体将向电子标签发送ACK消息,以表示电子标签通过DB/R整体的验证,同时DB/R整体开始更新信息。
DB/R整体在更新信息的时候,将按照下面方式进行:若DB/R整体用K
验证电子标签成功,则信息更新方式为IDT=IDT、IDT=g
(b
,IDT)、K
=K
、K
=g
(a
,K
);若DB/R整体用K
验证电子标签成功,则信息更新方式为IDT=IDT、IDT=g
(b
,IDT)、K
=g
(a
,K
)。第六步:电子标签收到消息,ACK消息表示电子标签与DB/R整体间双向认证正常完成,协议可正常结束。
本章节主要从不同的攻击类型角度出发,对文中协议安全性进行分析。
(1)双向认证。
协议需要能够提供最基本的认证安全需求,以保证消息的来源方是安全可靠的。文中协议能够确保会话实体双方实现对彼此的认证,具体的:
DB/R整体对电子标签的验证如下:在第三步中,DB/R整体将先通过IDT对电子标签进行验证,为实现对电子标签的更进一步验证,DB/R整体将再次通过A
、B
对电子标签进行验证,两次验证均通过,才表明电子标签通过DB/R整体的验证;在第五步中,DB/R整体将借助第三步中获取的随机数,同时结合消息E
验证电子标签身份,并且为确保两者间因失去一致性而错过相互认证,DB/R整体将会采用前后两轮共享密钥对电子标签进行验证。电子标签对DB/R整体的验证如下:在第四步中,电子标签将通过C
、D
实现对DB/R整体的验证。基于上述分析,文中协议能够提供DB/R整体与电子标签间的双向认证需求。
(2)假冒攻击。
从理论上来讲,第三方人员可以假冒成任何一个会话实体,比如:第三方人员可以假冒成DB/R整体、第三方人员可以假冒成电子标签。文中这里仅选择第三方人员假冒成电子标签进行分析。
第三方人员假冒成电子标签向合法的DB/R整体发送消息,以企图通过DB/R整体的验证,进而分析出部分隐私信息。但面对文中协议,第三方人员无法成功,具体原因是:第三方人员无法获取合法电子标签的标识符参数,同时也无法获取DB/R整体与电子标签间的共享密钥值参数,使得第三方人员无法计算得到正确的消息A
、B
或E
。当DB/R整体收到第三方人员发送来的消息后,依据协议中的第三步或第五步即可识别出消息来源方是第三方人员假冒的,协议即可终止。对于第三方人员来说,第三方人员并未获取任何有用的隐私信息。基于上述分析,文中协议能够抵抗第三方人员发起的假冒攻击。
(3)穷举攻击。
第三方人员可以对窃听获取的消息进行穷举方式的破解分析,比如:利用超级计算机穷举出所有可能的某些隐私信息的参数取值,从而确定该隐私信息具体数值。但对于文中协议来说,第三方人员无法采用穷举的方式获取任何隐私信息,下面将具体以消息A
、B
为例展开分析。比如第三方人员先单独对消息A
发起穷举攻击,在消息A
=a
⊕IDT中,对于第三方人员来讲,第三方人员有a
和IDT两个参数信息不知道,且第三方人员窃听获悉的消息中也没有出现上述两个参数值,因此,第三方人员无法穷举出任何有用隐私信息。再比如说第三方人员对消息A
、B
同时进行穷举攻击分析,第三方人员可以先对消息A
变形,然后将变形之后的结果带入消息B
可得到B
=g
(a
,IDT)=g
(A
⊕IDT,IDT),在上述公式中,第三方人员虽然获悉了A
,但第三方人员仍有IDT和IDT两个参量值不知晓,因此,第三方人员仍还是无法穷举出任何有用隐私信息。基于上述分析,文中协议可抵抗第三方人员发起的穷举攻击。
(4)定位攻击。
第三方人员可通过持续不断的窃听方式,定位电子标签的具体位置,从而实施追踪攻击。对于文中协议来讲,第三方人员无法跟踪电子标签成功,具体原因如下:其一,整个协议过程中,并没有出现电子标签的标识符,故第三方人员无法获取电子标签唯一标识的信息;其二,协议中引入电子标签假名,用假名代替标识符出现在协议通信过程中,即便是第三方人员可获取假名信息,但假名与标识符间无任何关联;其三,协议在每轮认证正常结束之后,会话实体端将进行假名的更新操作,且假名更新时插入随机数,使得前后两轮用到的假名无关联性,使得第三方人员无法定位电子标签位置。
基于上述分析,文中协议可抵抗第三方人员发起的定位攻击。
(5)前/后向安全性。
文中协议为能够提供前后向安全性,所采用的措施是:混入随机数。所有通信消息加密过程中全部混入随机数,使得前后会话消息值存在差异性,这样第三方人员就无法进行前后向破解分析。随机数由伪随机数发生器产生,产生的随机数具备随机性、互异性、无法预测性等优点,使得第三方人员无法通过当前的随机数预测下轮会话时用到的随机数值,同时也使得第三方人员无法通过当前的随机数逆推出上轮会话用到的随机数值。在随机数安全的情况下,第三方人员更加无法逆推出或预测出之前或下轮的隐私信息。
基于上述分析,文中协议可以提供前后向安全性。
(6)异步攻击。
异步攻击是指第三方人员破解会话实体间共享密钥的一致性,比如其中一方进行信息更新,而另一方不进行信息更新,造成两者间信息更新不同步,而出现后续无法相互认证的情况。
文中协议在DB/R整体一端不仅存放有当前会话用到的共享密钥值,同时也存放之前若干轮次会话用到的共享密钥值,当DB/R整体用当前会话的共享密钥值对电子标签验证失败之时,DB/R整体将会依次用之前若干轮次会话的共享密钥值逐一对电子标签进行验证,从而可恢复两者间的一致性。当且仅当,所有存储的共享密钥值均验证电子标签失败时,电子标签才算没有通过验证。
基于上述分析,文中协议可以肯定第三方人员发起的异步攻击。
(7)重放攻击。
重放攻击主要是将第三方人员通过窃听的方式获取之前某轮会话的通信消息,然后在之后的某轮会话过程中,第三方人员重放窃听获取的之前某轮会话的通信消息,以企图通过合法会话实体的验证。
但对于文中协议来说,第三方人员发起的重放攻击只能以失败而告终,原因在于:其一,文中协议所有消息全部采用密文方式发送,即隐私信息全部先加密再发送,攻击者窃听获取的值全都是密文,而非明文;其二,所有信息加密过程中均插入随机数,随机数的插入可使得所有消息每轮均保持新鲜性,当攻击者在第i
+1轮会话过程中重放窃听获取的第i
轮会话消息时,第i
+1轮会话消息值早已发生变更,因此,第三方人员重放的消息无法通过合法实体的验证。基于上述分析,文中协议可抵抗第三方人员发起的重返攻击。
将文中协议与其他经典协议进行安全性对比,对比结果可参见表1。
表1 协议间安全性对比
本节内容将从电子标签一端存储量大小、计算量大小等分析文中协议与其他经典协议的性能,具体分析结果见表2。
表2 协议间性能对比
对表2中出现的符号所表示的含义解释如下:and符号所表示的含义为异或运算的计算量;g符号所表示的含义为伪随机数发生器的计算量;PUF符号所表示的含义为物理不可克隆函数的计算量;HASH符号所表示的含义为基于m
×1阶Toeplitz矩阵实现的Uinversal Hash函数的计算量。约定存储的信息,以及会话消息长度均为L
位,但类似于Hello、ACK这样的会话消息仅需1 bit即可存放。文中协议在电子标签一端存放的参数有IDT、IDT、K
,因此,电子标签一端的存储量大小为3L
。文中协议中,DB/R整体向电子标签发送消息次数一共有3次,电子标签向DB/R整体发送消息次数一共有2次,因此文中协议一个完整的会话过程中会话次数为5次。
文中协议一个完整的会话过程中包含的消息如下:Hello、IDT、A
、B
、C
、D
、E
、ACK。其中Hello、ACK长度各为1 bit,IDT、A
、B
、C
、D
、E
长度各为1L
,因此,文中协议一个完整的会话过程中会话量为6L
+2 bits。文中协议电子标签一端的计算量为2and+5g,详细分析过程如下:电子标签在计算消息A
的时候,第一次用到and运算;电子标签在对消息C
进行变形处理时,第二次用到and运算;电子标签在计算消息B
的时候,第一次用到g运算;电子标签在计算消息D
的时候,第二次用到g运算;电子标签在计算消息E
的时候,第三次用到g运算;电子标签在更新信息的时候,第四次、第五次用到g运算。基于上述分析,电子标签一端总共2次用到and运算,总共5次用到g运算,故文中协议电子标签一端的计算量为2and+5g。有关时钟周期数及门电路数的详细计算过程可以参考文献[16]中“5.2 效率比较”章节内容,这里仅分析文中协议的过程。文中协议在电子标签一端仅仅只有伪随机数发生器装备,异或运算实现的时钟周期数及门电路数相对于上述来说均可忽略,故文中协议电子标签一端的时钟周期数为104、门电路数为1 294。
结合表2,综合分析各协议性能指标,在存储量、会话量、会话次数方面,文中协议与其他协议的存储量大小、会话量大小、会话次数大小基本相当;但在计算量、时钟周期数、门电路数方面,文中协议有一定的优势。具体分析,在计算量方面,文中协议仅选择伪随机数发生器作为加密函数及随机数的产生设备,一定程度上降低了电子标签一端的计算量;在时钟周期数及门电路数方面,因文中协议在电子标签一端仅需要实现伪随机数发生器,使得时钟周期数及门电路数均较少。基于上述分析,文中协议具备低成本、成本开销低等优势,具备推广使用的价值意义。
文中在介绍射频识别技术应用过程中遇到安全缺陷问题后,分析了近些年来部分经典协议的优缺点,在综合各协议特点之上,设计一个基于伪随机数发生器的RFID双向认证协议。该协议为能够抵抗常见类型的攻击,所有需发送信息先加密再传送,可使得第三方人员无法获悉明文信息;信息加密过程中,始终保持至少有两个参数于第三方人员无法知晓,可使得第三方人员无法进行穷举攻击。从不同的攻击类型对协议进行分析,表明协议可以提供较高的安全性能需求;从电子标签一端的时钟周期数、门电路数等角度对协议进行分析,表明协议各成本开销均满足现有低成本的要求,能够使用在现有低成本RFID系统中。