一种rfid数据加密方法

文档序号:7553152阅读:1240来源:国知局
专利名称:一种rfid数据加密方法
技术领域
本发明属于射频识别和保密通信领域,具体涉及一种RFID数据加密方法。
背景技术
无线射频识别(Radio Frequency Identification, RFID)是一种利用无线射频信号耦合(电磁或者电感耦合)或者雷达反射的传输特性,在读写器和标签之间进行非接触双向数据传输,以达到目标识别和数据交换的目的的技术。这种识别技术的优点之一就是无需任何物理接触或者其他任何可见的接触。RFID技术带来便利的同时,也存在诸如标签信息泄漏、窃取、追踪等安全隐患问题。一个最基本的RFID系统主要由3部分组成:标签(Tag),读写器(Reader)和后台数据库(backend)。按照能量供给原理,标签Tag可以分为主动(Active)标签和被动(Passive)标签。主动标签又被称为智能标签,能运行一些复杂的算法,比如ECC、RSA,安全性较高;被动标签则只能靠与读写器之间切割磁感线产生感应电流来供给能量,内部只有基本的逻辑门电路,可以被不停的访问,直到有回应为止,因此也被称为逻辑卡,现阶段只能运行一些硬件成本低的算法,因此安全性相对较低。主动标签天生的优势,使得它得以继承在移动通信等其它场景中得到认可的优秀的安全算法和方案;被动标签虽然有着极大的成本限制,导致其安全方面存在很多弊端,但也正是它的廉价使得其拥有极其广大的用户。为了解决RFID系统的安全问题,最大限度地降低其面临的安全风险,必须为RFID系统构造一个可靠的安全机制,用于Tag与Reader间的相互认证和传输数据。在提升安全机制方面,近几年国内外RFID方面的研究学者提出了不少的解决办法,目前提出的方案中采用的协议大多是询问/应答的协议模式,不同之处在于所采取的算法不同。主要有基于单向Hash函数和基于传统加密算法两大类。基于单向Hash函数的安全协议主要包括Hash Lock协议、随机化Hash Lock协议、Hash链协议、基于杂凑的ID变化协议、分布式RFID询问/响应认证协议、LCAP协议等。这些协议有各自的缺点,国内外对这方面已经研究的比较透彻,在此不再赘述。基于传统的加密算法的安全协议中,有学者提出基于ECC的公钥认证方案和基于零知识的认证思想。这类协议需要较强的计算能力和较大的存储空间,而一般的Tag所拥有的逻辑门数量大约为5000到10000个,远不能满足传统加密机密算法的需求,因此不适合于低成本的被动标签。

发明内容
本发明的目的是为了解决现有的加密算法不适合于被动标签问题,提出了一种RFID数据加密方法。本发明的技术方案为:一种RFID数据加密方法,包括如下步骤:S1.读写器随机产生两个数rl与r2,使用rl和r2作为输入参数分别产生一个m*n阶矩阵N1和一个n*k阶矩阵M1,得出M1的一个广义逆矩阵Mh,然后将M W N1分别存放在读写器的私有存储空间,同时读写器将i和随机数rl与r2传送给标签;
S2.标签根据接收到的参数rl和r2,使用与读写器一样的矩阵生成方式得到与读写器相同的矩阵N1和M1,同时计算出N1的一个广义逆矩阵Arlj,并将MpN1和Ilj分别存放在标签的私有存储空间;对接收到的右乘M1得到TV1MlMnM1,即N1M1,然后将运算结果存放在标签的动态密钥区,再对MM1AiuM1左乘Ilj并传送给读写器;
S3.读写器收到乂JV1M1MhM1之后,对其左乘N1得到,即N1M1,然后将其传送给标签;
S4.标签收到N1M1之后将其与存储在标签动态密钥区里的值进行比较,如果二者一致则通过第一轮安全认证,否则,第一轮安全认证失败,终止本次通信,第一轮安全认证成功后,根据矩阵M1的列数k将存储在标签存储区中的动态密钥生成序列K转换为k行矩阵P,;对矩阵N1M1右乘矩阵P,相乘的结果记为Q,将矩阵Q中的所有元素按列抽取为一串序列记为Key,然后将Key作为动态密钥并使用固化在标签中的动态密钥加密算法对标签ID号进行加密,加密后的结果为En (Key, IDl),并将其传送给读写器。
S5.读写器收到标签发来的En (Key, IDl)之后将其与矩阵N1M1 —起发送给后台数据库服务器,后台数据库服务器中存储着与标签中相同的动态密钥生成序列K和动态密钥加密和解密算法,采用与步骤S4相同的方式得到动态密钥Key,并通过对密文En (Key,IDl)解密得到标签序列号ID1,然后将解密得到标签序列号IDl在后台数据库服务器中进行验证,如果找到与其相匹配的ID号,则说明所读的标签是合法标签,并通过第二轮安全认证,否则,立即终止本次会话;
S6.第二轮安全认证通过后,后台数据库服务器根据矩阵N1的行数m将动态密钥生成序列K转换为m列矩阵S,接下来对矩阵N1M1左乘矩阵S,相乘的结果记为T,将矩阵T中的所有元素按行抽取为一串序列记为Key’,然后将Key’作为动态密钥并使用动态密钥加密算法对标签ID号进行加密,加密后的结果为En (Key’,IDl),并将其与动态密钥Key’一起传送给读写器;
S7.读写器收到Key’和En (Key’,IDl)之后将Key’存入动态密钥区,用于安全认证通过以后与标签通信的加密密钥,然后将密文En (Key’,IDl)传送给标签,标签收到En(Key’,IDl)之后,采用与步骤S6相同的方式得到动态密钥Key’,并将Key’存入动态密钥区,接下来使用固化在标签存储区中的动态密钥解密算法解出ID1,将IDl与标签自身的ID号进行比对,如果比对结果完全一致则通过第三轮安全认证,否则立即终止本次会话。
进一步的,步骤SI至S7所述的传送均以明文的形式进行传送。
本发明的有益效果:本发明的方法以矩阵运算为基础,由于一个矩阵的广义逆矩阵不是唯一的,因此根据矩阵的一个广义逆矩阵很难破译出矩阵,从而可以用来实现数据加密;同时,本发明的方法引入动态密钥的思想,采用双密钥三重认证机制,这样可以在更大程度上确保数据的保密性和通信的安全性。本发明的方法的实现不需要很强劲的硬件作支撑,可以在有限硬件资源上实现RFID数据加密,使得采用低成本的被动标签实现较高安全性的数据通信成为可能。


图1本发明的RFID数据加密方法流程示意图。
图2实施例中RFID标签存储空间组织结构图。
具体实施例方式下面结合附图和具体实施例对本发明做进一步的说明。由矩阵的理论和性质可知:一个矩阵A的广义逆矩阵不是唯一的,因而由A_很难破译出A。本方法就是基于矩阵的这种特性来实现对通信信息的加密,这样即便信息被非法窃取也很难被破解;同时,本方法还引入动态密钥的思想,采用双密钥三重认证的机制来实现较高强度的加密功能。由于每次通信密钥的选取都是随机的,即使在某一次的通信中密钥被破解也很难再重现,这样保密性就得到了大大增强。下面进行具体说明:(I)如图1所示,首先Reader随机产生两个数rl与r2,使用rl和r2作为输入参数分别产生一个m*n阶矩阵N1和一个n*k阶矩阵M1,通过矩阵运算单元计算得出M1的一个广义逆矩阵M1由于矩阵M1的广义逆矩阵不唯一,这里的M1:代表M1的多个广义逆矩阵中的一个,然后将M,,M N1分别存放在读写器的私有存储空间,以备后续认证时使用。同时,Reader将MMiMh和随机数rl与r2分别以明文的形式传送给标签Tagl。这里表示矩阵大小的行或列的m、n、k可以根据实际情况进行具体设置。下面给出一种矩阵的生成方式。为了便于说明,设定这里的m=k,设矩阵N1为m*n阶矩阵,M1为n*k阶矩阵,m和η中最大的取为4,最小的取为3,不妨设m=4,η=3,输入参数为X,那么矩阵M1的一种生成方式

权利要求
1.一种RFID数据加密方法,包括如下步骤: 51.读写器随机产生两个数rl与r2,使用rl和r2作为输入参数分别产生一个m*n阶矩阵N1和一个n*k阶矩阵M1,得出M1的一个广义逆矩阵然后将M1, Afh,Nl分别存放在读写器的私有存储空间,同时读写器将和随机数rl与r2传送给标签; 52.标签根据接收到的参数rl和r2,使用与读写器一样的矩阵生成方式得到与读写器相同的矩阵N1和M1,同时计算出N1的一个广义逆矩阵并将MpN1和%分别存放在标签的私有存储空间;对接收到的Mm1mU右乘M1得到MM1MliM1,即N1M1,然后将运算结果存放在标签的动态密钥区,再对左乘JVlj并传送给读写器; 53.读写器收到之后,对其左乘N1得到AyV1ViM1MuAi1,即N1M1,然后将其传送给标签; 54.标签收到N1M1之后将其与存储在标签动态密钥区里的值进行比较,如果二者一致则通过第一轮安全认证,否则,第一轮安全认证失败,终止本次通信,第一轮安全认证成功后,根据矩阵M1的列数k将存储在标签存储区中的动态密钥生成序列K转换为k行矩阵P,;对矩阵N1M1右乘矩阵P,相乘的结果记为Q,将矩阵Q中的所有元素按列抽取为一串序列记为Key,然后将Key作为动态密钥并使用固化在标签中的动态密钥加密算法对标签ID号进行加密,加密后的结果为En (Key, IDl),并将其传送给读写器。
55.读写器收到标签发来的En(Key, IDl)之后将其与矩阵N1M1—起发送给后台数据库服务器,后台数据库服务器中存储着与标签中相同的动态密钥生成序列K和动态密钥加密和解密算法,采用与步骤S4相同的方式得到动态密钥Key,并通过对密文En (Key, IDl)解密得到标签序列号ID1,然后将解密得到标签序列号IDl在后台数据库服务器中进行验证,如果找到与其相匹配的ID号,则说明所读的标签是合法标签,并通过第二轮安全认证,否则,立即终止本次会话; 56.第二轮安全认证通过后,后台数据库服务器根据矩阵N1的行数m将动态密钥生成序列K转换为m列矩阵S,接下来对矩阵N1M1左乘矩阵S,相乘的结果记为T,将矩阵T中的所有元素按行抽取为一串序列记为Key’,然后将Key’作为动态密钥并使用动态密钥加密算法对标签ID号进行加密,加密后的结果为En (Key’,IDl),并将其与动态密钥Key’ 一起传送给读写器; 57.读写器收到Key’和En(Key’,IDl)之后将Key’存入动态密钥区,用于安全认证通过以后与标签通信的加密密钥,然后将密文En (Key’,IDl)传送给标签,标签收到En (Key’,IDl)之后,采用与步骤S6相同的方式得到动态密钥Key’,并将Key’存入动态密钥区,接下来使用固化在标签存储区中的动态密钥解密算法解出ID1,将IDl与标签自身的ID号进行比对,如果比对结果完全一致则通过第三轮安全认证,否则立即终止本次会话。
2.根据权利要求1所述的RFID数据加密方法,其特征在于,步骤SI至S7所述的传送均以明文的形式进行传送。
3.根据权利要求1或2所述的RFID数据加密方法,其特征在于,产生矩阵的具体过程如下:设 m=k=4, n=3~r2 r 2 + I r2 + 3 r2 + 5 " 那么矩阵M1的生成方式为:r2 + I r2 + 3 r2 + 5 r2 + Ir2 + 3 r2 + 5 r2 + 7 r2 + 9r\rl + Irl + 3rl + Irl + 3rl + 5 矩阵N1的生成方式为:rl + 3rl + 5rl + 7 。rl + 5rl + 7rl + 9_
4.根据权利要求1或2或3所述的RFID数据加密方法,其特征在于,读写器通过WiFi网络或者GSM无线 网络与后台数据库服务器通信。
全文摘要
本发明公开了一种RFID数据加密方法,具体通过公有密钥、广义逆矩阵运算、标签ID号三轮安全认证实现。本方法以矩阵运算为基础,由于一个矩阵的广义逆矩阵不是唯一的,因此根据矩阵的一个广义逆矩阵很难破译出矩阵,从而可以用来实现数据加密;同时引入动态密钥的思想,采用双密钥三重认证机制,这样可以在更大程度上确保数据的保密性和通信的安全性。本发明的方法的实现不需要很强劲的硬件作支撑,可以在有限硬件资源上实现的RFID数据加密,使得采用低成本的被动标签实现较高安全性的数据通信成为可能。
文档编号H04L9/32GK103152181SQ20131007349
公开日2013年6月12日 申请日期2013年3月8日 优先权日2013年3月8日
发明者李建, 文光俊, 马玉林 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1