CN103281189B - 一种射频识别设备的轻量级安全协议认证系统及方法 - Google Patents
一种射频识别设备的轻量级安全协议认证系统及方法 Download PDFInfo
- Publication number
- CN103281189B CN103281189B CN201310197393.5A CN201310197393A CN103281189B CN 103281189 B CN103281189 B CN 103281189B CN 201310197393 A CN201310197393 A CN 201310197393A CN 103281189 B CN103281189 B CN 103281189B
- Authority
- CN
- China
- Prior art keywords
- write line
- read write
- information
- module
- identity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种射频识别设备的轻量级安全协议认证系统及方法,该系统包括依次连接的服务器端、读写器端和电子标签,其中:服务器端,用于创建并存储读写器信息表和标签解析信息表,以及用于与读写器端建立通信连接以对待认证读写器进行认证;读写器端,用于将服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中,以及用于与服务器端建立通信连接以对待认证读写器进行认证;电子标签,用于设置在相应产品上,以对相应产品进行标识。本发明所述射频识别设备的轻量级安全协议认证系统及方法,可以克服现有技术中安全性差、适用范围小和能耗高等缺陷,以实现安全性好、适用范围广和能耗低的优点。
Description
技术领域
本发明涉及物联网应用、RFID技术领域,具体地,涉及一种射频识别(RFID)设备的轻量级安全协议认证系统及方法。
背景技术
射频识别(Radio Frequency Identification,简称RFID)是一种非接触式的自动识别技术。一个RFID系统通常由服务器(Server,简称S)、读写器(Reader,简称R)和标签(Tag,简称T)三部分组成,其中:服务器采用数据库来存储和处理后两者的相关数据信息,用来对他们进行控制和管理;读写器是读写标签的设备,它一方面负责识读标签信息并向服务器传送读取到的标签内容,另一方面则执行应用程序对标签发起的各种操作指令;标签是所附着的物品或标签持有人相关信息的载体。二十世纪90年代,RFID技术开始广泛应用于交通、门禁等领域。近年来,RFID技术不断出现在各种新的应用领域,例如商品防伪、产品溯源、电子护照、图书管理、物流管理、奥运门票等。
毫无疑问,RFID技术的推广应用使得人类生活变得更加方便,但与其他通信系统一样,RFID系统也面临着各种安全威胁。随着物联网的发展,作为其核心技术之一的RFID技术的应用越来越广泛与深入,RFID系统的安全问题日益突出,已经影响到了RFID产业的健康发展。RFID安全问题主要表现在:攻击者窃听读写器与标签之间的通信信息,并根据窃听到的信息,使用非法读写器向服务器发起信息重放从而免费获取服务器端资源,并对服务端数据库造成篡改数据、泄露有用数据信息等威胁;持有标签的用户可能在不知情的情况下被附近的读写器识读,从而导致标签携带的物品或用户信息被泄露等安全问题。
对于如何提高RFID系统整体安全性能这一问题,当前业界普遍认可的一种方法是:在系统中运行一套安全认证协议,使后台服务器、读写器和标签三者间的信息交互安全可信。但是,考虑RFID设备的存储能力、运算能力,以及能量消耗等问题,已有的认证协议应用于RFID系统存在如下一些缺陷:
⑴性能优异的安全认证协议因为对系统的运算处理能力要求较高而无法被移植运用到一般的RFID系统中;
⑵服务器端在处理多读写器、多标签认证、解析请求时采用开销极大的穷举运算方式,使其承担了过重的处理和计算负荷,增加了认证耗时;
⑶对各种常见攻击手段的应对策略还不够完善,只能有效抵抗某几种攻击,而对另一些攻击却无能为力;
⑷读写器只需对服务器和标签在双向认证中交互的信息进行简单的中继,使得两者不能对读写器的身份进行正确鉴别,这样就为非法读写器进入系统并破坏安全认证协议的正常执行提供了机会。
在实现本发明的过程中,发明人发现现有技术中至少存在安全性差、适用范围小和能耗高等缺陷。
发明内容
本发明的目的在于,针对上述问题,提出一种射频识别设备的轻量级安全协议认证系统,以实现安全性好、适用范围广和能耗低的优点。
本发明的第二目的在于,提出一种射频识别设备的轻量级安全协议认证方法。
为实现上述目的,本发明采用的技术方案是:一种射频识别设备的轻量级安全协议认证系统,包括依次连接的服务器端、读写器端和电子标签,其中:
所述服务器端,用于创建并存储读写器信息表和标签解析信息表,以及用于与读写器端建立通信连接以对待认证读写器进行认证;
所述读写器端,用于将所述服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中,以及用于与所述服务器端建立通信连接以对待认证读写器进行认证;
所述电子标签,用于设置在相应产品上,以对相应产品进行标识。
进一步地,所述服务器端,包括用于创建并存储读写器信息表和标签解析信息表的数据库,用于与读写器端建立通信连接的通信模块,以及用于依据读写器端发送的认证请求命令对相应读写器的身份进行认证并反馈认证结果的身份认证模块所述通信模块分别与数据库和身份认证模块连接。
这里,数据库可以根据不同规模的实际应用系统选择不同的数据库,如SQLServer,MySQL,Oracle,SQLite。实例中选用了小型轻量数据库SQLite。通信模块,可以自主编程实现,硬件实现中无需集成专一的通信模块;因为服务器与读写器之间原本就能通过各种方式进行通信,如WiFi,ZigBee等。身份认证模块,可以软件编程实现;如需硬件实现,只能根据需求,自主设计;其中AES算法或者所采用算法为其它算法时,硬件实现该算法可以考虑购买该算法的IP核,采用FPGA进行实现。
进一步地,所述身份认证模块,包括用于根据相应认证请求命令的命令标识查询数据库、以获取与该认证请求命令中读写器编号匹配的合法读写器身份信息的解密密钥的解密密钥获取模块,用于解密认证请求命令中的身份信息密文的解密模块,用于将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配、以验证待认证读写器身份的合法性的匹配及验证模块,以及用于根据验证结果决定是否向该读写器端开启相关服务、并向该读写器端反馈是否认证成功的信息的验证结果处理及反馈模块;所述解密密钥获取模块、解密模块、匹配及验证模块、以及验证结果处理及反馈模块依次连接。
这里,解密密钥获取模块,可以软件编程实现,就是对数据库的访问操作。匹配及验证模块,是身份认证模块的功能,可以只是软件编程中的一个比较语句。验证结果处理及反馈模块,可以在软件编程时采用语句实现。
进一步地,所述读写器端,包括用于将所述服务器端存储的读写器信息表中相应信息写入合法读写器端的射频模块的OEM配置数据中的唯一串号字段写入模块,用于对读取电子标签信息的读写器进行初始化的初始化模块,用于读取电子标签信息的读取电子标签信息模块,以及用于与服务器端建立通信连接的通信模块;
所述读取电子标签信息模块、初始化模块、唯一串号字段写入模块和通信模块依次连接,读写器端与服务器端需要连接的只有两者之间的通信模块,所述唯一串号字段写入模块写入的信息是服务器端数据库中保存的对应读写器的合法身份信息,所述读取电子标签信息模块与电子标签之间通过射频信号进行信息交互。
这里,服务器端与读写器端之间只有两者的通信模块相互连接,这一连接也并不仅仅包括物理上的连接,有线连接的情况下,二者直接连接,无线情况下,是网络连接。总而言之,就是服务器端与读写器端之间通过两者的通信模块能够互相通信,能够进行信息交互。唯一串号字段写入模块与服务器端数据库之间并不需要连接;只是唯一串号字段写入模块写入的信息是服务器端数据库中保存的对应读写器的合法身份信息。
另外,读写器读取电子标签的信息是通过天线发射射频信号给电子标签,电子标签受到激发后作出一系列反应,根据读写器发送的相关命令,反馈相对应的应答消息;也就是说这个读取电子标签信息模块与电子标签不需要物理意义上的连接。
例如,服务器与读写器端之间的通信协议可以是网络通信协议TCP/IP协议,也可以是用户自定义的一些通信协议,因通信方式的不同而不同。读写器端与电子标签之间的通信协议,如ISO18000-6B、ISO18000-6C。通信模块的通信途径包括有线情况下的串口、USB;无线情况下的WiFi、ZigBee。
同时,本发明采用的另一技术方案是:一种射频识别设备的轻量级安全协议认证方法,包括:
⑴在服务器端的数据库中,创建读写器信息表和标签解析信息表;
⑵在读写器端,向合法读写器的射频模块的OEM配置数据中,写入服务器端数据库中存储的能够标识相应读写器身份信息的唯一串号字段;
⑶读写器端与服务器端建立通信连接后,待认证读写器自动进行初始化、并向服务器端发送认证请求命令;该认证请求命令包含命令标识号、读写器编号和读写器身份密文;
⑷服务器端收到读写器端发送的认证请求命令后,根据该认证请求命令的命令标识,查询数据库,获取与该认证请求命令中读写器编号匹配的合法读写器身份信息的解密密钥;
依据该合法读写器身份信息的解密密钥,解密认证请求命令中的身份信息密文;将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配,以验证待认证读写器身份的合法性;根据验证结果决定是否向该读写器开启相关服务,并向该读写器反馈是否认证成功的信息。
进一步地,在步骤⑴中,在该读写器信息表中,存储有合法读写器的编号、合法身份标识信息和对应的解密密钥,合法读写器的解密密钥为合法读写器加密自身身份信息的密钥;在该标签解析信息表中,存储有具有电子标签的产品的编号信息和对应的产品解析信息。
进一步地,步骤⑵具体包括:
读写器端的应用程序运行时,实时自动抓取读写器射频模块的OEM配置数据中能够标识相应读写器身份信息的唯一串号字段,作为加密密钥,采用AES算法进行加密处理。
进一步地,在步骤⑶中,读写器端的初始化操作包括:
读写器端应用程序调用初始化函数初始化待认证读写器,具体包括:初始化读写器库文件、检测射频模块是否连接并设置单化算法、导出射频模块中OEM配置数据中结构体指针、以及设置默认天线功率;
进一步地,在步骤⑶中,该读写器身份密文的来源,具体为:
利用读写器端初始化过程中导出的射频模块中OEM配置数据中结构体指针,获取指向唯一串号字段的指针,定义数组并保存该唯一串号字段;将依据指向唯一串号字段的指针定义的数组内容作为加密密钥,采用AES加密算法加密该数组内容得到身份信息密文。
进一步地,在步骤⑷中,根据验证结果决定是否向该读写器开启相关服务的操作,具体包括:
①若解密后的信息与数据库中对应编号的读写器身份信息一致,则认证成功,服务器端程序将该请求身份认证的读写器端的IP地址等信息写入到数据库中的“认证读写器信息表”中并反馈“认证成功”信息给读写器;
②若认证失败,则不做处理直接反馈“认证失败”信息给读写器;
③读写器端开始工作,读取产品上的电子标签的内容,因无法解析标签内容所代表的真实产品信息,便需要并将此信息经过处理后向服务器端发送解析信息请求,服务器端接收到解析请求信息时,首先获取读写器端的IP地址等信息,然后查询数据库中的“认证读写器信息表”中是否存在该IP地址信息;
④如果存在,则查询数据库的“标签解析信息表”,获取对应标签编码信息的解析信息并反馈给读写器;
⑤如果不存在该IP地址信息,则表示该读写器身份非法,将直接反馈错误信息给读写器告知其身份并未得到认证。
本发明各实施例的射频识别设备的轻量级安全协议认证系统及方法,由于该系统包括依次连接的服务器端、读写器端和电子标签,其中:服务器端,用于创建并存储读写器信息表和标签解析信息表,以及用于与读写器端建立通信连接以对待认证读写器进行认证;读写器端,用于将服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中,以及用于与服务器端建立通信连接以对待认证读写器进行认证;电子标签,用于设置在相应产品上,以对相应产品进行标识;可以防止非法读写器对服务器资源的不合理访问和对标签内容的正确解读,防止非法读写器对认证协议正常执行破坏;从而可以克服现有技术中安全性差、适用范围小和能耗高的缺陷,以实现安全性好、适用范围广和能耗低的优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明射频识别设备的轻量级安全协议认证系统的工作原理示意图;在图1中,服务器端组成部分间都是相互连通的,存在数据的交换,故用双向箭头表示;读写器端各模块是平等的;虚线表示两者没有直接的信息交互,只是存在对应关系;
图2为本发明中AES加密流程示意图;
图3为本发明中AES解密流程示意图;
图4为本发明中读写器端工作流程图;
图5为本发明中服务器端工作流程图;
图6为本发明射频识别设备的轻量级安全协议认证方法的一轮安全认证全过程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例所要解决的问题是:如何提供一种适用于RFID设备的认证协议,即一种射频识别设备的轻量级安全协议认证系统及方法,该协议能满足以下原则或要求:适用于RFID设备、能耗小、服务器计算开销小、耗时少、能抵抗常见的各种攻击、能防止非法读写器对服务器资源的不合理访问和对标签内容的正确解读,能够防止非法读写器端破坏该认证协议的正常执行。
系统实施例
根据本发明实施例,提供了一种射频识别设备的轻量级安全协议认证系统。如图1所示,本实施例的射频识别设备的轻量级安全协议认证系统,包括依次连接的服务器端、读写器端和电子标签,其中:
服务器端,用于创建并存储读写器信息表和标签解析信息表,以及用于与读写器端建立通信连接以对待认证读写器进行认证;
读写器端,用于将服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中,以及用于与服务器端建立通信连接以对待认证读写器进行认证;
电子标签,用于设置在相应产品上,以对相应产品进行标识。
具体地,上述服务器端,包括用于创建并存储读写器的信息表和标签解析信息表的数据库,用于与读写器端建立通信连接的通信模块,以及用于依据读写器端发送的认证请求命令对相应读写器的身份进行认证并反馈认证结果的身份认证模块;通信模块分别与数据库和身份认证模块连接。
该身份认证模块,包括用于根据相应认证请求命令的命令标识查询数据库、以获取与该认证请求命令中读写器编号匹配的合法读写器身份信息的解密密钥的解密密钥获取模块,用于解密认证请求命令中的身份信息密文的解密模块,用于将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配、以验证待认证读写器身份的合法性的匹配及验证模块,以及用于根据验证结果决定是否向该读写器端开启相关服务、并向该读写器端反馈是否认证成功的信息的验证结果处理及反馈模块;解密密钥获取模块、解密模块、匹配及验证模块、以及验证结果处理及反馈模块依次连接。
上述读写器端,包括用于将所述服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中的唯一串号字段写入模块,用于对读取电子标签信息的读写器进行初始化的初始化模块,用于读取电子标签信息的读取电子标签信息模块,以及用于与服务器端建立通信连接的通信模块;读取电子标签信息模块、初始化模块、唯一串号字段写入模块和通信模块依次连接,读写器端与服务器端需要连接的只有两者之间的通信模块,唯一串号字段写入模块写入的信息是服务器端数据库中保存的对应读写器的合法身份信息,读取电子标签信息模块与电子标签之间通过射频信号进行信息交互。
方法实施例
根据本发明实施例,提供了一种射频识别设备的轻量级安全协议认证方法,包括以下步骤:
⑴服务器端数据库中读写器信息表中保存合法读写器编号及其对应的读写器合法身份标识信息与对应的解密密钥;
认证协议中对信息进行加、解密处理选取了高吞吐量的、适合RFID设备的轻量级加密算法——AES,步骤⑴数据库中对应解密密钥与读写器端加密自身身份信息密钥是同一个密钥。AES是对称分组加密算法,读写器端采用的密钥是其应用程序实时自动获取的身份信息,因而服务器端数据库中读写器信息表中可以只存储两个字段:读写器编号、合法读写器身份信息。而读写器编号则可以根据具体应用中读写器数目来设定编号规则以及编号所需的字节位数。
⑵服务器端数据库中标签解析信息表中保存产品编码信息及其对应的产品解析信息;
步骤⑵中标签解析信息表中保存的产品编码信息是因为电子标签存储内容有限,而实际应用中产品信息量大,这样就需要根据相应的编码规则将产品相关信息映射成有规律的编码信息,并将该编码信息及其映射之前的产品相关信息存储在服务器端的标签信息表中。
⑶向合法读写器的射频模块的OEM配置数据中写入读写器身份信息(唯一串号);
步骤⑶中读写器射频模块OEM(Original Equipment Manufacturer,原始设备制造商)配置数据是在其出厂之前就已经写入,其中的唯一串号字段可以用来标识该模块身份。读写器端运行的应用程序可以通过读写器开发包提供的API函数实时动态获取到该唯一串号字段。
⑷读写器端应用程序运行时实时自动抓取读写器射频模块的OEM配置数据中的读写器身份信息(唯一串号),并将其同样作为加密密钥,采用AES算法进行加密处理;
⑸读写器端与服务器端建立通信后,读写器端将自动进行初始化并向服务器端发送认证请求命令,该命令信息由命令标识号、读写器编号、读写器身份密文组成;
步骤⑸中读写器认证命令标识在本发明所用解决方案中设为“01”(该命令标识可以通过读写器端程序与服务器端程序共同协商来确定),读写器端编号则可以在读写器出厂授权时写入读写器应用软件程序中。
步骤⑸中读写器端初始化并向服务器端发送认证请求包括以下步骤:
①读写器端与服务器端建立通信成功后,读写器端应用程序就调用初始化函数来初始化读写器,初始化包括:初始化读写器库文件、检测射频模块是否连接并设置单化算法、导出射频模块中OEM配置数据结构体指针、设置默认天线功率等;
②利用导出的射频模块中OEM配置数据结构体指针获取指向唯一串号的指针并定义数组保存其指向的内容(唯一串号);
③将②中数组内容作为加密密钥,采用AES加密算法加密该数组内容(明文)得到身份信息密文,按照“请求认证命令标识+读写器编号+身份信息密文”的格式打包数据,并将数据发送给服务器端。
⑹服务器端接收到读写器端发送过来的命令消息后,根据命令标识,查询数据库,寻找与其读写器编号匹配的合法读写器身份信息的解密密钥,解密接收的密文,并将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配,验证读写器身份的合法性,根据认证结果决定是否向该读写器端开启相关服务,并向读写器端反馈认证是否成功信息。
步骤⑹中根据认证结果决定是否开启相关服务包括以下步骤:
①若解密后的信息与数据库中对应编号的读写器身份信息一致,则认证成功,服务器端程序将该请求身份认证的读写器端的IP地址等信息写入到数据库中的“认证读写器信息表”中并反馈“认证成功”信息给读写器;
②若认证失败,则不做处理直接反馈“认证失败”信息给读写器端;
③读写器端开始工作,读取产品上的电子标签的内容,因无法解析标签内容所代表的真实产品信息,便需要将此信息经过处理后向服务器端发送解析信息请求,服务器端接收到解析请求信息时,首先获取读写器的IP地址等信息,然后查询数据库中的“认证读写器信息表”中是否存在该IP地址信息;
④如果存在,则查询数据库的“标签解析信息表”,获取对应标签编码信息的解析信息并反馈给读写器;
⑤如果不存在该IP地址信息,则表示该读写器身份非法,将直接反馈错误信息给读写器告知其身份并未得到认证。
具体地,为了解决本发明所提出的技术问题,参见图2-图6,本实施例的射频识别设备的轻量级安全协议认证方法,包括以下步骤:
㈠服务器端数据库创建
⑴设系统管理某种产品的防伪,那么产品附着电子标签中存储的规律性编码信息及其对应的真实产品的相关信息应当写入服务器端(防伪认证平台)数据库中保存,设为“标签解析信息表”(数据库中表名为Taginfo);
⑵服务器端要验证读写器身份的合法性,就需要将授权读写器的身份信息、对应的读写器编号保存起来,又因为系统中读写器端发送自身身份信息的时候为了保证传输信息的安全性与正确性采用了对称分组加密算法AES加密,所以服务器端接收到的身份信息是密文,需要解密,因为数据库中还应当保存相应读写器编号的解密密钥,因而在数据库中用“读写器信息表”来保存这些信息,包括:读写器编号、读写器身份信息、解密密钥。系统中,读写器的身份信息是应用系统软件实时获取读写器射频模块OEM配置数据结构体中的唯一串号字段内容作为身份信息和加密密钥,因而“读写器信息表”只需保存两个字段:读写器编号、读写器身份信息。
例如,可以采用SQLite数据库。SQLite是一个自持的(self-contained)、零配置的、事务型的关系型数据库引擎。它占用资源非常的低,它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合。创建数据库文件test.db;在其中建表:读写器身份信息表readerinfo、标签解析信息表taginfo,部分数据如下面的表1和表2所示,表1、表2分别是读写器身份信息表、标签解析信息表。
表1
表2
㈡读写器端初始化
⑴读写器端上电运行应用软件程序时就会主动请求连接服务器端,当通信连接成功后,读写器进行初始化,包括:初始化读写器库文件、检测射频模块是否连接并设置单化算法、导出射频模块中OEM配置数据结构体指针、设置默认天线功率等;
⑵利用导出的射频模块中OEM配置数据结构体指针获取指向唯一串号的指针并定义数组保存其指向的内容(唯一串号);
例如,读写器初始化通过调用读写器初始化函数int InitReader(RFID_RADIO_HANDLE *phandleRadio)进行,其中“初始化读写器库文件、检测射频模块是否连接并设置单化算法、导出射频模块中OEM配置数据结构体指针、设置默认天线功率等”实现代码如下:
//第一:初始化读写器库
status=RFID_Startup(&libraryVersion, 0 );//Initializing the ReaderLibrary
if (RFID_STATUS_OK != status)
{
return 11;//11代表初始化读写器库失败
}
//第二:检测已连接的射频模块
if (!pEnumRadio->countRadios)
{
free(pEnumRadio);
return 14;//14表示没有检测到射频模块
}
//第三:检测到射频模块后,打开射频模块,执行成功后,handleRadio获得射频模块的句柄
status=RFID_RadioOpen( pEnumRadio->ppRadioInfo[0]->cookie,phandleRadio,0 );
if (RFID_STATUS_OK != status)
{
free(pEnumRadio);
return 15;//15表示打开射频模块失败
}
//设置标签访问操作的数据回复模式
status= RFID_RadioSetResponseDataMode( *phandleRadio, RFID_RESPONSE_TYPE_DATA, RFID_RESPONSE_MODE_NORMAL);
if (RFID_STATUS_OK != status)
{
free(pEnumRadio);
return 16;//表示设置数据回复模式错误
}
//设置单化算法
status=RFID_18K6CSetCurrentSingulationAlgorithm(*phandleRadio,RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_THRESH);//设置单化算法
if(RFID_STATUS_OK!=status)
{
free(pEnumRadio);
return 17;//设置单化算法失败
}
dynamicQThreshParms.length=sizeof(RFID_18K6C_SINGULATION_DYNAMICQ_THRESH_PARMS);
dynamicQThreshParms.startQValue=7; //0-15
dynamicQThreshParms.minQValue=0; //0-15
dynamicQThreshParms.maxQValue=15; //0-15
dynamicQThreshParms.retryCount=0; //0-255
dynamicQThreshParms.toggleTarget=false; //0-1,A,B翻转
dynamicQThreshParms.thresholdMultiplier=4; //0-255
status=RFID_18K6CSetSingulationAlgorithmParameters(*phandleRadio,RFID_18K6C_SINGULATION_ALGORITHM_DYNAMICQ_THRESH,&dynamicQThreshParms);
if(RFID_STATUS_OK!=status)
{
free(pEnumRadio);
return18;//设置单化算法参数失败
}
if ( pEnumRadio != NULL)
{
free(pEnumRadio);
}
//设置默认天线功率
antConfig.dwellTime=200;
antConfig.handleRadio=*phandleRadio;
antConfig.isOpen=1;
antConfig.powerLevel=300;
result=SetANTConfiguration(0,&antConfig);
if(1!=result)
{
return 19;
}
return 1;//执行成功,返回1
}
㈢加密读写器身份信息
将读写器初始化过程中所得到数组内容作为加密密钥,采用AES加密算法加密该数组内容(明文)得到身份信息密文,按照“请求认证命令标识+读写器编号+身份信息密文”的格式打包数据,并将数据发送给服务器端。具体如下:
⑴AES加密算法:AES加密数据块和密钥长度可以是128比特、192比特、256比特中的任意一个。AES加密有很多轮的重复和变换。大致步骤如下:密钥扩展(KeyExpansion);初始轮(Initial Round);重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey;最终轮(Final Round),最终轮没有MixColumns。具体实施中AES加密数据块和密钥长度是128比特,用Nr表示对一个数据分组加密的轮数。
⑵AES加密、解密算法流程,参见图2和图3;
⑶读写器初始化后保存读写器身份信息数组idbuff内容为:serialnum02。
因此key为serialnum02,加密后密文为:c9e7b43ce200658fb8d75b4987e4151f。
⑷读写器端自动发送认证请求命令消息“命令标识+读写器编号+身份信息密文”,即“010001 c9e7b43ce200658fb8d75b4987e4151f”给服务器端。
㈣安全认证,参见图4和图5:
⑴设系统中设读写器端与服务器端共同约定通信协议如下:“01”代表读写器端发送过来的命令消息为“请求认证读写器身份”命令;“02”代表读写器端发送过来的命令消息为“请求解析读写器所读取到的标签内容”命令;
⑵设授权读写器端上运行的应用程序中已经写入相应的读写器编号;
⑶读写器初始化完成,自动发送“请求身份认证命令消息”给服务器端 ,请求命令消息内容为“010001***……”(此处设读写器编号为“0001”,代表授权读写器中第2号读写器,“***……”代表的是该读写器身份信息经AES加密后的密文信息);
⑷服务器端接收到消息后,先提取其前两位查看命令属性,“01”则提取消息中命令标识后N位查看读写器编号(此处设为4位),则读写器编号为“0001”,然后查询数据库中“读写器信息表”中的“读写器编号”字段,提取“0001”编号对应的“读写器身份”字段内容“serialnum02”,然后用“serialnum02”解密接收到的消息中读写器编号后面的密文,得到明文并将其与“serialnum02”做对比,如果一致,则认证成功,表明该读写器身份合法;如果不一致,则认证失败,表明该读写器身份非法。
例如,参见图6,一轮安全认证的过程可以为:
⑴读写器端向服务器发送“010001 c9e7b43ce200658fb8d75b4987e4151f”;
⑵服务器端接收到来自IP地址为“192.168.1.144” 的命令消息“010001c9e7b43ce200658fb8d75b4987e4151f”后:
①获取消息前两位,判别为“01”,则获取命令标识后4位“0001”,查询数据库Readerinfo表中code=0001对应的Key字段内容“serialnum02”;
②key= serialnum02,解密“c9e7b43ce200658fb8d75b4987e4151f”得到读写器身份信息明文“serialnum02”;
③将解密得到的“serialnum02”与数据库Readerinfo表中code=0001对应的Key字段内容“serialnum02”做比较,判断是否一致(因为Readerinfo表中的Key字段既为合法读写器身份信息又为其加解密密钥);
④步骤③判断结果为真,即读写器身份合法,将该读写器通信IP地址“192.168.1.144”写入数据库“认证读写器信息表ConfirmReader”中;
⑤读写器端接收到来自服务器端的反馈信息“认证成功”;
⑥读写器端读取标签内容“3000601100020000000000094D256498”;
⑦读写器端发送“023000601100020000000000094D256498”解析请求命令消息给服务器端;
⑧服务器端接收到“023000601100020000000000094D256498”,先提取前两位判别为“02”,则获取其IP地址“192.168.1.144”;
⑨服务器端查询数据库中的ConfirmReader,找到了该IP地址;
⑩服务器端查询数据库中的标签解析信息表Taginfo,查找字段tagregion=023000601100020000000000094D256498对应的serverinfo字段内容,得到“2012年电子科技大学射频研究中心123400123”,并将其发送给读写器端;
读写器端接收到“2012年电子科技大学射频研究中心123400123”解析信息,至此,读写器端正确解读附着在产品上的电子标签存储的有关产品真实信息。
㈤服务器端提供服务
根据安全认证结果,服务器端决定是否提供“标签信息解析”服务,具体包括以下步骤:
⑴认证成功的读写器端,服务器端应用系统软件将记录其通信IP地址信息到数据库中的“认证读写器信息表”中,此表在认证成功第一个请求认证的读写器之后实时创建(也可以在㈠服务器端数据库创建时创建该表);
⑵认证失败的读写器端,服务器端应用系统软件将不做出任何处理,只反馈“认证失败”信息给读写器端;
⑶读写器工作中,读取附着在产品上的电子标签内容后,只获得一段编码信息,并不知道其代表产品的哪些信息,因而需要访问服务器端资源来解析此编码信息;
⑷读写器端将读取到的标签内容加上请求解析命令标识“02”发送给服务器端,服务器端应用系统软件先提取前两位判别命令属性,02代表请求解析,因而需要先判别该读写器是否已经通过身份认证;
⑸服务器端应用系统软件实时获取读写器端通信IP地址,并查询“认证读写器信息表”,寻找匹配IP,若寻找到一致IP,则认为该读写器合法,为其开启解析服务:提取命令标识后面的标签编码信息,查询“标签解析信息表”,寻找与该编号信息一致的编码信息对应的解析信息,并将该解析信息反馈给读写器端;若未寻找到一致IP,则认为读写器非法,将不开启解析服务,直接反馈错误信息“Error0000”(表示读写器身份非法)给读写器端。
本发明上述实施例的射频识别设备的轻量级安全协议认证系统及方法,优点主要体现在:首先,协议中用于认证读写器合法身份的信息取自读写器射频模块唯一串号,这一读写器射频模块在协议中只能实时动态获取,这样就能彻底防止因为拷贝软件而造成的身份信息泄露;其次,协议中所选取加密算法为适合RFID系统的轻量级、高吞吐量加密算法AES,在保证系统安全性能的同时,能够减少设备能量的消耗;最后,后台服务器与标签之间的信息交互需要合法读写器中继转发,因而整个系统的数据通信途径能够得到安全保障,抵抗各种常用攻击手段。
综上所述,本发明上述实施例的射频识别设备的轻量级安全协议认证系统及方法,可以达到以下有益效果:
⑴计算开销低、耗时少
①AES算法加密、解密过程中虽然轮变换中存在很多的字节替换、移位、混合运算,但这些计算开销较低,速度较快,尤其是AES的实现都已经有了很多的优化算法,因而整个方案能够满足开销低、速度快的要求;
②服务器端数据库只需进行简单的查询、提取、对比操作,服务器端开销低,并且能够保证认证和解析请求的高速实现;
③在一轮安全认证中,读写器端与服务器端只需交互一条请求命令消息和一条反馈认证消息,较少的交互信息使得整个认证能快速完成。
⑵能抵抗各种常见攻击
①窃听:服务器端与读写器端之间的认证关键在于密钥与读写器身份信息,而这两者前者是服务器端与读写器端事先约定好的,在认证过程中不会被传输,所以不存在被窃听的可能;而读写器身份信息在传输过程中是用密文进行传输的,攻击者无法通过窃听来分析得到读写器真实身份信息;
②数据伪造:攻击者得不到密钥和正确身份信息,伪造不出正确的命令消息来向服务器端发起有效的数据伪造攻击;
③数据篡改:服务器端与读写器端交互的信息都是按照事先约定好的协议进行通信与信息处理的,如果数据被篡改了,服务器端将不能正确识别该命令消息,从而会直接丢弃被篡改的信息;
④信息重放:攻击者重放的信息根据前面①至③可知重放信息不可能按照正确协议给出,所以服务器端在接收到重放信息时就能直接判断出该信息属于攻击信息,会直接丢弃,不会影响正常的服务器端的正常运行;
⑤追踪:该系统中所考虑服务器端是可信服务器端,因而不考虑伪造服务器端来追踪读写器端发出信息,而伪造读写器端追踪服务器端信息,将不能追踪到任何涉及到系统安全的信息,如密钥、读写器身份信息;
⑥除上述几种攻击方式外,非法读写器也可以篡改截获到的信息,或用截获信息中的数据来伪造数据,但前面的分析已经表明,这些信息将直接遭到服务器端的丢弃,无法对服务器端以及整个系统构成威胁。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种射频识别设备的轻量级安全协议认证系统,其特征在于,包括依次连接的服务器端、读写器端和电子标签,其中:
所述服务器端,用于创建并存储读写器信息表和标签解析信息表,以及用于与读写器端建立通信连接以对待认证读写器进行认证;
所述读写器端,用于将所述服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中,以及用于与所述服务器端建立通信连接以对待认证读写器进行认证;
所述电子标签,用于设置在相应产品上,以对相应产品进行标识,所述服务器端,包括用于创建并存储读写器信息表和标签解析信息表的数据库,用于与读写器端建立通信连接的通信模块,以及用于依据读写器端发送的认证请求命令对相应读写器的身份进行认证并反馈认证结果的身份认证模块;所述通信模块分别与数据库和身份认证模块连接,所述身份认证模块,包括用于根据相应认证请求命令的命令标识查询数据库、以获取与该认证请求命令中读写器编号匹配的合法读写器身份信息的解密密钥的解密密钥获取模块,用于解密认证请求命令中的身份信息密文的解密模块,用于将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配、以验证待认证读写器身份的合法性的匹配及验证模块,以及用于根据验证结果决定是否向该读写器端开启相关服务、并向该读写器端反馈是否认证成功的信息的验证结果处理及反馈模块;所述解密密钥获取模块、解密模块、匹配及验证模块、以及验证结果处理及反馈模块依次连接。
2.根据权利要求1所述的射频识别设备的轻量级安全协议认证系统,其特征在于,所述读写器端,包括用于将所述服务器端存储的读写器信息表中相应信息写入合法读写器的射频模块的OEM配置数据中的唯一串号字段写入模块,用于对读取电子标签信息的读写器进行初始化的初始化模块,用于读取电子标签信息的读取电子标签信息模块,以及用于与服务器端建立通信连接的通信模块;
所述读取电子标签信息模块、初始化模块、唯一串号字段写入模块和通信模块依次连接,读写器端与服务器端需要连接的只有两者之间的通信模块,所述唯一串号字段写入模块写入的信息是服务器端数据库中保存的对应读写器端的合法身份信息,所述读取电子标签信息模块与电子标签之间通过射频信号进行信息交互。
3.一种射频识别设备的轻量级安全协议认证方法,其特征在于,包括:
⑴在服务器端的数据库中,创建合法读写器的信息表和标签解析信息表;
⑵在读写器端,向合法读写器的射频模块的OEM配置数据中,写入服务器端数据库中存储的能够标识相应读写器身份信息的唯一串号字段;
⑶读写器端与服务器端建立通信连接后,待认证读写器自动进行初始化、并向服务器端发送认证请求命令;该认证请求命令包含命令标识号、读写器编号和读写器身份密文;
⑷服务器端收到读写器端发送的认证请求命令后,根据该认证请求命令的命令标识,查询数据库,获取与该认证请求命令中读写器编号匹配的合法读写器身份信息的解密密钥;
依据该合法读写器身份信息的解密密钥,解密认证请求命令中的身份信息密文;将解密后的明文与数据库中相应读写器编号的合法读写器身份信息进行匹配,以验证待认证读写器身份的合法性;根据验证结果决定是否向该读写器开启相关服务,并向该读写器反馈是否认证成功的信息。
4.根据权利要求3所述的射频识别设备的轻量级安全协议认证方法,其特征在于,在步骤⑴中,在该读写器信息表中,存储有合法读写器的编号、合法身份标识信息和对应的解密密钥,合法读写器的解密密钥为合法读写器加密自身身份信息的密钥;在该标签解析信息表中,存储有具有电子标签的产品的编号信息和对应的产品解析信息。
5.根据权利要求3所述的射频识别设备的轻量级安全协议认证方法,其特征在于,步骤⑵具体包括:
读写器端的应用程序运行时,实时自动抓取读写器射频模块的OEM配置数据中能够标识相应读写器身份信息的唯一串号字段,作为加密密钥,采用AES算法进行加密处理。
6.根据权利要求3所述的射频识别设备的轻量级安全协议认证方法,其特征在于,在步骤⑶中,读写器端的初始化操作包括:
读写器端应用程序调用初始化函数初始化待认证读写器,具体包括:初始化读写器库文件、检测射频模块是否连接并设置单化算法、导出射频模块中OEM配置数据中结构体指针、以及设置默认天线功率。
7.根据权利要求3-6中任一项所述的射频识别设备的轻量级安全协议认证方法,其特征在于,在步骤⑶中,该读写器身份密文的来源,具体为:
利用读写器端初始化过程中导出的射频模块中OEM配置数据中结构体指针,获取指向唯一串号字段的指针,定义数组并保存该唯一串号字段;将依据指向唯一串号字段的指针定义的数组内容作为加密密钥,采用AES加密算法加密该数组内容得到身份信息密文。
8.根据权利要求3所述的射频识别设备的轻量级安全协议认证方法,其特征在于,在步骤⑷中,根据验证结果决定是否向该读写器端开启相关服务的操作,具体包括:
①若解密后的信息与数据库中对应编号的读写器身份信息一致,则认证成功,服务器端程序将该请求身份认证的读写器端的IP地址信息写入到数据库中的“认证读写器信息表”中并反馈“认证成功”信息给读写器端;
②若认证失败,则不做处理直接反馈“认证失败”信息给读写器端;
③读写器端开始工作,读取产品上的电子标签的内容,因无法解析标签内容所代表的真实产品信息,便需要并将此信息经过处理后向服务器端发送解析信息请求,服务器端接收到解析请求信息时,首先获取读写器端的IP地址信息,然后查询数据库中的“认证读写器信息表”中是否存在该IP地址信息;
④如果存在,则查询数据库的“标签解析信息表”,获取对应标签编码信息的解析信息并反馈给读写器;
⑤如果不存在该IP地址信息,则表示该读写器身份非法,将直接反馈错误信息给读写器告知其身份并未得到认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310197393.5A CN103281189B (zh) | 2013-05-23 | 2013-05-23 | 一种射频识别设备的轻量级安全协议认证系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310197393.5A CN103281189B (zh) | 2013-05-23 | 2013-05-23 | 一种射频识别设备的轻量级安全协议认证系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103281189A CN103281189A (zh) | 2013-09-04 |
CN103281189B true CN103281189B (zh) | 2016-08-17 |
Family
ID=49063648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310197393.5A Active CN103281189B (zh) | 2013-05-23 | 2013-05-23 | 一种射频识别设备的轻量级安全协议认证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103281189B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104299015B (zh) * | 2014-09-25 | 2018-07-06 | 小米科技有限责任公司 | 信息处理方法及装置 |
CN104539399B (zh) * | 2015-01-22 | 2018-07-13 | 上海云鱼智能科技有限公司 | 具有无线通讯功能的设备的编码识别通讯方法 |
US9773432B2 (en) | 2015-06-27 | 2017-09-26 | Intel Corporation | Lightweight cryptographic engine |
CN106919963B (zh) * | 2015-12-25 | 2020-06-05 | 航天信息股份有限公司 | 标签认证装置、物资管理装置及物资管理方法 |
CN108156126B (zh) | 2016-12-02 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 物联网设备的烧录校验方法及装置、身份认证方法及装置 |
CN107070949B (zh) * | 2017-05-24 | 2020-05-05 | 江苏大学 | 一种基于设备指纹的车载网轻量级身份认证协议设计方法 |
CN107704295B (zh) * | 2017-10-31 | 2021-07-23 | 北京小米移动软件有限公司 | 设置自启动权限的方法、装置及存储介质 |
CN108768660B (zh) * | 2018-05-28 | 2021-03-30 | 北京航空航天大学 | 基于物理不可克隆函数的物联网设备身份认证方法 |
CN111241858B (zh) * | 2018-11-29 | 2023-07-18 | 北京航空航天大学苏州创新研究院 | 一种高效全球时空编码读写系统及读写方法 |
CN110060361B (zh) * | 2019-04-25 | 2022-01-25 | 重庆市城投金卡信息产业(集团)股份有限公司 | 基于rfid的车辆消费支付方法及其系统 |
CN110598810A (zh) * | 2019-08-19 | 2019-12-20 | 成都理工大学 | 一种电子标签的数据写入及读取方法 |
CN112699696B (zh) * | 2019-10-21 | 2024-02-27 | 睿芯联科(北京)电子科技有限公司 | 一种射频识别防物理转移方法 |
CN111342974B (zh) * | 2020-02-27 | 2022-11-11 | 上海上大鼎正软件股份有限公司 | 射频识别数据的管理方法、装置、设备和存储介质 |
CN114398916B (zh) * | 2021-07-21 | 2024-05-07 | 威海北洋光电信息技术股份公司 | 射频无障碍人员通道机的数据加密处理方法 |
CN114418045A (zh) * | 2022-01-18 | 2022-04-29 | 北京工业大学 | 一种用于地下管道设备电子信息交互的智能轻量级加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158494A (zh) * | 2011-04-18 | 2011-08-17 | 电子科技大学 | 一种可屏蔽非法读写器的低成本rfid安全认证协议 |
CN102646203A (zh) * | 2012-02-29 | 2012-08-22 | 电子科技大学 | 一种rfid数据传输与认证系统及方法 |
CN102932338A (zh) * | 2012-10-24 | 2013-02-13 | 中国航天科工集团第二研究院七〇六所 | 一种安全的射频识别系统的网络接入系统及方法 |
-
2013
- 2013-05-23 CN CN201310197393.5A patent/CN103281189B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158494A (zh) * | 2011-04-18 | 2011-08-17 | 电子科技大学 | 一种可屏蔽非法读写器的低成本rfid安全认证协议 |
CN102646203A (zh) * | 2012-02-29 | 2012-08-22 | 电子科技大学 | 一种rfid数据传输与认证系统及方法 |
CN102932338A (zh) * | 2012-10-24 | 2013-02-13 | 中国航天科工集团第二研究院七〇六所 | 一种安全的射频识别系统的网络接入系统及方法 |
Non-Patent Citations (2)
Title |
---|
"RFIDGuard: a lightweight privacy and authentication protocol for passive RFID tags";Alex X.Liu, LeRoy A. Bailey,Adithya H. Krishnamurthy;《SECURITY AND COMMUNICATION NETWORKS》;20090901;第384-393页 * |
"RFID身份认证技术研究";龙丽萍;《中国优秀硕士论文数据库》;20130507;第1.1.2、2.2.2、4.2-4.5节 * |
Also Published As
Publication number | Publication date |
---|---|
CN103281189A (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281189B (zh) | 一种射频识别设备的轻量级安全协议认证系统及方法 | |
TWI813677B (zh) | 用於自動物件辨識及鑑認之方法及系統 | |
US7791451B2 (en) | Methods, systems, and computer program products for providing mutual authentication for radio frequency identification (RFID) security | |
CN101553829A (zh) | 控制往来rfid设备的数据访问 | |
WO2006070189A2 (en) | Control of rfid data exchange | |
Choi et al. | An RFID-based anti-counterfeiting system | |
WO2018227685A1 (zh) | 一种终端设备安全接入物联网的方法及系统 | |
CN101980241B (zh) | 一种射频标签认证的方法、系统及装置 | |
CN102437915A (zh) | 基于id变化和密钥阵列的rfid安全认证系统 | |
Alagheband et al. | Unified privacy analysis of new‐found RFID authentication protocols | |
CN106027237B (zh) | 一种rfid系统中基于组的密钥矩阵安全认证方法 | |
CN110492992A (zh) | 一种基于无线射频识别技术的数据加密传输方法 | |
Bilal et al. | A hierarchical anti-counterfeit mechanism: securing the supply chain using RFIDs | |
Peris-Lopez et al. | RFID specification revisited | |
Bilal | Addressing security and privacy issues in low-cost RFID systems | |
Liu et al. | Inductive method for evaluating RFID security protocols | |
Queisser et al. | Cataloging RFID Privacy and Security | |
Kim et al. | Security analysis of RFID authentication for pervasive systems using model checking | |
Chen et al. | An RFID system yoking‐proof protocol conforming to EPCglobal C1G2 standards | |
Zhang | An enhanced lightweight authentication protocol for low-cost RFID systems | |
Jantarapatin et al. | Performance comparison of the authentication protocols in RFID system | |
Wu et al. | RFID System Security | |
Xie et al. | TOA: a tag‐owner‐assisting RFID authentication protocol toward access control and ownership transfer | |
Kim et al. | Analysis of the RFID security protocol for secure smart home network | |
Kang et al. | Security analysis on RFID mutual authentication protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171115 Address after: West Street, Qingyang District of Chengdu City, Sichuan province 610000 84 1 unit 1 Building 6 floor, No. 628 Patentee after: Chengdu Hongfu Radio Technology Co., Ltd. Address before: 214135 Jiangsu New District of Wuxi City Branch Park University Chinese sensor network science and Technology Park building B room 406 business district Patentee before: Wuxi Changda Information Technology Co., Ltd. |