基于混沌的RFID双向认证协议

2014-03-16 01:28张建华张楠
关键词:发送给阅读器攻击者

张建华, 张楠

(西南民族大学计算机科学与技术学院, 四川 成都 610041)

【特约专稿】

基于混沌的RFID双向认证协议

张建华, 张楠

(西南民族大学计算机科学与技术学院, 四川 成都 610041)

针对物联网环境下RFID系统已知的安全缺陷, 提出了一种基于混沌的双向认证协议. 该协议使用相对简单的异或运算和带混沌锁的哈希运算,实现了标签和阅读器之间高效低成本的双向认证. 即使在阅读器和数据库之间信道不安全的情况下也能进行完成密钥分发和安全认证, 提高了阅读器的移动应用能力, 能有效地避免窃听、假冒、重放、位置跟踪等攻击.

射频识别(RFID); 双向认证; 混沌

1 引言

射频识别(RFID, Radio Frequency Identification)是一种通过射频信号在开放环境中自动识别目标对象并获取相关数据的非接触式技术[1]. RFID系统由电子标签、阅读器和后台数据库构成. 其中每个标签具有唯一的电子编码, 其存储能力和计算能力较弱; 阅读器通过射频接口来获取标签中的数据, 并将其传递给后台数据库; 后台数据库接收来自阅读器的数据, 其存储能力和计算能力较强.

RFID技术的无接触、信号广播等特点给RFID应用带来各种各样的安全问题. 首先, 电子标签可能被窃听、假冒、重放、跟踪等. 其次, 电子标签在开放的环境中可能被附近的非法阅读器读取, 泄露用户的隐私信息. RFID系统的安全问题关键就是电子标签和阅读器之间的双向认证问题. 针对RFID标签的计算和存储资源的限制, 本文提出了一种基于混沌更新密钥的双向认证协议, 使用带混沌密钥的Hash算法进行身份认证, 具有存储量、通信量和计算量小的特点.

2 相关协议分析

由于RFID标签资源有限, 较为成熟的基于公钥密码体制的认证技术无法很好地应用在RFID系统的认证之中. 目前提出的RFID认证协议主要包括基于Hash函数的认证、基于矩阵运算的认证、基于对称加密的认证等[2-6].其中基于Hash函数的认证计算量小, 受到许多学者的关注.

Sarma等人提出Hash锁协议[7]. 在协议中每个标签T存储自身ID和一个经过Hash散列后的替代ID号metaID; 后台数据库D存储标签ID、metaID、key, 其中metaID=Hash(key). 认证过程如图1所示.

上述认证过程中, 数据库如果找到metaID匹配的项, 则发送(key, ID)给阅读器R, 否则返回失败; 标签T验证阅读器R发送回的key是否满足metaID=Hash(key), 若一致则发送ID给阅读器R, 否则标签T静止; 阅读器R比较标签T发送回的ID是否与数据库D发送的ID一致, 若一致则认证通过, 否则屏蔽标签T. 在该协议中key没有动态更新机制, metaID始终保持不变, 协议最后一步标签ID在不安全信道中明文传输, 容易遭受窃听、假冒、跟踪定位等攻击.

图1 Hash锁协议Fig.1 Hash-Lock protocol

Weis等人提出随机锁来解决位置跟踪问题[8]. 协议流程如图2所示.

图2 随机Hash锁协议Fig. 2 Random Hash-Lock protocol

随机Hash锁执行过程中, 标签T产生随机数r, 并将Hash(ID,r)发送给阅读器R; 阅读器R向数据库D请求所有标签的ID, 并检索是否存在IDi, 满足Hash(IDi,r)=Hash(ID,r), 若存在则认证通过, 并将IDi发送给标签T,否则失败; 标签T比较IDi是否与自己的ID相同, 若一致则认证成功, 否则标签T静止. 该协议的第1步使用随机数防止静态ID而导致的位置跟踪, 但第5步时依然在不安全信道中传送了标签ID的明文信息. 每次认证需要向后台数据库请求所有标签ID, 数据通信量大, 导致效率降低.

Ohkubo等人提出Hash链来解决前向安全问题[9]. 标签T和后台数据库D共享一个初始密值Si,j. 认证过程如图3所示.

图3 Hash链协议Fig. 3 Hash-Link protocol

Hash链协议认证时, 标签T收到Query, 使用当前密值Si,j计算两次散列H(Si,j)和G(Si,j), 并更新密值Si,j+1=H(Si,j), 将G(Si,j)发送给阅读器R; 数据库查找并计算是否存在(ID, Si,j)满足G(Hi-1(Si,j))=G(Si,j), 若存在则认证通过, 将IDi发送给阅读器R, 否则标签T为非法. 该协议只能实现单向认证, 而且每次认证时数据库要对每个标签进行i次散列运算, 不适合大量标签的应用.

另外还有许多学者提出基于Hash算法的改进认证协议, 对协议的成本进行控制. 这些协议有一个共同的前提是RFID阅读器到标签之间的信道是不安全信道, 而阅读器和后台数据库之间的信道总是安全的. 原因是阅读器和数据库之间可以通过RS232、RS422或USB等方式连接, 但却限制了阅读器的移动性. 随着移动应用的发展,移动阅读器成为了越来越多的RFID应用的需要, 必须有相应的协议来保证阅读器和数据库之间的通信安全.

3 基于混沌Hash锁的隐私保护协议

基于上述几种协议的优点和在隐私保护方法上存在的不足, 本文提出了一种基于混沌Hash锁的开放式RFID双向认证协议, 实现高效低成本的安全访问控制.

3.1 协议工作原理

在本协议中, 标签和阅读器之间的通信是在不安全信道中进行, 同时阅读器的数据库之间的通信也可以是不安全的长距离信道或无线信道. 攻击者可能窃听标签和阅读器之间的通信, 也可能窃听阅读器和数据库之间的通信. 本协议能够在完全开放的环境中实现安全认证和隐私保护.

RFID系统初始化时, 系统为每个标签(Tag)和阅读器(Reader)分配ID及密钥等信息, 如表1所示.

表1 符号说明Tab.1 Symbols

协议中, 标签存储自己的标识IDT等相关信息以及一个与数据库共享的密钥KT、混沌锁CK和一个替代ID号HID. HID由标签标识IDT和混沌锁CK经散列后生成,HID=Hash(CK,IDT). 每次认证完成后, CK混沌更新, HID动态变化, 有效地保护标签的隐私. 阅读器中存储自己的标识IDR、与数据库共享的密钥KR以及相关应用. 数据库中存储的与认证相关的内容包括: 标签IDT、标签HID、合法授权阅读器IDR、KT、KR、混沌锁CK. 考虑到如果因为认证中断等原因造成标签和数据库更新不同步, 从而标签中存储的HID与数据库中存储的HID不一致, 从而出现标签无法被正确被识别而失效, 所以我们在数据库中还存储了HIDold, 用来解决标签与数据库之间的更新同步问题.混沌Hash锁协议能够保证用户数据的机密性、完整性及可用性, 能够抵御RFID系统常见的攻击, 包括窃听、假冒、重放、位置跟踪等, 在一个全开放的环境中提供双向认证功能, 其协议流程如图4所示.

图4 混沌HASH锁协议认证流程Fig. 4 Certification Flow of Chaos Hash-Lock protocol

其中:

3.2 密钥管理及混沌更新

本协议中的密钥包括标签和阅读器与数据库的共享密钥KT和KR、标签与阅读器之间的会话密钥KS、混沌锁CK三类.

KT和KR的分发是在系统部署前完成的. 密钥在安全的环境中生成并被写入标签和阅读器, 并同步存储到数据库中. 在认证阶段, 密钥总是与一个随机数同时使用, 能够达到一次一密的效果.

KS是在每一次认证过程中由数据库临时随机产生并分发, 用于标签与阅读器在一次会话的后续通信中加密消息.

混沌锁CK通过一个混沌迭代动态更新. 混沌是指在确定系统中出现的一种貌似无规则的、类似随机的现象[10]. 近年来混沌学在实际应用中得到迅速发展, 引起许多学者的广泛关注[11-13]. 本文利用Logistic映射的来进行密钥的产生与更新:

其中xn为系统轨迹;x0为初始值;λ为系统参数.x0的细微不同, 将导致xn产生极大的随机变化.

3.3 认证过程描述

阅读器向标签发送Query.

标签生成随机数NT, 并计算标签认证码TAC=NT⊕KT, 将结果连同自己的HID一起发送给阅读器.

阅读器生成随机数NR, 并将收到的消息连同自己阅读器认证码RAC=NR⊕KR一起发送给数据库.

在数据库中查找数据库中的HID, 如果在数据库中找到一个HID与收到的HID一致, 则计算TAC⊕KT得到NT; 计算RAC⊕KR得到NR; 然后随机生成KS并向阅读器发送认证码DACT和DACR.

最后数据库按式(2)-(4)混沌更新CK, 并计算:

数据库完成对标签的认证.

如果在数据库中不存在该HID, 则在数据库中查找HIDold, 如果存在一个HIDold与收到的HID一致, 说明在上一次认证过程中因为某原因导致标签没有混沌更新密钥, 那么本次认证过程中数据库不再更新密钥, 直接向阅读器发送认(8)式的证码DACT和DACR, 表示认证成功.

如果数据库里既没有HID也没有HIDold与收到的HID匹配, 则认证失败.

标签按式(2)-(4)混沌更新自己的CK并按(10) 计算HID; 否则认证失败, 标签进入休眠状态.

阅读器收到标签发来的消息后进行一致性认证, 双向认证结束.

4 协议安全性分析

本协议在开放的环境中实现标签和阅读器之间的双向认证. 能够对抗RFID系统包括窃听、跟踪、重放等攻击在内的所有常见攻击.

4.1 抗窃听攻击

本协议不但能够抵御标签和阅读器之间的窃听, 还能够抵御阅读器和数据库之间的窃听, 实现了在完全开放环境中的机密性保护.

首先在认证过程中, HID代替标签ID进行认证, 由于HASH函数的单向性和混沌锁的不确定性, 窃听者无法解密其截获HID. 其次所有的认证消息都使用了加密传输. 考虑到计算能力和成本, 我们没有使用复杂的加密函数, 而是使用随机数与密钥进异或运算, 可以实现一次一密. 第三, 认证完成后标签和阅读器均安全获得了一个临时会话密钥, 可保证后续通信的安全通信. 因此, 本协议用较低的成本实现了消息的机密性.

4.2 抗重放和假冒攻击

由于在本协议中使用了混沌锁和密钥机制, 系统部署时, 已经将CK、KT、KR安全写入了标签、阅读器和数据库中, 攻击者(O)无从得知. 若攻击者截获标签(T)与阅读器(R)以前的认证信息, 当合法阅读器向标签发送Query时, 攻击者就假冒标签将以前得到消息发送给阅读器:

在本文的协议中, 由于HID是动态更新的, 原来的HID不能得到数据库的认证. 即使攻击者利用系统的容错机制, 用最近一次HID来匹配HIDold, 但认证的最后一步需要对本次产生的随机数做一致性认证, 由于攻击者没有KT, 同样也会无法通过认证, 因此无法直接进行假冒和重放.

4.3 抗中间人攻击

攻击者(O)企图向阅读器(R)假冒标签(T)、向标签(T)假冒合法阅读器(R), 非法读取标签信息. 攻击者截获标签和阅读器之间的消息, 并进行转发:

攻击成功的前提是攻击者必须实时转发标签和阅读器之间的每一条消息. 即使认证成功, 但攻击者不知道KS, 对截获的标签和阅读器之间的所有消息, 也无法得知其中内容, 因此本协议有效地保护了标签的隐私.

4.4 抗位置跟踪

攻击者(O)伪装成合法阅读器(R)在某区域内向标签(T)发送相同的认证请求, 如果标签的响应信息也相同,说明信息来自同一个标签, 就可以判断标签出现的时间和位置来跟踪标签的运动.

本协议中混沌更新的CK和HID使得认证信息每一次都不同, 攻击者无法判断这些响应是否来自同一个标签, 从而无法实现对标签的位置跟踪.

4.5 前向安全与后向安全

前向安全指认证过期后, 用户不能读取将来的数据; 后向安全指新用户可以读取将来的数据, 但不能读取过去的数据.

本协议中, 所有的认证消息均使用带随机数的加密方法, 保证了消息的机密性和新鲜性. 攻击者无法读取消息内容, 实现了前向安全和后向安全.

5 结论

本文设计了一种基于混沌的双向认证协议, 能实现开放环境下标签和阅读器之间的双向安全认证, 提高了阅读器的移动应用能力. 基于标签在计算能力、存储空间和电源供给方面的限制, 协议使用相对简单的Hash运算和异或运算代替复杂的加密技术. 在认证和会话密钥分发阶段, 通过使用随机数和混沌密钥, 有效地避免假冒和重放攻击. 在认证过程中, 使用动态更新的将标签ID隐于其中的混沌HASH锁, 能够隐藏标签位置等相关信息, 有效地防止位置跟踪. 密钥的预分配依赖初值敏感的混沌算子, 减少重复密钥的出现, 适合标签量大的应用.

[1] 单承赣, 单玉峰, 姚磊, 等. 射频识别(RFID)原理与应用[M]. 北京: 电子工业出版社, 2010.

[2] KARTHIKEYAN S, NESTERENKO M. RFID security without extensive cryptography[C]// Proceedings of the 3rd ACM workshop on Security of AdHoc and Sensor Networks, SASN’05, 2005:63-67.

[3] 马昌社. 前向隐私安全的低成本RFID认证协议[J]. 计算机学报, 2011, 34(8):1387-1398.

[4] 张楠, 张建华. 开放式RFID双向认证协议及安全性分析[J]. 计算机应用, 2013, 33(1):131-134.

[5] 丁治国, 郭立, 王星洁. 基于密钥阵列的RFID安全认证协议[J]. 电子与信息学报, 2009, 31(3): 722-726.

[6] 聂鹏. EPCglobal Class1 Gen2 标准的RFID高效双向认证协议[J]. 计算机工程与应用, 2011, 47(10): 92-94.

[7] SARMA S, WEIS S, ENGELS D. RFID systems and security and privacy implications[C]//Proc of CHES’02, 2002: 454-469.

[8] WEIS S, SARMA S, RIVEST R. Security and privacy aspects of low-cost radio frequency identification systems[C]//Proc of Security in pervasive Computing’04, 2004: 201-212.

[9] OHKUBO M, SUZUKI K, KINOSHITA S. Cryptographic approach to privacy-friendly tags[C]//Proc of RFID Privacy Workshop, USA: MIT, 2003.

[10] 张化光, 王智良, 黄玮. 混沌系统的控制理论[M]. 沈阳: 东北大学出版社, 2003.

[11] 王宏霞, 何晨, 丁科. 基于混沌映射的鲁棒性公开水印[J]. 软件学报, 2004, 15(8):1245-1250.

[12] 肖方红, 阎桂荣, 韩宇航. 混沌时序相空间重构参数确定的信息论方法[J]. 物理学报, 2005, 54(2): 550-556.

[13] 张楠, 张建华, 陈建英, 等. 无线传感器网络中基于混沌的密钥预分配方案. 计算机应用, 2007, 27(8): 1901-1903.

Chaos-based mutual authentication protocol for RFID

ZHANG Jian-hua, ZHANG Nan
(School of Computer Science and Technology, Southwest University for Nationalities, Chengdu 610041, P.R.C.)

In order to solve the RFID system known security flaws in IOT environment, this paper proposes a mutual authentication protocol based on chaos. The protocol uses a relatively simple mathematical operation like XOR and chaos with hash locks to achieve an efficient and low-cost mutual authentication between tag and reader. Even in the case of an insecure channel between the reader and the database, the protocol can perform security authentication and key distribution, which improves the ability of the reader of in the mobile environment and prevent eavesdropping, masquerade, replaying and location tracking attacks effectively.

radio frequency identification; mutual authentication; chaos

TP391.45

A

1003-4271(2014)04-0531-06

10.3969/j.issn.1003-4271.2014.04.12

2014-05-20

张建华(1971-), 男, 汉族, 四川武胜人, 教授, 博士, 研究方向: 物联网, 网络安全.

国家社会科学基金项目“云计算时代民族地区网络舆情监控与疏导研究”(12BTQ056); 四川省应用基础研究项目“基于云计算的物联网应用及关键安全技术研究”(2012JY0096); 西南民族大学中央高校基本科研业务专项资金“物联网若干关键技术研究” (11NZYTH06).

猜你喜欢
发送给阅读器攻击者
基于反向权重的阅读器防碰撞算法
机动能力受限的目标-攻击-防御定性微分对策
The Magna Carta
Winner Takes All
【微信小课堂】:如何向好友发送语音
正面迎接批判
你说我说大家说
公告
有限次重复博弈下的网络攻击行为研究
一种RFID网络系统中消除冗余阅读器的高效算法