一种提高RFID标签系统安全性的方法与流程

文档序号:19117298发布日期:2019-11-13 01:18阅读:277来源:国知局
一种提高RFID标签系统安全性的方法与流程

本发明涉及rfid读写识别安全技术领域,具体涉及一种提高rfid标签系统安全性的方法



背景技术:

rfid(radiofrequencyidentification,无线射频识别)系统设备主要包括rfid读写器及电子标签两部分。rfid读写器的主要功能是质询电子标签、处理标签信息。此外,rfid读写器还具备其他通信接口,如串口、网口等,结合读写器内部的嵌入式系统,可以实现rfid硬件设备与网络的连接。网络上部署的服务器可以利用rfid系统的设备驱动提供的软件接口接收读写器发送过来的电子标签数据,处理数据并通过软件接口向rfid读写器发送指令。电子标签的主要部件是rfid收发器及天线。

当前rfid读写器及rfid电子标签的设计,大都遵循国际标准。这么做的最大好处在于不同厂商、不同品牌的rfid读写器及rfid电子标签能够互相通信,但是同时也带来了安全隐患:粘贴在涉密物品上的rfid电子标签可能会与单位外部的甚至是恶意方的rfid读写器进行通信,并将rfid电子标签中的数据发送给这个不安全的rfid读写器。



技术实现要素:

本发明为了解决上述现有技术的问题,提供一种提高rfid标签系统安全性的方法,通过特定的密钥和加解密算法,围绕rfid系统应用的所有环节,增强rfid系统的安全性,避免rfid信息系统被恶意篡改或非法被他人获取,使得标签具有防伪造、防窃取、防篡改等特性。

为实现上述目的,本发明通过以下技术方案予以实现:

一种提高rfid标签系统安全性的方法,其特征在于,包含以下步骤:读写器利用每一个标签的标签识别号以及第一密钥key1和第二密钥key2进行加密运算生成每个标签独有的防伪造数据;

在标签使用前,读写器先验证标签防伪造数据,通过验证的标签才能用于数据读写;

读写器利用第一密钥key1和第二密钥key2对原始数据进行加密运算和二进制编码运算,生成加密数据;

读写器获取标签中的加密数据,对加密数据进行二进制解码运算,并利用第一密钥key1和第二密钥key2进行解密运算,获得原始数据。

所述的防伪造数据生成方法包含以下步骤:

s1.1、将第一密钥key1连接在标签识别号之后,形成第一防伪造信息,对第一防伪造信息进行第一次加密运算,得到第一防伪造数据m1:

m1=f(标签识别号+key1);(1)

其中,f(x)为加密算法;

s1.2、将第二密钥key2连接在第一防伪造数据m1之后,形成第二防伪造信息,对第二防伪造信息进行第二次加密运算,得到防伪造数据m2:

m2=f{m1+key2};(2)

其中,f(x)为加密算法。

所述的防伪造数据m2和加密数据存储在标签用户区中。

所述的标签防伪造数据验证方法包含以下步骤:

s2.1、读取标签的标签识别号和存储在标签用户区中的防伪造数据m2;

s2.2、利用第一密钥key1和第二密钥key2对标签识别号进行加密运算,得到验证数据m2’;

s2.3、对比验证数据m2’和防伪造数据m2,如果一致,则验证成功,允许对该标签进行读写操作,如果不一致,则阻止对该标签进行读写操作。

所述的数据加密运算包含以下步骤:

s3.1、将第一密钥连接在原始数据后,形成第一加密信息,对第一加密信息进行第一次加密运算,得到第一加密数据a:

a=f(原始数据+key1);(3)

其中,f(x)为加密算法;

s3.2、将第二密钥key2连接在第一加密数据a之后,形成第二加密信息,对第二加密信息进行第二次加密运算,得到第二加密数据a’:

a’=f{a+key2};(4)

其中,f(x)为加密算法;

所述的二进制编码运算包含以下步骤:

根据unicode编码方式对第二加密数据a’进行编码,得到二进制编码数据;将crc-32监督码放在二进制编码数据后面,形成加密数据encodea’。

所述的二进制解码运算包含以下步骤:

crc-32监督码校验加密数据encodea’;校验通过后用unicode编码解析二进制编码数据,获得第二加密数据a’。

所述的数据解密运算包含以下步骤:

s4.1、利用第二密钥key2对第二加密数据a’进行第一次解密运算,得到第一加密数据a;

s4.2、利用第一密钥key1对第一加密数据a进行第二次解密运算,得到原始数据。

本发明与现有技术相比具有以下优点:

一种提高rfid标签系统安全性的方法通过特定的密钥和加解密算法,围绕rfid标签系统应用的所有环节,增强rfid标签系统的安全性,能够有效的避免rfid标签系统被恶意篡改或非法被他人获取。每张标签在开始使用前通过第一密钥key1、第二密钥key2以及相关的加密算法对标签进行出厂预处理,使得每张标签都具有唯一性以及针对此应用的独特性;在具体使用中先对标签进行验证,通过验证的标签才能用于数据存储应用;数据存储时先对原始数据进行两次加密运算,并对加密后的数据进行二进制编码运算;数据读取时对所有加密数据进行二进制解码运算,之后进行两次解密运算才能获得数据;由于第一密钥key1、第二密钥key2、加解密算法以及二进制编码方式是第三方无法获知的,因此提高rfid标签系统安全性的方法系统具有防伪造、防窃取、防篡改的特点。

附图说明

图1为本发明一种提高rfid标签系统安全性的方法流程图;

图2为标签防伪造数据生成方法的流程图;

图3为标签防伪造数据验证方法的流程图;

图4为加密数据生成方法的流程图;

图5为数据解密方法的流程图。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图1所示,读写器利用每一个标签的标签识别号以及第一密钥key1和第二密钥key2进行加密运算生成每个标签独有的防伪造数据,标签使用前先验证标签防伪造数据,通过验证的标签才能用于数据读写;读写器利用第一密钥key1和第二密钥key2对原始数据进行两次加密运算和二进制编码运算,生成加密数据存储在标签用户区中;读写器获取标签中的加密数据,对加密数据进行二进制解码运算,并利用第一密钥key1和第二密钥key2进行解密运算,获得原始数据。

标签的识别号是标签之间身份区别的特征,从安全和方位角度考虑,任何两张标签不应该完全相同,标签应该具有唯一性,同时标签识别号具有适当长度。本实施例中所涉及的标签识别号长度为128位,即16字节。每一张标签在使用前进行出厂预处理,即先用特定加密算法生成防伪造数据,将防伪造数据存储于标签的用户区的特定位置,最后对标签识别号进行签名封装。出厂预处理后的每张标签都具有唯一性,而且具有针对此发明技术方案的独特性。

如图2所示为标签防伪造数据生成方法的流程图:

首先,读取标签中的标签识别号,并判断标签识别号的格式和长度是否符合规则。

然后,选取特定密钥key1,将key1直接连接在标签识别号之后,得到第一防伪造信息,将第一防伪造信息进行第一次加密运算,得到16字节的数字第一防伪造数据ml,其中,key1为事先协商获得,其长度为128位,即16字节;第一防伪造数据m1的具体运算公式为:

m1=f(标签识别号+key1);(1)

式中,f(x)为加密算法。

其次,从标签识别号号中选取64个固定位,抽取64位信息,将这64位迭代扩充为128位,成为长度为16字节的密钥key2;将key2接在第一防伪造数据ml之后形成第二防伪造信息,并对其进行第二次加密运算,得到16字节的防伪造数据m2;防伪造数据m2的具体的运算方式为:

m2=f{m1+key2};(2)

式中,f(x)为加密算法。

最后,将得到的防伪造数据m2存储于标签的用户区的特定位置。

在标签数据存储和数据读取阶段之前,先对标签进行验证,以判断标签是否为假冒,未通过验证的标签不得对标签内容进行数据存储,验证内容即标签所具有的针对于此发明技术的独特性以及标签自身的唯一性。

如图3所示为标签防伪造数据验证方法的流程图:

首先,读取标签识别号和存储在标签用户区中指定位置的预存防伪造数据m2,如不存在防伪造数据m2即表示该标签为假冒。

然后,验证防伪造数据m2的真实性,在读取到标签识别号和防伪造数据m2之后,对标签识别号进行公式(1)、(2)运算,得到验证数据m2’。

最后,对比验证数据m2’和防伪造数据m2,若两者一致,则表示该标签非假冒,即验证成功;否则该标签验证失败并跳出标签使用阶段,不再将指定数据存储于标签中。

数据,即本应用中的系统信息,都存储在标签中的用户区中,数据的存储和读取即操作标签中的用户区。在数据存储阶段,所有的原始数据均进行了两次加密运算,密钥分别为第一密钥key1和第二密钥key2,并对两次加密后的第二加密数据进行二进制编码,其中密钥和二进制编码方式为第三方不可知,从而防止标签数据被窃取。同时为了保障数据的完整性,防止数据被篡改,设置标签user区中部分区段只可一次性写入、不可擦除和修改,即不可二次写入。

如图4所示为加密数据生成方法的流程图:

首先,原始数据的字段具有一定长度,比如断路器有20-30个字段,根据原始数据字段的不同用途进行分类,本实施例中原始数据分类为数据1、数据2、数据3、数据4。

其次,分别将第一密钥连接在不同类型的原始数据后,形成第一加密信息,对第一加密信息进行第一次加密运算,得到第一加密数据a1、a2、a3、a4:

a=f(原始数据+key1);(3)

其中,f(x)为加密算法。

然后,将第二密钥key2分别连接在第一加密数据a1、a2、a3、a4之后,形成第二加密信息,对第二加密信息进行第二次加密运算,得到第二加密数据a1’、a2’、a3’、a4’:

a’=f{a+key2};(4)

其中,f(x)为加密算法。

再然后,根据unicode编码方式分别对第二加密数据a1’、a2’、a3’、a4’进行编码运算,得到二进制编码数据,将crc-32监督码放在二进制编码数据后面,形成加密数据encode(a1’)、encode(a2’)、encode(a3’)、encode(a4’)。

最后,将加密数据encode(a1’)、encode(a2’)、encode(a3’)、encode(a4’)分批存储在标签的用户区中。

数据读取阶段,在过程上实际上是数据存储阶段的逆向过程。首先将对标签内的所有加密数据进行二进制解码,并对解码后的第二加密数据进行两次解密,密钥分别为第二密钥key2和第一密钥key1。二进制解码方式和密钥为第三方未知,同时被篡改的数据无法进行正常处理,从而防止标签数据被篡改。

如图5所示为数据解密方法的流程图:

首先,从标签用户区中的指定位置分批读取加密数据encode(a1’)、encode(a2’)、encode(a3’)、encode(a4’);

其次,使用crc-32监督码分别校验加密数据encode(a1’)、encode(a2’)、encode(a3’)、encode(a4’),校验通过后分别用unicode编码解析二进制编码数据,获得第二加密数据a1’、a2’、a3’、a4’。

然后,利用第二密钥key2对第二加密数据a1’、a2’、a3’、a4’进行第一次解密运算,得到第一加密数据a1、a2、a3、a4。

再然后,利用第一密钥key1对第一加密数据a1、a2、a3、a4进行第二次解密运算,得到分类的原始数据1、数据2、数据3、数据4。

最后,不同类型的原始数据分批显示在rfid用户界面上。

一种提高rfid标签系统安全性的方法通过特定的密钥和加解密算法,围绕rfid标签系统应用的所有环节,增强rfid标签系统的安全性,能够有效的避免rfid标签系统被恶意篡改或非法被他人获取。每张标签在开始使用前通过第一密钥key1、第二密钥key2以及相关的加密算法对标签进行出厂预处理,使得每张标签都具有唯一性以及针对此应用的独特性;在具体使用中先对标签进行验证,通过验证的标签才能用于数据存储应用;数据存储时先对原始数据进行两次加密运算,并对加密后的数据进行二进制编码运算;数据读取时对所有加密数据进行二进制解码运算,之后进行两次解密运算才能获得数据;由于第一密钥key1、第二密钥key2、加解密算法以及二进制编码方式是第三方无法获知的,因此提高rfid标签系统安全性的方法系统具有防伪造、防窃取、防篡改的特点。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1