一种RFID标签所有权转移方法与流程

文档序号:12622163阅读:293来源:国知局
一种RFID标签所有权转移方法与流程

本发明涉及无线射频技术领域,更具体地说,涉及一种RFID标签所有权转移方法。



背景技术:

RFID(Radio Frequency Identification)即无线射频识别,是一种利用射频通信实现的非接触式自动识别技术。具有耐磨损、非接触及寿命长等优点,广泛应用于物流、身份识别、交通运输等各个领域。

一般来说,RFID系统由标签、读写器及后端数据库三部分组成。在RFID标签的生命周期中所有权会不断发生变化,所以在RFID标签所有权不断转移的过程中必须要满足一定的安全和隐私要求,而现有技术中用于实现RFID标签所有权转移的技术方案通常需要加入可信第三方,利用可信第三方实现RFID标签所有权转移过程中RFID标签新旧主人的隐私保护。但是,由于第三方的加入,增加了通信成本,且,在第三方监管不当的情况下容易造成信息泄露,安全性有待提高。

综上所述,现有技术中实现RFID标签所有权转移的技术方案存在通信成本较高且安全性较低的问题。



技术实现要素:

本发明的目的是提供一种RFID标签所有权转移方法,以解决现有技术中实现RFID标签所有权转移的技术方案存在的通信成本较高且安全性较低的问题。

为了实现上述目的,本发明提供如下技术方案:

一种RFID标签所有权转移方法,包括:

原读写器获取其与RFID标签之间的原共享密钥,并基于该原共享密钥及至少一个第一随机数计算生成第一验证数,将所述第一验证数发送至所述RFID标签;

所述RFID标签利用所述第一验证数对所述原读写器进行验证,并在验证通过后基于所述原共享密钥及所述第一随机数中至少一个第一随机数计算生成第二验证数,将所述第二验证数通过所述原读写器发送至原数据库;

所述原数据库利用所述第二验证数对所述RFID标签进行验证,并在验证通过后指示新数据库基于所述第一随机数中至少一个第一随机数及至少一个第二随机数计算生成新共享密钥及第三验证数,将其发送至所述RFID标签;

所述RFID标签利用所述新共享密钥及所述第三验证数对所述新数据库进行验证,并在验证通过后实现RFID标签所有权向新数据库的转移。

优选的,所述原读写器基于所述原共享密钥及至少一个第一随机数计算生成第一验证数,包括:

所述原读写器基于所述原共享密钥及多个第一随机数生成第一单校验数及第一合校验数,其中,所述第一单校验数与所述第一随机数一一对应,每个所述第一合校验数分别与至少两个指定第一随机数对应;

对应的,所述RFID标签利用所述第一验证数对所述原读写器进行验证,包括:

所述RFID标签利用所述原共享密钥及每个所述第一单校验数计算得到对应的每个第一随机数,并利用计算得到的第一随机数中的指定第一随机数计算得到第一合校验数,如果计算得到的第一合校验数与接收到的第一合校验数一致,则验证通过。

优选的,所述RFID标签基于所述原共享密钥及所述第一随机数中至少一个第一随机数计算生成第二验证数,包括:

所述RFID标签基于所述原共享密钥及所述指定第一随机数计算生成第二校验数;

对应的,所述原数据库利用所述第二验证数对所述RFID标签进行验证,包括:

所述原数据库基于所述原共享密钥及所述指定第一随机数计算生成第二验证数,如果计算得到的第二验证数与接收到的第二验证数一致,则验证通过。

优选的,所述新数据库基于至少一个第二随机数及所述第一随机数中至少一个第一随机数计算生成新共享密钥及第三验证数,包括:

所述新数据库基于所述指定随机数及第二随机数计算生成新共享密钥,基于所述指定随机数及第二随机数生成第三验证数X,并基于所述共享密钥及所述指定随机数生成第三验证数Y;

对应的,所述RFID标签利用所述新共享密钥及所述第三验证数对所述新数据库进行验证,包括:

所述RFID标签基于所述第三随机数X及所述指定随机数计算生成所述第二随机数,基于所述指定随机数及所述第二随机数生成所述新共享密钥,并基于所述新共享密钥及所述指定随机数生成第三验证数Y,如果计算得到的第三验证数Y与接收到的第三验证数Y一致,则验证通过。

优选的,所述原读写器计算生成第一单校验数,包括:

按照下列公式生成所述第一单校验数:

<mrow> <mi>A</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>1</mn> </mrow>

<mrow> <mi>B</mi> <mo>=</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>2</mn> </mrow>

<mrow> <mi>C</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>3</mn> </mrow>

其中,A、B、C均表示第一单校验数,r1、r2、r3均表示第一随机数,ti_L表示按照预设原则对所述原共享密钥进行划分后所述原共享密钥的左半部分,ti_R表示按照预设原则对所述原共享密钥进行划分后所述原共享密钥的右半部分,Rot(x1,x2)表示左循环移位计算,Cro(x1,x2)表示交叉位运算,表示异或运算;

所述原读写器及所述RFID标签计算生成第一合校验数,包括:

所述原读写器及所述RFID标签按照下列公式计算生成第一合校验数:

<mrow> <mi>D</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,D表示第一合校验数;

所述RFID标签计算得到每个第一随机数,包括:

所述RFID标签按照下列公式计算得到每个第一随机数:

<mrow> <mi>r</mi> <mn>1</mn> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>A</mi> </mrow>

<mrow> <mi>r</mi> <mn>2</mn> <mo>=</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>B</mi> </mrow>

<mrow> <mi>r</mi> <mn>3</mn> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> </mrow>

优选的,所述RFID标签及所述原数据库计算生成第二校验数,包括:

所述RFID标签及所述原数据库按照下列公式生成第二校验数:

<mrow> <mi>E</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,E表示第二校验数。

优选的,所述新数据库计算生成第三验证数X,包括:

所述新数据库按照下列公式计算生成第三验证数X:

<mrow> <mi>X</mi> <mo>=</mo> <mi>r</mi> <mn>4</mn> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,X表示第三验证数X,r4表示第二随机数,L表示具有相同长度的每个第一随机数及第二随机数的长度,x1>>x2表示右循环移位运算;

所述RFID标签计算生成第二随机数,包括:

所述RFID标签按照下列公式计算生成第二随机数:

<mrow> <mi>r</mi> <mn>4</mn> <mo>=</mo> <mi>X</mi> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

所述新数据库及所述RFID标签计算生成新共享密钥及第三验证数Y,包括:

所述新数据库及所述RFID标签按照下列公式计算生成新共享密钥及第三验证数Y:

ti'=MIXBITS(r3,r4)

<mrow> <mi>Y</mi> <mo>=</mo> <msup> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>&prime;</mo> </msup> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

ti'表示新共享密钥,Y表示第三验证数Y。

优选的,所述原数据库对所述RFID标签验证通过后,还包括:

随机数更新模块对所述第一随机数中除指定第一随机数之外的其他第一随机数进行更新。

优选的,原读写器获取其与RFID标签之间的原共享密钥之前,还包括:

所述原读写器向所述RFID标签发送所有权转移请求,并获取所述RFID标签返回的假名身份标识;

所述原读写器在原数据库中查找所述假名身份标识对应的值,并在查找成功后,获取所述原共享密钥。

优选的,所述RFID标签对所述新数据库验证通过后,还包括:

所述RFID标签将其所有权归属标志位由0设置为1,记录所述新共享密钥,并利用所述第二随机数及所述假名身份标识对应的值确定与所述新数据库对应的假名身份标识的值;

所述新数据库计算生成新共享密钥及第三验证数之后,还包括:

所述新数据库将所述原数据库中所述假名身份标识对应的值确定为旧假名身份标识,利用所述第二随机数及所述假名身份标识对应的值确定与所述新数据库对应的假名身份标识的值,并将原共享密钥确定为旧共享密钥,确定所述新共享密钥为当前共享密钥。

本发明提供的一种RFID标签所有权转移方法,包括:原读写器获取其与RFID标签之间的原共享密钥,并基于该原共享密钥及至少一个第一随机数计算生成第一验证数,将所述第一验证数发送至所述RFID标签;所述RFID标签利用所述第一验证数对所述原读写器进行验证,并在验证通过后基于所述原共享密钥及所述第一随机数中至少一个第一随机数计算生成第二验证数,将所述第二验证数通过所述原读写器发送至原数据库;所述原数据库利用所述第二验证数对所述RFID标签进行验证,并在验证通过后指示新数据库基于所述第一随机数中至少一个第一随机数及至少一个第二随机数计算生成新共享密钥及第三验证数,将其发送至所述RFID标签;所述RFID标签利用所述新共享密钥及所述第三验证数对所述新数据库进行验证,并在验证通过后实现RFID标签所有权向新数据库的转移。本申请公开的上述技术方案,首先原读写器及对应原数据库与RFID标签之间实现双向认证,并在认证通过后,RFID标签对新数据库进行认证,以在认证通过后实现其RFID所有权的转移。整个过程无需加入可信第三方,因此,不仅降低了通信成本,而且避免了由于第三方监管不当的情况下造成信息泄露的情况出现,大大提高了RFID标签所有权转移过程中的安全性。同时,本申请充分利用RFID标签与不同读写器端之间的共享密钥来实现验证,减少了信息引入与存储,降低了标签成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种RFID标签所有权转移方法的流程图;

图2为本发明实施例提供的一种RFID标签所有权转移方法中交叉位运算的示例图;

图3为本发明实施例提供的一种RFID标签所有权转移方法的实现过程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种RFID标签所有权转移方法的流程图,可以包括以下步骤:

S11:原读写器获取其与RFID标签之间的原共享密钥,并基于该原共享密钥及至少一个第一随机数计算生成第一验证数,将第一验证数发送至RFID标签。

需要说明的是,原共享密钥即为原读写器与RFID标签之间的共享密钥,原读写器基于该共享密钥及至少一个第一随机数计算生成第一验证数,其中,第一随机数的个数及生成第一验证数的具体计算方式可以根据实际需要进行设定;特别的是,本申请中可以利用原读写器端的线性反馈移位寄存器LFSR初始化得到第一随机数,由此,无需RFID标签为了随机数的设定而设置相关门电路,大大降低了标签成本。

S12:RFID标签利用第一验证数对原读写器进行验证,并在验证通过后基于原共享密钥及第一随机数中至少一个第一随机数计算生成第二验证数,将第二验证数通过原读写器发送至原数据库。

RFID标签利用第一验证数对原读写器进行验证,如果验证通过,说明第一验证数对应的读写器为具有RFID标签所有权的原读写器,否则,则说明第一验证数对应的读写器对RFID标签不具有所有权,此时,可以停止操作。当RFID标签对原读写器的验证通过后,可以基于第一随机数中至少一个第一随机数计算生成第二验证数,以供原读写器对应原数据库对其实现验证,而计算第二验证数的具体实现方式可以根据实际需要进行确定。

S13:原数据库利用第二验证数对RFID标签进行验证,并在验证通过后指示新数据库基于第一随机数中至少一个第一随机数及至少一个第二随机数计算生成新共享密钥及第三验证数,将其发送至RFID标签。

原数据库利用第二验证数对RFID标签进行验证,如果验证通过,说明第二验证数对应RFID标签为原数据库具有其所有权的RFID标签,否则,则说明原数据库并不具有第二验证数对应RFID标签的所有权,此时可以停止操作。当原数据库对RFID标签验证通过后,可以基于第一随机数中的至少一个第一随机数及至少一个第二随机数计算生成新共享密钥及第三验证数,其中,第二随机数的具体数量及计算新共享密钥、第三验证数的具体实施方式均可以根据实际需要进行确定,而新共享密钥即为新数据库与RFID之间的共享密钥。

另外需要说明的是,原数据库对RFID标签验证通过后,可以将新数据库需要计算新共享密钥及第三验证数时所需的第一随机数中至少一个第一随机数及RFID标签的身份识别信息发送至新数据库,以供新数据库存储上述信息后顺利实现新共享密钥及第三验证数的计算,以及顺利实现与RFID标签的通信等。

S14:RFID标签利用新共享密钥及第三验证数对新数据库进行验证,并在验证通过后实现RFID标签所有权向新数据库的转移。

RFID标签利用新共享密钥及第三验证数对新数据库进行验证,如果验证通过,则说明该新数据库为应具有RFID标签所有权的新数据库,否则,则说明该新数据库并不能够具有RFID标签所有权,此时可以停止操作。而RFID标签对新数据库通过验证后,可以通过对应操作将所有权转移至新数据库,从而实现RFID标签的所有权的转移。需要指出的是,在RFID标签的所有权转移完成后,其无法与原数据库及原读写器进行通信,且新数据库以及对应的新读写器均无法访问原数据库,而原数据库及原读写器也无法访问新数据库,以保证新旧数据库的数据安全性。

本申请公开的上述技术方案,首先原读写器及对应原数据库与RFID标签之间实现双向认证,并在认证通过后,RFID标签对新数据库进行认证,以在认证通过后实现其RFID所有权的转移。整个过程无需加入可信第三方,因此,不仅降低了通信成本,而且避免了由于第三方监管不当的情况下造成信息泄露的情况出现,大大提高了RFID标签所有权转移过程中的安全性。同时,本申请充分利用RFID标签与不同读写器端之间的共享密钥来实现验证,减少了信息引入与存储,降低了标签成本。

本发明实施例提供的一种RFID标签所有权转移方法,原读写器基于原共享密钥及至少一个第一随机数计算生成第一验证数,可以包括:

原读写器基于原共享密钥及多个第一随机数生成第一单校验数及第一合校验数,其中,第一单校验数与第一随机数一一对应,每个第一合校验数分别与至少两个指定第一随机数对应。

其中,第一单校验数与第一随机数一一对应,即利用一个随机数及对应原共享密钥计算得到对应的一个第一单校验数,由此,RFID标签利用接收到的第一单校验数及原共享密钥即可实现上述计算的逆计算,进而获取到每个第一随机数。而每个第一合校验数分别于至少两个指定第一随机数对应,即计算一个第一合校验数则需要利用第一随机数中至少两个指定第一随机数实现,当然,不同第一合校验数所利用的指定第一随机数可以相同,也可以不同。第一合校验数的数量可以根据实际需要进行确定,简单来说,可以理解为第一合校验数的数量越多,则验证有效性越高。

对应的,RFID标签利用第一验证数对原读写器进行验证,可以包括:

RFID标签利用原共享密钥及每个第一单校验数计算得到对应的每个第一随机数,并利用计算得到的第一随机数中的指定第一随机数计算得到第一合校验数,如果计算得到的第一合校验数与接收到的第一合校验数一致,则验证通过。

需要说明的是,计算得到的第一合校验数与接收到的第一合校验数一致是指计算得到的全部第一合校验数与接收到的对应的第一合校验数均相同,只要有一项不同,则验证未通过,从而,保证了对原读写器验证的有效性。

本发明实施例提供的一种RFID标签所有权转移方法,RFID标签基于原共享密钥及第一随机数中至少一个第一随机数计算生成第二验证数,可以包括:

RFID标签基于原共享密钥及指定第一随机数计算生成第二校验数。

其中,需要说明的是,RFID标签生成第二校验数所使用的指定第一随机数即为计算第一合校验数时所使用的指定第一随机数,具体来说,计算第二校验数所使用的指定第一随机数可以为计算第一合校验数时所使用的全部指定第一随机数,从而将第一随机数分为两类,一类为指定第一随机数,一类为非指定第一随机数。

对应的,原数据库利用第二验证数对RFID标签进行验证,可以包括:

原数据库基于原共享密钥及指定第一随机数计算生成第二验证数,如果计算得到的第二验证数与接收到的第二验证数一致,则验证通过。

原数据库对第二验证数的计算与RFID标签对第二验证数的计算原理一直,在此不再赘述。另外,第二验证数的数量也可以根据实际需要进行确定,也即生成的第二验证数可以是一个,也可以是多个,可以理解的是,第二验证数的数量越多,对应的验证有效性就越高;而当第二验证数的数量为多个时,计算得到的第二验证数与接收到的第二验证数一致是指计算得到的全部第二验证数与接收到的对应第二验证数均一致,如有一项不一致则验证未通过。另外,本发明说明书中设计的一致均可以是指相同。

本发明实施例提供的一种RFID标签所有权转移方法,新数据库基于至少一个第二随机数及第一随机数中至少一个第一随机数计算生成新共享密钥及第三验证数,可以包括:

新数据库基于指定随机数及第二随机数计算生成新共享密钥,基于指定随机数及第二随机数生成第三验证数X,并基于共享密钥及指定随机数生成第三验证数Y。

其中,第二随机数可以由新数据库随机生成,当然还可以根据实际需要进行其他设置,均在本发明的保护范围之内。另外,第二随机数的数量也可以根据实际需要进行确定。

对应的,RFID标签利用新共享密钥及第三验证数对新数据库进行验证,可以包括:

RFID标签基于第三随机数X及指定随机数计算生成第二随机数,基于指定随机数及第二随机数生成新共享密钥,并基于新共享密钥及指定随机数生成第三验证数Y,如果计算得到的第三验证数Y与接收到的第三验证数Y一致,则验证通过。

RFID标签利用生成第三随机数X的逆计算基于第三随机数X及制定随机数计算生成第二随机数,并以与新数据库生成新共享密钥同样的计算原理生成新共享密钥,进而以与新数据库生成第三验证数Y同样的计算原理生成第三验证数Y,以确定计算得到的第三验证数Y是否与接收到的第三验证数Y一致。其中,第三验证数Y的数量可以根据实际需要进行确定,而对第三验证数Y的一致性判断与上述对第二验证数的一致性判断原理一致,在此不再赘述。

以下以具体的实现方式对本发明公开的上述实施例进行说明,其中,原读写器计算生成第一单校验数,可以包括:

按照下列公式生成第一单校验数:

<mrow> <mi>A</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>1</mn> </mrow>

<mrow> <mi>B</mi> <mo>=</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>2</mn> </mrow>

<mrow> <mi>C</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>r</mi> <mn>3</mn> </mrow>

其中,A、B、C均表示第一单校验数,r1、r2、r3均表示第一随机数,ti_L表示按照预设原则对原共享密钥进行划分后原共享密钥的左半部分,ti_R表示按照预设原则对原共享密钥进行划分后原共享密钥的右半部分,Rot(x1,x2)表示左循环移位计算,Cro(x1,x2)表示交叉位运算,表示异或运算;其中,预设原则可以根据实际需要进行确定,由于原共享密钥通常为双数位的数据,因此,通常可以将原共享密钥平均分成左右两部分。

原读写器及RFID标签计算生成第一合校验数,可以包括:

原读写器及RFID标签按照下列公式计算生成第一合校验数:

<mrow> <mi>D</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,D表示第一合校验数;

RFID标签计算得到每个第一随机数,可以包括:

RFID标签按照下列公式计算得到每个第一随机数:

<mrow> <mi>r</mi> <mn>1</mn> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>A</mi> </mrow>

<mrow> <mi>r</mi> <mn>2</mn> <mo>=</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>B</mi> </mrow>

<mrow> <mi>r</mi> <mn>3</mn> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>L</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> </mrow>

RFID标签及原数据库计算生成第二校验数,可以包括:

RFID标签及原数据库按照下列公式生成第二校验数:

<mrow> <mi>E</mi> <mo>=</mo> <mi>R</mi> <mi>o</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>_</mo> <mi>R</mi> </mrow> </msub> <mo>,</mo> <mi>r</mi> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,E表示第二校验数。

新数据库计算生成第三验证数X,可以包括:

新数据库按照下列公式计算生成第三验证数X:

<mrow> <mi>X</mi> <mo>=</mo> <mi>r</mi> <mn>4</mn> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中,X表示第三验证数X,r4表示第二随机数,L表示具有相同长度的每个第一随机数及第二随机数的长度,x1>>x2表示右循环移位运算;

RFID标签计算生成第二随机数,可以包括:

RFID标签按照下列公式计算生成第二随机数:

<mrow> <mi>r</mi> <mn>4</mn> <mo>=</mo> <mi>X</mi> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

新数据库及RFID标签计算生成新共享密钥及第三验证数Y,可以包括:

新数据库及RFID标签按照下列公式计算生成新共享密钥及第三验证数Y:

ti'=MIXBITS(r3,r4)

<mrow> <mi>Y</mi> <mo>=</mo> <msup> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>&prime;</mo> </msup> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mi>r</mi> <mn>3</mn> <mo>&gt;</mo> <mo>&gt;</mo> <mi>L</mi> <mo>/</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

ti'表示新共享密钥,Y表示第三验证数Y。

可见,在本发明公开的上述具体实施方式中,r3即为指定第一随机数,对应的,r1和r2即为非指定第一随机数。且所涉及的全部随机数的长度相同。

由此,本申请中采用交叉位运算、异或运算及循环移位运算相结合的方式实现对传输的信息的加密,减少了RFID标签与原、新读写器的运算量,达到超轻量级别,实现快速认证。

当然,本申请中可以利用交叉位运算、异或运算及循环移位运算等实现其他方式的计算,本申请公开的上述公式仅仅为其中一种具体方式,其他根据实际需要利用上述运算实现的计算方式均在本发明的保护范围之内。

具体来说,左循环移位运算表示为Rot(x1,x2)时,表示将x1循环左移wt(x2)位,wt(x2)为x2的汉明重量;对应的,右循环移位运算表示x1>>x2时,表示将x1循环右移wt(x2)位,wt(x2)为x2的汉明重量。而当交叉位运算表示为Cro(x1,x2)时,对应示例过程如图2所示,设x1=10011101,x2=11000111,则Cro(x1,x2)=11001110。

本发明实施例提供的一种RFID标签所有权转移方法,原数据库对RFID标签验证通过后,还可以包括:

随机数更新模块对第一随机数中除指定第一随机数之外的其他第一随机数进行更新。

其中,随机数更新模块对第一随机数中除指定第一随机数之外的其他第一随机数,即非指定第一随机数进行更新具体可以是利用MIXBITS函数实现的,从而保证非指定随机数新鲜性,达到抵抗去同步化攻击、重放攻击的目的。以本发明实施例提供的上述技术方案为例进行说明,对非指定随机数r1和r2的更新可以通过下列公式实现:

r1=MIXBITS(r1,ti_L)

r2=MIXBITS(r2,ti_L)

由此,当攻击者企图利用重放消息A、B、C、D、E,通过认证进而实现RFID标签的所有权转移时,其中重放的消息必是上一轮或是前几轮窃听到的旧信息,但是在本方案中,通过使用MIXBITS函数对非指定随机数的动态更新,保证了数据的新鲜性,也即是达到一次一密的效果,当攻击者重放消息时因为对应随机数已更新改变,所以旧信息将失效,验证将不会通过,因此导致攻击失败;从而进一步保证了RFID标签所有权转移的高安全特性。

本发明实施例提供的一种RFID标签所有权转移方法,原读写器获取其与RFID标签之间的原共享密钥之前,还可以包括:

原读写器向RFID标签发送所有权转移请求,并获取RFID标签返回的假名身份标识;

原读写器在原数据库中查找假名身份标识对应的值,并在查找成功后,获取原共享密钥。

在原读写器获取原共享密钥之前,标签保存有数据(IDS,ti,Status位),其中,IDS表示当前RFID标签的假名身份标识,ti表示RFID标签与标签所有者之间的共享密钥,Status为RFID标签当前所有权归属标志位,长度可以为1Bit,Status=0,表示RFID标签属于原数据库;Status=1,表示RFID标签属于新数据库。对应的,原数据库中保存有数据{(IDS,ti),(IDS_old,ui),r1,r2}。其中,r1、r2即为非指定第一随机数,IDS_old表示RFID标签的旧假名身份标识,ui表示前一轮RFID标签与标签所有者之间的共享密钥。当原读写器向RFID标签发出所有权转移请求时,由于RFID标签当前所有权归原数据库所有,故Status=0,原读写器在收到RFID标签的假名身份表示后,在原数据库中查找IDS=IDS_new或者IDS=IDS_old,并在查找成功即成功查找到假名身份标识对应的值后获取对应的原共享密钥。其中,IDS_new表示RFID标签新假名身份标识。

对应的,RFID标签对新数据库验证通过后,还可以包括:

RFID标签将其所有权归属标志位由0设置为1,记录新共享密钥,并利用第二随机数及假名身份标识对应的值确定与新数据库对应的假名身份标识的值;

新数据库计算生成新共享密钥及第三验证数之后,还可以包括:

新数据库将原数据库中假名身份标识对应的值确定为旧假名身份标识,利用第二随机数及假名身份标识对应的值确定与新数据库对应的假名身份标识的值,并将原共享密钥确定为旧共享密钥,确定新共享密钥为当前共享密钥。

具体来说,新数据库在接收到原数据库发送的对应第一随机数及RFID标签的身份识别信息后,即可对相关数据进行更新,可以包括更新数据:IDS_old=ID,ui=ti,ti=ti';其中,r4即为第二随机数。对应的,新数据库接收到的RFID标签的身份识别信息即可以包括上述信息,即IDS、ti等。

而RFID标签所需实现的更新数据可以包括:当然,上述数据的更新方式还可以根据实际需要进行其他设定,在此不再赘述。

本申请公开的上述技术方案,利用RFID标签端的Status标志位标识标签当前所有权的归属,由此,当攻击者企图以多次重放消息E的方式破坏系统时,Status标志位不可能出现1到0的情况,并且标志位Status的值改变只能通过RFID标签端和对应读写器利用共享密钥进行一系列正确的认证之后才能发生改变,攻击者根本无法改变其值,因此能够抵抗拒绝服务攻击。从而进一步保证了RFID标签所有权转移的高安全特性。

最后需要说明的是,基于本申请公开的上述实施例,即第一随机数包括r1、r2、r3,第二随机数包括r4时,根据本申请公开的上述技术方案实现RFID标签所有权转移的过程可以如图3所示,其中,Di表示原数据库,Dj表示新数据库,R表示原读写器,T表示RFID标签,标签即指RFID标签,其他字母,如A、B、C、D等与上述实施例中定义一致,在此不再重复说明。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1