一种射频标签认证的方法、系统及装置转让专利

申请号 : CN201010527553.4

文献号 : CN101980241B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张振宇

申请人 : 北京握奇数据系统有限公司

摘要 :

本发明公开了一种射频标签认证的方法,包括:射频标签接收阅读器发送的询问请求以及阅读器生成的第一随机数;射频标签根据接收的第一随机数,对生成的第二随机数,以及射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器;射频标签接收所述阅读器返回的第二密钥,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的;射频标签利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过。

权利要求 :

1.一种射频标签认证的方法,其特征在于,包括:

射频标签接收阅读器发送的询问请求以及阅读器生成的第一随机数;

所述射频标签根据接收的所述第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器;

所述射频标签接收所述阅读器返回的第二密钥,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用由所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的;

所述射频标签利用由所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过。

2.如权利要求1所述的方法,其特征在于,所述生成第一密钥包括:

根据所述第一随机数或第二随机数的奇偶性,对所述当前标识进行加密,生成第一标识;

将所述第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将所述第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项。

3.如权利要求2所述的方法,其特征在于,所述生成第一标识包括:

当所述第一随机数为奇数时,将所述第一随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,以及将所述第二随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,获得第一标识;

当所述第一随机数为偶数时,将所述第一随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,以及将所述第二随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,获得第一标识。

4.如权利要求2所述的方法,其特征在于,所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识包括:将所述第一随机数与所述第一密钥的第二子项进行逻辑运算,获得第二随机数;

将获得的第二随机数与所述第一密钥的第一子项进行逻辑运算,获得第一标识;

根据所述第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,当有与所述第一标识相等的第二标识时,对所述第一密钥认证通过,获取与该第二标识对应的存储标识,或者,根据所述第一随机数或第二随机数的奇偶性,对所述第一标识解码,获得第三标识,当有与所述第三标识相等的存储标识时,对所述第一密钥认证通过,获取与所述第三标识相等的存储标识。

5.如权利要求1所述的方法,其特征在于,所述生成第三密钥包括:

将所述第一随机数和第二随机数进行串接,生成第三随机数;

将所述第三随机数与所述当前标识进行逻辑运算,生成第三密钥。

6.如权利要求1所述的方法,其特征在于,所述阅读器获得第二随机数以及对应的存储标识之后,还包括:将阅读器生成的第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并将所述存储标识更新为所述第一更新存储标识;

利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密,生成第二密钥;

将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据;

向所述射频标签发送运算指令、所述指令数据以及所述第二密钥。

7.如权利要求6所述的方法,其特征在于,还包括:

所述射频标签接收到所述运算指令后,将所述第二随机数与接收的指令数据进行逻辑运算,获得所述阅读器生成的第四随机数;

将所述射频标签的当前标识与所述第四随机数进行逻辑运算,获得第一更新标识;

利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新标识进行加密,生成第三密钥;

当所述第三密钥与接收的第二密钥相等时,认证通过,并将所述当前标识更新为所述第一更新标识。

8.如权利要求1所述的方法,其特征在于,当所述射频标签和阅读器中保存了标识保护密钥时,所述射频标签生成第一密钥之后,还包括:用保存的标识保护密钥对所述第一密钥进行加密,生成第一更新密钥,并发送给阅读器。

9.如权利要求8所述的方法,其特征在于,所述阅读器对所述第一密钥认证之前,还包括:用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥。

10.如权利要求8所述的方法,其特征在于,所述阅读器获得第二随机数以及对应的存储标识之后,还包括:根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将所述存储标识更新为第二更新存储标识,并保存更新前的所述存储标识以及更新后的所述第二更新存储标识;

利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥;

将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据;

根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密,生成第二更新密钥,并向所述射频标签发送运算指令和所述第二更新密钥。

11.如权利要求10所述的方法,其特征在于,还包括:

所述射频标签接收到所述运算指令后,根据保存的标识保护密钥对所述第二更新密钥进行解码,获得第二密钥,以及指令数据;

根据第二随机数对接收的指令数据进行解码,获得第四随机数;

利用保存的标识保护密钥和获得的第四随机数对所述射频标签的当前标识进行加密,获得第二更新标识;

利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新标识进行加密,生成第三密钥;

当所述第三密钥与获得的第二密钥相等时,认证通过,并将所述当前标识更新为第二更新标识,保存更新前的所述当前标识和更新后的第二更新标识。

12.如权利要求1、6、或8所述的任一方法,其特征在于,所述生成第一密钥之前,还包括:所述阅读器对发送的询问请求以及第一随机数,进行完整性校验;

所述射频标签对接收的询问请求以及第一随机数,进行完整性校验。

13.如权利要求1、6、或8所述的任一方法,其特征在于,还包括:

所述阅读器对返回的第二密钥进行完整性校验;

所述射频标签对生成的第三密钥进行完整性校验。

14.一种射频标签认证的系统,其特征在于,包括:

射频标签,用于接收阅读器发送的询问请求以及阅读器生成的第一随机数,根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器,并接收到所述阅读器返回的第二密钥后,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过;

阅读器,用于生成第一随机数,向所述射频标签发送询问请求以及所述第一随机数,接收所述射频标签发送的第一密钥后,对所述第一密钥进行认证,认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥,将所述第二密钥发送给所述射频标签。

15.如权利要求14所述的系统,其特征在于,包括:

所述射频标签,具体用于根据所述第一随机数或第二随机数的奇偶性,对所述当前标识进行加密,生成第一标识,将所述第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将所述第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项;

所述阅读器,具体用于将所述第一随机数与所述第一密钥的第二子项进行逻辑运算,获得第二随机数,将获得的第二随机数与所述第一密钥的第一子项进行逻辑运算,获得第一标识,根据所述第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,当有与所述第一标识相等的第二标识时,对所述第一密钥认证通过,获取与该第二标识对应的存储标识,或者,根据所述第一随机数或第二随机数的奇偶性,对所述第一标识解码,获得第三标识,当有与所述第三标识相等的存储标识时,对所述第一密钥认证通过,获取与所述第三标识相等的存储标识。

16.如权利要求15所述的系统,其特征在于,包括:

所述射频标签,具体用于当所述第一随机数为奇数时,将所述第一随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,以及将所述第二随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,获得第一标识;当所述第一随机数为偶数时,将所述第一随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,以及将所述第二随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,获得第一标识。

17.如权利要求14所述的系统,其特征在于,包括:

所述射频标签,具体用于将所述第一随机数和第二随机数进行串接,生成第三随机数,将所述第三随机数与所述当前标识进行逻辑运算,生成第三密钥。

18.如权利要求14所述的系统,其特征在于,包括:

所述阅读器,还用于生成第四随机数,并将所述第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并将所述存储标识更新为所述第一更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,向所述射频标签发送运算指令、所述指令数据以及所述第二密钥;

所述射频标签,还用于接收到所述运算指令后,将所述第二随机数与接收的指令数据进行逻辑运算,获得所述阅读器生成的第四随机数,将所述射频标签的当前标识与所述第四随机数进行逻辑运算,获得第一更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,认证通过,并将所述当前标识更新为所述第一更新标识。

19.如权利要求14所述的系统,其特征在于,包括:

所述射频标签,还用于用保存的标识保护密钥对所述第一密钥进行加密,生成第一更新密钥,并发送给阅读器;

所述阅读器,还用于用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥。

20.如权利要求19所述的系统,其特征在于,包括:

所述阅读器,具体用于根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将所述存储标识更新为第二更新存储标识,并保存更新前的所述存储标识以及更新后的所述第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密,生成第二更新密钥,并向所述射频标签发送运算指令和所述第二更新密钥;

所述射频标签,具体用于接收到所述运算指令后,根据保存的标识保护密钥对所述第二更新密钥进行解码,获得第二密钥,以及指令数据,根据第二随机数对接收的指令数据进行解码,获得第四随机数,利用保存的标识保护密钥和获得的第四随机数对所述射频标签的当前标识进行加密,获得第二更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新标识进行加密,生成第三密钥,当所述第三密钥与获得的第二密钥相等时,认证通过,并将所述当前标识更新为第二更新标识,保存更新前的所述当前标识和更新后的第二更新标识。

21.如权利要求14、18、19所述的任一系统,其特征在于,包括:

所述阅读器,还用于对发送的询问请求以及第一随机数,进行完整性校验;

所述射频标签,还用于对接收的询问请求以及第一随机数,进行完整性校验。

22.如权利要求14、18、19所述的任一系统,其特征在于,包括:

所述阅读器,还用于对返回的第二密钥进行完整性校验;

所述射频标签,还用于对生成的第三密钥进行完整性校验。

23.一种射频标签,其特征在于,包括:

接收单元,用于接收阅读器发送的询问请求以及阅读器生成的第一随机数,并接收所述阅读器返回的第二密钥;

生成单元,用于根据接收的第一随机数,对生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥;

发送单元,用于将所述第一密钥发送给所述阅读器;

认证单元,用于当接收到所述阅读器返回的第二密钥时,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的。

24.如权利要求23所述的射频标签,其特征在于,所述生成单元包括:

加密子单元,用于根据所述第一随机数或第二随机数的奇偶性,对所述当前标识进行加密,生成第一标识;

生成子单元,用于将所述第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将所述第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项。

25.如权利要求24所述的射频标签,其特征在于,

所述加密子单元,具体用于当所述第一随机数为奇数时,将所述第一随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,以及将所述第二随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,获得第一标识,或者,当所述第一随机数为偶数时,将所述第一随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,以及将所述第二随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,获得第一标识。

26.如权利要求23所述的射频标签,其特征在于,所述认证单元包括:

串接子单元,用于将所述第一随机数和第二随机数进行串接,生成第三随机数;

密钥子单元,用于将所述第三随机数与所述当前标识进行逻辑运算,生成第三密钥。

27.如权利要求23所述的射频标签,其特征在于,

所述接收单元,还用于接收阅读器发送的运算指令、指令数据以及第二密钥,其中,所述指令数据是所述阅读器将生成的第四随机数与获得的第二随机数进行逻辑运算后生成的,所述第二密钥是所述阅读器将生成的第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密后生成的;

所述认证单元,还用于收到所述运算指令后,将所述第二随机数与接收的指令数据进行逻辑运算,获得所述阅读器生成的第四随机数,将所述射频标签的当前标识与所述第四随机数进行逻辑运算,获得第一更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,认证通过,并将所述当前标识更新为所述第一更新标识。

28.如权利要求23所述的射频标签,其特征在于,

所述生成单元,还用于用保存的标识保护密钥对所述第一密钥进行加密,生成第一更新密钥;

所述发送单元,还用于将所述第一更新密钥发送给阅读器;

所述接收单元,还用于接收阅读器发送的运算指令和第二更新密钥,其中,所述第二更新密钥是阅读器根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,并根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密后生成的;

所述认证单元,还用于接收到所述运算指令后,根据保存的标识保护密钥对所述第二更新密钥进行解码,获得第二密钥,以及指令数据,根据第二随机数对接收的指令数据进行解码,获得第四随机数,利用保存的标识保护密钥和获得的第四随机数对所述射频标签的当前标识进行加密,获得第二更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新标识进行加密,生成第三密钥,当所述第三密钥与获得的第二密钥相等时,认证通过,并将所述当前标识更新为第二更新标识,保存更新前的所述当前标识和更新后的第二更新标识。

29.如权利要求23、27、28所述的任一射频标签,其特征在于,还包括:完整性校验单元,用于对接收的询问请求以及第一随机数,进行完整性校验,以及对生成的第三密钥进行完整性校验;或者,用于对接收的询问请求以及第一随机数,进行完整性校验;或者,用于对生成的第三密钥进行完整性校验。

30.一种阅读器,其特征在于,包括:

发送单元,用于向射频标签发送询问请求以及生成的第一随机数,并向所述射频标签发送第二密钥;

接收单元,用于接收所述射频标签发送的第一密钥,其中,所述第一密钥是所述射频标签根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密后生成的;

生成单元,用于对所述第一密钥认证,并认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥。

31.如权利要求30所述的阅读器,其特征在于,所述生成单元包括:

第一获取子单元,用于将所述第一随机数与所述第一密钥的第二子项进行逻辑运算,获得第二随机数,将获得的第二随机数与所述第一密钥的第一子项进行逻辑运算,获得第一标识;

第二获取子单元,用于根据所述第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,当有与所述第一标识相等的第二标识时,对所述第一密钥认证通过,获取与该第二标识对应的存储标识,或者,根据所述第一随机数或第二随机数的奇偶性,对所述第一标识解码,获得第三标识,当有与所述第三标识相等的存储标识时,对所述第一密钥认证通过,获取与所述第三标识相等的存储标识。

32.如权利要求30所述的阅读器,其特征在于,

所述生成单元,还用于获得对应的存储标识和第二随机数之后,将生成的第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并将所述存储标识更新为所述第一更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据;

所述发送单元,还用于向所述射频标签发送运算指令、所述指令数据以及所述第二密钥。

33.如权利要求30所述的阅读器,其特征在于,

所述接收单元,还用于接收射频标签发送的第一更新密钥,其中,所述第一更新密钥是所述射频标签用保存的标识保护密钥对所述第一密钥进行加密后生成的;

所述生成单元,还用于用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥,并对所述第一密钥认证通过,获得对应的存储标识和第二随机数之后,根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将所述存储标识更新为第二更新存储标识,并保存更新前的所述存储标识以及更新后的所述第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密,生成第二更新密钥;

所述发送单元,用于向所述射频标签发送运算指令和所述第二更新密钥。

34.如权利要求30、32、33所述的任一阅读器,其特征在于,还包括:完整性校验单元,用于对发送的询问请求以及第一随机数,进行完整性校验,以及对返回的第二密钥进行完整性校验;或者,用于对发送的询问请求以及第一随机数,进行完整性校验;或者,用于对返回的第二密钥进行完整性校验。

说明书 :

一种射频标签认证的方法、系统及装置

技术领域

[0001] 本发明涉及信息安全技术领域,特别涉及一种射频标签认证的方法、系统及装置。

背景技术

[0002] 无线射频识别(Radio Frequency Identification,RFID)技术是从上世纪六、七十年代兴起的一项非接触式自动识别技术。由于RFID技术具有多目标识别和非接触识别等特点,目前已广泛应用于制造业、商业、军事、日常生活等领域,并显示出巨大的发展潜力与应用空间。
[0003] RFID系统一般由三大部分构成:标签、阅读器以及数据库。RFID系统中,数据库可以是运行于任意硬件平台的数据库系统,其计算和存储能力强大,它保存所有标签的信息。阅读器是一个带有天线的无线发射与接收设备,它的处理能力强,存储空间比较大。标签是带有天线的微型电路,通常没有微处理器,仅由数千个逻辑电路组成。当然,阅读器和数据库可以一体化。即RFID系统也可以由带有数据库的阅读器和标签组成。
[0004] 虽然RFID技术有着广泛的应用前景,但是RFID通信系统缺乏有效的安全机制,已经成为制约其大规模部署和运用的重要因素。RFID系统中最主要的安全问题是保密性。没有安全机制的标签会向邻近的阅读器泄漏标签内容和敏感信息。一旦攻击者获得标签标识ID,也就获得了目标对象的数据信息。由于缺乏有效的安全保护机制,在RFID系统应用过程中,攻击者可以监听数据通信、交易分析,并实施业务欺骗或业务抵赖。如果没有有效的访问控制机制,未授权的阅读器可以随时访问附近的标签从而获得机密数据;黑客可以使用软或硬件等手段读取、篡改甚至删除标签上的信息等。
[0005] RFID系统中另一个安全问题是可跟踪性。在物流领域,不仅要防止商业间谍窃取标签内货物的信息,也要防止他们通过跟踪标签来获得货物的流向,以及通过对标签进行计数来估计货物的数量。
[0006] 通常情况,阅读器和数据库之间的通信信道是安全的,而阅读器与标签之间的通信信道是不安全的。由于无线射频识别系统的阅读器与标签之间是无线通信,系统没有点对点的安全信道,而且标签的低成本要求,以及标签的计算能力和存储空间有限,使得现有成熟的加密机制无法使用,所以RFID系统的安全防护能力极其薄弱。如何在标签计算速度、通信能力和存储空间非常有限的情况下,设计较好的安全机制,提供安全性和隐私性保护,防止各种恶意攻击,为RFID系统创造一个相对安全的工作环境,关系到RFID系统能否真正走向实用。
[0007] 目前,RFID系统也采用了一些安全认证机制,例如:基于随机化哈希锁(Hash-Lock)协议的认证机制,参见图1,该认证机制的具体执行过程如下:
[0008] 步骤101:阅读器向标签发送认证请求(Query);
[0009] 步骤102:标签生成一个随机数R,并将该随机数R与标签标识Idk进行哈希计算,获得密钥H(IDk||R)。标签将随机数R,以及密钥发送给阅读器,即发送(R,H(IDk||R))给阅读器;
[0010] 步骤103:阅读器向数据库发出获取所有标签标识的请求。
[0011] 步骤104:数据库将自己数据库中的所有标签标识(ID1,ID2,...,IDs)发送给阅读器;
[0012] 步骤105:阅读器检查是否有某个IDj,其与随机数R哈希计算的结果H(IDj||R)与密钥(IDk||R)相等;如果有,则认证通过,并将该标识IDj发送给标签,否则,停止认证;
[0013] 步骤106:标签验证IDj与IDk是否相同,如相同,则认证通过,如不同,则停止认证。
[0014] 在上述随机化Hash-Lock协议的认证过程中,阅读器认证通过后的标签标识IDj仍以明文的形式通过阅读器与标签之间的不安全信道传送,因此攻击者可以对标签进行有效的追踪。同时,一旦获得了IDj,则有可能获得了标签的标识IDk,这样,攻击者就可以对标签进行假冒。因此该协议也无法抵抗重传攻击。另外,标签是一个带有天线的无线发射与接收设备,标签通常没有微处理器,仅由数千个逻辑电路组成。它的处理能力、存储空间都比较小,致使随机化Hash-Lock协议中的Hash函数是很难在标签中实现的。
[0015] 可见,现有的RFID系统采用了的安全认证机制还是存在一些隐患,其安全级别不高。

发明内容

[0016] 本发明实施例提供一种射频标签认证的方法,用以提高RFID系统安全认证机制的安全级别。
[0017] 本发明实施例提供一种射频标签认证的方法,包括:
[0018] 射频标签接收阅读器发送的询问请求以及阅读器生成的第一随机数;
[0019] 所述射频标签根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器;
[0020] 所述射频标签接收所述阅读器返回的第二密钥,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的;
[0021] 所述射频标签利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过。
[0022] 本发明实施例提供一种射频认证的系统,包括:
[0023] 射频标签,用于接收阅读器发送的询问请求以及阅读器生成的第一随机数,根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器,并接收到所述阅读器返回的第二密钥后,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过;
[0024] 阅读器,用于生成第一随机数,向所述射频标签发送询问请求以及所述第一随机数,接收所述射频标签发送的第一密钥后,对所述第一密钥进行认证,认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥,将所述第二密钥发送给所述射频标签。
[0025] 本发明实施例提供一种射频标签,包括:
[0026] 接收单元,用于阅读器发送的询问请求以及阅读器生成的第一随机数,并接收所述阅读器返回的第二密钥;
[0027] 生成单元,用于根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥;
[0028] 发送单元,用于将所述第一密钥发送给所述阅读器;
[0029] 认证单元,用于当接收到所述阅读器返回的第二密钥时,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的。
[0030] 本发明实施例提供一种阅读器,包括:
[0031] 发送单元,用于向所述射频标签发送询问请求以及生成的第一随机数,并向所述射频标签发送第二密钥;
[0032] 接收单元,用于接收所述射频标签发送的第一密钥,其中,所述第一密钥是所述射频标签根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密后生成的;
[0033] 生成单元,用于对所述第一密钥认证,并认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥。
[0034] 本发明实施例中,由于射频标签与阅读器之间都是采用标识的暗文传输,确保了射频标签的匿名性。本发明实施例使中间的攻击者很难获得标识信息,这使标签的信息和用户的隐私得到了保障,并且,不仅阅读器要对射频标签进行认证,而且射频标签也要对阅读器机型认证,实现了双向认证,另外,由于认证过程中,射频标签使用不同的随机数,攻击者伪造数据后进行重传攻击就很困难。由于在射频标签和阅读器之间的传输过程中,隐藏了第二随机数以及射频标签的标识,这样,位于标签和阅读器之间的中间人也不能通过对交互数据的截获,来分析标签的信息,从而,抵御中间人的攻击。可见,本发明实施例所述的射频标签认证方法,极大地提高RFID系统安全认证机制的安全级别。

附图说明

[0035] 图1为现有技术中RFID系统认证机制的流程图;
[0036] 图2本发明实施例中射频标签认证的流程图;
[0037] 图3为本发明实施例一中射频标签认证的流程图;
[0038] 图4为本发明实施例一中与公式(4)对应的算法示意图;
[0039] 图5为本发明实施例一中与公式(5)对应的算法示意图;
[0040] 图6为本发明实施例二中射频标签认证的流程图;
[0041] 图7为本发明实施例三中射频标签认证的流程图;
[0042] 图8为本发明实施例RFID系统的架构图;
[0043] 图9为本发明实施例中射频标签的结构图;
[0044] 图10为本发明实施例中阅读器的结构图。

具体实施方式

[0045] 本发明实施例中,RFID系统一般由三大部分构成:标签、阅读器以及数据库。由于阅读器和数据库之间的通信信道是安全的,因此,阅读器和数据库可以为两个单独的装置,也可以一体化,本发明实施例中以阅读器和数据库一体化进行描述为例进行描述,即本发明实施例中RFID系统有带有数据库的阅读器和射频标签组成。
[0046] 本发明实施例RFID系统中,阅读器中存放了所有射频标签的标识ID,一般存入数据库中,即数据库中有每个射频标签的存储标识。这样,射频标签认证的过程参见图2,包括:
[0047] 步骤201:阅读器向射频标签发送询问请求和第一随机数给射频标签。
[0048] 阅读器在向射频标签发送询问请求的同时,会生成一个随机数,并将该随机数发送给射频标签,该随机数即为第一随机数。
[0049] 步骤202:射频标签根据接收的第一随机数,对生成的第二随机数,以及射频标签的当前标识进行加密,生成第一密钥。
[0050] 射频标签接收到询问请求以及第一随机数后,生成一个第二随机数,然后根据根据第一随机数或第二随机数的奇偶性,对当前标识进行加密,生成第一标识,并将第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项。可见,第一密钥包括了两个子项,分别将射频标签的当前标识,以及生成的第二随机数变成了暗文。
[0051] 在本发明的一个实施例中,首先判断第一随机数的奇偶性,当第一随机数为奇数时,将第一随机数中的奇数项与当前标识的奇数项进行逻辑运算,以及将第二随机数中的偶数项与当前标识的偶数项进行逻辑运算,获得第一标识;当第一随机数为偶数时,将第一随机数中的偶数项与当前标识的偶数项进行逻辑运算,以及将第二随机数中的奇数项与当前标识的奇数项进行逻辑运算,获得第一标识。
[0052] 在本发明的另一实施例中,首先判断第二随机数的奇偶性,当第二随机数为奇数时,将第二随机数中的奇数项与当前标识的奇数项进行逻辑运算,以及将第一随机数中的偶数项与当前标识的偶数项进行逻辑运算,获得第一标识;当第二随机数为偶数时,将第二随机数中的偶数项与当前标识的偶数项进行逻辑运算,以及将第一随机数中的奇数项与当前标识的奇数项进行逻辑运算,获得第一标识。
[0053] 本发明实施例中,逻辑运算包括:与运算、非运算、或、异或运算。
[0054] 步骤203:射频标签将生成的第一密钥发送给阅读器。
[0055] 上述步骤中第一密钥包括两个子项,隐藏了射频标签的当前标识,以及生成的第二随机数。射频标签将第一密钥发送给阅读器,射频标签与阅读器之间是暗文传输。射频标签发送给阅读器的是标识的暗文。
[0056] 步骤204:阅读器根据第一随机数对接收的第一密钥进行解码,获得第二随机数以及第一标识。
[0057] 上述步骤202是对当前标识进行加密的过程,形成第一密钥,而这里是对密钥进行解码的过程,与步骤202是可逆过程。具体包括:
[0058] 将第一随机数与第一密钥的第二子项进行逻辑运算,获得第二随机数;将获得的第二随机数与第一密钥的第一子项进行逻辑运算,获得第一标识。
[0059] 步骤205:阅读器根据第一标识,对射频标签进行认证,当认证通过时,执行步骤206,否则,认证流程结束。
[0060] 这里,可根据第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,将每个第二标识与第一标识进行比对,当有与第一标识相等的第二标识时,则阅读器对第一密钥认证通过,执行步骤206,否则,认证流程结束。
[0061] 或者,另一实施例中,根据第一随机数或第二随机数的奇偶性,对第一标识解码,获得第三标识,即采用加密的逆过程,对第一标识解码,获得第三标识;然后查询是否有与第三标识相等的存储标识,若有,阅读器对第一密钥认证通过,执行步骤206,否则,认证流程结束。
[0062] 其中,根据第一随机数或第二随机数的奇偶性进行加密或解码的过程,与步骤202中相对应,就不在累述了。
[0063] 本发明实施例中,由于阅读器中带有数据库,因此,一般在数据库中保存每个存储标识。
[0064] 步骤206:阅读器获取与第一密钥对应的存储标识。
[0065] 阅读器对第一密钥认证已经通过了,此时,确认了与第一密钥对应的存储标识。一般可获取数据库中保存的与第一密钥对应的存储标识。
[0066] 步骤207:阅读器利用第一随机数和第二随机数生成的第三随机数,对获取的存储标识进行加密,生成第二密钥。
[0067] 阅读器首先根据第一随机数和第二随机数生成第三随机数,然后,利用该第三随机数,对获取的存储标识进行加密,生成第二密钥。
[0068] 生成第三随机数的过程可以是将第一随机数和第二随机数进行串接,生成的第三随机数,或者,取第一随机数的奇数项,取第二随机数的偶数项,组成第三随机数。当然,还可以有别的生成方式,具体就不再列举了。
[0069] 将第三随机数与获取的存储标识进行逻辑运算,生成第二密钥。
[0070] 步骤208:阅读器将生成的第二密钥发送给射频标签。
[0071] 第二密钥中利用第三随机数对存储标签进行了加密,获得了第二密钥,因此,阅读器发送给射频标签的也是标识的暗文。
[0072] 步骤209:射频标签利用第一随机数和第二随机数生成的第三随机数,对当前标识进行加密,生成第三密钥。
[0073] 射频标签接收到第二密钥后,也需要利用第一随机数和第二随机数生成的第三随机数,对当前标识进行加密,生成第三密钥。
[0074] 其中,生成第三随机数的过程与上述步骤207一致,加密的过程也与步骤207一致。
[0075] 步骤210:射频标签判断生成的第三密钥与接收的第二密钥是否相等,若相等,则认证通过,射频标签确认阅读器是合法的,否则,认证过程结束。
[0076] 当然,本发明实施例中,步骤209中,射频标签可以利用第一随机数和第二随机数生成的第三随机数,对接收的第二密钥进行解码,即采用加密的逆运算,获得一个标识,然后在步骤210中将获得标识与射频标签的当前标识进行比对,如果两者一致,则射频标签确认阅读器是合法的,否则,认证过程结束。
[0077] 上述实施例中,由于射频标签与阅读器之间都是采用标识的暗文传输,确保了射频标签的匿名性。本发明实施例使中间的攻击者很难获得标识信息,这使标签的信息和用户的隐私得到了保障。
[0078] 并且,本实施中,不仅阅读器要对射频标签进行认证,而且射频标签也要对阅读器机型认证,实现了双向认证。
[0079] 另外,由于认证过程中,射频标签使用不同的随机数,攻击者伪造数据后进行重传攻击就很困难。由于在射频标签和阅读器之间的传输过程中,隐藏了第二随机数以及射频标签的标识,这样,位于标签和阅读器之间的中间人也不能通过对交互数据的截获,来分析标签的信息,从而,抵御中间人的攻击。
[0080] 在上述实施例中,阅读器执行的步骤204-208,可以由阅读器携带的数据库来具体执行,也可以由别的功能单元进行处理。对于阅读器与数据库分开的RFID系统,可以阅读器来执行上述步骤204-208,也可以由数据库来执行步骤204-208,而此时,数据库中保存了每个存储标识,阅读器需将产生的第一随机数传输给数据库和射频标签,并用来透传数据库与射频标签之间的数据,具体的认证过程就不再累述了。
[0081] 本发明实施例还可以对上述实施例进行改进,对射频标签的标识进行更新,提高RFID系统安全认证机制的安全级别。此时,不仅阅读器生成第一随机数,射频标签生成第二随机数,而且阅读器还要生成第四随机数,当然,第四随机数也可以由阅读器中的数据库生成。这样,射频标签生成第一密钥,以及阅读器对射频标签认证过程如上述实施例中步骤201-205一致,只是,步骤206阅读器对射频标签认证通过,获得存储标识和第二随机数之后,对阅读器生成第二密钥以及射频标签进行认证的过程进行了改进。
[0082] 其中,阅读器对射频标签认证通过,获得存储标识和第二随机数之后,将生成的第四随机数与该存储标识进行逻辑运算,获得第一更新存储标识,并将存储标识更新为第一更新存储标识。然后,以该第一更新存储标识进行后续的处理,包括:利用第一随机数和第二随机数生成的第三随机数,对第一更新存储标识进行加密,生成第二密钥;将第四随机数与获得的第二随机数进行逻辑运算,生成指令数据;向射频标签发送运算指令、指令数据以及第二密钥。
[0083] 当射频标签接收到运算指令、指令数据以及第二密钥后,首先,将所述第二随机数与接收的指令数据进行逻辑运算,获得第四随机数,并将射频标签的当前标识与第四随机数进行逻辑运算,获得第一更新标识,然后,对该第一更新标识进行后续的操作,包括:利用第一随机数和第二随机数生成的第三随机数,对第一更新标识进行加密,生成第三密钥,当第三密钥与接收的第二密钥相等时,认证通过,并将当前标识更新为第一更新标识,否则,认证失败;或者,利用第一随机数和第二随机数生成的第三随机数,对第二密钥进行解码,获得对应的标识,获得标识与第一更新标识相等时,认证通过,并将当前标识更新为第一更新标识,否则,认证失败。
[0084] 在该方案中,每次认证过程都将射频标签的标识进行了更新,进一步增加了标识破解的难度,提高了认证的安全等级。
[0085] 本发明实施例另一实施例中,还可以通过RFID系统保存的标识保护密钥进一步提高RFID系统安全认证机制的安全等级,这里,RFID系统中的阅读器和射频标签中都保存有标识保护密钥。当然,数据库中也可以保存有标识保护密钥,或者从阅读器中获取标识保护密钥。因此,该实施例中,阅读器生成了第一随机数和第四随机数,射频标签生成了第二随机数,阅读器和射频标签中都保存有标识保护密钥。
[0086] 这样,射频标签生成第一密钥之后,射频标签还需利用保存的标识保护密钥对该第一密钥进行加密,生成第一更新密钥,并发送给阅读器。
[0087] 而阅读器收到该第一更新密钥后,需用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥。然后,对根据保存的所有的存储标识对射频标签进行认证。
[0088] 本发明实施例中,阅读器每次对射频标签认证通过后,将对应的存储标识进行了更新,并且,同时保存更新前的存储标识,以及更新后的存储标识。
[0089] 这样,阅读器在每次对射频标签认证时,由于同时保存了更新前的存储标识,以及更新后的存储标识,这样,根据所有的存储标识对射频标签进行认证,可以有效地避免了阅读器已更新了存储标识,而射频标签还没更新标识,从而带来的数据不同步问题。其具体的认证过程可以包括:先根据更新后的存储标识对射频标签进行认证,若此时认证没有通过,则可根据更新前的存储标识对射频标签进行二次认证。或者,直接根据所有的存储标识对射频标签进行认证。
[0090] 阅读器通过获得的第一密钥,对射频标签认证通过后,获得存储标识和第二随机数之后,还包括:
[0091] 根据保存的标识保护密钥和将数据库生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将存储标识更新为第二更新存储标,并同时保存该更新前的存储标识,及其对应的更新后的第二更新存储标识,然后,对第二更新存储标识进行后续处理,包括:利用第一随机数和第二随机数生成的第三随机数,对第二更新存储标识进行加密,生成第二密钥;将第四随机数与获得的第二随机数进行逻辑运算,生成指令数据;根据保存的标识保护密钥对第二密钥,以及指令数据进行加密,生成第二更新密钥,并向射频标签发送运算指令和第二更新密钥。
[0092] 这样,当射频标签接收到运算指令和第二更新密钥后,也许用保存的标识保护密钥对该第二更新密钥进行解码,获得第二密钥,以及指令数据,然后,根据第二随机数对接收的指令数据进行解码,获得第四随机数,并利用保存的标识保护密钥和获得的第四随机数对射频标签的当前标识进行加密,获得第二更新标识。最后,对该第二更新标识进行后续的操作,包括:利用第一随机数和第二随机数生成的第三随机数,对第二更新标识进行加密,生成第三密钥;当第三密钥与获得的第二密钥相等时,认证通过,并将当前标识更新为第二更新标识,保存更新前的当前标识和更新后的第二更新标识,否则,认证失败。或者,[0093] 利用第一随机数和第二随机数生成的第三随机数,对获得第二密钥进行解码,获得对应的标识,若该标识与第二更新标识相等时,认证通过,并将当前标识更新为第二更新标识,保存当前标识和第二更新标识;否则,认证失败。
[0094] 本发明实施例中,由于阅读器对射频标签认证通过后,保存了更新前原有的存储标识以及更新后的第二更新存储标识,这样,可以有效避免了射频标签没有更新标识,而阅读器的数据库更新了标识,使标签和数据库数据不统一的问题,在一定程度上解决了数据不同步的问题。并且,采用标识保护密钥进一步增加了标识的保护,是数据信息更加的安全,不易泄露。
[0095] 在上述本发明各实施例中,为进一步提高阅读器与射频标签之间信息传输的安全性,阅读器在发送数据之前,需进行完整性校验;同样,射频标签在接收数据之后,也需要进行完整性校验。即阅读器在对发送的询问请求以及第一随机数,进行完整性校验后,才将这些数据发送给射频标签,而射频标签接收到后,也会对接收的询问请求以及第一随机数,进行完整性校验。同样,阅读器对返回的第二密钥进行完整性校验,因此,射频标签在认证的过程中,需要对生成的第三密钥进行完整性校验。
[0096] 下面结合说明书附图对本发明实施例作进一步详细描述。
[0097] 实施例一,本实施例中,阅读器的数据库中有每个射频标签的存储标识IDi(其中,i=1、2、3----n),Query是询问请求;Rr是阅读器生成的第一随机数,Rt是射频标签生成的第二随机数;ID是射频标签的当前标识;CRC是循环校验函数;是异或运算符,||是字符串关联符,∮是字符串连接符,f是算法标识。
[0098] 参见图3,射频标签认证的过程包括:
[0099] 步骤301:阅读器向射频标签发送询问请求Query和第一随机数Rr给射频标签。
[0100] 步骤302:射频标签根据接收的第一随机数Rr,对生成的第二随机数Rt,以及射频标签的当前标识进行加密,生成第一密钥。
[0101] 这里可以采用公式(1)-(3),生成第一密钥。
[0102] IDnew=f(ID).......................................................(1)[0103]
[0104]
[0105] 公式中,IDnew是第一标识,Rr是阅读器生成的第一随机数,Rt是射频标签生成的第二随机数;ID是射频标签的当前标识,M1是第一密钥的第一子项,M2是第一密钥的第二子项,这样,生成了第一密钥(M1,M2),
[0106] 在公式(1)中f是算法标识,当Rr为奇数时,算法公式f(ID)具体如公式(4)所示,当Rr为偶数时,算法公式f(ID)具体如公式(5)所示:
[0107]
[0108]
[0109] 其中,IDodd为ID的奇数项,IDeven为ID的偶数项,Rr_odd为Rr的奇数项,Rr_even为Rr的偶数项,Rt_odd为Rt的奇数项,Rt_even为Rt的偶数项。其中,与公式(4)对应的算法示意图如图4所示,即当确定Rr为奇数时,Rr的奇数位(第1、3、5...位)与ID进行异或运算,ID的偶数位不做运算,得到IDodd;Rt的偶数位(第2、4、6...位)与ID进行异或运算,ID的奇数位不做运算,得到IDeven。射频标签将奇数位IDodd与偶数位IDeven按照原来的奇偶顺序合成为IDnew。与公式(5)对应的算法示意图如图5所示,即当确定Rr为偶数时,Rr的偶数位(第2、4、6...位)与ID进行异或运算,ID的奇数位不做运算,得到IDevenIDodd;Rt的奇数位(第1、3、5...位)与ID进行异或运算,ID的偶数位不做运算,得到IDodd。射频标签将奇数位IDodd与偶数位IDeven按照原来的奇偶顺序合成为IDnew。
[0110] 步骤303:射频标签将生成的第一密钥(M1,M2)发送给阅读器。
[0111] 步骤304:阅读器根据第一随机数Rr对接收的第一密钥进行解码(M1,M2),获得第二随机数Rt以及第一标识IDnew.
[0112] 通 过 对 公 式 (2) 和(3) 的 逆 运 算,获 得Rt 和 IDnew. 即[0113] 步骤305:阅读器根据接收的第一随机数Rr,以及生成的第二随机数Rt,对阅读器的数据库中的每个存储标识IDi进行加密,分别生成对应的第二标识ID’i-new。
[0114] 同样,采用上述公式(1)对每个IDi进行加密,获得对应的第二标识ID’i-new。
[0115] 步骤306:阅读器将每个第二标识ID’i-new与第一标识IDnew进行比对,当有ID’i-new=IDnew时,执行步骤307,否则,认证流程结束。
[0116] 当有ID’i-new=IDnew时,阅读器对射频标签的认证通过,执行步骤307;当没有ID’i-new=IDnew时,则认证失败,该流程结束。
[0117] 步骤307:阅读器获得与第一密钥对应的存储标识IDi。
[0118] 阅读器对第一密钥认证已经通过了,即当ID’i-new=IDnew时,对应的存储标识IDi。
[0119] 步骤308:阅读器利用第一随机数Rr和第二随机数Rt生成的第三随机数R3,对获取的存储标识IDi进行加密,生成第二密钥M3.
[0120] 这里,首先将Rr,Rt的二进制码串接到一起,生成第三随机数R3,即R3=(Rr∮Rt),然后将R3与IDi进行异或运算,生成第二密钥M3,即
[0121] 步骤309:阅读器将第二密钥M3发送给射频标签。
[0122] 步骤310:射频标签根据第一随机数Rr和第二随机数Rt生成的第三随机数R3,对当前标识ID进行加密,生成第三密钥M’3.
[0123] 生成第三密钥M’3的具体过程可如步骤308所述,即
[0124] 步骤311:射频标签判断生成的第三密钥M’3与接收的第二密钥M3是否相等,若相等,则认证通过,射频标签确认阅读器是合法的,否则,认证过程结束。
[0125] 在实施例一中,步骤302中,是根据第一随机数Rr的奇偶性生成的第一标识IDnew,但本发明实施例不限于此,还可以根据第二随机数Rt的奇偶性生成的第一标识IDnew。这样,步骤305中,也是根据第二随机数Rt的奇偶性生成的第二标识ID’i-new。
[0126] 该实施例一中,步骤305中是将每个存储标识IDi进行加密,分别生成对应的第二标识ID’i-new,但本发明实施例不限于此,还可以在该步骤中将第一标识IDnew进行解码,计-1算ID=f (IDnew),然后在步骤306中,在存储的每个IDi中,查找是否有IDi=ID,若有,则认证通过,执行步骤307,否则,认证流程结束。
[0127] 该实施例中,步骤310中,还可以根据第一随机数Rr和第二随机数Rt生成的第三随机数R3,对第二密钥M3进行解码,得到一个标识IDj,其中, 然后,步骤311中,当IDj=ID时,则认证通过,射频标签确认阅读器是合法的,否则,认证过程结束。
[0128] 另外,该实施例中,还可以当阅读器发送数据时,进行完整性校验,从而,射频标签接收数据时,也进行完整性校验。具体包括:在步骤301中,阅读器根据询问请求Query和第一随机数Rr进行循环冗余效验(Cyclical RedundancyCheck,CRC),将校验结果CRC(Query||Rr),Query和第一随机数Rr一起发送给射频标签,这样,在步骤302中,射频标签生成第一密钥之前,须根据接收的Query和第一随机数Rr进行CRC运算,并将计算的结果与接收的CRC(Query||Rr)进行比较,当两者一致时,则继续后续的步骤,否则,该认证流程结束。同样,在步骤309阅读器发送第二密钥M3时,也需对M3进行CRC运算,得到即此时第二密钥 那么,步骤310中射频标签生成的第三密钥M’3也需进行CRC运算,即第三密钥
[0129] 在本发明实施例一中,分别用随机数Rt、Rr的奇偶位对射频标签的ID进行计算,生成运算后的IDnew,传输给阅读器,并且,加密后的IDnew进行匿名传输,保护了用户的隐私,给篡改者增加了难度,匿名的ID在被传给阅读器后分别与数据库中的IDi做比较,如果经过上述比较ID=IDi相等,则该标签通过认证。可见,本发明实施例对标签的ID进行了很好的保护,这相对ISO18000-6C中的ID暴露现象得到了很大的改善。
[0130] 该实施例一中,不仅阅读器要对射频标签进行认证,而且射频标签也要对阅读器机型认证,实现了双向认证。由于每次认证过程中射频标签使用不同的随机数,攻击者伪造数据后进行重传攻击就很困难。并且,由于在射频标签和阅读器之间的传输过程中,采用隐藏关键数据的方法来抵御中间人攻击。如通过 隐藏Rt,通过IDnew=f(ID)隐藏ID,使攻击者不能从所截获数据中获得重要信息,这样,位于标签和阅读器之间的中间人也不能通过对交互数据的截获,来分析标签的信息,从而,抵御中间人的攻击。
[0131] 实施例二、本实施例中,阅读器的数据库中有每个射频标签的存储标识IDi(其中,i=1、2、3----n),Query是询问请求;Rr是阅读器生成的第一随机数,Rt是射频标签生成的第二随机数;Ru是阅读器生成的第四随机数,这里,可以是阅读器中的数据库生成的四随机数;ID是射频标签的当前标识;CRC是循环校验函数;是异或运算符,||是字符串关联符,∮是字符串连接符,f是算法标识,Computer是阅读器发给射频标签的运算指令。
[0132] 参见图6,射频标签认证的过程包括:
[0133] 步骤601:阅读器发起询问请求Query,并生成第一随机数Rr。
[0134] 步骤602:阅读器对询问请求Query和第一随机数Rr进行CRC运算,将运算结果CRC(Query||Rr),请求Query和第一随机数Rr发送给射频标签。
[0135] 步骤603:射频标签根据接收的问请求Query,第一随机数Rr进行CRC运算,并将运算结果与接收的CRC(Query||Rr)进行比较,当两者相等时,执行步骤604,否则,认证流程结束。
[0136] 射频标签进行完整性验证,通过后执行步骤604,否则,认证流程结束。
[0137] 步骤604:射频标签根据接收的第一随机数Rr,对生成的第二随机数Rt,以及射频标签的当前标识进行加密,生成第一密钥(M1,M2)。
[0138] 步骤605:射频标签将生成的第一密钥(M1,M2)发送给阅读器。
[0139] 步骤606:阅读器根据第一随机数Rr对接收的第一密钥进行解码(M1,M2),获得第二随机数Rt以及第一标识IDnew.
[0140] 步骤607:阅读器根据接收的第一随机数Rr,以及生成的第二随机数Rt,对数据库中的每个存储标识IDi进行加密,分别生成对应的第二标识ID’i-new。
[0141] 步骤608:阅读器将每个第二标识ID’i-new与第一标识IDnew进行比对,当有ID’i-new=IDnew时,执行步骤307,否则,认证流程结束。
[0142] 步骤609:阅读器获得与第一密钥对应的存储标识IDi。
[0143] 实施例二中,步骤604-609的执行过程与实施例一中的302-307的执行过程一致,不再累述了。
[0144] 步骤610:阅读器根据生成的第四随机数Ru与存储标识IDi进行逻辑运算,获得第一更新存储标识IDui-1,并将存储标识IDi更新为第一更新存储标识IDui-1[0145] 这里, 将阅读器中IDi更新为IDui-1.
[0146] 步骤611:阅读器利用第一随机数Rr和第二随机数Rt生成的第三随机数R3,对第一更新存储标识IDui-1进行加密,并对加密结果进行CRC运算,生成第二密钥M3.[0147] 本步骤的加密过程与实施例一中的加密过程相同,在进行CRC运算后,生成的第二密钥
[0148] 步骤612:阅读器将第四随机数Ru与获得的第二随机数Rt进行逻辑运算,获得指令数据M4。
[0149] 这里,
[0150] 步骤613:阅读器向射频标签发送运算指令Computer,第二密钥M3,指令数据M4,以及对运算指令Computer,第二密钥M3和指令数据M4进行CRC运算后的结果CRC(Compute||M3||M4)。
[0151] 步骤614:射频标签根据接收的运算指令Computer,第二密钥M3,指令数据M4进行CRC运算,并将运算后的结果与接收的CRC(Compute||M3||M4)进行比较,当两者相等时,执行步骤615,否则,认证流程结束。
[0152] 即本步骤为完整性校验,当完整性校验通过时,执行步骤615,否则,认证流程结束。
[0153] 步骤615:射频标签将第二随机数Rt与接收的指令数据M4进行逻辑运算,获得第四随机数Ru。
[0154] 这里,
[0155] 步骤616:射频标签将当前标识ID与第四随机数Ru进行逻辑运算,获得第一更新标识IDu-1。
[0156]
[0157] 步骤617:射频标签利用第一随机数Rr和第二随机数Rt生成的第三随机数R3,对第一更新标识IDu-1进行加密,并对加密结果进行CRC运算,生成第三密钥M’3.[0158]
[0159] 步骤618:射频标签判断生成的第三密钥M’3与接收的第二密钥M3是否相等,若相等,则认证通过,射频标签确认阅读器是合法的,执行步骤619;否则,认证过程结束。
[0160] 步骤619:射频标签将当前标识ID更新为第一更新标识IDu-1.本次认证流程结束。
[0161] 射频标签确认阅读器是合法后,射频标签的当前标识更新为
[0162] 实施例二在实施例一的基础上通过第四随机数Ru进行了射频标签的ID的更新,每一次认证,都会修改一次射频标签的ID,确保了ID的安全性。
[0163] 实施例三、在RFID系统保存的标识保护密钥Ek,即RFID系统的阅读器,射频标签中都保存有标识保护密钥Ek,即阅读器的数据库中也有标识保护密钥Ek,并且,该实施例中,阅读器的数据库中有每个射频标签的存储标识IDi(其中,i=1、2、3----n),Query是询问请求;Rr是阅读器生成的第一随机数,Rt是射频标签生成的第二随机数;Ru是阅读器生成的第四随机数,这里,可以是阅读器中的数据库生成的四随机数;ID是射频标签的当前标识;CRC是循环校验函数;是异或运算符,||是字符串关联符,∮是字符串连接符,f是算法标识,Computer是阅读器发给射频标签的运算指令。
[0164] 参见图7,射频标签认证的过程包括:
[0165] 步骤701:阅读器发起询问请求Query,并生成第一随机数Rr。
[0166] 步骤702:阅读器对询问请求Query和第一随机数Rr进行CRC运算,将运算结果CRC(Query||Rr),请求Query和第一随机数Rr发送给射频标签。
[0167] 步骤703:射频标签根据接收的问请求Query,第一随机数Rr进行CRC运算,并将运算结果与接收的CRC(Query||Rr)进行比较,当两者相等时,执行步骤704,否则,认证流程结束。
[0168] 射频标签进行完整性验证,通过后执行步骤704,否则,认证流程结束。
[0169] 步骤704:射频标签根据接收的第一随机数Rr,对生成的第二随机数Rt,以及射频标签的当前标识进行加密,生成第一密钥(M1,M2),并用保存的标识保护密钥Ek对该第一密钥进行加密,生成第一更新密钥Mk。
[0170] 这里,利用上述公式(1)-(3)生成第一密钥(M1,M2)后,在利用公式(4)对该第一密钥进行加密,生成第一更新密钥Mk。其中,公式(4)为:
[0171]
[0172] 步骤705:射频标签将生成的第一更新密钥Mk发送给阅读器。
[0173] 当然,本发明实施例中,射频标签还可以对Mk进行CRC运算后,将MK||CRC(Mk)传给阅读器。
[0174] 步骤706:阅读器根据保存的标识保护密钥Ek对第一更新密钥Mk进行解码,获得第一密钥(M1,M2)。
[0175] 这里,
[0176] 步骤707:阅读器根据第一随机数Rr对接收的第一密钥进行解码(M1,M2),获得第二随机数Rt以及第一标识IDnew.
[0177] 步骤708:阅读器根据接收的第一随机数Rr,以及生成的第二随机数Rt,对数据库中的每个存储标识IDi进行加密,分别生成对应的第二标识ID’i-new。
[0178] 步骤709:阅读器将每个第二标识ID’i-new与第一标识IDnew进行比对,当有ID’i-new=IDnew时,执行步骤710。否则认证结束。
[0179] 步骤710:阅读器获得与第一密钥对应的存储标识IDi。
[0180] 步骤711:阅读器根据标识保护密钥Ek和生成的第四随机数Ru,分别与存储标识IDi进行逻辑运算,获得第二更新存储标识IDui-2,将存储标识IDi更新为第二更新存储标识IDui-2,并同时保存原存储标识IDi和第二更新存储标识IDui-2。
[0181] 这里, 阅读器同时保存IDi和IDui-2。
[0182] 本发明实施例中,阅读器的数据库中同时保存了IDi和IDui-2,即每次阅读器对射频标签进行认证后,都保存了该射频标签的原存储标识IDi,以及更新后的第二更新存储标识IDui-2。这样,在步骤708的认证过程中,对数据库中的每个存储标识进行加密,这里,存储标识包括原存储标识IDi,以及更新后的第二更新存储标识IDui-2.从而,有效地避免了阅读器已更新了存储标识,而射频标签还没更新标识,从而带来的数据不同步问题。当然,步骤708也可以分两步进行,可以先对数据库中更新以后的存储标识进行加密,分别生成对应的第二标识,然后步骤709中进行比对,若有与第一标识相等的第二标识,执行步骤710。否则,进行二次认证,将保存的原存储标识进行加密,分别生成对应的第二标识,然后步骤709中进行比对,若有与第一标识相等的第二标识,执行步骤710。若仍没有,则认证失败。
[0183] 步骤712:阅读器利用第一随机数Rr和第二随机数Rt生成的第三随机数R3,对第二更新存储标识IDui-2进行加密,并对加密结果进行CRC运算,生成第二密钥M3.[0184] 在进行CRC运算后,生成的第二密钥
[0185] 步骤713:阅读器将第四随机数Ru与获得的第二随机数Rt进行逻辑运算,生成指令数据M4,并根据保存的标识保护密钥Ek对第二密钥M3,以及指令数据M4进行加密,生成第二更新密钥M5.
[0186] 这里,
[0187] 步骤714:阅读器向射频标签发送运算指令Computer,第二更新密钥M5,以及对运算指令Computer,第二更新密钥M5进行CRC运算后的结果CRC(Compute||M5)。
[0188] 步骤715:射频标签根据接收的运算指令Computer,第二更新密钥M5进行CRC运算,并将运算后的结果与接收的CRC(Compute||M5)进行比较,当两者相等时,执行步骤716,否则,认证流程结束。
[0189] 即本步骤为完整性校验,当完整性校验通过时,执行步骤716,否则,认证流程结束。
[0190] 步骤716:射频标签利用保存的标识保护密钥Ek对该第二更新密钥M5进行解码,获得第二密钥M3,以及指令数据M4,然后,根据第二随机数Rt对指令数据M4进行解码,获得第四随机数Ru.
[0191] 这里,
[0192] 步骤717:射频标签利用保存的标识保护密钥Ek和获得的第四随机数Ru对射频标签的当前标识ID进行加密,获得第二更新标识IDu-2。
[0193]
[0194] 步骤718:射频标签利用第一随机数Rr和第二随机数Rt生成的第三随机数R3,对第二更新标识IDu-2进行加密,,并对加密结果进行CRC运算,生成第三密钥M’3.[0195]
[0196] 步骤719:射频标签判断生成的第三密钥M’3与接收的第二密钥M3是否相等,若相等,则认证通过,射频标签确认阅读器是合法的,执行步骤720;否则,认证过程结束。
[0197] 步骤720:射频标签将当前标识ID更新为第二更新标识IDu-2,并保存更前的当前标识ID和更新后的第二更新标识IDu-2。
[0198] 射频标签同时保存第二更新标识IDu-2和当前标识ID。
[0199] 在实施例三中,由于在阅读器的认证过程中,由于阅读器保存了射频标签上一次的存储标识,以及更新后的存储标识,那么,如果根据更新后的存储标识对第一密码的认证失败后,还可以启用上次一次的存储标识,进行二次认证,这样,避免了数据库更新的射频标签的标识,而射频标签还没更新标识,是的射频标签和数据库中的数据不统一的问题,这在一定程度上解决了数据不同步的问题。并且,本实施例中,增加了标识保护密钥Ek对射频标签的标识的保护,是的数据信息根据安全,不易泄露。
[0200] 在上述实施例二和三中,阅读器与射频标签之间传递的数据都进行了完整性校验,当然,本发明实施例不限于此,阅读器与射频标签之间传递的数据也可以不进行完整性校验。
[0201] 在上述各实施例中,在加密,或解码的过程中,逻辑运算为异或运算,但是本发明实施例不限于此,在上述加密,或解码的过程中,还可采用与运算,或非运算。另外,生成第三随机数R3的方式也不限于是将第一随机数Rr和第二随机数Rt进行串接,其他的方式也可以生成第三随机数R3,例如:将第一随机数Rr的奇数项和第二随机数Rt的偶数项结合生成第三随机数R3。
[0202] 根据上述射频标签认证的方法,其对应的射频标签认证的系统,参见图8,包括:射频标签100和阅读器200。
[0203] 射频标签100,用于接收阅读器发送的询问请求以及阅读器生成的第一随机数,根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥,并将所述第一密钥发送给所述阅读器,并接收到所述阅读器返回的第二密钥后,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过。
[0204] 阅读器200,用于生成第一随机数,向所述射频标签发送询问请求以及所述第一随机数,接收所述射频标签发送的第一密钥后,对所述第一密钥进行认证,认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥,将所述第二密钥发送给所述射频标签。
[0205] 其中,射频标签100,具体用于根据所述第一随机数或第二随机数的奇偶性,对所述当前标识进行加密,生成第一标识,将所述第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将所述第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项。
[0206] 阅读器200,具体用于将所述第一随机数与所述第一密钥的第二子项进行逻辑运算,获得第二随机数,将获得的第二随机数与所述第一密钥的第一子项进行逻辑运算,获得第一标识,根据所述第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,当有与所述第一标识相等的第二标识时,对所述第一密钥认证通过,获取与该第二标识对应的存储标识,或者,根据所述第一随机数或第二随机数的奇偶性,对所述第一标识解码,获得第三标识,当有与所述第三标识相等的存储标识时,对所述第一密钥认证通过,获取与所述第三标识相等的存储标识。
[0207] 其中,生成第一标识时,射频标签100,具体用于当所述第一随机数为奇数时,将所述第一随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,以及将所述第二随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,获得第一标识;当所述第一随机数为偶数时,将所述第一随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,以及将所述第二随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,获得第一标识。
[0208] 射频标签100,具体用于将所述所述第一随机数和第二随机数进行串接,生成第三随机数,将所述第三随机数与所述当前标识进行逻辑运算,生成第三密钥。
[0209] 本发明一个实施例中,阅读器200,还用于生成的第四随机数,并所述第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并将所述存储标识更新为所述第一更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,向所述射频标签发送运算指令、所述指令数据以及所述第二密钥。
[0210] 射频标签100,还用于接收到所述运算指令后,将所述第二随机数与接收的指令数据进行逻辑运算,获得第四随机数,将所述射频标签的当前标识与所述第四随机数进行逻辑运算,获得第一更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,认证通过,并将所述当前标识更新为所述第一更新标识。
[0211] 本发明另一实施例中,射频标签和阅读器中保存了标识保护密钥,这样,[0212] 射频标签100,还用于用保存的标识保护密钥对所述第一密钥进行加密,生成第一更新密钥,并发送给阅读器。阅读器200,还用于用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥。
[0213] 这样,阅读器200,具体用于根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将所述存储标识更新为第二更新存储标识,并保存更新前的所述存储标识以及更新后的所述第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密,生成第二更新密钥,并向所述射频标签发送运算指令和所述第二更新密钥。
[0214] 射频标签100,具体用于接收到所述运算指令后,根据保存的标识保护密钥对所述第二更新密钥进行解码,获得第二密钥,以及指令数据,根据第二随机数对接收的指令数据进行解码,获得阅读器生成的第四随机数,利用保存的标识保护密钥和获得的第四随机数对所述射频标签的当前标识进行加密,获得第二更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新标识进行加密,生成第三密钥,当所述第三密钥与获得的第二密钥相等时,认证通过,并将所述当前标识更新为第二更新标识,保存更新前的所述当前标识和更新后的第二更新标识。
[0215] 在上述各实施例中,阅读器200,还用于对发送的询问请求以及第一随机数,进行完整性校验。射频标签100,还用于对接收的询问请求以及第一随机数,进行完整性校验。以及,
[0216] 阅读器200,还用于对返回的第二密钥进行完整性校验。射频标签100,还用于对生成的第三密钥进行完整性校验。
[0217] 在上述各实施例中,该系统中的阅读器200带有数据库,上述阅读器200的功能由阅读器携带的数据库来具体执行,也可以由别的功能单元进行处理。当然,阅读器也可以与数据库分开,但两者共同承担上述各实施例中阅读器200的功能。
[0218] 在本发明实施例提供的射频标签的认证系统中,射频标签的具体结构参见图9,包括:接收单元910、生成单元920、发送单元930和认证单元940。其中,
[0219] 接收单元910,用于阅读器发送的询问请求以及阅读器生成的第一随机数,并接收所述阅读器返回的第二密钥。
[0220] 生成单元920,用于根据接收的第一随机数,对生成的第二随机数,以及所述射频标签的当前标识进行加密,生成第一密钥。
[0221] 发送单元930,用于将所述第一密钥发送给所述阅读器。
[0222] 认证单元940,用于当接收到所述阅读器返回的第二密钥时,利用所述第一随机数和第二随机数生成的第三随机数,对所述当前标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,确认对所述阅读器认证通过,其中,所述第二密钥是所述阅读器对所述第一密钥认证通过,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密后生成的。
[0223] 生成单元920包括:
[0224] 加密子单元,用于根据所述第一随机数或第二随机数的奇偶性,对所述当前标识进行加密,生成第一标识。
[0225] 生成子单元,用于将所述第一标识与第一随机数进行逻辑运算,生成第一密钥的第一子项,将所述第一随机数和第二随机数进行逻辑运算,生成第一密钥的第二子项。
[0226] 该加密子单元,具体用于当所述第一随机数为奇数时,将所述第一随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,以及将所述第二随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,获得第一标识,或者,当所述第一随机数为偶数时,将所述第一随机数中的偶数项与所述当前标识的偶数项进行逻辑运算,以及将所述第二随机数中的奇数项与所述当前标识的奇数项进行逻辑运算,获得第一标识。
[0227] 认证单元940包括:
[0228] 串接子单元,用于将所述所述第一随机数和第二随机数进行串接,生成第三随机数。
[0229] 密钥子单元,用于将所述第三随机数与所述当前标识进行逻辑运算,生成第三密钥。
[0230] 在本发明一个实施例中,接收单元910,还用于接收阅读器发送的运算指令、指令数据以及第二密钥,其中,所述指令数据是所述阅读器将生成的第四随机数与获得的第二随机数进行逻辑运算后生成的,所述第二密钥是所述阅读器将生成的第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密后生成的。
[0231] 认证单元940,还用于收到所述运算指令后,将所述第二随机数与接收的指令数据进行逻辑运算,获得阅读器生成的第四随机数,将所述射频标签的当前标识与所述第四随机数进行逻辑运算,获得第一更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新标识进行加密,生成第三密钥,当所述第三密钥与接收的第二密钥相等时,认证通过,并将所述当前标识更新为所述第一更新标识。
[0232] 在本发明另一实施例中,射频标签中欧很能够保存了标识保护密钥,这样,[0233] 生成单元920,还用于用保存的标识保护密钥对所述第一密钥进行加密,生成第一更新密钥.
[0234] 发送单元930,还用于将所述第一更新密钥发送给阅读器。
[0235] 接收单元910,还用于接收阅读器发送的运算指令和第二更新密钥,其中,所述第二更新密钥是阅读器根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,并根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密后生成的。
[0236] 认证单元940,还用于接收到所述运算指令后,根据保存的标识保护密钥对所述第二更新密钥进行解码,获得第二密钥,以及指令数据,根据第二随机数对接收的指令数据进行解码,获得第四随机数,利用保存的标识保护密钥和获得的第四随机数对所述射频标签的当前标识进行加密,获得第二更新标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新标识进行加密,生成第三密钥,当所述第三密钥与获得的第二密钥相等时,认证通过,并将所述当前标识更新为第二更新标识,保存更新前的所述当前标识和更新后的第二更新标识。
[0237] 当然,上述各实施例中,射频标签还包括:完整性校验单元,用于对接收的询问请求以及第一随机数,进行完整性校验,以及对生成的第三密钥进行完整性校验;或者,只对接收的询问请求以及第一随机数,进行完整性校验,或者,只对生成的第三密钥进行完整性校验。
[0238] 在本发明实施例提供的射频标签的认证系统中,阅读器的具体结构参见图10,包括:发送单元1010,接收单元1020和生成单元1030。
[0239] 其中,发送单元1010,用于向所述射频标签发送询问请求以及生成的第一随机数,并向所述射频标签发送第二密钥。
[0240] 接收单元1020,用于接收所述射频标签发送的第一密钥,其中,所述第一密钥是所述射频标签根据接收的第一随机数,对所述射频标签生成的第二随机数,以及所述射频标签的当前标识进行加密后生成的。
[0241] 生成单元1030,用于对所述第一密钥认证,并认证通过后,获得第二随机数以及对应的存储标识,并利用所述第一随机数和第二随机数生成的第三随机数,对所述存储标识进行加密生成第二密钥。
[0242] 生成单元1030包括:
[0243] 第一获取子单元,用于将所述第一随机数与所述第一密钥的第二子项进行逻辑运算,获得第二随机数,将获得的第二随机数与所述第一密钥的第一子项进行逻辑运算,获得第一标识。
[0244] 第二获取子单元,用于根据所述第一随机数或第二随机数的奇偶性,对每个存储标识进行加密,分别生成对应的第二标识,当有与所述第一标识相等的第二标识时,对所述第一密钥认证通过,获取与该第二标识对应的存储标识,或者,根据所述第一随机数或第二随机数的奇偶性,对所述第一标识解码,获得第三标识,当有与所述第三标识相等的存储标识时,对所述第一密钥认证通过,获取与所述第三标识相等的存储标识。
[0245] 在本发明一个实施例中,生成单元1030,还用于获得对应的存储标识和第二随机数之后,将生成的第四随机数与获得的存储标识进行逻辑运算,获得第一更新存储标识,并将所述存储标识更新为所述第一更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第一更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据。
[0246] 发送单元1010,还用于向所述射频标签发送运算指令、所述指令数据以及所述第二密钥。
[0247] 在本发明另一实施例中,接收单元1020,还用于接收射频标签发送的第一更新密钥,其中,所述第一更新密钥是所述射频标签用保存的标识保护密钥对所述第一密钥进行加密后生成的;
[0248] 生成单元1030,还用于用保存的标识保护密钥对所述第一更新密钥进行解码,获得第一密钥,并对所述第一密钥认证通过,获得对应的存储标识和第二随机数之后,根据保存的标识保护密钥和生成的第四随机数对获得的存储标识进行加密,获得第二更新存储标识,将所述存储标识更新为第二更新存储标识,并保存更新前的所述存储标识以及更新后的所述第二更新存储标识,利用所述第一随机数和第二随机数生成的第三随机数,对所述第二更新存储标识进行加密,生成第二密钥,将所述第四随机数与获得的第二随机数进行逻辑运算,生成指令数据,根据保存的标识保护密钥对所述第二密钥,以及指令数据进行加密,生成第二更新密钥;
[0249] 发送单元1010,用于向所述射频标签发送运算指令和所述第二更新密钥。
[0250] 在上述各实施例中,阅读器还包括:
[0251] 完整性校验单元,用于对发送的询问请求以及第一随机数,进行完整性校验,以及对返回的第二密钥进行完整性校验,或者,对发送的询问请求以及第一随机数,进行完整性校验,或者,对返回的第二密钥进行完整性校验。
[0252] 本发明实施例中,由于射频标签与阅读器之间都是采用标识的暗文传输,确保了射频标签的匿名性。本发明实施例使中间的攻击者很难获得标识信息,这使标签的信息和用户的隐私得到了保障,并且,不仅阅读器要对射频标签进行认证,而且射频标签也要对阅读器机型认证,实现了双向认证,另外,由于认证过程中,射频标签使用不同的随机数,攻击者伪造数据后进行重传攻击就很困难。由于在射频标签和阅读器之间的传输过程中,隐藏了第二随机数以及射频标签的标识,这样,位于标签和阅读器之间的中间人也不能通过对交互数据的截获,来分析标签的信息,从而,抵御中间人的攻击。
[0253] 另外,每次认证过程都可将射频标签的标识进行了更新,进一步增加了标识破解的难度,提高了认证的安全等级。
[0254] 当RFID系统保存了标识保护密钥时,由于阅读器对射频标签认证通过后,保存了更新前原有的存储标识以及更新后的第二更新存储标识,这样,可以有效避免了射频标签没有更新标识,而阅读器的数据库更新了标识,使标签和数据库数据不统一的问题,在一定程度上解决了数据不同步的问题。并且,采用标识保护密钥进一步增加了标识的保护,是数据信息更加的安全,不易泄露。
[0255] 可见,本发明实施例所述的射频标签认证方法,极大地提高RFID系统安全认证机制的安全级别。
[0256] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。