本发明属于信息处理技术领域,更进一步涉及信息安全技术领域中的一种针对多所有者rfid标签的认证方法。可用于射频识别rfid系统中多所有者对标签的认证。
背景技术:
射频识别rfid(radiofrequencyidentification)技术是一种无需物理接触便可辨别目标并读取数据的无线通信技术,由于射频识别rfid技术具有非接触性、无需可视性、便捷性、快速识别性、一次可识别多个标签等优势,因此在交通、物流、医疗以及生产等诸多领域有着广阔的应用前景。传统的无线射频识别系统主要包括电子标签,阅读器,后台服务器三部分。
童嘉庆等人在2015年密码学报上发表的“基于云数据库低成本rfid认证协议”中提出了一种单所有者对rfid标签的认证方法;李璐璐等人在2019年计算机科学上发表的“基于云的轻量级rfid群组标签认证协议”中提出了一种单所有者对群组标签的认证方法。以上两个文献都是单所有者rfid标签的认证方法,但是在标签的存在期内,标签通常要依附在物体上并且会经历多个所有者,而且经历的这些所有者权重也会发生变化,因此,对多所有者rfid标签的认证有着重要的现实意义。
甘勇等人在2018年的轻工学报上发表的“带ttp权重的多所有者rfid标签所有权动态转换协议”中提出原所有者和标签的认证过程,该认证过程采用了秘密共享门限方案管理密钥管理密钥,减少了信息交互,利用可信第三方通信协议ttp(time-triggeredprotocol)恢复了密钥,但在认证协议中,出于对成本的考虑,引进第三方ttp的方法不是很好地选择。
技术实现要素:
本发明的目的是针对上述现有技术存在的不足,提出一种针对多所有者rfid标签的认证方法,能够有效减少信息交互,提高工作效率和安全性。
实现本发明目的的思路是:假设标签总权重为w,将其分给n个阅读器,阅读器将标签信息及子密钥等信息存储在安全可靠的后端数据库中;t个阅读器将自身的身份信息发送给标签,根据拉格朗日公式的(w,k)门限秘钥共享,标签判定t个阅读器所包含的子密钥权重是否达到了(w,k)门限,即当多个所有者的总权重为w时,只有当参与恢复密钥的所有者权重之和等于或者大于k时,才能恢复密钥,若达到了,确认阅读器可信;然后标签发送信息给后端数据库,后端数据库将收到的判定信息和自身存储的判定信息相对比,若一致,后端数据库认证标签;后端数据库将t个阅读器的子密钥发送给标签,标签根据拉格朗日插值多项式恢复出密钥,将恢复出的密钥和标签所存储的密钥进行对比,若一致,标签认证后端数据库,此时完成双向认证;最后标签更新密钥,并根据权重重新分发子密钥。
具体实现步骤包括如下:
(1)信息初始化:
(1a)将标签的身份标识tid和标签密钥kg进行级联,使用哈希运算进行加密后记作原始第二消息m′2,存储到后端数据库中;将每个阅读器的身份标识ridi以及对应的子密钥也存储在后端数据库中,其中i=1,2,...,n,n表示阅读器的总数;
(1b)将每个阅读器的身份标识ridi、每个阅读器与标签之间的共享密钥分别存储到对应的阅读器中;
(1c)将标签身份标识tid、标签密钥kg、每个阅读器与标签之间的共享密钥、阅读器的身份标识ridi和随机数生成器存储在标签中;
(2)阅读器向标签发送身份信息:
t个阅读器将自身的身份标识利用哈希函数加密发送给标签,其中1≤t≤n;
(3)标签根据收到信息判断阅读器的子密钥权重和是否达到阈值:
(3a)标签收到t个阅读器的身份标识后,计算t个阅读器的子密钥权重和s;
(3b)基于拉格朗日公式的(w,k)门限秘密共享门限,判断s是否达到阈值k;其中w表示所有者的权重总和,阈值k在(0,w]范围内选取;如果s达到了阈值k,继续步骤(4);否则认证失败,执行步骤(13);
(4)标签向后端数据库发送认证消息:
(4a)电子标签使用随机数生成器生成随机数r;
(4b)将随机数r和n个阅读器的身份标识进行级联,对级联结果进行哈希加密,得到第一消息m1;
(4c)对发送认证消息的标签,级联其身份标识tid和密钥kg,并对级联结果进行哈希加密,得到第二消息m2;
(4d)将随机数r与第二消息m2进行级联,将级联结果进行哈希加密,得到第三消息m3;
(4e)标签将随机数r、第一消息m1和第三消息m3一起发给后端数据库;
(5)后端数据库认证标签:
(5a)后端数据库收到标签的信息后,利用随机数r和自身所存储的原始第二信息m′2进行级联,将级联结果进行哈希计算,得到原始第三消息m′3;
(5b)比较第三消息m3和原始第三消息m′3是否一致,若一致,后端数据库认证标签成功,继续步骤(6);否则认证失败,执行步骤(13)。
(6)后端数据库将子密钥发送给标签:
(6a)后端数据库向t个阅读器发送其对应的子密钥;
(6b)t个阅读器分别使用自身与标签的共享秘钥加密子密钥,并将其发送给标签;
(7)标签恢复密钥:
(7a)标签收到信息,利用共享秘钥解出子密钥;
(7b)标签根据子密钥得到恢复后密钥kg′;
(8)标签认证后端数据库:
判断恢复后密钥kg′和标签内所储存的标签密钥kg是否一致,若一致,标签认证后端数据库,继续步骤(9);否则认证失败,执行步骤(13);
(9)标签更新密钥:
(9a)标签使用随机数生成器生成随机数r1;
(9b)将随机数r1和标签密钥kg进行级联,进行哈希计算,得到新密钥kg″;
(10)标签重新分发新子密钥:
(10a)标签根据新密钥kg″得到新子密钥,再根据n个阅读器的权重重新分配新子密钥;
(10b)利用阅读器和标签的共享秘钥将新子密钥加密,并分别发送给相应的阅读器;
(10c)阅读器根据共享秘钥解密新子密钥,并将新子密钥发送给后端数据库;
(11)数据库更新消息:
(11a)将新密钥kg″和标签身份标识tid级联,对级联结果进行哈希加密,得到第四消息m4;
(11b)后端数据库将自身所存储的原始第二消息m′2更新为第四消息m4;
(12)协议认证成功;
(13)终止协议。
与现有技术相比,本发明具有以下优点:
第一,由于本发明采用基于拉格朗日公式的(w,k)门限思想,当收到的子密钥权重和达到阈值时,标签便可恢复出原密钥,从而简化了协议,有效减少了信息交互;
第二,本发明使用标签对密钥进行更新,并根据拉格朗日公式生成子密钥、根据权重分发子密钥,全程没有引入ttp等相关设备,认证过程成本较低;
第三,由于本发明在协议认证过程中使用了哈希函数对明文加密,从而能够极大的减小标签和阅读器的运算负担,大大提高了运算效率。
附图说明
图1是本发明方法的实现流程图。
具体实施方式
以下参照附图,对本发明进行详细描述:
参照图1,本发明提供的针对多所有者rfid标签的认证方法,具体实现步骤如下:
步骤1,初始化阶段。
(1a)设置标签的身份标识为tid,设置每个阅读器身份为ridi,设置标签密钥为kg,设置每个阅读器与标签的共享秘钥
(1b)将(1a)中设置的密钥和标签、阅读器自带的相关信息进行存储:
将标签的身份标识tid和标签密钥kg进行级联,使用哈希运算进行加密后记作原始第二消息m′2,存储到后端数据库bd中;
将每一个阅读器的身份ridi以及对应的子密钥存储在后端数据库bd中;
将每个阅读器身份ridi、每个阅读器与标签之间的共享密钥
将标签的身份标识tid、标签密钥kg、每个阅读器与标签之间的共享密钥
(1c)初始化假设:
攻击者无法窃取阅读器和标签之间的共享密钥;
后端数据库与阅读器之间的通道是安全的;
后端数据库安全可靠。
步骤2,阅读器向标签发送身份信息:
t个阅读器将自身的身份标识利用哈希函数加密发送给标签,其中1≤t≤n;
步骤3,标签确认阅读器。
标签收到t个阅读器的身份信息后,计算其子密钥权重和s;
标签总权重为w,根据(w,k)门限,判断s是否达到了阈值k,若达到了,标签判定阅读器可信,执行步骤4;否则,执行步骤13;
步骤4,标签向后端数据库发送认证消息。
电子标签使用随机数生成器生成随机数r,本实施例在这里生成一个32bit的随机数;
将随机数r和t个阅读器的身份信息进行级联,对级联结果哈希加密得到标签第一消息m1=h(r||rid1,…,ridt);
将密钥kg和标签身份tid进行级联,对级联结果进行哈希加密得到第二消息m2=h(kg||tid);
将随机数r和第二消息m2进行级联,对级联结果进行哈希加密得到第三消息m3=h(r||h(kg||tid))
将随机数r、第一消息m1和第三消息m3一起发送到后端数据库bd;
步骤5,后端数据库认证标签。
后端数据库收到标签发送的消息,将随机数r和自身所存储的原始第二消息m′2进行级联,将级联结果进行哈希加密得到原始第三消息m′3;
比较m3和m′3是否一致,若一致,后端数据库认证标签,执行步骤6;否则,执行步骤13。
步骤6,后端数据库将子密钥发送给标签。
后端数据库将t个阅读器的子密钥s1…st分发送给相应的阅读器;
每个阅读器将自身子密钥经过阅读器和标签的共享秘钥进行加密,将加密后的结果
步骤7,标签恢复密钥。
标签收到阅读器发送的t个加密子密钥,根据共享秘钥进行解密,得到子密钥权重和为s;已知密钥权重总和为w,t个阅读器的子密钥权重和为s,且s不小于阈值k,标签可根据拉格朗日插值多项式恢复密钥kg′;
(7.1)标签随机生成一个大素数p,令密钥kg=f(0)=a0∈gf(p),同时在有限域gf(p)随机选取aq∈gf(p),q=1,2,…,k-1作为多项式的系数,共同生成一个k-1次多项式,即拉格朗日插值多项式:
其中,modp表示对f(x)进行取模运算;
(7.2)标签根据子密钥得到的恢复后密钥kg′具体如下:
其中,xl表示参与恢复密钥的第一子密钥,1≤l≤k,xg表示参与恢复密钥的第二子密钥,且g≠l。
步骤8,标签认证后端数据库。
比较标签存储的密钥kg和恢复出的密钥kg′是否一致,若一致,标签认证后端数据库,完成双向认证,执行步骤9;否则,执行步骤13。
步骤9,标签更新密钥。
电子标签生成一个32bit随机数r1;
将随机数r1和密钥kg进行级联,将级联结果进行哈希加密,生成新的密钥kg″=h(r1||kg);
步骤10,标签重新分发子密钥。
标签基于拉格朗日插值多项式,根据新密钥kg″重新生成子密钥,并依据权重分发给n个所有者,形成n份新子密钥s1′…sn′;将n份新子密钥分别用相应的共享秘钥进行加密,得到
标签根据n个阅读器的权重重新分配新子密钥,具体按照如下步骤进行:
(10.1)标签随机生成一个大素数p,令密钥kg=f(0)=a0∈gf(p),同时在有限域gf(p)随机选取aq∈gf(p),q=1,2,…,k-1为多项式系数,共同生成一个k-1次多项式:
其中,modp表示对f(x)进行取模运算;
(10.2)随后按照每个标签所有者的权重来分发新子密钥,标签所有者设n个标签所有者所持有的权重分别为w1,w2,…,wn,
sij=f(xij)(modp),
其中,xij为公开信息,且xij=(i-1)m+j,其中1≤i≤n,1≤j≤wi;wi表示第i个所有者拥有的子密钥权重;j表示第i个所有者的第j个子密钥;m为标签所有者的权重上限;
(10.3)通过共享密钥加密后分发给各个阅读器,即每一个所有者均可获得wi份子密钥。
步骤11,更新后端数据库的第二消息。
将新密钥kg″和标签身份rid进行级联,将级联结果进行哈希加密,得到第四消息m4=h(kg″||rid);
标签将m4发送给后端数据库bd;
后端数据库将自身存储的原始第二消息m′2更新为第四消息m4。
步骤12,协议认证成功。
步骤13,终止协议。
本发明未详细说明部分属于本领域技术人员公知常识。
以上描述仅是本发明的实施例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求的保护范围之内。