[发明专利]一种基于Hash函数的RFID双向认证方法无效
| 申请号: | 201210390649.X | 申请日: | 2012-10-15 |
| 公开(公告)号: | CN102916956A | 公开(公告)日: | 2013-02-06 |
| 发明(设计)人: | 李杨;王超;樊秀梅 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04W12/06 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明中公开了一种基于Hash函数的RFID双向认证方法,属于无线网络通信技术领域。本发明采用Hash函数,利用其单向不可逆运算的特性,防止信息泄露,并且有效降低成本;用映射数组技术,保护标签位置隐私;经过读写器和标签之间多次信息交互进行密钥的验证,确保只有合法读写器与合法标签才能够实现数据读取,完成RFID标签与读写器的双向认证。本发明提出的方法不但可以保护标签的隐私数据不被非法用户盗取,而且还能够有效的抵御系统内外的恶意用户攻击。 | ||
| 搜索关键词: | 一种 基于 hash 函数 rfid 双向 认证 方法 | ||
【主权项】:
1.一种基于Hash函数的RFID双向认证方法,用于RFID自动识别系统中RFID标签与RFID读写器之间的无线通信时进行安全认证;所述RFID自动识别系统包括RFID标签、RFID读写器和后台数据库;基于Hash函数的RFID双向认证方法,其特征在于:包括:(1)在RFID标签中嵌入Hash函数,用来生成伪随机数;在后台数据库中嵌入随机数生成器以及与RFID标签相同的Hash函数,随机数生成器的功能是生成随机数;(2)对RFID自动识别系统进行初始化,具体如下:在每个RFID标签中载入一个三元组{Id,Key,Map[m]},其中,Id代表RFID标签的唯一身份识别码;Key代表当前会话的密钥,其初始值为任意随机数;Map[m]是一个长度为m的数组,其初始值均为0,m为正整数,m≥64;在后台数据库中载入一个五元组{ID,KEYnew,MetaKEYnew,KEYold,MetaKEYold};其中,ID代表当前通信RFID标签的唯一身份识别码;KEYnew代表当前通信RFID标签的当前会话密钥,其初始值与当前通信RFID标签的初始会话密钥相同;MetaKEYnew代表使用后台数据库中的Hash函数对KEYnew进行哈希运算以后得到的结果;KEYold中存储前次会话中的KEYnew值,其初始值为空;MetaKEYold中存储前次会话中的MetaKEYnew值,其初始值为空;(3)RFID标签与RFID读写器之间的验证过程具体为:步骤1:后台数据库中随机数生成器生成一个随机数R,并将该随机数R发送给RFID读写器,RFID读写器向外界RFID标签广播随机数R以及通信请求;步骤2:当RFID标签收到来自读写器的随机数R以及通信请求后,通过公式(1)计算Temp的值;然后查看Map[Temp]是否为1;如果Map[Temp]=1,则发送拒绝消息给RFID读写器,结束当前会话;否则,设置Map[Temp]=1,并通过公式(2)计算MetaKey值,通过公式(3)计算Temp1值,然后将MetaKey和Temp1值发送给RFID读写器;Temp=H(R)%m (1)其中,Temp表示临时变量;H(·)为哈希函数,对括号中的参数进行哈希运算;MetaKey=H(Key) (2)Temp1=H(Key||R) (3)其中,Temp1表示一个临时变量;||表示一个运算,其功能是对该运算符号的前后字符或字符串进行连接;步骤3:当RFID读写器收到来自RFID标签的消息后,如果该消息是拒绝消息,则结束当前会话;否则,将接收到的消息视为MetaKey和Temp1,然后将MetaKey和Temp1转发给后台数据库;步骤4:在后台数据库MetaKEYnew中查找是否存在与MetaKey相等的值,如果存在,则执行步骤5;否则在后台数据库MetaKEYold中查找是否存在与MetaKey相等的值,如果存在,则执行步骤6;否则,结束当前会话;步骤5:在后台数据库中提取步骤4中所述的与MetaKey相等的MetaKEYnew相对应的ID和KEYnew,通过公式(4)计算Temp2,并判断Temp2与Temp1是否相等,如果相等,则认为RFID标签合法,同时更新后台数据库,使MetaKEYold=MetaKEYnew;KEYold=KEYnew;KEYnew=KEYold
R;MetaKEYnew=H(KEYnew),然后执行步骤7;否则,认为RFID标签不合法,结束当前会话;Temp2=H(KEYnew||R) (4)其中,Temp2表示一个临时变量;步骤6:在后台数据库中提取步骤4中所述与MetaKey相等的MetaKEYold相对应的ID和KEYold,通过公式(5)计算Temp3,并判断Temp3与Temp1是否相等,如果相等,则认为RFID标签合法,同时更新后台数据库,使KEYnew=KEYold
R,MetaKEYnew=H(KEYnew),然后执行步骤7;否则,认为RFID标签不合法,结束当前会话;Temp3=H(KEYold||R) (5)其中,Temp3表示一个临时变量;步骤7:后台数据库通过公式(6)计算Temp4值,将Temp4通过RFID读写器发送给RFID标签;Temp4=H(ID||R||KEY) (6)其中,Temp4表示一个临时变量;步骤8:RFID标签通过公式(7)计算Temp5值,将Temp5与Temp4进行比较,如果不相等,则认为RFID读写器不合法,结束当前会话;否则,RFID读写器通过验证,标签对Key进行更新,使Key的值为(Key
R),并将Map[m]中的所有项都设置为0,完成标签更新,允许标签和读写器的后续通信;Temp5=H(Id||R||Key) (7)其中,Temp5表示一个临时变量;通过上述步骤的操作,完成RFID标签与RFID读写器之间的验证过程,通过验证的RFID标签和RFID读写器即可进行后续通信。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210390649.X/,转载请声明来源钻瓜专利网。
- 上一篇:一种可完全生物降解的无毒环保材料及其制造方法
- 下一篇:针对乙酯量的监控装置





