主权项 |
一种基于循环冗余校验码运算的无源射频识别安全认证方法,该方法包括:1)系统标签对读写器的单向认证;2)系统读写器对标签的单向认证;3)系统读写器与标签的双向认证;其特征在于,所述系统标签对读写器的单向认证流程如下:1)读写器发送安全参数获取命令Get_SecPara;2)标签发送安全参数SecPara;3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全参数中的安全功能,发送请求认证命令Req_Auth;4)标签产生一个随机数N<sub>t</sub>发送给读写器;5)读写器用AK计算CN<sub>t</sub>=CRC(N<sub>t</sub>║AK),发送单向认证命令Auth(CN<sub>t</sub>),其中║表示比特串联,CRC(N<sub>t</sub>║AK)为对N<sub>t</sub>║AK进行循环冗余检验编码;6)标签用AK计算CN<sub>t</sub>'=CRC(N<sub>t</sub>║AK),比较CN<sub>t</sub>'和CN<sub>t</sub>,如果相等,标签认为读写器通过认证,标签返回操作状态State;否则标签认为读写器未通过认证,返回操作状态State;所述系统读写器对标签的单向认证流程如下:1)读写器发送安全参数获取命令Get_SecPara;2)标签发送安全参数SecPara;3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全参数中的安全功能,产生一个随机数N<sub>r</sub>,发送取得认证命令Get_Auth(N<sub>r</sub>);4)标签用AK计算CN<sub>r</sub>=CRC(N<sub>r</sub>║AK)发送给读写器;5)读写器用AK计算CN<sub>r</sub>'=CRC(N<sub>r</sub>║AK),比较CN<sub>r</sub>'和CN<sub>r</sub>,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证;所述系统读写器与标签的双向认证流程如下:1)读写器发送安全参数获取命令Get_SecPara;2)标签发送安全参数SecPara;3)读写器用根密钥RK和物品唯一编码UAC生成认证密钥AK,根据安全参数中的安全功能,发送请求认证命令Req_Auth;4)标签产生一个随机数N<sub>t</sub>发送给读写器;5)读写器用AK计算CN<sub>t</sub>=CRC(N<sub>t</sub>║AK),然后产生一个随机数N<sub>r</sub>,发送双向认证命令Mul_Auth(CN<sub>t</sub>,N<sub>r</sub>);6)标签用AK计算CN<sub>t</sub>'=CRC(N<sub>t</sub>║AK),比较CN<sub>t</sub>'和CN<sub>t</sub>,如果相等,标签认为读写器通过认证;否则标签认为读写器未通过认证,如果认证通过,标签用AK计算CN<sub>r</sub>=CRC(RN<sub>r</sub>║AK)发送给读写器;7)读写器用AK计算CN<sub>r</sub>'=CRC(N<sub>r</sub>║AK),比较CN<sub>r</sub>'和CN<sub>r</sub>,如果相等,读写器认为标签通过认证;否则读写器认为标签未通过认证。 |