实用新型内容
本实用新型的目的在于克服现有技术的缺陷,而提供一种加密型电子标签读写装置,用于读写加密型RFID卡。
为实现上述目的,本实用新型采用以下技术方案:
一种加密型电子标签读写装置,包括与RFID卡射频通讯连接的射频模块,及与射频模块连接的微控制器、与微控制器连接的通信模块,所述的通信模块与上位机连接,还包括与微控制器连接的安全模块,所述的RFID卡为加密型RFID卡。
其进一步技术方案为:还包括用于固定微控制器的电路板,所述的电路板上设有用于插入安全模块的插槽。
其进一步技术方案为:还包括用于固定微控制器的电路板,所述的电路板上设有用于连接安全模块的ISO7816接口,所述的安全模块设有ISO7816端口。
其进一步技术方案为:所述的安全模块为HDSM007型芯片;所述的加密型RFID卡包括卡体,及设于卡体内的CIR72128BA芯片。
其进一步技术方案为:所述的上位机为PC机。
其进一步技术方案为:所述的通信模块为USB型通信模块。
本实用新型与现有技术相比的有益效果是:本实用新型采用安全模块,能实现对加密型RFID卡的读写,大大地提高了RFID电子标签的使用安全;促进RFID卡在门禁系统、物流配送和产品识别等领域的广泛应用。其中,采用CIR72128BA芯片的的RFID卡,和HDSM007型芯片的安全模块,符合SM7算法,极大地增强了RFID的使用安全。
下面结合附图和具体实施例对本实用新型作进一步描述。
具体实施方式
为了更充分理解本实用新型的技术内容,下面结合具体实施例对本实用新型的技术方案进一步介绍和说明,但不局限于此。
如图1所示的具体实施例一,本实用新型一种加密型电子标签读写装置,包括与RFID卡射频通讯连接的射频模块11,及与射频模块11连接的微控制器12、与微控制器12连接的通信模块13,通信模块13与上位机40连接,还包括与微控制器12连接的安全模块14,其中,RFID卡为加密型RFID卡20。还包括用于固定微控制器的电路板30,电路板30上设有用于插入安全模块14的插槽31,也即安全模块为内置型,和微控制器设在同一壳体内。
如图2所示的具体实施例二,与上述实施例不同之处在于,电路板30上设有用于连接安全模块14A的ISO7816接口32,安全模块14A设有ISO7816端口,也即安全模块为外置型。
如图3所示的具体实施例三,与上述实施例二的不同之处在于:安全模块14A为HDSM007型芯片;加密型RFID卡20包括卡体21,及设于卡体21内的CIR72128BA芯片22。
上述各实施例中,上位机40为PC机,通信模块13优选为USB型通信模块。于其它实施例中,通信模块13也可能采用串口通信型通信模块。
以下为具体实施例三中的MCU(即微控制器)处理流程:
为保证数据的安全性以及系统运行效率,将电子标签的认证及通讯加密过程放到读卡器MCU固件程序中处理。根据以上要求,MCU固件程序需要具有的功能如下:
支持标签及SAM(即安全模块)命令接口;
处理标签和SAM的认证过程;
处理标签命令的通讯加密过程。处理流程如图4所示:
流程说明:
1)发出电子标签认证命令
读写器在与电子标签建立通讯连接之后,向SM7电子标签(即采用CIR72128BA芯片的加密型RFID卡)发送认证命令,启动双向认证过程。
2)处理认证命令,电子标签接收到认证命令后,执行如下操作:
启动电子标签内部的随机数模块,产生4字节随机数RT;
发送随机数RT给读写器(即读写装置);
3)发出SAM认证初始化命令Init For SM7Authentication
读写器将4字节随机数和密钥分散因子作为命令的数据域,发出SAM认证初始化。本文档中密钥分散级别分为0级和1级。0级即对密钥不作分散,适用于电子标签初始化密钥认证过程;1级分散时使用电子标签的UID作为分散因子,适用于个人化/应用密钥认证过程。由于我们现在使用的CIR72128BA的UID为7个字节,我们在这里约定补一个字节的00,因此分散因子的内容为UID0~UID6||00。
读卡器在防冲突过程中获取电子标签的UID并保存,以备后续认证过程使用。
4)处理SAM认证初始化命令Init For SM7Authentication
SAM在接收到读写器发出的SAM认证初始化后,将执行如下操作:
启动SM1进行密钥分散;
将SM1密钥分散产生的16字节SM7子密钥,作为后续SM7加密和解密运算的密钥;
产生随机数RR;
使用SM7算法对RR||RT进行分组加密,产生Token1;
将产生的Token1发送给读写器并保存RR。
5)发出Token1给电子标签
读写器接收到SAM发出的Token1后,立即将其发给SM7电子标签。
6)处理Token1
SM7电子标签在接收到Token1后,执行如下操作:
使用SM7算法对Token1进行解密得到RT′和RR′;
判断RT′是否与产生的RT相同,如果相同,则通过对读写器的认证;
产生随机数RT″;
使用SM7算法对RT″||RR′进行分组加密,产生Token2;
将Token2作为IV使用SM7进行加密,产生电子标签内部的初始通讯密码流;
发送Token2给读写器。
7)发出SAM认证命令SM7Authentication
读写器接收到Token2后,将Token2作为命令的数据域,发出SAM认证命令2。读写器可以通过命令的参数规定产生的初始通讯密码流长度,该长度必须为8或8的整数倍。
8)处理SAM认证命令SM7Authentication
SAM接收到读写器发出的SAM认证命令2后,将执行如下操作:
使用SM7算法对命令数据域传递过来的Token2进行解密得到RR″;
判断RR″是否与RR相同,如果不相同,返回状态码′63 00′,认证失败;如果相同,则通过对电子标签的认证,继续后续步骤;
将Token2作为IV使用SM7进行加密,产生8字节的初始通讯密码流;
如果命令传入的L大于8,则将上一步产生的8字节通讯密码流反馈回SM7的输入端进行加密,产生后续8字节的通讯密码流。重复该步骤,直到产生的通讯密码流长度等于L规定的长度。
发送初始通讯密码流给读写器。
9)发出加密的命令X
读写器使用SAM模块发送的初始通讯密码流对命令X进行按位异或加密,并将加密后的命令X发给SM7电子标签。
10)处理加密后的命令X
SM7电子标签在接收到加密后的命令X后,执行如下操作:
SM7电子标签使用初始通讯密码流对加密命令进行按位异或,得到解密后的命令;
命令处理;
使用剩余密码流对命令响应进行按位异或加密;
发送加密后的命令响应。
11)处理加密后的命令响应
读写器使用剩余密码流对SM7电子标签发出的加密响应进行按位异或,得到明文响应。
12)发出通讯密码流产生命令产生初始通讯密码流之后,当读写器判断剩余的通讯密码流长度小于即将加密或解密的命令或响应时,会向SAM发出安全计算命令(SM7Secure Calculation),产生通讯密码流。
13)处理通讯密码流产生命令
SAM接收到读写器发出的通讯密码流产生命令后,会将上一次产生的通讯密码流反馈回输入端重新进行SM7加密,产生新的8字节通讯密码流,重复这一步骤,直到产生的通讯密码流长度达到Le规定长度,发送给读写器。读写器将新产生的密码流连接在剩余密码流后面,对待加密或解密的信息进行异或操作。
14)发出加密的命令Y
同步骤9)。
注1:MCU处理认证命令时和其他命令有些区别。首次作认证时,整个过程都是明文传输,没有通讯加密。再次认证时,只有发给标签认证命令需要使用首次认证获得的密码流做通讯加密,之后的认证过程中所有指令和数据通讯都以明文方式进行,待认证完成后重新获得密码流。
注2:由于SAM和标签之间的密钥认证过程是MCU来处理的,因此,升级MCU固件程序必须要了解SAM和标签之间的密钥对应关系。
综上所述,本实用新型采用安全模块,能实现对加密型RFID卡的读写,大大地提高了RFID电子标签的使用安全;促进RFID卡在门禁系统、物流配送和产品识别等领域的广泛应用。其中,采用CIR72128BA芯片的的RFID卡,和HDSM007型芯片的安全模块,符合SM7算法,极大地增强了RFID的使用安全。
上述仅以实施例来进一步说明本实用新型的技术内容,以便于读者更容易理解,但不代表本实用新型的实施方式仅限于此,任何依本实用新型所做的技术延伸或再创造,均受本实用新型的保护。本实用新型的保护范围以权利要求书为准。