一种基于交叉位运算和循环校验函数的RFID双向认证方法与流程

文档序号:12068172阅读:来源:国知局

技术特征:

1.一种基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,包括下述步骤:

(1)读写器向标签发送认证请求命令;

(2)标签向读写器发送TID作为响应;

(3)读写器验证标签的真伪,再计算A和B的值,并将A和B的值传给标签,其中

<mrow> <mi>B</mi> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>I</mi> <mi>D</mi> <mo>,</mo> <mi>R</mi> <mn>1</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>K</mi> <mn>2</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>K</mi> <mn>2</mn> <mo>,</mo> <mi>R</mi> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

(4)标签先通过计算得到R1,R1表示读写器产生的一个随机数,再通过B来验证读写器的真伪,接着再计算D的值,最后将D的值传给读写器;

(5)读写器再次验证标签的真伪,再计算E和F的值,并将E和F的值传给标签,同时读写器更新密钥,其中

<mrow> <mi>F</mi> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>R</mi> <mn>1</mn> <mo>,</mo> <mi>K</mi> <mn>2</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>R</mi> <mn>2</mn> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>R</mi> <mn>1</mn> <mo>,</mo> <mi>R</mi> <mn>2</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

(6)标签先通过计算得到R2,R2表示读写器产生的另一个随机数,通过F再次验证读写器的真伪,最后标签根据接收到的消息更新密钥。

2.根据权利要求1所述基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,步骤(1)中,首先读写器向标签发送一个“Hello”信号,并发起认证请求。

3.根据权利要求2所述基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,步骤(2)中,标签在收到读写器发送来的认证请求之后,将自身存放的TID作为响应,发送给读写器。

4.根据权利要求3所述基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,读写器在收到标签发送来的TID之后,开始查询存放的信息中是否存在TID,若不存在,说明标签是伪造的,认证立刻停止;若存在,读写器接着产生一个长度为L位的随机数R1,然后用与之相对应的ID、K1来计算A的值,用K1、K2、ID、R1来计算B的值,最后将A和B的值都传给标签。

5.根据权利要求4所述的利用交叉位运算和循环校验函数来实现RFID双向认证的方法,其特征在于,标签在收到读写器传来的A和B之后,标签首先用自身存放的ID、K1来计算从而可以得到随机数R1,然后用计算出来的R1,以及自身存放的K1、K2、ID来计算B`,并将B`与B进行对比,若不相等,说明读写器是伪造的,认证立刻停止;若相等,说明读写器合法,接着标签用计算出来的R1,以及自身存放的K1、K2、ID来计算D的值,最后将D的值传给读写器,其中:

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>B</mi> <mo>`</mo> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>I</mi> <mi>D</mi> <mo>,</mo> <mi>A</mi> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>I</mi> <mi>D</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>K</mi> <mn>2</mn> </mrow> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mi>K</mi> <mn>2</mn> <mo>,</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>A</mi> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>I</mi> <mi>D</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> <mo>)</mo> <mo>;</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>

<mrow> <mi>D</mi> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>R</mi> <mn>1</mn> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>I</mi> <mi>D</mi> <mo>&CirclePlus;</mo> <mi>K</mi> <mn>1</mn> <mo>&CirclePlus;</mo> <mi>K</mi> <mn>2</mn> <mo>&CirclePlus;</mo> <mi>R</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

6.根据权利要求5所述的基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,读写器在收到标签发送来的D之后,读写器首先用自身产生的随机数R1以及自身存放的K1、K2、ID来计算D`,并将D`与D进行对比,若不相等,说明标签是伪造的,认证立刻停止;若相等,说明标签合法,读写器接着产生一个长度为L位的随机数R2,然后用自身存放的K1、K2来计算E的值,用K1、K2、R1、R2来计算F的值,并将E和F的值都传给标签,最后读写器更新密钥,其中,

<mrow> <mi>D</mi> <mo>`</mo> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mrow> <mi>R</mi> <mn>1</mn> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> <mo>&CirclePlus;</mo> <mi>I</mi> <mi>D</mi> <mo>&CirclePlus;</mo> <mi>K</mi> <mn>1</mn> <mo>&CirclePlus;</mo> <mi>K</mi> <mn>2</mn> <mo>&CirclePlus;</mo> <mi>R</mi> <mn>1</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

7.根据权利要求6所述基于交叉位运算和循环校验函数的RFID双向认证方法,其特征在于,标签在收到读写器传来的E和F之后,标签首先用自身存放的K2、K1来计算从而可以得到随机数R2,然后用计算出来的R2、R1,以及自身存放的K1、K2来计算F`,并将F`与F进行对比,若不相等,说明读写器是伪造的,认证立刻停止;若相等,说明读写器合法,然后标签开始更新自身的密钥,其中,

<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>F</mi> <mo>`</mo> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mo>(</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>A</mi> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>I</mi> <mi>D</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mi>K</mi> <mn>2</mn> </mrow> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mo>(</mo> <mi>E</mi> <mo>&CirclePlus;</mo> <mrow> <mo>(</mo> <mrow> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mrow> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>2</mn> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>R</mi> <mi>A</mi> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>1</mn> <mo>,</mo> <mi>I</mi> <mi>D</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>,</mo> <mi>E</mi> <mo>&CirclePlus;</mo> <mi>C</mi> <mi>R</mi> <mi>C</mi> <mo>(</mo> <mrow> <mi>C</mi> <mi>r</mi> <mi>o</mi> <mrow> <mo>(</mo> <mrow> <mi>K</mi> <mn>2</mn> <mo>,</mo> <mi>K</mi> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>

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