[发明专利]基于轻量级函数集的RFID标签与后端数据库的认证方法有效
申请号: | 201510005728.8 | 申请日: | 2015-01-07 |
公开(公告)号: | CN104504426B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 甘勇;贺蕾;刘书如;熊坤;吉星;张俊松;尹毅峰;张启坤 | 申请(专利权)人: | 郑州轻工业学院 |
主分类号: | G06K17/00 | 分类号: | G06K17/00 |
代理公司: | 郑州优盾知识产权代理有限公司41125 | 代理人: | 张绍琳,张真真 |
地址: | 450002*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 轻量级 函数 rfid 标签 后端 数据库 认证 方法 | ||
1.一种基于轻量级函数集的RFID标签与后端数据库的认证方法,其特征在于:标签和后端数据库拥有同一个轻量级函数集F={f1,f2,……,fi,……,fn},其步骤如下:
1)后端数据库向读写器发送{rDB,query};其中,rDB为后端数据库生成的随机数,query为后端数据库生成的查询请求;
2)读写器将收到的后端数据库发送的消息转发给标签;
3)标签收到查询请求后,生成随机数rT,将rDB⊕rT⊕kT-new⊕kFS的计算结果作为input1,并根据input1的值从轻量级函数集F中选取函数,设为fa;标签计算fa(rDB,rT,kT-new),发送{rDB,rT,fa(rDB,rT,kT-new)}给读写器;其中,rT为标签生成的随机数,kT-new表示进行此次认证而设置的新密钥,kFS为标签与后端数据库共享的函数选取密钥;
4)读写器将标签发送的消息转发给后端数据库;
5)若后端数据库长时间没有收到读写器转发的标签的响应,则重新执行协议; 若后端数据库收到读写器发来的消息,搜索是否存在二元组(kDB-old,kFS)或(kDB-new,kFS)满足:用kDB-old或kDB-new代替kT-new,计算input1’=rDB⊕rT⊕kDB-old⊕kFS或input1’=rDB⊕rT⊕kDB-new⊕kFS,根据input1’的值从轻量级函数集F中选取出函数fa’,计算出fa’(rDB,rT,kT-new)的值,与收到的fa(rDB,rT,kT-new)相同;若存在二元组(kDB-old,kFS),保持kDB-old不变,协议继续进行;若不存在二元组(kDB-old,kFS),但存在二元组(kDB-new,kFS),将kDB-new的值赋值给kDB-old,协议继续进行;若不存在二元组(kDB-old,kFS)和(kDB-new,kFS),则协议终止;将input1’的值向左循环移位作为input2,将input2的值向左循环移位作为input3,后端数据库根据input2和input3的值从轻量级函数集F中选择函数fb和fc,并生成新的认证密钥kDB-new;计算fb(rDB,rT,kDB-old)⊕kDB-new和fc(rDB,rT,kDB-old,kDB-new),发送{rDB,rT,fb(rDB,rT,kDB-old)⊕kDB-new,fc(rDB,rT,kDB-old,kDB-new)}给读写器;其中,kDB-old为表示后端数据库上一次与标签进行成功认证时所用的密钥,kDB-new为表示后端数据库为下一次进行认证而设置的新密钥;
6)读写器转发后端数据库的消息给标签;
7)标签收到后端数据库发来的消息后,用自己存储的密钥kT-new代替kDB-old,将input1的值向左循环移位作为input2’,将input2’的值向左循环移位作为input3’,标签根据input2’和input3’的值从轻量级函数集F中选取函数fb’和fc’,计算出fb’(rDB,rT,kDB-old)和k’DB-new,并分别用自己存储的密钥kT-new和计算出的k’DB-new代替kDB-old和kDB-new,计算fc’(rDB,rT,kDB-old,kDB-new),检查该计算结果与收到的fc(rDB,rT,kDB-old,kDB-new)是否相等;若不相等,则协议终止;若相等,通过对后端数据库的认证,并将kT-new的值赋值给kT-old,将kDB-new的值赋值给kT-new;将input3’的值向左循环移位作为input4,标签根据input4的值从轻量级函数集F中选取函数fd,计算fd(rDB,rT,kT-old,kT-new),发送{rDB,rT,fd(rDB,rT,kT-old,kT-new)}给读写器;其中,kT-old表示标签上一次与后端数据库进行成功认证时所用的密钥;
8)读写器转发标签的消息给后端数据库;
9)若后端数据库长时间没有收到标签的响应,则重新执行协议;若后端数据库收到标签发来的消息,则用kDB-old和kDB-new分别代替kT-old和kT-new;将input3的值向左循环移位作为input4’,标签根据input4’的值从轻量级函数集F中选取函数fd’,检验fd’(rDB,rT,kT-old,kT-new)与收到的fd(rDB,rT,kT-old,kT-new)是否相等;若不相等,则协议终止;若相等,则标签已经确认了后端数据库的身份,获取了正确的kDB-new,并且kT-old=kDB-old,kT-new=kDB-new,可以进行后续通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州轻工业学院,未经郑州轻工业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510005728.8/1.html,转载请声明来源钻瓜专利网。