发明名称 基于密钥阵列的RFID内部互认证安全协议
摘要 本发明涉及RFID系统,公开了一种基于密钥阵列的RFID内部互认证安全协议,该方法用于具有多服务器的RFID系统,其中的各RFID系统包括多个电子标签、阅读器和数据库,该方法包括以下步骤:预先为每一个服务器分配一个识别码,同时为服务器和标签建立唯一的认证密钥;在标签中存储所有服务器的识别码和密钥,每一对标签和阅读器分配一对唯一的共享密钥,当有阅读器阅读标签时,进行认证操作:标签首先检查其内存中是否包含此阅读器对应的服务器识别码;如果识别码匹配成功方能进行标签阅读;与现有技术相比,本发明更适用于安全要求高的RFID领域。
申请公布号 CN102594550A 申请公布日期 2012.07.18
申请号 CN201210054852.X 申请日期 2012.03.05
申请人 天津大学 发明人 白煜;轩秀巍;滕建辅
分类号 H04L9/08(2006.01)I;H04L29/06(2006.01)I;G06K19/07(2006.01)I 主分类号 H04L9/08(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 李素兰
主权项 1.一种基于密钥阵列的RFID内部互认证安全协议,该方法用于具有多服务器的RFID系统,其中的各RFID系统包括多个电子标签、阅读器和数据库,其特征在于,该方法包括以下步骤:预先为每一个服务器分配一个识别码,同时为服务器和标签建立唯一的认证密钥;在标签中存储所有服务器的识别码和密钥,每一对标签和阅读器分配一对唯一的共享密钥,当有阅读器阅读标签时,进行认证操作:标签首先检查其内存中是否包含此阅读器对应的服务器识别码;如果识别码匹配成功方能进行标签阅读;所述认证操作包括以下步骤:阅读器R<sub>i</sub>产生随机数R,用所有阅读器和标签共享的密钥k加密IDR<sub>i</sub>PR,然后将密钥E<sub>k</sub>(IDR<sub>i</sub>PR)发送给标签T<sub>j</sub>;标签T<sub>j</sub>收到E<sub>k</sub>(ID<sub>i</sub>PR)后,对它进行解密得到阅读器R<sub>i</sub>的标识符IDR<sub>i</sub>,利用IDR<sub>i</sub>找到当前标签T<sub>j</sub>和阅读器R<sub>i</sub>之间的共享密钥k<sub>ij</sub>:如果没有找到相应的共享密钥,则通信过程结束;如果找到相应的共享密钥,标签T<sub>j</sub>产生随机数r;计算<maths num="0001"><![CDATA[<math><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><msub><mi>IDT</mi><mi>j</mi></msub><mo>&CirclePlus;</mo><mi>r</mi><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mi>M</mi><mn>2</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDT</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>Pr</mi><mo>&CirclePlus;</mo><mi>R</mi><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>M</mi><mn>3</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDT</mi><mi>j</mi></msub><mi>PR</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>k</mi><mi>ij</mi></msub><mo>,</mo></mrow></math>]]></maths>同时将M<sub>1</sub>,M<sub>2</sub>,M<sub>3</sub>发送给阅读器R<sub>i</sub>;M<sub>1</sub>,M<sub>2</sub>,M<sub>3</sub>三个变量分别是对标签信息加密后的密文符号;阅读器R<sub>i</sub>收到标签的回应M<sub>1</sub>,M<sub>2</sub>,M<sub>3</sub>后,将此回应和IDR<sub>i</sub>、R一起发送到服务器;收到阅读器的消息后,服务器在内存中寻找满足<img file="FDA0000140646930000014.GIF" wi="576" he="52" />的IDT<sub>j</sub>,进而找到相应的当前标签T<sub>j</sub>和阅读器R<sub>i</sub>之间的共享密钥k<sub>ij</sub>和阅读器Ri和标签T<sub>j</sub>前一个通信阶段的密钥<img file="FDA0000140646930000015.GIF" wi="91" he="62" />然后,服务器计算<img file="FDA0000140646930000016.GIF" wi="411" he="59" />并且核对k′<sub>ij</sub>是否与服务器存储的k<sub>ij</sub>或<img file="FDA0000140646930000021.GIF" wi="62" he="60" />相等;如果不相等,表明发送来的信息不可靠,通信过程结束;如果有一个相等,判断哪一个值k<sub>ij</sub>或<img file="FDA0000140646930000022.GIF" wi="68" he="62" />与k<sub>ij</sub>相等,服务器计算<maths num="0004"><![CDATA[<math><mrow><msub><mi>M</mi><mn>4</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDR</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDT</mi><mi>j</mi></msub><mi>Pr</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><msub><mi>k</mi><mi>ij</mi></msub></mrow></math>]]></maths>或<maths num="0005"><![CDATA[<math><mrow><msub><mi>M</mi><mn>4</mn></msub><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDR</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&CirclePlus;</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>IDT</mi><mi>j</mi></msub><mi>Pr</mi><mo>)</mo></mrow><mo>&CirclePlus;</mo><msubsup><mi>k</mi><mi>ij</mi><mi>old</mi></msubsup><mo>;</mo></mrow></math>]]></maths>同时,服务器将密钥值<img file="FDA0000140646930000025.GIF" wi="68" he="62" />更新为k<sub>ij</sub>,将k<sub>ij</sub>更新为PRNG(k<sub>ij</sub>);然后,服务器将认证信息M<sub>4</sub>通过阅读器发送给T<sub>j</sub>;标签比较收到的M<sub>4</sub>是否与<img file="FDA0000140646930000026.GIF" wi="488" he="52" />相等,如果相等,证实阅读器R<sub>i</sub>是合法的,标签将密钥k<sub>ij</sub>更新为PRNG(k<sub>ij</sub>)。
地址 300072 天津市南开区卫津路92号