一种计算机可读存储介质和应用该介质的RFID系统的制作方法

文档序号:14078434阅读:188来源:国知局
一种计算机可读存储介质和应用该介质的RFID系统的制作方法

本发明涉及射频电子标签识别领域,特别涉及一种计算机可读存储介质和应用该介质的rfid系统,该介质内存有计算机程序,该计算机程序可被rfid系统的处理器执行。



背景技术:

随着物联网飞速发展,射频识别(rfid,radiofrequencyidentification)技术在当今社会得到广泛应用,因为射频识别技术在信息交换中的广泛应用,其安全性也开始受到重视。rfid系统本身是个开放的识别系统,其通信信道是开放式的,攻击者可以非法窃取rfid系统的读写器和电子标签之间的通信信息,因此,rfid系统存在一定的安全隐患。而且,电子标签的芯片本身的安全性也较差,容易被破解,其传输数据信息的安全性成为急需重视的问题。传统的rfid系统加密方式是通过流密钥等对通信数据进行加密,接收方收到数据后进行解密,如基于线性反馈移位寄存器lfsr的lfsr加解密算法,但是如果数据传输过程中密钥被窃取或遭到泄露,依然不能保证数据传输的安全性。



技术实现要素:

本发明的目的在于提供一种应用于rfid系统认证的流密钥实现方法和用于实现该方法的rfid系统。

发明人发现,认证流密钥的密码强度主要取决于流密钥生成器的设计,随机函数易于产生,良好的随机函数生成的随机数序列可以通过各项相关的检测,但由于出自同样的公式数据之间是有内在联系的、数据之间不是完全独立的,是一种伪随机数,所以不能直接用作流密钥。流密钥的产生一般有两点要求:一是流密钥序列尽可能具有极大的周期和良好的统计性,这是为了防止有效数据在rfid系统的无线传输过程中被窃取而造成泄露;二是流密钥序列要有较高的线性复杂度,能抵御线性逼近攻击。aes加解密算法是目前国际上公认的分组密码算法,相对其他常用的密码算法有着更高的安全性,发明人想到,如果在流密钥生成器的前端部分采用aes加解密算法,也就是在线性反馈移位寄存器lfsr的基础上结合aes加解密算法得到aes-lfsr加解密算法,就可以具备更高的加密等级。

基于以上考虑,本发明的目的通过以下技术方案实现:

提供一种计算机可读存储介质,其存储有基于流密钥的用于实现rfid系统认证的计算机程序,该程序被处理器执行时实现以下步骤:

流密钥生成步骤,流密钥生成器输出的流密钥keyi=[aes-lfsr](sr),其中,sr为输入的初始向量,[aes-lfsr](sr)表示通过aes加解密算法和lfsr加解密算法分别生成基于sr的伪随机数序列,然后对上述两组伪随机数序列进行bool函数处理,从而得到流密钥keyi;

加密步骤,其根据加密函数c=enc(p,keyi)获取密文c,其中,p表示输入的明文,keyi表示流密钥生成步骤中的流密钥keyi;

解密步骤,其根据解密函数p`=dec(c,keyi)获取明文p`,其中,加密步骤中获取的密文c。

其中,所述加密步骤是多轮加密步骤,把该轮加密步骤中的流密钥生成器输出的流密钥keyi作为后一轮加密步骤的初始向量sr。

其中,输入的初始向量sr为128bits。

其中,流密钥生成器输出的流密钥keyi长度为128bits。

其中,所述加密步骤中获取的密文c的长度为128bits。

其中,若初始向量sr和/或流密钥keyi和/或密文c长度不足128bits,高位补零。

其中,若初始向量sr和/或流密钥keyi和/或密文c长度超过128bits时,由低到高分拆为128bits的单元,最后剩余不足128bits的,高位补零,构成128bits。

还提供一种rfid系统,包括处理器和上述计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。

本发明的有益效果:该基于aes-lfsr的流密钥生成器,将aes加解密算法融入到生成流密钥序列的前端部分可以在保证随机性的基础上增加流密钥的安全性。采用流密钥的方式保证了每轮通信过程中密钥的差异性,可以有效抵抗中间人攻击,防止认证过程中密钥窃取或泄露之后带来的安全性问题,增强数据的随机性和可靠性。

附图说明

图1为m级线性反馈移位寄存器lfsr的电路图;

图2为基于aes-lfsr的流密钥生成器结构图;

图3为rfid系统认证过程的加解密流程图;

图4为应用于rfid系统认证的流密钥的实现过程示意图。

具体实施方式

本实施例中的用于实现应用于rfid系统认证的流密钥的rfid系统,包括如图2所示的基于aes-lfsr的流密钥生成器,aes和lfsr构成该基于aes-lfsr的流密钥生成器的前端部分,将aes和lfsr分别产生的伪随机数序列经过bool函数的非线性组合后最终得到rfid系统认证过程中需要的流密钥。bool函数具有非线性性和低自相关性,bool函数的随机性更强,其安全性也就更高,使用bool函数处理aes和lfsr生成的序列得到组合函数,可以提高流密钥的统计特性和复杂度。由于aes加解密算法本身具备较高的安全性,攻击者很难破解,因此,攻击者也很难得到基于aes-lfsr的流密钥生成器生成的序列的初始向量,将aes加解密算法融入到生成流密钥序列的前端部分可以在保证随机性的基础上增加流密钥的安全性。而且aes和lfsr这两种算法都是具有较快的运算速度,该基于aes-lfsr的流密钥生成器的整体运行速度较快,适合用在对处理速度要求较高的rfid系统信息传输过程中。

其中,线性反馈移位寄存器lfsr是该基于aes-lfsr的流密钥生成器产生流密钥序列前端部分的关键电路之一,m级线性反馈移位寄存器lfsr的电路图如附图1所示,可以产生最多2m-1种状态,输出多项式为g(x)=gmxm+gm-1xm-1+......+g1x+g0,每个周期输出m个q的值构成线性反馈移位寄存器lfsr的输出序列。

如图3所示,rfid系统认证的加解密过程如下:当输入为key和p时,采用加密模块,得出的是c=enc(p,key),其中,key为输入的流密钥,p为明文,c为密文;如果以key和c作为输入,则采用解密模块,得出p’=dec(c,key),若p与p′经比较后相等,则认证通过。认证过程及认证过后的其他流程中,加解密使用的密钥key均是采用的流密钥的方式。在rfid应用的多轮加解密过程中,加密函数为enc(sr,key),其中sr为输入的128bits的初始向量,即为种子,key为输入的流密钥,[aes-lfsr](sr)为流密钥生成器的128bits输出。当需要使用第二轮或者更多轮时,则是以上轮的输出作为下一轮的初始向量sri,运算[aes-lfsr](sri),再次进行流密钥生成器处理得到输出值,以后的以此类推。

流密钥生成器流密钥产生的过程可以描述为:

keyi=[aes-lfsr](sr)

其中,keyi表示流密钥生成器的输出。

加密过程则可以描述为:

c=enc(p,keyi),

其中,c表示密文,p表示明文。

解密过程则可以描述为:

p=dec(c,keyi),

其中,c表示密文,p表示明文

流密钥在生成和使用的要求如下:

1)输入的初始化向量sr为128bits,输出密文c为128bits,流密钥keyi长度为128bits。

2)当明文需要加密或者密文需要解密,长度不足128bits时,高位补零,计算结果超出长度为无效值;当长度超过128bits时,由低到高分拆为128bits的单元,最后剩余不足128bits的,高位补零,构成128bits。

3)第一轮流密钥生成器产生的128bits的输出keyi作为下一轮流密钥生成过程中的初始向量,以此类推,增加了流密钥的无法预测性。

4)流密钥生成器产生的128bits的keyi再和128bits的明文进行加密操作得到最终输出的密文c,此过程中用到的加解密算法可以根据实际情况采用,由特定的rfid系统的读写器pcd和射频卡picc决定。

5)在rfid系统的读写器pcd与射频卡picc的认证过程中,输入是初始向量sr和明文p,读写器pcd和射频卡picc中的sr都先经过aes-lfsr流密钥生成器的处理后输出keyi,这个keyi即是认证过程中共享使用的密钥,每一轮认证都会生成新的流密钥,然后在读写器pcd和射频卡picc端分别执行加密过程,即enc(p,keyi)和解密过程,即dec(c,keyi),最终完成认证。

6)在rfid的认证成功后,读写器pcd与射频卡picc的信号传输过程中需带有密文数据c和该轮加密使用的流密钥keyi,但是不涉及到流密钥生成器的部分,即使数据传输过程中密钥被窃取或遭到泄露,也不能直接得到未加密的原始数据。

该基于aes-lfsr的流密钥生成器,采用流密钥的方式保证了每轮通信过程中密钥的差异性,可以有效抵抗中间人攻击,防止认证过程中密钥窃取或泄露之后带来的安全性问题,增强数据的随机性和可靠性。

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