[发明专利]基于轻量级函数集的RFID标签与后端数据库的认证方法有效
申请号: | 201510005728.8 | 申请日: | 2015-01-07 |
公开(公告)号: | CN104504426B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 甘勇;贺蕾;刘书如;熊坤;吉星;张俊松;尹毅峰;张启坤 | 申请(专利权)人: | 郑州轻工业学院 |
主分类号: | G06K17/00 | 分类号: | G06K17/00 |
代理公司: | 郑州优盾知识产权代理有限公司41125 | 代理人: | 张绍琳,张真真 |
地址: | 450002*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于轻量级函数集的RFID系统中标签与后端数据库的认证方法,标签和后端数据库拥有同一个轻量级函数集。轻量级函数集中含有互不相同的若干个轻量级函数,在每次执行协议时,通信双方根据密钥、函数选取密钥和随机数的值从轻量级函数集中选择此次协议执行时所使用的轻量级函数,使每次进行认证所采用的密码算法都不相同。攻击者并不知道密钥和函数选取密钥的值,即使攻击者监听了标签与后端数据库的全部通信,也难以提高破解出秘密值的概率,具有更好的安全性;同时标签具有更少的计算时间消耗;用户也可以根据实际需要向轻量级函数集中添加满足一定条件新的函数,具有较好的可扩展性。 | ||
搜索关键词: | 基于 轻量级 函数 rfid 标签 后端 数据库 认证 方法 | ||
【主权项】:
一种基于轻量级函数集的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,可以进行后续通信。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州轻工业学院,未经郑州轻工业学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510005728.8/,转载请声明来源钻瓜专利网。