基于Hash链的RFID认证协议文档格式.docx
- 文档编号:14538560
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:5
- 大小:19.48KB
基于Hash链的RFID认证协议文档格式.docx
《基于Hash链的RFID认证协议文档格式.docx》由会员分享,可在线阅读,更多相关《基于Hash链的RFID认证协议文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
NTT实验室提出了Hash链方法[1],它是一种采用共享秘密的询问&
mdash;
应答协议,具有不可分辨性和前向安全性,但该协议只能进行单向认证,安全性上存在一定缺陷,后台数据检索计算量大;
袁署光[2]等人提出一种基于Hash函数的认证协议,其利用对称秘钥方式,能够抵御重传攻击、假冒攻击等,但该协议服务器运算量巨大,数据库检索命中率低;
刘明生[3]等人提了的基于Hash函数的RFID安全认证协议,协议中传递标签ID的Hash值为静态的,能有效降低后端数据库检索数据的计算量,但不能提高检索的命中率,并且存在被跟踪的风险。
2安全问题分析
RFID系统面临的安全问题[4]主要包括:
(1)假冒攻击(spoofingattack),通过使用假冒读写器来记录标签的响应,再用该响应去响应合法的读写器,让合法的读写器认为该标签还存在,通过RFID的认证,事实上该标签已经离去;
(2)重传攻击(replayattack),是通过截取标签和读写器之间通信的有效信号,再在RFID系统中进行重传而对系统进行的一种攻击;
(3)去同步化(desynchronization),指通过对标签进行恶意认证或者攻击,导致后端数据与标签中存储的信息不一致,进而导致标签无法认证的一种攻击。
3认证方案
通过标签访问计数器值的自更新特性与密值,结合Hash函数进行RFID认证,虽然能够抵抗标签伪装等攻击,但是该协议标签数量较大,若干标签存在恶意认证时,根据k值来检索数据库中标签记录,将导致检索范围过大,标签记录命中率降低,而数据库的每次数据比对都会进行一定量的Hash计算,这会导致服务器耗费大量的时间和资源来进行运算,进而导致这个RFID系统效率低下。
针对基于Hash链的RFID安全双向认证协议做如下改进:
对k值进行分层化处理,可以有效提高数据库标签记录检索的命中率;
认证请求中使用RFID读写器产生随机数,将标签响应中推算出的随机数与该随机数进行比较,过滤无效的认证会话;
RFID读写器保存上一次认证会话中接收的标签响应,RFID读写器接收到的标签响应与上次会话中使用的标签响应进行比较,如果相同就过滤该认证会话(标签在每次认证会话中会更新认证响应),提高认证请求的有效性,减少服务器的运行压力。
有关协议中的参数如表1所示。
预备:
对每个标签的k值的范围进行分层化处理,例如0~999,1000~9999,将k置为所在分层的最小值。
当k为所在分层区间k的最大值时,k+1将重置k的值为该分层区间的最小值,同时置f的值为;
;
1&
rdquo;
,每个标签配置一个初始密值S,为RFID系统筛选两个碰撞和复杂度都较低的Hash函数,将标签k、ID、S存储到数据库。
步骤
(1):
RFID读写器产生一个随机数rR,向标签发送Query、rR认证请求。
步骤
(2):
标签接收到RFID读写器发送的认证请求后,将k值与随机数rR相加得到rk,然后标签读取存储器数据,计算G(IDrk),G(S),然后向RFID读写器发送k、rk、G(IDrk)、G(S)以及标志位f;
同时更新S=H(S),更新k=k+1,当k为所在分层的最大值时,k+1将重置k的值为该分层的最小值,同时置f的值为;
,否则f值不更新。
步骤(3):
RFID读写器接收到来自标签的信息后,先通过rk和k计算出随机数rR&
prime;
,比较该rR&
是否与刚发出的rR一致,如果不一致,则该数据为无效数据,直接丢弃;
如果一致则进一步判断G(IDrk)和G(S)。
比较与该阅读器上次认证时保留的G(ID&
rk&
)和G(S&
)是否一致,如果一致则为无效数据,直接丢弃;
如果不一致,则将数据k、rk、G(IDrk)、G(S)以及标志位f发送到后端数据库。
步骤(4):
后端服务器接收到RFID读写器传递的数据后,先判断k值的范围区间,确定该标签在哪个分层,然后判断f值是否为;
,如果是转入①,否则转入②。
①在数据库中找到该分层的所有标签数据记录,检查该记录中是否还有没有对比的记录,如果有转入③;
否则,标签不合法,停止认证。
②在数据库中找到该分层的标签数据记录,在此记录中检查是否还有符合k&
Prime;
&
le;
k没有对比的记录,如果有转入④;
③读取一条还没有对比的标签数据记录的ID&
,计算G(ID&
rk),再与G(IDrk)比较,如果相等,则转入⑤,否则转入①。
④读取一条k&
k且还没有对比的标签数据记录的ID&
rk),再与G(IDrk)比较,如果相等,则转入⑥,否则转入②。
⑤比较k与k&
的大小,如果k与k&
相等则取d=0,否则取d=k+l-k&
;
然后比较G(Hd(S&
))与G(S),如果相等,则转入⑦,否则转入①。
⑥计算d=k-k&
,然后比较G(Hd(S&
))与G(S),如果相等,则转入⑦,否则转入②。
⑦后端数据库更新当前标签记录的访问计数器k&
=k+1和密值S&
=Hd+1(S&
),如果k为该区间的最大值,则k&
置为该区间的最小值,然后计算G(ID&
S&
)发送给标签。
步骤(5):
阅读器将后端服务器发送来的G(ID&
S(k&
))转发给标签。
步骤(6):
标签从存储器中获取ID与密值S,计算G(IDS)与G(ID&
)是否相等,如果相等则认证成功,同时将标志位f置为;
0&
,否则认证失败。
协议认证过程如图1所示。
4协议安全性分析
RFID系统面临的主要安全问题[6]有:
假冒攻击、重传攻击、追踪、去同步化。
这里定义读写器向标签传递信息的无线信道为前向信道,标签向读写器传递信息的无线信道为后向信道[7],对协议进行安全性分析。
4.1假冒攻击
攻击者使用伪装的读写器通过前向信道向标签发送Query和rR认证请求,获取到标签的响应k、rR、f、G(IDrk)、G(S);
再在下一次与合法读写器进行认证时,读写器发送Query和rR认证请求,攻击者通过后向信道使用上次截获的k、rk、f、G(IDrk)、G(S)来响应读写器,然而由于读写器每次发送的rR都是一个随机产生的随机数,所以前后两次的随机数rR和rk-k不一致,无法进行假冒攻击。
4.2重传攻击
在读写器向标签发送Query和rR认证请求之后,攻击者获取到k、rk、f、G(IDrk)、G(S);
在以后的认证会话中,攻击者通过后向信道响应k、rk、f、G(IDrk)、G(S),从而发动重传攻击;
在读写器接收到k、rk、f、G(IDrk)、G(S)过后,进行一次过滤处理,与上一次接收到的G(ID&
)、G(S&
)进行比较,看数据内容是否相同,如果相同,则直接丢弃该数据,然后再判决rk-k和rR的值是否一致,因为前后两次认证过程中读写器生成的rR不同,由此可见该协议对重传攻击具有安全性。
4.3追踪
攻击者使用伪装的读写器向标签发送认证请求,获取到标签的响应k、rk、f、G(IDrk)、G(S),然后通过该响应来追踪该标签;
由于每次发起认证请求时,读写器都会重新产生一个随机数用于认证,并且标签自生的k、S(k)也是不断变化的,所以rk也会不断变化,f值只能是;
或;
无法实现追踪,因此该标签的响应是不断变化的,所以该协议能够很好地抵制追踪攻击。
4.4去同步化
认证过程中,因为采用的是无线信道,故有可能造成数据传输的丢失,或人为对标签进行恶意攻击,然后导致标签的数据与后端数据库数据不一致,使标签无效化,无法完成认证操作。
后端数据库可以根据k值和f值来确保标签密值的成功匹配,每次成功认证过后,后端数据库也会根据标签传来的信息,更新后端数据库的数据。
5协议效率分析
本协议对Hash链的RFID安全双向认证协议[5]做了改进,进一步提高了后端数据库检索的效率,读写器端增加过滤功能,能够有效地拦截恶意的认证请求,很好地减少服务器资源的浪费。
通过k值的分层化处理可以有效地缩小数据检索的范围,快速定位到需要检索的k值的数值范围,从而确定待检索的数据记录所在的k值分层;
再根据k值进一步缩小检索数据记录的范围,因为在f为;
时,被检索记录的k&
必须满足k&
k。
标志位;
f&
的作用主要是为了处理k值在完成多次认证过后导致k值越界,导致标签去同步化,无法进行认证。
在认证会话中,读写器不是将标签响应的数据进行一个简单的数据传递,让服务器进行数据的处理;
而是对标签响应的数据进行了一个数据过滤,能够有效地过滤无效认证会话和恶意认证,降低服务器的运行负荷,避免不必要的服务器资源浪费。
6性能分析
本文使用MATLAB对基于Hash链的RFID安全双向认证协议提出的基于Hash链的RFID安全双向认证协议与本文改进的协议进行了仿真测试,对比了后端服务器在比较次数、哈希运算次数的差别。
本文提出的改进协议细节上与基于Hash链的RFID安全双向认证协议有些不同,有的特性未在测试数据上很好地体现出来,例如标签阅读器的过滤功能,可以过滤一部分无效的认证请求,降低后端服务器的运行负荷。
将基于Hash链的RFID安全双向认证协议测试组命名为A组,本文改进协议分成3组进行测试,分别命名为B组、C组和D组。
测试中先去除标签阅读器的过滤功能。
假定A组中一共有2000个标签,后端服务器也有2000条对应的标签数据,并且每个标签和服务器之间已发生不超过50次的随机访问会话,同时标签数据与后端服务器同步,再随机抽取200个标签发生随机次数(不超过20次)的恶意访问,造成标签数据与后端数据库数据的不同步,然后随机发起2000000次的访问会话。
B组分为a1、b1分层,C组分为a2、b2、c2分层,D组分为a3、b3、c3、d3分层,每个分层的标签数、k值范围以及发生随机恶意访问(不超过20次)的标签数具体信息如图2所示。
首先每个分层的每个标签与服务器之间发生不超过50次的随机访问会话,同时标签数据与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Hash RFID 认证 协议