APP下载

一种RFID电力应用中交互式认证协议研究∗

2018-07-31何迎利葛红舞张宇新孙圣武

计算机与数字工程 2018年7期
关键词:读写器攻击者合法

陈 民 陈 雪 何迎利 葛红舞 张宇新 孙圣武

(南瑞集团有限公司(国网电力科学研究院有限公司) 南京 210000)

1 引言

当前,射频识别技术在电力领域的应用愈来愈广泛、成熟,主要集中在电力巡检、智能抄表、电力资产管理等方面。但是,多数RFID电力应用解决方案采用的技术水平有限,已开发产品档次不够高端,大规模级别应用受限[1]。

同其他迅速发展的IT技术一样,射频识别技术在给社会创造价值的同时也带来了安全威胁。RFID系统最初的设计思想是完全开放的,但是标签的成本和功耗的限制,使得一些优秀的安全算法无法在RFID中系统充分实现,严重阻碍了RFID在电力行业的应用和发展[2~3]。面对RFID安全漏洞可能带来的破坏,本文提出了一种双向认证模式的安全协议,有效解决了RFID的安全和隐私威胁。

2 RFID安全协议的设计

基于Hash函数的单向性,在共享密钥K参与情况下,将二者特性运用在RFID认证机制的设计过程中,采用相互认证的方法,提出了一种RFID相互认证协议。该协议大致流程示意图如图1所示。

图1 新协议流程

初始化:每个标签i都存储了应用系统内所有读写器的标识符 IDR,1,IDR,2…IDR,M以及与自身有关的初始认证密钥 Ki,1,Ki,2…Ki,N,二者形成一对多、多对一映射关系。为使标签的抗干扰性得到保障,可采用抗金属逻辑加密型标签,标签之间的认证密钥相互异同、独立。新协议中,符号“||”表示位的串接。

1)读写器 j首先生成一个秘密随机数R,利用自身 IDR,j,通过共享密钥 K,将加密生成EK(R||IDR,j)发送给标签以及发送Query认证请求。

2)标签i收到后,利用K进行解密,然后可获得(R,IDR,j)。标签遍历核查自身存储器中所有读写器的IDR,如果没有标签停止响应,并向读写器j发送错误信息。反之,查找与之对应的认证密钥Ki,j,计算 x=Hash(R||Ki,j),然后通过共享密钥 K加密生成EK(IDT,i||x)并发送给读写器。

3)读写器解密得到 (x,IDT,i)后,将 IDT,i发送给后方数据库。数据库判断IDT,i的合法性,如果合法,找到相应的认证密钥 Ki,j,将 Ki,j回发给读写器,此时读写器只能获得与本身相关的认证密钥。

4)读写器得到 Ki,j后,计算 y=Hash(R||Ki,j),如果x=y,则认证通过,完成了读写器对标签的认证,执行步骤5,否则认证失败。

5)数据库通过指定的单向函数更新认证密钥Ki,j为,并发给读写器,读写器随后计算a=Hash(R||) ,并 加 密 生 成 EK(a||IDR,j) 发 给 标签。

6)标签解密得到 (a,IDR,j),利用 IDR,j找到认证密钥 Ki,j,使用同一单向函数更新旧密钥 Ki,j为,然后计算 b=Hash(R||),验证 a=b ,如果相等,则完成对读写器的认证,即实现了标签与读写器相互认证,然后读写器可以与认证通过的标签进行数据交互。

此认证协议的设计前提是保证读写器和数据库之间的通信通道安全,为保证系统应用有效性,设计之初拟采用有线通信方式(RS232/485/USB等接口)实现。当然,此认证协议也可以用于仅有读写器和标签的RFID前端系统中,只要读写器有数据库相应的数据存储和计算功能即可。

3 协议的安全性分析与比较

在RFID系统中,安全性对于保护用户隐私和基本信息至关重要。常用的攻击手段包括:跟踪攻击、信息篡改、系统内部攻击、假冒攻击[4~7]等。这里,以几种常用的攻击手段来分析新协议的安全性。

3.1 跟踪攻击和信息篡改的防御

一般的跟踪攻击者是伪装成读写器,向标签发送认证请求,然后诱骗发送认证响应,并根据响应内容,获得标签的通信轨迹。信息篡改是指攻击者将窃听到的信息进行修改(如删除全部或更改部分信息)后又回发给合法接收者。

协议中,IDR,j是通过共享密钥K加密之后发送给标签的,攻击者不易获得IDR,j,如果攻击者不清楚合法读写器的IDR,j,就无法使合法标签发送认证响应。即使攻击者通过某种手段得到合法标识 IDR,j,每次的认证密钥 Ki,j也在不断更新,而加密后的响应 EK(Hash(R||Ki,j)||IDR,j)也在随认证密钥Ki,j变化,从而使攻击者不能确定这些认证响应是出自哪个标签发送的,即攻击者不能跟踪标签。由于攻击者未能获得合法的认证密钥,因此,攻击者无法把截获的信息篡改为另外一条合法的信息,从而抵抗了篡改攻击。

3.2 系统内部攻击和假冒攻击的防御

RFID系统内合法标签或读写器的相互伪造和篡改行为被称为系统内部攻击。假冒攻击被定义为攻击者截获一个合法用户的身份信息时,利用这个身份信息来假冒该合法用户进行操作。

假设系统内某标签i的标识 IDT,i被伪造成,与读写器 j通信。伪标签i'知道共享密钥K,但不清楚标签i与读写器 j之间的认证密钥Ki,j,所以只能用自己的认证密钥 Ki',j,加密数据EK(IDT,i'||Hash(R||Ki',j))。读写器收到认证响应后,用共享密钥解密,可得到伪标签IDT,i',并从数据库中查找是否有对应的认证密钥Ki',j,假如没有即可终止认证,即使认证密钥Ki',j验证通过,但通过计算发现 Hash(R||Ki,j)≠ Hash(R||Ki',j) ,认证失败,从而制止了系统内标签的伪造和篡改行为。

假设系统内某读写器 j的 IDR,j被伪造成IDR,j′,向标签发出认证请求。标签如能识别 IDR,j′即可通过初步认证,然后使用相应认证密钥Ki,j′,加密数据 EK(IDT,i||Hash(R||Ki,j′)),并发送给伪读写器 j′。虽然伪读写器 j′可以通过共享密钥解密获得 (IDT,i,Hash(R||Ki,j′),但无法从数据库中获得与读写器 j相关的认证密钥Ki,j,只能获取伪认证密钥 Ki,j′,只能通过获得认证密钥 Ki,j,所以通过相关计算可知 Hash(R||Ki,j)≠ Hash(R||Ki,j′),最终读写器的伪造和篡改行为未能成功。

对于假冒攻击,假如攻击者截获合法用户信息,无论伪装成标签或读写器,攻击者都无法在相互认证过程中获得正确的实时更新认证密钥Ki,j,从而未能通过认证。由于标签与读写器每次认证都使用单向函数和认证密钥更新的防护策略。因此,对于跟踪攻击,攻击者也无法实时获取认证密钥以实现通过认证进行信息窃取。此外,新协议中的随机数可以有效抵御重放攻击,具体分析可查阅文献[8~9]。

以上是新协议对常用攻击手段的防御过程,详细阐述了其防御过程,分析结果明显、高效、实用。为更直观地比较新协议的优越性,本文列举其与其他几种优秀协议的安全性能的比较[10~11],如表 1 所示。

表1 几种常见协议的安全性比较

4 协议复杂度和成本分析

对于RFID系统来说,协议复杂度和成本至关重要,二者直接决定了协议的安全级别。加密操作和Hash函数的使用,让新协议的安全性达到了一定高度,下面本文将从复杂度和成本因素对新协议进行分析。

对于新协议复杂度而言,新协议对于标签发出加密的认证响应,解密操作是在读写器内进行,不是通过中间件解密然后将相关数据传至读写器。这样势必会减少中间件的工作量,有效降低了后台与读写器交互的风险性。

从新协议成本投入来看,执行一次认证过程,标签需要两次解密和一次加密运算以及两次Hash运算;而读写器需要两次加密和一次解密运算以及两次Hash运算,同其他的双向认证协议相比,标签无需随机数发生器模块,在一定程度上降低了标签的成本。另外,在该协议中,作为更新密钥的单向函数可根据应用需要选择单向函数的级别。如需要进一步降低标签成本,应选择轻量级单向函数;如想提高系统安全性和产品应用对象,可选择重量级单向函数。

新协议仅设计了一种认证协议,对其中的加密算法还没有明确规定,加密算法的选择可根据应用环境而定。同时,为保证密钥的安全性,可将读写器的id和共享密钥进行定期更新,这样系统成本预算灵活性较高,实用性好。

由此可知,新协议的安全性较好,复杂度不高。从应用角度看,标签最好具有抗金属、Hash计算等功能。随着RFID相关技术的不断发展,相信新协议所涉及的硬件资源的成本会缩小,故在电力、金融、军事等高端领域具有一定的应用前景。

5 结语

针对当前RFID系统安全问题,本文提出了一种安全性较高的相互认证协议。在保证一定复杂度和标签成本的基础上,新协议利用动态认证密钥Ki,j抵御假冒攻击、跟踪攻击,利用随机数抵御重放攻击,利用Hash函数抵御内部攻击,有效防止信息被窃取和篡改,可靠性良好。在不同的工作频段,开放的双向认证扩大了读写器与标签的有效工作范围,能动性更强。不仅如此,读写器与标签的有效双向认证会提高后续的数据传输稳定性,提高了系统的隐私保密性。因此,在电力领域,新协议非常适用于电力巡检应用方面。

猜你喜欢

读写器攻击者合法
基于贝叶斯博弈的防御资源调配模型研究
宁波轨道交通AFC系统读写器测试平台设计
一种增强型RFID 双向认证协议∗
合法外衣下的多重阻挠
西班牙推动废除合法卖淫
正面迎接批判
正面迎接批判
报告
RFID技术中防碰撞算法的改进
平行进口汽车将有“合法身份”?