一种基于混沌Hash的RFID身份隐藏技术

时间:2022-10-08 09:52:42

一种基于混沌Hash的RFID身份隐藏技术

摘要:对传统的hash函数进行分析,并指出其存在的缺点。提出了一种基于混沌映射构建hash函数的新算法,经实验其具有更快的加密速度和更好的加密性能。在此基础上,本文将混沌hash应用于RFID的身份隐藏,提出了一种双向身份认证协议,使得标签和阅读器在不暴露各自的信息的情况下实现了双向认证。实验表明,该认证协议具有实现身份隐藏、简单实用、安全性好等特点。

关键词:混沌 Hash算法 混沌Hash 双向认证 身份隐藏

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2013)07-0092-02

引言

RFID即无线射频识别技术,它是一种非接触式的自动识别技术,通过无线射频信号自动识别目标对象并获得相关的数据信息,不需要对它进行人工干预,可应用于各种恶劣的环境中。RFID在生活中的应用范围很广,目前在物流管理系统、高速公路系统、停车场管理系统等领域中得到了广泛的应用。

1 RFID系统的组成及面临的安全问题

基本的RFID系统由三部分组成:RFID读写器、RFID标签和后台数据库。它的工作原理并不复杂:首先,RFID标签进入磁场所在区域内,接收读写器发出的射频信号,然后凭借感应电流所获得的能量把存储在芯片中的标签信息发送出去,或者由标签主动发送某一频率的信号,读写器读取标签信息并进行解码后,最后送至后台数据库系统进行有关数据信息的处理。

然而由于RFID标签存储能力低、计算能力弱和电源供给有限,而且它是通过无线射频信号进行通信,很容易受到外界干扰,从而出现信息泄露或位置跟踪等隐患。RFID的隐私保护问题已经成为国内外研究的焦点,迄今,已有相当多的认证协议被提出。文献[1-2]提出了Hash Lock认证协议,该协议有效的保证标签的隐私,但标签ID没有采取动态刷新机制,导致标签很容易被追踪定位;另外提出了一种随机化Hash-Lock协议,在该协议中,标签每次产生一个随机数,解决了标签跟踪定位的问题,但在每次Tag认证时,数据库都要把所有的标签的ID发送到读写器,通信量比较大。

2 基于混沌的hash算法

Hash函数也称为单向散列函数,它是一个明文到密文的不可逆的映射,即只能对明文进行加密,而不能对其进行解密的算法。同时,Hash函数可以将任意长度的输入变换得到固定长度的输出。

在混沌系统中,系统对初始状态和参数极度敏感,混沌系统的动力学行为又极其复杂,不符合概率统计学原理,难以进行重构和预测。此外,混沌系统还具有单向性,每次迭代时,即使明文发生极小的变化,都会产生两个完全不同的结果,而对于同一个混沌映射,若其初始值和参数完全相同,必定产生两个完全相同的结果,可见,混沌序列具有hash函数所要求的单向性、初值敏感性等众多的要求,可基于混沌理论构造出优秀的Hash算法。

2.1 分段混沌映射

本文采用了一维logistic映射分段方程来构造Hash函数,分段Logistic方程如下:

其中,为方程的状态量,为参数变量,P为动态分段参数。

2.2 基于混沌映射的hash构建方法

混沌hash的构建流程如图1所示:

混沌hash的构建算法如下:

步骤一,用ASCII码表示明文序列为S,,令,把sum转化为a0,作为迭代方程的初值。

步骤二,把步骤一S中的Si转换为(3.5,4)之间的数后存放在数组U中,作为方程的参数值。

步骤三,把作为混沌方程初始值,数组U作为参数,迭代混沌方程N次,N为明文S的长度。

步骤四,把第一步得到的最终Xn作为方程初始值,作为参数,迭代方程1000次。

步骤五,从迭代的结果中选取128位,并将它们转换为二进制:,将其组合在一起构成Hash值。

2.3 性能测试

文本测试是选取一段消息序列,计算Hash值,然后随机改变消息序列的内容,再计算Hash值,将两个Hash值进行对比,作为Hash函数敏感性的评判标准。为进行Hash函数敏感性测试,选用的消息序列为:“The Ministry of Land and Resources has tracked the changing return rate in some major cities such as Beijing. Shanghai,Shenzhen,Tianjin and Hangzhou.Bubbles have emerged.”。然后根据下列条件计算对应的Hash值:

(1)明文不做任何改变。

(2)把明文中的“Ministry”变为“Zinistry”。

(3)把明文中的“country”变为“wountry”。

(4)把明文中的第一个“,”变为“.”。

得到的Hash值用16进制依次表示为:

(1)79598934b5ece6eab5c545d5641622a5

(2)6b91a8da536b5b8aa55dd4ba8c2add9b

(3)cc73aaaba6e2e6ea8b9e4cd35e9234e2

(4)d5438c545c16d019bbc4bb769aace97a

从图2可以看出,即使明文发生很微小的改变,最终的Hash值也会发生很大的变化,因此本文构造的Hash函数具有很好的初值敏感性。

2.4 碰撞攻击分析

碰撞是指对于两个不同的输入s1和s2,迭代后的Hash值H(s1)=H(s2)。碰撞攻击分析是衡量一个Hash算法优劣的重要方式。步骤为:在明文中选取一段明文,计算Hash值并以ASCII码值表示,然后随机地改变明文的值得到一个新的Hash值,同样用ASCII码值表示。对两个ASCII码值进行比较,记下在同一位置上有相同ASCII码值的字符的个数。重复以上过程多次,统计不同的Hash值在同一位置上有相同ASCII码值的字符的数目,结果如图3所示。

由上图可以看出,95%以上的Hash值在同一位置没有相同的ASCII值,而且最大相同个数仅为3,说明了该算法的碰撞程度很低。

3 基于Hash算法的RFID保密机制

本文设计了一种基于Hash函数的安全认证协议,对RFID标签与读写器之间通信进行认证与隐私的保护。

3.1 协议描述

当标签进入读写器的磁场时,标签与读写器进行通信,实现相互认证。若在数据库中查询到和标签ID相同的ID1,则证明双方身份的合法性。H(x):对明文X进行Hash运算,后台数据库中存放的是与标签ID相对应的的,防止数据库被攻击者攻击造成ID泄露的危险。

认证协议如图4所示:

RFID认证流程如下:(1)读写器向标签发出Query请求,并生成随机数Rr,和Query请求一起发送给标签。(2)标签取出Rr和本标签的ID进行运算,,标签生成一个随机数Rd,把M1和Rd一起发送给读写器。(3)读写器把M1、Rd和Rr一起转发给数据库系统。(4)后台数据库计算:,然后查询数据库中是否存在,使得,若存在,标签合法。否则,标签非法。(5)若标签通过(4)的验证,数据库对Rd进行运算,得到,把M1′发送给读写器。(6)读写器收到,Rd后发送给标签。(7)标签接收,计算,比较Hash(ID)与Hash(ID′),若相同,则证明读写器合法,否则,读写器不合法。

3.2 安全性分析

(1)实现了双方认证过程中的身份隐藏。在认证过程中,读写器并不知道标签的ID,RFID标签也不知道具体的读写器,然而通过以上过程可以在不暴露各自信息的情况下实现相互认证。(2)实现了双向认证。经过M1Hash(Rr)与Hash(ID′)的比较,读写器通过了标签的认证,经过M1′Hash(Rd)和Hash(ID)的比较,标签通过了读写器的认证。(3)抗窃听攻击。由于Hash函数的单向性,Rr及Rd的随机性,即使窃听者窃听了M1和M1′也无法得到标签的信息。(4)抗假冒攻击。假冒的标签不知道合法标签的ID,因此无法得到正确的M1与数据库进行比较,无法通过读写器的验证。(5)抗重传攻击:每次认证时,都会有不同的随机数Rr,Rd,传输的认证消息具有随机性,认证双方的通信数据无规律可行,攻击者无法预测与分析。(6)防跟踪攻击。在每次认证过程中,随机数Rr和Rd是随机变化的,所以,每次的M1和一直在变化,防止攻击者根据固定输出进行位置追踪。

4 结语

本文提出了一种采用一维logistic映射分段方程来构造Hash函数的方法,并在此基础上设计了一种RFID身份隐藏技术。本文构造的Hash函数充分利用明文信息产生迭代所需要的初始条件、参数信息以及迭代次数,该算法原理简单,计算量小,很适合应用于RFID系统中。而且,设计的RFID认证机制,在完成双方相互认证的前提下,有效的实现了用户和读写器之间的身份隐藏,具有抗窃听攻击,抗假冒攻击以及防跟踪攻击,安全性好。

参考文献

[1]SarmaS.E.Weis S.A.,Engels D W.Radio Frequency Identification:Secure Risks and Challenges[J].RSA Laboratories Cryptobytes.2003. 6(1):2-9.

[2]WeisS.A..,Sarma S.E.,Rivest R.L.,Engel s D. W..Security and privacy aspects of low-cost radiofrequency identification systems.In:Hutter D.,Muller G.,Stephan W.,Ullmann M.eds.Proceedings of the 1st International Conference on Security in Pervasive Computing.Lectures Notes in Computer Science 2802.Berlin:Springer-Verlag.2004,201-212.

上一篇:测控装备自动测试系统通用性设计 下一篇:基于模糊专家系统的小区节能供暖方案设计