本发明属于通信技术领域,更进一步涉及信息安全技术领域中的一种基于二次剩余的射频识别RFID(Radio Frequency Identification)标签所有权转移方法。本发明可以实现新旧移动阅读器与射频标签之间共享秘钥的转换,从而确保射频标签的所有权安全转移。
背景技术:
目前,已有的射频标签所有权转移方法大致可以分成两类:基于非公钥加密的方法和基于公钥的方法。其中基于公钥的所有权转移协议能实现较高的安全性,但是增加了射频标签的开销;基于非公钥加密的所有权转移协议降低了射频标签的开销,但是安全性往往不足。这里实质上是如何解决一个相互矛盾的问题,即低成本射频标签系统中基于非公钥加密的所有权转移协议安全性不高,而当前安全度较高的基于公钥的所有权转移协议成本太高。
天津大学在其申请的专利文献“RFID系统中有效转移标签所有权的方法”(申请号CN201410068882.5,公开号:CN103957186A)中公开了一种单个射频标签所有权转换方法。该方法在标签端使用hash函数加密。操作时,采用挑战响应机制,标签通过和新旧所有者之间互发消息来实现所有权转移过程,完整的方法包括提出转移请求,认证标签身份,批准转移请求,认证原所有者身份,初始化新所有者五个过程。该方法存在的不足之处是,协议在标签端使用hash函数加密,而且需要产生随机数,这些功能需要标签集成相关的硬件电路,增加了标签的成本;在同等条件下,完成hash函数的时间开销远远大于逻辑运算,又延迟了协议的认证时间。
蓝盾信息安全技术股份有限公司在其申请的专利文献“一种RFID所有权转移方法”(申请号CN201410856462.3,公开号:CN104618340A)中公开了一种通过新旧所有者后台服务器直接传输标签认证信息的所有权转移方法。该方法包括:阅读器端认证标签子协议、数据转移子协议、标签端认证数据库子协议。该方法通过在标签端保存动态随机数,使标签不需要伪随机数发生器硬件;协议采用基于SQUASH的Rabin加密方法,协议在后台保留标签每一任所有者的数据库,以满足实际环境中的追查需求。该方法存在的不足之处是,该方法不支持移动阅读器,灵活性差;该方法使用Rabin加密方法,标签端由5000-10000个逻辑门电路组成,成本高。
技术实现要素:
本发明的目的在于克服现有技术的不足,提出了一种基于二次剩余的射频识别标签所有权转移方法,用来满足商品供应链环境下标签所有权频繁转移的需求,确保神品识别标签所有权安全转移。
本发明的思路是:转移阅读器将射频识别标签的信息和共享秘钥发送给接收阅读器,接收阅读器使用共享秘钥与射频识别标签建立连接,接收阅读器与射频识别标签协商一个新的共享秘钥,射频识别标签与接收阅读器使用新共享秘钥建立通信连接,从而实现标签所有权的安全转移。
为实现上述目的,本发明包括如下步骤:
(1)发送请求消息:
(1a)转移阅读器产生一个随机数N1;
(1b)转移阅读器从数据库中查询接收阅读器的身份信息;
(1c)利用二次剩余的模公式,计算接收阅读器的身份信息与转移阅读器产生的随机数的模值,得到加密后的请求消息;
(1d)转移阅读器将请求消息发送给接收阅读器;
(2)确认转移阅读器的身份:
(2a)接收阅读器接收转移阅读器发送的请求消息;
(2b)接收阅读器使用自己的私钥,计算二次剩余运算的解,得到解密后的接收阅读器的身份信息ID′和转移阅读器产生的随机数N1′;
(3)判断转移阅读器发送的身份信息ID′与接收阅读器的身份信息ID是否相等,若是,则执行步骤(4),否则,执行步骤(20);
(4)发送应答消息:
(4a)接收阅读器产生一个随机数N2;
(4b)利用二次剩余的模公式,计算接收阅读器解密后得到的随机数与接收阅读器产生的随机数的模值,得到加密后的应答消息;
(4c)接收阅读器将应答消息发送给转移阅读器;
(5)确认接收阅读器的身份:
(5a)转移阅读器接收应答消息;
(5b)转移阅读器使用自己的私钥,计算二次剩余运算的解,得到转移阅读器发送给接收阅读器的随机数N1″和接收阅读器产生的随机数N2′;
(6)判断接收阅读器发送的随机数N1″与转移阅读器产生的随机数N1是否相等,若是,则执行步骤(7),否则,执行步骤(20);
(7)发送认证请求消息给电子标签:
(7a)转移阅读器产生一个随机数N3;
(7b)转移阅读器从数据库中查询电子标签的身份信息;
(7c)利用对称加密算法中的加密函数,计算电子标签的身份信息与转移阅读器产生的随机数、接收阅读器的公钥的函数值,得到加密后的认证请求消息;
(7d)转移阅读器将认证请求消息发送给电子标签;
(8)确认转移阅读器的身份:
(8a)利用对称加密算法中的解密函数,计算认证请求消息的明文值;
(8b)判断转移阅读器发送的身份信息TID′与电子标签的身份信息TID是否相等,若是,则执行步骤(9),否则,执行步骤(20);
(9)发送认证应答消息:
(9a)利用对称加密算法中的加密函数,计算转移阅读器产生的随机数的函数值,得到加密后的认证应答消息;
(9b)电子标签将认证应答消息发送给转移阅读器;
(10)确认电子标签的身份:
(10a)利用对称加密算法中的解密函数,计算认证应答消息的明文值;
(10b)判断电子标签发送的随机数N3″与转移阅读器产生的随机数N3是否相等,若是,则执行步骤(11),否则,执行步骤(20);
(11)发送电子标签信息:
(11a)利用二次剩余的模公式,计算接收阅读器产生的随机数和电子标签的身份信息、转移阅读器与电子标签之间的共享秘钥的模值,得到加密后的标签信息;
(11b)转移阅读器将标签信息发送给接收阅读器;
(12)接收电子标签的身份信息:
(12a)接收阅读器接收转移阅读器发送的标签信息;
(12b)接收阅读器使用自己的私钥,计算二次剩余运算的解,得到解密后的电子标签的身份信息TID′和转移阅读器与电子标签之间的共享秘钥k′;
(13)发送共享秘钥修改指令:
(13a)接收阅读器产生一个随机数N4;
(13b)利用对称加密算法中的加密函数,计算电子标签的身份信息与接收阅读器产生的随机数、共享秘钥修改指令的函数值,得到加密后的共享秘钥修改指令消息;
(13c)接收阅读器将共享秘钥修改指令消息发送给电子标签;
(14)修改共享秘钥:
(14a)电子标签接收由接收阅读器发送的共享秘钥修改指令消息;
(14b)利用对称加密算法中的解密函数,计算共享秘钥修改指令消息的明文值;
(14c)电子标签修改共享秘钥;
(15)发送新共享秘钥信息:
(15a)利用二次剩余的模公式,计算电子标签的身份信息与接收阅读器产生的随机数、新共享秘钥的模值,得到新共享秘钥信息;
(15b)电子标签将新共享秘钥信息发送给接收阅读器;
(16)接收新共享秘钥信息:
(16a)接收阅读器接收新共享秘钥信息;
(16b)接收阅读器使用自己的私钥,计算二次剩余运算的解,得到新共享秘钥ks′;
(17)发送验证消息:
(17a)利用对称加密算法中的加密函数,计算电子标签的身份信息函数值,得到加密后的验证消息;
(17b)接收阅读器将验证消息发送给电子标签;
(18)验证共享秘钥转移成功:
(18a)电子标签接收由接收阅读器发送的验证消息;
(18b)利用对称加密算法中的解密函数,计算验证消息的明文值;
(18c)判断接收阅读器发送的身份信息TID″与电子标签的身份信息TID是否相等,若是,则执行步骤(19),否则,执行步骤(20);
(19)电子标签所有权转移成功;
(20)终止协议。
本发明与现有技术相比具有如下优点:
第一,由于本发明使用了二次剩余的模公式进行加密,克服了现有技术使用非公钥加密的所有权转移协议安全性不高的问题,使得本发明可以实现电子标签所有权安全地转移,应用范围更加广泛。
第二,由于本发明使用了可移动阅读器读取标签信息,克服了现有技术使用不可移动阅读器导致灵活性差的不足,使得本发明可以更加方便地对电子标签进行管理维护。
第三,由于本发明在电子标签上使用了二次剩余和对称加密算法进行加密,克服了现有技术电子标签成本过高的不足,使得本发明可以实现电子标签低成本的要求,实用性更强。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图1,对本发明的具体步骤做进一步描述。
步骤1,发送请求消息。
转移阅读器产生一个随机数N1。
转移阅读器从数据库中查询接收阅读器的身份信息。
利用二次剩余的模公式,计算接收阅读器的身份信息与转移阅读器产生的随机数的模值,得到加密后的请求消息。
所述二次剩余的模公式如下:
M1=(A||B)2modn1
其中,M1表示加密后的消息,A表示接收阅读器的身份信息,||表示消息级联操作,B表示转移阅读器产生的随机数,(·)2表示平方操作,mod表示模操作,n1表示接收阅读器的公钥。
转移阅读器将请求消息发送给接收阅读器。
步骤2,确认转移阅读器的身份。
接收阅读器接收转移阅读器发送的请求消息。
接收阅读器使用自己的私钥,计算二次剩余运算的解,得到解密后的接收阅读器的身份信息ID′和转移阅读器产生的随机数N1′。
所述计算二次剩余运算的解的具体步骤如下。
第1步,按照下式,计算接收阅读器的公钥:
n=p×q
其中,n表示接收阅读器的公钥,p表示一个512比特的大素数,q表示一个512比特的大素数。
第2步,按照下式,计算密文解密后的明文信息:
T2modn=M1
其中,T表示密文解密后得到的明文信息:T表示接收阅读器的身份信息和转移阅读器产生的随机数的级联消息,mod表示模操作,n表示接收阅读器的公钥,M1表示发送的密文。
步骤3,判断转移阅读器发送的身份信息ID′与接收阅读器的身份信息ID是否相等,若是,则执行步骤4,否则,执行步骤20。
步骤4,发送应答消息。
接收阅读器产生一个随机数N2。
利用二次剩余的模公式,计算接收阅读器解密后得到的随机数与接收阅读器产生的随机数的模值,得到加密后的应答消息。
所述二次剩余的模公式如下。
M1=(A||B)2modn1
其中,M1表示加密后的消息,A表示接收阅读器解密后得到的随机数,B表示接收阅读器产生的随机数,||表示消息级联操作,(·)2表示平方操作,mod表示模操作,n1表示转移阅读器的公钥。
接收阅读器将应答消息发送给转移阅读器。
步骤5,确认接收阅读器的身份。
转移阅读器接收应答消息。
转移阅读器使用自己的私钥,计算二次剩余运算的解,得到转移阅读器发送给接收阅读器的随机数N1″和接收阅读器产生的随机数N2′。
所述计算二次剩余运算的解的具体步骤如下。
第1步,按照下式,计算接收阅读器的公钥:
n=p×q
其中,n表示转移阅读器的公钥,p表示一个512比特的大素数,q表示一个512比特的大素数。
第2步,按照下式,计算密文解密后的明文信息:
T2modn=M1
其中,T表示密文解密后得到的明文信息:T表示转移阅读器发送给接收阅读器的随机数和接收阅读器产生的随机数的级联消息,mod表示模操作,n表示转移阅读器的公钥,M1表示发送的密文。
步骤6,判断接收阅读器发送的随机数N1″与转移阅读器产生的随机数N1是否相等,若是,则执行步骤7,否则,执行步骤20。
步骤7,发送认证请求消息给电子标签。
转移阅读器产生一个随机数N3。
转移阅读器从数据库中查询电子标签的身份信息。
利用对称加密算法中的加密函数,计算电子标签的身份信息与转移阅读器产生的随机数、接收阅读器的公钥的函数值,得到加密后的认证请求消息。
所述对称加密算法中的加密函数的具体步骤如下。
其中,M3表示加密后的消息,E表示对称加密算法中的加密函数,k1表示转移阅读器与电子标签之间的共享密钥,A1表示电子标签的身份信息,||表示消息级联操作,B1表示转移阅读器产生的随机数,C1表示接收阅读器的公钥。
转移阅读器将认证请求消息发送给电子标签。
步骤8,确认转移阅读器的身份。
利用对称加密算法中的解密函数,计算认证请求消息的明文值。
所述对称加密算法中的解密函数的具体步骤如下。
其中,D表示对称加密算法中的解密函数,k1表示转移阅读器与电子标签之间的共享密钥,M3表示加密后的消息,A1′表示认证请求消息解密后得到的电子标签的身份信息,||表示消息级联操作,B1′表示认证请求消息解密后得到的转移阅读器产生的随机数,C1′表示认证请求消息解密后得到的接收阅读器的公钥。
判断转移阅读器发送的身份信息TID′与电子标签的身份信息TID是否相等,若是,则执行步骤9,否则,执行步骤20。
步骤9,发送认证应答消息。
利用对称加密算法中的加密函数,计算转移阅读器产生的随机数的函数值,得到加密后的认证应答消息。
所述对称加密算法中的加密函数的具体步骤如下。
其中,M4表示加密后的消息,E表示对称加密算法中的加密函数,k2表示转移阅读器与电子标签之间的共享密钥,D1表示认证请求消息解密后得到的转移阅读器产生的随机数。
电子标签将认证应答消息发送给转移阅读器。
步骤10,确认电子标签的身份。
利用对称加密算法中的解密函数,计算认证应答消息的明文值。
所述对称加密算法中的解密函数的具体步骤如下。
其中,D表示对称加密算法中的解密函数,k2表示转移阅读器与电子标签之间的共享密钥,M4表示加密后的消息,D1′表示认证应答消息解密后得到的转移阅读器产生的随机数。
判断电子标签发送的随机数N3″与转移阅读器产生的随机数N3是否相等,若是,则执行步骤11,否则,执行步骤20。
步骤11,发送电子标签信息。
利用二次剩余的模公式,计算接收阅读器产生的随机数和电子标签的身份信息、转移阅读器与电子标签之间的共享秘钥的模值,得到加密后的标签信息。
所述二次剩余的模公式如下。
M2=(C||D||E)2modn2
其中,M2表示加密后的消息,C表示转移阅读器解密得到的接收阅读器产生的随机数,||表示消息级联操作,D表示电子标签的身份信息,E表示转移阅读器与电子标签之间的共享秘钥,(·)2表示平方操作,mod表示模操作,n2表示接收阅读器的公钥。
转移阅读器将电子标签信息发送给接收阅读器。
步骤12,接收电子标签的身份信息。
接收阅读器接收转移阅读器发送的电子标签信息。
接收阅读器使用自己的私钥,计算二次剩余运算的解,得到解密后的电子标签的身份信息TID′和转移阅读器与电子标签之间的共享秘钥k′。
所述计算二次剩余运算的解的具体步骤如下。
第1步,按照下式,计算接收阅读器的公钥:
n=p×q
其中,n表示接收阅读器的公钥,p表示一个512比特的大素数,q表示一个512比特的大素数。
第2步,按照下式,计算密文解密后的明文信息:
T2modn=M1
其中,T表示密文解密后得到的明文信息:T表示接收阅读器发送给转移阅读器的随机数、电子标签的身份信息、转移阅读器与电子标签之间的共享秘钥的级联消息,mod表示模操作,n表示接收阅读器的公钥,M1表示发送的密文。
步骤13,发送共享秘钥修改指令。
接收阅读器产生一个随机数N4。
利用对称加密算法中的加密函数,计算电子标签的身份信息与接收阅读器产生的随机数、共享秘钥修改指令的函数值,得到加密后的共享秘钥修改指令消息。
所述对称加密算法中的加密函数的具体步骤如下。
其中,M3表示加密后的消息,E表示对称加密算法中的加密函数,k1表示转移阅读器与电子标签之间的共享密钥,A1表示电子标签信息解密后得到的电子标签的身份信息,||表示消息级联操作,B1表示接收阅读器产生的随机数,C1表示共享秘钥修改指令。
接收阅读器将共享秘钥修改指令消息发送给电子标签。
步骤14,修改共享秘钥。
电子标签接收由接收阅读器发送的共享秘钥修改指令消息。
利用对称加密算法中的解密函数,计算共享秘钥修改指令消息的明文值。
所述对称加密算法中的解密函数的具体步骤如下。
其中,D表示对称加密算法中的解密函数,k1表示转移阅读器与电子标签之间的共享密钥,M3表示加密后的消息,A1′表示共享秘钥修改指令消息解密后得到的电子标签的身份信息,||表示消息级联操作,B1′表示共享秘钥修改指令消息解密后得到的接收阅读器产生的随机数,C1′表示共享秘钥修改指令消息解密后得到的修改秘钥的指令。
电子标签修改共享秘钥。
步骤15,发送新共享秘钥信息。
利用二次剩余的模公式,计算电子标签的身份信息与接收阅读器产生的随机数、新共享秘钥的模值,得到新共享秘钥信息。
所述二次剩余的模公式如下。
M2=(C||D||E)2modn2
其中,M2表示加密后的消息,C表示电子标签的身份信息,||表示消息级联操作,D表示共享秘钥修改指令消息解密后得到的接收阅读器产生的随机数,E表示新共享秘钥,n2表示接收阅读器的公钥,(·)2表示平方操作,mod表示模操作。
电子标签将新共享秘钥信息发送给接收阅读器。
步骤16,接收新共享秘钥信息。
接收阅读器接收新共享秘钥信息。
接收阅读器使用自己的私钥,计算二次剩余运算的解,得到新共享秘钥ks′。
所述计算二次剩余运算的解的具体步骤如下。
第1步,按照下式,计算接收阅读器的公钥:
n=p×q
其中,n表示接收阅读器的公钥,p表示一个512比特的大素数,q表示一个512比特的大素数。
第2步,按照下式,计算密文解密后的明文信息:
T2modn=M1
其中,T表示密文解密后得到的明文信息:T表示接收阅读器发送给电子标签的随机数、电子标签的身份信息、新共享秘钥的级联消息,mod表示模操作,n表示接收阅读器的公钥,M1表示发送的密文。
步骤17,发送验证消息。
利用对称加密算法中的加密函数,计算电子标签的身份信息函数值,得到加密后的验证消息。
所述对称加密算法中的加密函数的具体步骤如下。
其中,M4表示加密后的消息,E表示对称加密算法中的加密函数,k2表示解密新共享秘钥信息后得到的新共享秘钥,D1表示解密新共享秘钥信息后得到的电子标签信息。
接收阅读器将验证消息发送给电子标签。
步骤18,验证共享秘钥转移成功。
电子标签接收由接收阅读器发送的验证消息。
利用对称加密算法中的解密函数,计算验证消息的明文值。
所述对称加密算法中的解密函数的具体步骤如下。
其中,D表示对称加密算法中的解密函数,k2表示新共享秘钥,M4表示加密后的消息,D1′表示验证消息解密后得到的电子标签的身份信息。
判断接收阅读器发送的身份信息TID″与电子标签的身份信息TID是否相等,若是,则执行步骤19,否则,执行步骤20。
步骤19,电子标签所有权转移成功。
步骤20,终止协议。