基于RFID的防伪读写器设计
随着假冒伪劣商品的日益猖獗,使用安全可靠的防伪技术手段来进行商品防伪显得极为重要。笔者设计了一款基于RFID的防伪读写器,能够实时识别各种RFID防伪标签信息。
此外,为了便于用户操作读写器设计了人机交互部件,并将读写设备设计成一个HID设备,避免了安装驱动带来的麻烦。能够通过在线USB方式以及无线WIFI方式对商品真伪进行判断,是连接防伪商品与服务器的桥梁。产品在防伪验证时结合了读写器、RFID电子标签、客户端以及服务器等多方面的共同作用进行实时防伪识别,保证了防伪系统的安全可靠性。基于在防伪系统中的特殊应用,读写器的设计也十分小巧灵活,安全性高,在进行商品防伪鉴定时操作简单,使用方便。
1 系统总体概述
本系统设计的是一款基于RFlD的防伪系统读写器,主要用于商品真假的鉴定,从而较好的保护知识产权和消费者的合法权益。此系统主要包括:MCU核心控制组成模块、液晶显示模块、键盘控制模块、13.56 MHz标准电子标签模块、无线传输Wifi模块、有线传输USB模块等,系统结构框图如图1所示。
2 各模块的介绍
2.1 MCU控制部分
MCU芯片选用的是ZTEIC国民技术公司生产的芯片Z8D168。它采用了ZTEIC自行开发的Zi8051-SC8位安全MCU核,与工业标准8051指令集完全兼容的单周期高性能8位安全微控制器,内部集成了各种公钥算法引擎,可以支持大数模乘、模幂等运算处理,可支持几种加解密算法。对AES算法的运算速度可以到2.4 Mbps,且提供有专用的存储空间用于存储运算的中间数据及最后结果,因此本系统采用AES解密的方式对标签中的数据进行解密能极大减少运算量,且保证解密数据的准确性。此外还包含有一些安全特性如防止DPA/SPA攻击、存储区域加密、总线加扰、安全优化布线、每一颗芯片具有唯一序列号。芯片的供电电压为2.7~5.5 V,一般选择较常用的供电电压3.3 V和5 V。因此选用此款MCU芯片能增加系统的防伪力度。整个电路的设计围绕Z8D168展开,以此MCU为核心通过增加外围电路实现对防伪电子标签的访问等。
2.2 人机交互部分
读写器设置有键盘控制和液晶显示部分方便用户操作,均采用串行的方式以节约引脚。液晶控制部分采用HT1621LCD驱动芯片控制段式液晶显示6位密码数字,键盘控制部分采用HD7279A芯片连接16键的键盘矩阵。其中HT1621是128点内存映象和多功能的LCD驱动器,通过软件配置特性使它适用于多种LCD应用场合,包括LCD模块和显示子系统。用于连接主控制器和HT1621的管脚只有4或5条可以减少MCU引脚占用率,此外HT1621还有一个节电命令用于降低系统功耗。HD7279A是一片具有串行接口可同时驱动8位共阴极数码管的智能显示驱动芯片,该芯片同时还可以连接多达64键的矩阵键盘,其芯片内部含有译码器,可以直接接受BCD码或16进制码,并同时具有2种译码方式,64键键盘控制器内含抖动电路能精确读取键值。
2.3 13.56 MHz电子标签
此系统采用13.56 MHz的RFID电子标签卡来完成操作。读写芯片FM1702选用的是复旦微电子股份有限公司设计的基于ISO14443标准的非接触式专用读卡机芯片。FM1702SL使用的认证算法为三重认证,是基于密钥长度为48比特的私有加密数据流。当一张电子标签卡按照ISO144 43A协议被选中后,用户可以按照标准协议继续操作。在卡认证过程中,加密算法被初始化,在成功认证之后与卡的通讯处于加密状态。FM1 702支持13.56 MHz频率下的typeA非接触通信协议和多种加密算法,芯片内部有高集成度的模拟电路,只需少量的外围电路连接即可以使用,操作距离可以达到10 cm。支持SPI接口模式,内部包含512byte的EEPROM和64byteFIFO,具有TTL和CMOS 2种电压工作模式。
2.4 无线发送部分
无线数据收发部分采用的是海凌科有限公司推出的全新的第三代嵌入式UART-Wifi模块产品HLK-WIFI-M03,内置IEEE802.11无线网络协议栈以及TCP/IP协议栈,可以实现串口数据到无线网络之间的传输,能将MCU串口中的数据以Wifi无线网络形式发送出去。全面支持串口透明数据传输、DHCP协议动态IP地址分配和DNS域名解析功能,最高可达11 kB/s的发送速率。支持串口的波特率范围1 200~115 200 bps,可使用的频率范围为2.412~2.484 GHz,通过连接符合IEEE802.11g/802.11b标准的2.4 G天线可以满足频率要求。
2.5 数据通信部分USB实现
此系统采用的是USB通信连接,芯片自带有USB通信接口,但设备作为HID(Human Interface DevICe)设备来与主机通信。HID设备的一个好处是操作系统自带了HID类的驱动,编写程序时只需通过函数调用即可完成通信。可以大大减少初次使用读写器时安装设备驱动带来的不便。
3 各模块功能的实现方法
此读写器在使用时有两方面的功能,可以通过USB方式以及无线wifi方式传输数据。读写器与PC机通过在线判断时采用的是USB的连接形式,此时的读写器作为一个HID设备。将读写器与主机通过USB口直接相连,读写器将解密后的数据通过USB传给主机判断,主机将收到的数据与数据库中存储的数据比对,即可核实产品的真伪信息。在PC机出现故障的情况下或是数据库没有更新时,可能会识别成判断有误,此种情况下可以通过无线方式将数据信息通过Wifi以无线形式传输给服务器由服务器判断并返回判断结果给读写器。利用读写器的这些功能可以保证及时对每个商品进行正常的真伪检验,可以时刻保护消费者的合法权益。
4 软件实现方法
目前使用的防伪系统设计主要是先读取RFID电子标签中的数据并传输给读写器,读写器对读取的数据进行解密处理,将解密数据与服务器端数据库中的信息比对,判断商品的真伪。具体设计流程如图2所示。其中读写器设计部分包括电子标签的读取、USB及wifi通信部分、数据解密处理部分和读写器与PC机相互通信部分的设计。
4.1 电子标签的控制
MCU对13.56 MHz RFID标签的操作需要多条指令的联合操作完成,其中必须对FM1702SL的内部寄存器进行设置。主要包括复位初始化FM1702SL、读写器向标签发出请求、选择标签、三次相互验证、读写操作6个操作步骤。如图3所示。
4.2 USB HID通信的设计
USB HID的实现需要靠硬件与PC机端的软件共同作用。HID设备只通过控制和中断管道与主机通信,控制管道主要完成接收与响应USB主机的控制请求;中断管道主要用于主机接收USB设备的异步传输数据和主机将实时性的数据发送给USB HID设备。HID设备的描述符除了与USB标准描述符相同的5个描述符:设备描述符、配置描述符、端点描述符、字符串描述符、接口描述符外,还有3个HID设备类特定描述符:HID描述符、报告描述符、实体描述符,如图4所示。其中HID描述符主要描述HID规范的版本号、通信所使用的额外描述符、报表描述符的长度等;在定义接口描述符时,要将HID类别设为0x03,主机就会请求继续得到HID描述符以及报告描述符信息。主机首先发送SETUP封包给设备以读取默认地址0的设备描述符,读写器接收到SETUP中断后判断数据信息并将相应的描述符信息发送给主机,主机再根据HID描述符的信息请求其相关的描述符。
4.3 加解密算法的设计
读写器利用安全加解密MCU芯片通过编程设计高级对称加密算法AES来实现对读取到的数据加密或解密。AES算法标准已经嵌入在MCU中,在利用AES算法时通过函数接口实现对算法的访问。在解密运算时,读写器生产商首先通过数字签名从CA认证中心获取解密密钥,当读写器读到RFID标签数据后开启AES数据解密功能进行解密运算。将解密运算结果从内存中取出通过USB传输给PC机供后续防伪判断处理。
4.4 读写器与PC机的通信
读写器通过接收PC机的指令识别出指令是否有效并执行相应操作,在USB模式下如果识别为传送标签信息指令,则将解密好的数据信息通过USB传递给PC机接收,PC机将数据保存,并提取出电子标签中所包含的标签UID信息和商品的ID信息,与服务器中的数据库进行比对,经查找后能在数据库中找到相同的信息则视该商品为正品,否则为伪造商品。在无线传输模式下,读写器采用的是串口形式将处理的数据传递给尤线收发模块,由此模块将数据信息以无线Wifi形式传递给服务器接收,只要将服务器端正确的地址、用户信息等写入Wifi模块,就可以建立客户端与服务器之间的无通信。
5 结束语
文中介绍了基于RFID的防伪系统读写器的设计,包括硬件电路的设计与软件的实现。该读写器可以有效防止防伪标记的二次利川和复制,能实时检测商品的属性判断商品是否为伪劣品,可以达到真正的防伪效果,为消费者和商品零售商防伪识别带来了便利。