
一种射频识别双向认证方法.docx
5页一种射频识别双向认证方法专利名称:一种射频识别双向认证方法技术领域:本发明属于射频识别技术领域,具体涉及射频识别标签与读卡器安全相关的双向认证方法背景技术:根据《国际标准化组织射频识别标准》(ISO RFID Standard)的规定,现有射频识另|J(RFID, Radio Frequency Identification)系统由读卡器(Reader)、N 个射频识别标签Ti;i = 1,2,... .,N,和后台数据库(DB,DataBase)构成后台数据库将所有读卡器和射频识别标签的标识符(Identity)以及一些辅助信息存储在相应的硬件平台上,并能够进行哈希(Hash)等密码学相关的函数计算读卡器处于后台数据库和射频识别标签的中间位置上读卡器是一个带天线的无线收发装置,主要负责对射频识别标签存储的内容进行读写操作通常读卡器可以拥有一定的存储能力和弱于后台数据库的计算能力射频识别标签是一个带有天线和集成电路的小型设备,与读卡器相比,具有更加有限的存储能力和计算能力,该标签里面存储着所对应唯一的固定标识符和一些辅助的计算信息由于处于公共空间(Public world),在没有相应保密措施的情况下,射频识别标签和读卡器之间的信道是不安全的。
而读卡器与后台数据库之间容易基于IP安全协议(IPSecurity, IPSec),或安全套接字层 / 传输层安全(SecuritySocket Layer/TransportLayerSecurity, SSL/TLS),建立安全、可信的连接因此,从安全性和私密性的角度,射频识别标签的标识符不能够直接以明文的方式直接传送给读卡器,否则将很容易泄漏射频识别标签持有者的私有信息《普适计算安全国际会议》(InternationalConference on Security in PervasiveComputing, vol. 2802, pp. 201-212,2004)文集中提到,使用散列函数生成射频识别标签的唯一标识符和一个随机数的哈希值,然后由后台数据库将存储的所有射频识别标签的标识符值各个尝试,从而基于遍历查找的方式获得射频识别标签的标识符但这种遍历查询开销与标签数量成线性关系随着标签数量的增加,查询开销将会给后台数据库带来沉重负担,且会给协议执行带来较大的延时,从而影响执行效率《国际电子与电气工程师协会无线通信学报》(IEEETRANSACTIONS ONWIRELESS COMMUNI CAT IONS, VOL. 7,NO. 3,pp. 1-8, MARCH2008)提供了一种由后台数据库将每个标签的标识符与读卡器的标识符转移到读卡器侧的方法,从而使得后续的射频识别标签和读卡器的双向认证直接在这两者之间进行。
但在读卡器侧,仍然需要进行遍历查找的操作这同样需要进行大量的运算,会带来较大的延迟,从而影响认证的效率《国际电子与电气工程师协会可信与安全计算学报》(IEEETrans onDEPENDABLEAND SECURE COMPUTING VOL. 4,NO. 4,pp. 337-340, 2007)提出了一种基于可以变化的伪标识符的认证方案,射频识别标签的标识符值可以经常变化,但在后台数据库侧仍需要进行遍历查找,查找开销同样与标签数量成线性关系发明内容本发明的目的是提出一种射频识别双向认证方法,以提供读卡器与射频识别标签之间的双向认证,在保证安全性的前提下,降低后台数据库的查询开销,减少协议执行时间本发明射频识别双向认证方法,其中所采用的现有通常的射频识别系统,由读卡器(Reader)、N个射频识别标签Ti, i = 1,2,. . . .,N,和后台数据库(DB)组成,所述读卡器(Reader)与后台数据库(DB)之间事先基于IP安全协议(IP Security, IPSec),或安全套接字层/传输层安全协议(Security Socket Layer/Transport Layer Security, SSL/TLS)通过有线或者无线网络建立安全、可信的连接,读卡器与标签之间通过射频信号非接触式通信;每个射频识别标签事先在其存储空间中配置有系统内全局唯一的标识符和一个预设的随机数;其特征在于 在所述后台数据库(DB)中,将存储的每个射频识别标签Ti, i = 1,2,....,N,的标识符IDi,分别对应一个随机数Ri和一个哈希值HdDi I I Ri),该随机数Ri与射频识别标签Ti中预设的随机数相同,该哈希值HdDi I Ri)为该标识符和该随机数比特连接的哈希计算的结果,其中的符号H表示哈希运算,“ I I ”表示比特连接操作,由此构成三元组{标识符,随机数,哈希值};后台数据库(DB)以哈希值为关键字形成索引;具体操作步骤为第一步、读卡器(Reader)周期性发起查询请求(QUERY);第二步、射频识别标签Ti应答所存储的随机数Ri以及自己的标识符IDi和所存储随机数Ri比特连接的哈希值^HdDiIRiM ;第三步、读卡器(Reader)将所接收到的射频识别标签发送过来的消息(RilHdDiI IR,)}通过安全连接转发给后台数据库(DB);第四步、后台数据库(DB)接收到来自读卡器(Reader)的消息(RpHdDiIRiM后,以该消息中的哈希值为关键字值,在哈希值列中进行查找如果不存在相应的表项,则返回查询失败消息(FAIL)给读卡器(Reader),退出;如果存在相应的表项,则将接收到的随机数与查找到的表项中的随机数进行比对如果不相等,返回查询失败消息(FAIL)给读卡器(Reader),退出;如果相等,则进一步获取该表项中的标识符值ID’,并产生一个新的随机数R’,形成新消息{ID’,R’,H(ID’ I IR’ I |民)},该新消息中包含从后台数据库中查找到的标识符值ID’,新产生的随机数R’,和上述从后台数据库中查找到表项中的标识符值ID’、新产生的随机数R’以及经过第三步接收到的随机数Ri三者比特连接的哈希值H(ID’ I |R’ I IRi),将该新消息返回给读卡器(Reader);第五步、读卡器(Reader)如果收到来自后台数据库(DB)的查询失败消息(FAIL),则放弃本次认证过程,退出;否则,将收到新消息中的后两项{R',H(ID’||R' I IRiM发送给射频识别标签Ti ;第六步、射频识别标签Ti首先将自己的标识符IDp经过第五步接收到的新的随机数R’及其存储的随机数Ri进行比特连接,并计算连接之后的哈希值HdDi IR' I IRi),与经过第五步接收到的来自读卡器(Reader)的哈希值进行比对如果不相等,则拒绝响应,认证失败,退出;如果相等,则进一步将自己标识符IDp存储的随机数Ri和经过第五步读卡器发送过来的新的随机数R’进行比特连接,并计算比特连接结果的哈希值HdDiI IRiI Ir’),并将该哈希值HdDiI Ri IR’)发送给读卡器(Reader);更新存储的随机数为读卡器(Reader)发送的新的随机数R’,将标识符IDi和新的随机数R’比特进行比特连接,并计算该比特连接的哈希值HdDiI IR),更新存储的哈希值为该哈希值HdDiI IR');第七步、读卡器(Reader)将经过第四步接收到的标识符ID’、经过第二步接收到的射频识别标签存储的随机数Ri以及经过第四步接收到后台数据库(DB)新产生的随机数R’三者进行比特连接,并计算比特连接之后的哈希值H(ID’ I IRiI IR'),并与经过第六步接收到的哈希值HdDiI IRiI IR’)进行比对如果相等,则发送确认消息(ACK)给后台数据库(DB),否则放弃本次认证;第八步、后台数据库收到来自读卡器(Reader)的确认消息(ACK)后,更新经过第四步所查找到的表项中的随机数和哈希值随机数更新为在第四步中所产生的随机数R’,哈希值更新为在第四步所查找到的表项中的标识符ID’和在第四步中所产生的随机数R’比特连接的哈希值H(ID’ I |R’),并更新后台数据库(DB)的索引。
与现有技术相比较,由于本发明的射频识别双向认证方法中,在后台数据库侧采用射频识别标签的标识符与事先设定的随机数比特连接的哈希值进行查找,避免了传统认证方法中后台数据库需要对存储标签信息进行遍历查找的弊端;同时,由于本发明方法中采取了以哈希值为关键字进行索引,进一步提高了后台数据库的查找效率与已有协议相比可以极大地减少协议执行时间,从而提高了认证效率另外,射频识别标签无需将标识符以明文的形式发送给读卡器,保证了射频识别标签信息的安全性读卡器对射频识别标签的认证,基于后台数据库能够查找到相应的符合要求的表项;射频识别标签对读卡器的认证,基于读卡器能够提供正确的标识符(体现在第五步所提供的哈希值是否通过验证)图1是本发明中采用的射频识别双向认证系统的结构原理图;图2是本发明射频识别双向认证方法中的射频识别标签侧协议执行过程实施流程不意图;图3是本发明射频识别双向认证方法中的读卡器侧协议执行过程实施流程示意图;图4是本发明射频识别双向认证方法中的后台数据库协议执行过程实施流程示意图具体实施例方式实施例1 :图1给出了本发明中采用的射频识别双向认证系统的结构原理示意图,该图中包括有参与协议执行的三个实体之间的交互流程示意。
如图1中所示,本发明的射频识别双向认证方法,其中所采用的射频识别系统是根据《国际标准化组织射频识别标准》(IS0RFIDStandard)规定的现有射频识别(RFID, Radio Frequency Identification)系统,由读卡器(Reader)>N个射频识别标签Ti, i = I, 2, . . . . , N,和后台数据库(DB, DataBase)组成,所述读卡器与后台数据库之间事先基于IP安全协议(IP Security, IPSec),或安全套接字层/传输层安全协议(Security Socket Layer/Transport Layer Security, SSL/TLS)建立安全、可信的连接;其中读卡器与后台数据库之间通过有线或者无线网络相连接,读卡器与标签之间通过射频信号非接触式通信;每个射频识别标签事先在其存储空间中配置有系统内全局唯一的标识符和一个预设的随机数;在所述后台数据库(DB)中,将存储的每个射频识别标签Ti, i = 1,2,....,N,的标识符IDi,分别对应一个随机数Ri和一个哈希值HdDi I I Ri),该随机数Ri与射频识别标签Ti中预设的随机数相同,该哈希值HdDi I Ri)为该标识符和该随机数比特连接的哈希计算的结果,其中的符号H表示哈希运算,“ I I ”表示比特连接操作,从而构成三元组{标识符,随机数,哈希值};后台数据库(DB)以哈希值为关键字形成索引;下面结合图1对本发明的射频识别双向认证方法的具体操作步骤描述如下第一步、读卡器(Reader)周期性发起查询请求(图1中的“1. QUERY);第二步、射频识别标签Ti应答所存储的随机数Ri以及自己的标识符IDi和所存储随机数Ri比特连接的哈希值(图1中的“2. (RilHdDi IRiM ”);第三步、读卡器(Reader)将接收到的射频识别标签Ti发送过来的消息(图1中的“3. (RpHdDiI IRiM ”)通过安全连接转发给后台数据库(DB);第四步、后台数据库接收到来自读卡器的消息,以消息中的哈希值为关键字值,在后台数据库的哈希值列中进行查找如果不存在相应的表项,返回查询失败消息(FAIL)给读卡器,退出;如果存在相应的表项,则将接收到的随机数与查找到的表项中的随机数进行比对如果不相等,返回查询失败消息(FAIL)给读卡器,退出;如果相等,进一步获取该表项中的标识符值ID’,并产生一个新的随机数R’,形成消息,包含后台数据库中查找到的标识符值ID’,新产生的随机数R’,后台数据库中查找到表项中的标识符值ID’、新产生的随机数R’和经过第三步接收到的随。












