基于区块链的多所有者rfid认证方法

文档序号:7930 发布日期:2021-09-17 浏览:29次 英文

基于区块链的多所有者RFID认证方法

技术领域

本发明属于通信

技术领域

,涉及一种RFID认证方法,具体涉及一种基于区块链的射频识别RFID系统中多个阅读器与单个标签之间的相互认证方法。

背景技术

射频识别RFID(radio frequency identification)是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据信息。RFID的非接触识别和多目标识别等特点,使其广泛应用于制造业、商业、日常生活等领域。同时,RFID采用无线射频信号来完成阅读器与标签之间的身份认证与数据传输,它们之间会话的数据很容易被泄露、篡改和伪造。

区块链是一个去中心化的网络数据库,由各个参与节点共同维护并运行,具有开放性、匿名性、自治性、不可篡改等特性,它是由n个区块按照创建的时间依次排列形成的链,每个区块内部都有一个指向父区块的哈希指针。智能合约是存储在区块链上的一种由事件驱动的、具有状态的代码合约和算法合同。智能合约的实现是将对象程序化并部署在区块链上,成为全网共享资源,再通过外部事件触发的自动生成与执行,进而改变区块链网络中数字对象的状态和数值。

现有RFID认证方法大多数的研究都是标签具有单所有者的情况,而在标签的存在期内,存在依附在物体上的标签与多个所有者共同认证的情况。多所有者RFID认证方法是指多个阅读器与一个标签的相互认证。例如申请公布号为CN111931533A,名称为“针对多所有者RFID标签的认证方法”的专利申请,公开了一种针对多所有者RFID标签的认证方法,该方法采用Shamir秘密共享门限方法管理密钥,实现了多所有者与单个标签之间的双向认证,并减少了成本。但其存在的缺陷是,标签密钥的恢复与子密钥的生成都在标签中进行,因此,对标签计算量的要求比较高。根据以上分析可知,在实现多所有者与单标签安全认证的前提下,标签计算量较大的问题没有得到很好的解决。

发明内容

本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于区块链的多所有者RFID认证方法,旨在保证多个阅读器与标签安全认证的前提下,提高标签的计算效率。

为实现上述目的,本发明采取的技术方案包括如下步骤:

(1)信息初始化:

(1a)初始化包括标签、区块链服务器、N个阅读器ID={IDn|1≤n≤N}的RFID系统;标签的身份标识、密钥、旧密钥分别为TID、S、Sold,标签的隐蔽变量为R;区块链服务器的公钥、私钥分别为EB、DB;每个阅读器IDn的子密钥、身份标识分别为sn、RIDn,N个阅读器ID的共享公钥、私钥分别为ER、DR;同态加密的公钥、私钥分别为E、D,阈值为w;标签与区块链服务器的共享密钥为kT,区块链服务器与每个阅读器IDn的共享密钥为kn,区块链服务器与各阅读器的共享大素数均为p,N≥2,IDn表示第n个阅读器;

(1b)利用哈希函数对标签的身份标识TID、每个阅读器IDn的身份标识RIDn、每个阅读器IDn的身份标识RIDn与共享密钥kn的级联结果RIDn||kn分别进行加密,得到TID的哈希值H(TID)、RIDn的哈希值H(RIDn)、RIDn||kn的哈希值H(RIDn||kn);同时利用隐蔽变量R对每个阅读器IDn的子密钥sn进行加密,并利用公钥E对sn的加密结果Rsn进行同态加密,得到加密后的子密钥E(Rsn);

(1c)对步骤(1a)、(1b)初始化信息进行存储:

将标签的身份标识TID、密钥S、旧密钥Sold、标签与区块链服务器的共享密钥kT、隐蔽变量R、每个阅读器IDn的身份标识RIDn存储在标签中;

将每个阅读器IDn的身份标识RIDn、每个阅读器IDn与区块链服务器的共享密钥kn、大素数p、N个阅读器的共享私钥DR、区块链服务器的公钥EB存储到IDn中;

将TID的哈希值H(TID)、同态加密的公钥和私钥E、D,加密后的子密钥E(Rsn)、N个阅读器的共享公钥ER、RIDn的哈希值H(RIDn)、标签与区块链服务器的共享密钥kT、大素数p、阈值w、RIDn||kn的哈希值H(RIDn||kn)、区块链服务器的私钥DB、能够进行标签密钥恢复与子密钥生成的智能合约存储在区块链服务器中;

(1d)假设当前有T个阅读器ID={IDt|1≤t≤T}发起认证,IDt表示第t个当前发起认证的阅读器,1≤T≤N;

(2)每个阅读器IDt向区块链服务器发送请求消息Request:

(3)区块链服务器向每个阅读器IDt发送随机数r1的加密结果:

区块链服务器根据请求消息Request,采用伪随机数生成器生成随机数r1,并通过阅读器的共享公钥ER对r1进行加密后,然后将r1的加密结果ER(r1)发送至每个阅读器IDt

(4)每个阅读器IDt向标签发送身份请求消息:

每个阅读器IDt通过共享私钥DR对r1的加密结果ER(r1)进行解密,并计算ER(r1)解密得到的随机数r1与IDt的身份标识RIDt级联的哈希值Mt=H(RIDt||r1),然后将哈希值Mt、r1作为身份请求消息发送至标签;

(5)标签向每个阅读器IDt发送认证请求消息:

(5a)标签计算自身存储的每个阅读器IDn的身份标识RIDn与随机数r1级联后的哈希值H(RIDn||r1),并判断H(RIDn||r1)与Mt是否相等,若是,执行步骤(5b),否则终止认证;

(5b)标签利用哈希函数对自己的身份标识TID进行加密,并对TID加密得到的哈希值H(TID)与区块链服务器生成的随机数r1进行异或运算,然后对H(TID)与r1的异或结果进行哈希运算,得到哈希值N1=H(H(TID)⊕r1);

(5c)标签使用伪随机数生成器生成随机数r2,并对r2以及TID的哈希值H(TID)和随机数r1进行异或运算,然后对异或运算结果进行哈希运算,得到哈希值N2=H(H(TID)⊕r1⊕r2),再将N1、N2、r1、r2作为认证请求消息发送至每个阅读器IDt

(6)每个阅读器IDt向区块链服务器发送标签的认证请求信息:

每个阅读器IDt对标签发送的认证请求消息中的哈希值N1进行存储,并将认证请求消息中的N2、r1、r2发送至区块链服务器;

(7)区块链服务器向每个阅读器IDt发送密文:

(7a)区块链服务器在存储的数据信息中搜索是否存在标签身份标识的哈希值H(TID),使得H(TID)、r1、r2异或的哈希值H(H(TID)⊕r1⊕r2)与认证请求消息中的哈希值N2相等,若是,执行步骤(7b),否则终止认证;

(7b)区块链服务器对搜索到的标签身份标识的哈希值H(TID)与随机数r1进行级联,并通过阅读器的共享公钥ER对级联结果进行加密,然后将级联结果加密后的密文ER(H(TID)||r1)发送至每个阅读器IDt

(8)每个阅读器IDt对标签进行认证:

每个阅读器IDt利用共享私钥DR对密文ER(H(TID)||r1)进行解密,并计算解密后的标签身份标识的哈希值H(TID)和随机数r1异或后的哈希值H(H(TID)⊕r1),然后判断H(H(TID)⊕r1)与哈希值N1是否相等,若是,则实现了每个阅读器IDt对标签的认证,并执行步骤(9),否则终止认证;

(9)每个阅读器IDt向区块链服务器发送索引信息密文:

每个阅读器IDt计算自己的身份标识RIDt与共享密钥kt级联后的哈希值Ct=H(RIDt||kt),并将Ct作为索引信息,然后通过区块链服务器的公钥EB对Ct与随机数r1的级联结果进行加密后,将加密得到的每个阅读器IDt索引信息的密文Xt=EB(Ct||r1)发送至区块链服务器;

(10)区块链服务器基于智能合约对标签密钥进行恢复,并向每个阅读器IDt发送认证信息:

(10a)区块链服务器通过其私钥DB对每个阅读器IDt索引信息的密文Xt进行解密,并基于(w,N)门限秘密共享方法,判断对Xt解密得到每个阅读器IDt的索引信息Ct=H(RIDt||kt)与区块链服务器中存储的H(RIDn||kn)相等的个数是否大于等于阈值w,若是,则判定每个阅读器IDt符合认证条件,并执行步骤(10b),否则终止认证;

(10b)区块链服务器通过其存储的智能合约,则根据与每个阅读器IDt索引信息Ct相等的哈希值H(RIDn||kn),调用区块链服务器中存储的与H(RIDn||kn)对应的用隐蔽变量R与同态加密公钥E加密后的子密钥E(Rsn),并根据E(Rsn)通过拉格朗日插值多项式计算出恢复标签密钥时的中间量E(M),然后将E(M)发送至区块链服务器;

(10c)区块链服务器通过同态加密的公钥E对中间量E(M)进行解密,并对解密结果模大素数p,得到用隐蔽变量R加密后的标签密钥信息RS',并计算区块链服务器与标签的共享密钥kT、随机数r2异或的哈希值N3=H(kT⊕r2),然后对N3与RS'进行异或计算,然后将异或运算结果N4=H(kT⊕r2)⊕RS'与随机数r2级联结果作为认证信息发送至每个阅读器IDt

(11)每个阅读器IDt将区块链服务器发送的认证信息转发至标签;

(12)标签对每个阅读器IDt进行认证,并向每个阅读器IDt发送子密钥更新信息:

(12a)标签计算区块链服务器与标签的共享密钥kT与随机数r2异或的哈希值H(kT⊕r2),并将该哈希值与认证信息进行异或计算,得到用隐蔽变量R对恢复后的标签密钥S'加密的信息RS',然后计算RS'与R的比值S'后,判断S'与自身存储的标签密钥S或Sold是否相等,若是,则标签实现对每个阅读器IDt的认证,并执行步骤(12b),否则终止认证;

(12b)标签通过其密钥S与随机数r2异或后的哈希值H(S⊕r2)对S进行更新,并计算通过隐蔽变量R对S的更新结果Snew=H(S⊕r2)的加密结果RSnew与随机数r2异或后的哈希值N5=H(RSnew⊕r2),同时计算标签与区块链服务器的共享密钥kT与随机数r1、r2级联的哈希值H(kT||r1||r2),然后对H(kT||r1||r2)与RSnew进行异或计算,得到更新并加密后的标签密钥信N6=H(kT||r1||r2)⊕RSnew后,将N5、N6、r1、r2作为子密钥更新信息发送至每个阅读器IDt

(13)每个阅读器IDt将标签发送的子密钥更新信息转发至区块链服务器:

(14)区块链服务器对每个阅读器IDn的子密钥sn进行更新:

(14a)区块链服务器计算标签与区块链服务器的共享密钥kT与随机数r1、r2级联的哈希值H(kT||r1||r2),并利用该哈希值对子密钥更新信息中的标签密钥信息N6进行解密后,计算解密得到用隐蔽变量R加密后的标签密钥RSnew和随机数r2的哈希值H(RSnew⊕r2),然后判断H(RSnew⊕r2)与N5是否相等,若是,则执行步骤(14b),否则,停止子密钥更新;

(14b)区块链服务器通过同态加密的公钥E对用隐蔽变量R加密后的标签密钥RSnew加密,得到更新后的通过隐蔽变量R与同态加密的公钥E加密后的标签密钥E(RSnew),然后触发区块链服务器中存储的智能合约,并通过E(RSnew)计算在生成子密钥时的每个中间量E(mnnew),然后将E(mnnew)返回给区块链服务器;

(14c)区块链服务器通过同态加密的私钥D对每个中间量E(mnnew)进行解密,并对解密结果模大素数p,得到用隐蔽变量R加密后的每个子密钥Rsnnew,然后通过同态加密的公钥E对Rsnnew进行加密,得到用R与E共同加密后的每个子密钥E(Rsnnew),最后存储E(Rsnnew)及其对应的索引信息Cn=H(RIDn||kn),实现对每个阅读器IDn子密钥sn的更新。

本发明与现有技术相比,具有如下优点:

第一,本发明通过区块链服务器中的智能合约进行标签密钥的恢复与子密钥的生成,并且标签中的计算都是简单的哈希计算,避免了现有技术中标签密钥的恢复与子密钥的生成都在标签中进行导致的标签计算量的缺陷,有效提高了标签的计算效率。

第二,本发明将区块链服务器作为数据库,保证了存储的数据不被篡改,提高了存储数据的可靠性。

附图说明

图1是本发明的实现流程图。

具体实施方式

以下结合附图和具体实施例,对本发明作进一步详细描述。

参照图1,本发明包括如下步骤:

步骤1)信息初始化:

步骤1a)初始化包括标签、区块链服务器、N个阅读器ID={IDn|1≤n≤N}的RFID系统;标签的身份标识、密钥、旧密钥分别为TID、S、Sold,标签的隐蔽变量为R;区块链服务器的公钥、私钥分别为EB、DB;每个阅读器IDn的子密钥、身份标识分别为sn、RIDn,N个阅读器ID的共享公钥、私钥分别为ER、DR;同态加密的公钥、私钥分别为E、D,阈值为w;标签与区块链服务器的共享密钥为kT,区块链服务器与每个阅读器IDn的共享密钥为kn,区块链服务器与各阅读器的共享大素数均为p,IDn表示第n个阅读器,其中N=8,阈值w=5。

步骤1b)利用哈希函数对标签的身份标识TID、每个阅读器IDn的身份标识RIDn、每个阅读器IDn的身份标识RIDn与共享密钥kn的级联结果RIDn||kn分别进行加密,得到TID的哈希值H(TID)、RIDn的哈希值H(RIDn)、RIDn||kn的哈希值H(RIDn||kn);同时利用隐蔽变量R对每个阅读器IDn的子密钥sn进行加密,并利用公钥E对sn的加密结果Rsn进行同态加密,得到加密后的子密钥E(Rsn),将哈希值H(RIDn||kn)作为加密后的子密钥E(Rsn)的索引值。

步骤1c)对步骤(1a)、(1b)初始化信息进行存储:

将标签的身份标识TID、密钥S、旧密钥Sold、标签与区块链服务器的共享密钥kT、隐蔽变量R、每个阅读器IDn的身份标识RIDn存储在标签中;

将每个阅读器IDn的身份标识RIDn、每个阅读器IDn与区块链服务器的共享密钥kn、大素数p、N个阅读器的共享私钥DR、区块链服务器的公钥EB存储到IDn中;

将TID的哈希值H(TID)、同态加密的公钥和私钥E、D,加密后的子密钥E(Rsn)、N个阅读器的共享公钥ER、RIDn的哈希值H(RIDn)、标签与区块链服务器的共享密钥kT、大素数p、阈值w、RIDn||kn的哈希值H(RIDn||kn)、区块链服务器的私钥DB、能够进行标签密钥恢复与子密钥生成的智能合约存储在区块链服务器中。

步骤1d)假设当前有5个阅读器ID={IDt|1≤t≤5}发起认证,IDt表示第t个当前发起认证的阅读器。

将标签的密钥S拆分为8份子密钥s1,s2,…,s8,随后将子密钥分配给8个阅读器ID1,ID2,…,ID8,至少有5个阅读器同时参与认证时,才可通过拉格朗日插值多项式恢复标签密钥S。

利用同态加密的公钥E将子密钥与标签密钥加密,并对子密钥与标签密钥的密文进行计算,将得到的计算结果解密,其解密结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。

区块链服务器是一个去中心化的网络数据库,具有不可篡改的特性,因此提升了存储在区块链服务器中的标签和阅读器的身份与密钥等信息的可靠性。

步骤2)每个阅读器IDt向区块链服务器发送请求消息Request。

步骤3)区块链服务器向每个阅读器IDt发送随机数r1的加密结果:

区块链服务器根据请求消息Request,采用伪随机数生成器生成随机数r1,并通过阅读器的共享公钥ER对r1进行加密后,然后将r1的加密结果ER(r1)发送至每个阅读器IDt

统一每个阅读器IDt向标签发送的随机数r1

步骤4)每个阅读器IDt向标签发送身份请求消息:

每个阅读器IDt通过共享私钥DR对r1的加密结果ER(r1)进行解密,并计算ER(r1)解密得到的随机数r1与IDt的身份标识RIDt级联的哈希值Mt=H(RIDt||r1),然后将哈希值Mt、r1作为身份请求消息发送至标签。

步骤5)标签向每个阅读器IDt发送认证请求消息:

步骤5a)标签计算自身存储的每个阅读器IDn的身份标识RIDn与随机数r1级联后的哈希值H(RIDn||r1),并判断H(RIDn||r1)与Mt是否相等,若是,执行步骤(5b),否则终止认证;

步骤5b)标签利用哈希函数对自己的身份标识TID进行加密,并对TID加密得到的哈希值H(TID)与区块链服务器生成的随机数r1进行异或运算,然后对H(TID)与r1的异或结果进行哈希运算,得到哈希值N1=H(H(TID)⊕r1);

步骤5c)标签使用伪随机数生成器生成随机数r2,并对r2以及TID的哈希值H(TID)和随机数r1进行异或运算,然后对异或运算结果进行哈希运算,得到哈希值N2=H(H(TID)⊕r1⊕r2),再将N1、N2、r1、r2作为认证请求消息发送至每个阅读器IDt

步骤6)每个阅读器IDt向区块链服务器发送标签的认证请求信息:

每个阅读器IDt对标签发送的认证请求消息中的哈希值N1进行存储,并将认证请求消息中的N2、r1、r2发送至区块链服务器;

阅读器通过认证请求消息中的哈希值N1来认证标签,通过向区块链服务器发送的认证请求消息中的N2、r1、r2搜索区块链服务器中存储的标签身份标识。

步骤7)区块链服务器向每个阅读器IDt发送密文:

步骤7a)区块链服务器在存储的数据信息中搜索是否存在标签身份标识的哈希值H(TID),使得H(TID)、r1、r2异或的哈希值H(H(TID)⊕r1⊕r2)与认证请求消息中的哈希值N2相等,若是,执行步骤(7b),否则终止认证;

步骤7b)区块链服务器对搜索到的标签身份标识的哈希值H(TID)与随机数r1进行级联,并通过阅读器的共享公钥ER对级联结果进行加密,然后将级联结果加密后的密文ER(H(TID)||r1)发送至每个阅读器IDt

步骤8)每个阅读器IDt对标签进行认证:

每个阅读器IDt利用共享私钥DR对密文ER(H(TID)||r1)进行解密,并计算解密后的标签身份标识的哈希值H(TID)和随机数r1异或后的哈希值H(H(TID)⊕r1),然后判断H(H(TID)⊕r1)与哈希值N1是否相等,若是,则实现了每个阅读器IDt对标签的认证,并执行步骤(9),否则终止认证。

步骤9)每个阅读器IDt向区块链服务器发送索引信息密文:

每个阅读器IDt计算自己的身份标识RIDt与共享密钥kt级联后的哈希值Ct=H(RIDt||kt),并将Ct作为索引信息,然后通过区块链服务器的公钥EB对Ct与随机数r1的级联结果进行加密后,将加密得到的每个阅读器IDt索引信息的密文Xt=EB(Ct||r1)发送至区块链服务器。

步骤10)区块链服务器基于智能合约对标签密钥进行恢复,并向每个阅读器IDt发送认证信息:

步骤10a)区块链服务器通过其私钥DB对每个阅读器IDt索引信息的密文Xt进行解密,并基于(w,N)门限秘密共享方法,判断对Xt解密得到每个阅读器IDt的索引信息Ct=H(RIDt||kt)与区块链服务器中存储的H(RIDn||kn)相等的个数是否大于等于阈值5,若是,则判定每个阅读器IDt符合认证条件,并执行步骤(10b),否则终止认证;

步骤10b)区块链服务器通过其存储的智能合约,则根据与每个阅读器IDt索引信息Ct相等的哈希值H(RIDn||kn),调用区块链服务器中存储的与H(RIDn||kn)对应的用隐蔽变量R与同态加密公钥E加密后的子密钥E(Rsn),并根据E(Rsn)通过拉格朗日插值多项式计算出恢复标签密钥时的中间量E(M),计算公式为:

其中,符合认证条件的阅读器为l表示符合认证条件的阅读器iD中的第l个阅读器g表示符合认证条件的阅读器iD中的第g个阅读器 表示符合认证条件的阅读器iD中的第l个阅读器的公开信息,表示符合认证条件的阅读器iD中的第g个阅读器的公开信息,表示在符合认证条件的阅读器iD中第l个阅读器的通过隐蔽变量R与同态加密的公钥E加密后的子密钥。然后将E(M)发送至区块链服务器。

与索引信息Ct=H(RIDt||kt)相等的哈希值H(RIDn||kn)所在区块的哈希指针指向用隐蔽变量R与同态加密公钥E加密后的子密钥E(Rsn),实现通过索引信息Ct=H(RIDt||kt)对加密后的子密钥E(Rsn)的调用。

步骤10c)区块链服务器通过同态加密的公钥E对中间量E(M)进行解密,并对解密结果模大素数p,得到用隐蔽变量R加密后的标签密钥信息RS',并计算区块链服务器与标签的共享密钥kT、随机数r2异或的哈希值N3=H(kT⊕r2),然后对N3与RS'进行异或计算,然后将异或运算结果N4=H(kT⊕r2)⊕RS'与随机数r2级联结果作为认证信息发送至每个阅读器IDt

每个阅读器IDt的索引信息Ct=H(RIDt||kt)与区块链服务器中存储的H(RIDn||kn)相等的个数大于等于阈值5为触发智能合约运行的条件,当触发智能合约时,智能合约开始调用通过隐蔽变量R与同态加密公钥E加密后的子密钥E(Rsn)对标签密钥S进行恢复,避免了现有技术中标签密钥的恢复在标签中进行导致的标签计算量的缺陷,有效提高了标签的计算效率。

步骤11)每个阅读器IDt将区块链服务器发送的认证信息转发至标签。

步骤12)标签对每个阅读器IDt进行认证,并向每个阅读器IDt发送子密钥更新信息:

步骤12a)标签计算区块链服务器与标签的共享密钥kT与随机数r2异或的哈希值H(kT⊕r2),并将该哈希值与认证信息进行异或计算,得到用隐蔽变量R对恢复后的标签密钥S'加密的信息RS',然后计算RS'与R的比值S'后,判断S'与自身存储的标签密钥S或Sold是否相等,若是,则标签实现对每个阅读器IDt的认证,并执行步骤(12b),否则终止认证;

步骤12b)标签通过其密钥S与随机数r2异或后的哈希值H(S⊕r2)对S进行更新,并计算通过隐蔽变量R对S的更新结果Snew=H(S⊕r2)的加密结果RSnew与随机数r2异或后的哈希值N5=H(RSnew⊕r2),同时计算标签与区块链服务器的共享密钥kT与随机数r1、r2级联的哈希值H(kT||r1||r2),然后对H(kT||r1||r2)与RSnew进行异或计算,得到更新并加密后的标签密钥信N6=H(kT||r1||r2)⊕RSnew后,将N5、N6、r1、r2作为子密钥更新信息发送至每个阅读器IDt

子密钥更新信息中的N5用来判断发送的过程中信息是否被篡改,子密钥更新信息中的N6、r1、r2用来计算更新后的子密钥。

步骤13)每个阅读器IDt将标签发送的子密钥更新信息转发至区块链服务器。

步骤14)区块链服务器对每个阅读器IDn的子密钥sn进行更新:

步骤14a)区块链服务器计算标签与区块链服务器的共享密钥kT与随机数r1、r2级联的哈希值H(kT||r1||r2),并利用该哈希值对子密钥更新信息中的标签密钥信息N6进行解密后,计算解密得到用隐蔽变量R加密后的标签密钥RSnew和随机数r2的哈希值H(RSnew⊕r2),然后判断H(RSnew⊕r2)与N5是否相等,若是,则执行步骤(14b),否则,停止子密钥更新;

步骤14b)区块链服务器通过同态加密的公钥E对用隐蔽变量R加密后的标签密钥RSnew加密,得到更新后的通过隐蔽变量R与同态加密的公钥E加密后的标签密钥E(RSnew),然后触发区块链服务器中存储的智能合约,并通过E(RSnew)计算在生成子密钥时的每个中间量E(mnnew);

(14b1)区块链服务器中的智能合约调用区块链服务器中存储的大素数p,在有限域GF(p)随机选取aq∈GF(p),q=1,2,L,w-1,利用同态加密的公钥E将随机数aq加密得多项式系数E(aq),利用加密后的标签密钥E(RSnew)与E(aq)共享生成一个w-1次多项式:

F(x)=E(RSnew)+E(a1)E(Rx)+...+E(aw-1)E(Rxw-1);

(14b2)区块链服务器中的智能合约根据阅读器的公开信息xn计算出生成子密钥时的每个中间量E(mnnew):

E(mnnew)=F(xn),n=1,2,3…,N

然后将E(mnnew)返回给区块链服务器;

步骤14c)区块链服务器通过同态加密的私钥D对每个中间量E(mnnew)进行解密,并对解密结果模大素数p,得到用隐蔽变量R加密后的每个子密钥Rsnnew,然后通过同态加密的公钥E对Rsnnew进行加密,得到用R与E共同加密后的每个子密钥E(Rsnnew),最后存储E(Rsnnew)及其对应的索引信息Cn=H(RIDn||kn),实现对每个阅读器IDn子密钥sn的更新。

区块链服务器通过同态加密的公钥E对用隐蔽变量R加密后的标签密钥RSnew加密为触发智能合约运行的条件,当触发智能合约时,智能合约执行阅读器子密钥的生成,避免了现有技术中子密钥的生成在标签中进行导致的标签计算量的缺陷,有效提高了标签的计算效率。

以上描述仅是本发明的实施例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求的保护范围之内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种研发设计资源的访问授权方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类