基于单向函数的动态口令读写控制的rfid的制作方法

文档序号:7886962阅读:264来源:国知局
专利名称:基于单向函数的动态口令读写控制的rfid的制作方法
技术领域
本发明涉及RFID技术,具体涉及RFID的读写控制技术。
背景技术
射频识别(RFID,I adio Frequency Identification)是一种非接触式的自动识别技术,其基本原理是利用射频信号和空间耦合传输特性,实现对被识物体的自动识别。RFID 系统一般由读写器和电子标签组成,电子标签存储相关物体的各种数据信息,读写器在一定的范围内以无接触的方式将电子标签中的数据信息读取出来(即读操作),并可将处理后的数据信息再写入电子标签中(即写操作)。RFID作为一种新兴的技术,目前已经被广泛应用于仓储管理、停车场管理、防盗系统、动物管理等方面。随着RFID技术的进一步发展,RFID应用的领域会越来越广泛,其中许多领域对数据的安全性有着严格的要求,因此,人们对RFID系统的数据安全性也越来越重视。目前,RFID的读写控制都是在读写器与电子标签经过身份认证之后进行的,当读写器与电子标签相互通过身份认证后,读写器只要向电子标签发送读指令或写指令,此时, 电子标签也不会再次对读写器进行指令认证,读写器即可读取或修改电子标签上的数据信息,因此,现有的RFID系统的安全性较差,容易被不法分子所破解,修改电子标签上的数据信息,造成一定的经济损失。

发明内容
为了克服现有技术的不足,本发明的目的在于提出一种安全性高的基于单向函数的动态口令读写控制的RFID。为了达到上述目的,本发明所采用的技术方案如下
一种基于单向函数的动态口令读写控制的RFID,包括读写器A及电子标签B,其特征在于,读写器A、电子标签B均内置有真随机数发生器、基于单向函数的动态口令模块,且读写器A、电子标签B存储有相同的秘密信息;读写器A与电子标签B当且仅当相互通过身份认证后,才能进行以下步骤读写器A与电子标签B双方协商随机初始值,随机初始值以 randomdata表示,并令读写器A当前云力态口令passwordA=randomdata,电子标签B当前云力态口令passwordB=randomdata, randomdata是由真随机数发生器生成,此时,passwordA禾口 password的值均为初始动态口令的值,然后按照以下步骤进行读操作或写操作; 读写器A与电子标签B进行写操作
(1)设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA (若读写器A首次进行写操作时,则passWOrdA为randomdata),读写器A运行动态口令模块,生成新的动态口令 password/ =OneffayFunc(passwordA, s_message);
(2)读写器A向电子标签B发送写指令,所述写指令的数据函数为WriteData (password/,offsetw,data,Ienw);
(3)电子标签B接收到写指令;
(4)设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB(若电子标签B首次进行写操作时,则paSSWordB为randomdata),电子标签B运行动态口令模块,生成新的动态 □令 passwordB,=OneffayFunc (passwordB, s_message);
(5)电子标签B 对 password/ 与 passwordB'的值进行比对,若 password/=passwordB,, 则执行写指令,Qffsetff为电子标签B执行本次写指令时的起始偏移量,data为读写器A要向电子标签B写入的数据,Ienw为读写器A要向电子标签B写入的数据的长度;否则忽略该写指令;
读写器A与电子标签B进行读操作
(1)设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA(若读写器A首次进行读操作时,则passWOrdA为randomdata),读写器A运行动态口令模块,生成新的动态口令 password/ =OneffayFunc(passwordA, s_message);
(2)读写器A向电子标签B发送读指令,所述读指令的数据函数为ReadData (password/,offsetR,lenE);
(3)电子标签B接收到读指令;
(4)设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB(若电子标签B首次进行读操作时,则paSSWordB为randomdata),电子标签B运行动态口令模块,生成新的动态 □令 passwordB,=OneffayFunc (passwordB, s_message);
(5)电子标签B 对 password/ 与 passwordB'的值进行比对,若 password/=passwordB,, 则执行读指令,offsetK为电子标签B执行本次读指令时的起始偏移量,读写器A向电子标签B读出的数据的长度;否则忽略该读指令;
其中,
s_message为读写器A、电子标签B的秘密信息;
OneffayFunc (passwordA, s_message)为单向函数模块使 passwordA 在 s_message 的作用下进行一次单向函数运算;
OneWayFunc (passwordB, s—message)为单向函数模块使 passwordB 在 s—message 的作用下进行一次单向函数运算。优选的,randomdata、passwordA、passwordB、password/、password/、s—message 的数据长度均为大于O的自然数。本发明具有如下有益效果由于初始动态口令randomdata是由真随机数发生器生成,^message为严格保密的秘密信息,由秘密信息、随机初始值、单向函数组成的动态口令模块每一轮产生的动态口令都是无法预知的,可以防止重放攻击,当读写器对电子标签进行读/写操作时,电子标签都要对指令数据中的password/数据进行校验,从而实现电子标签认证后的动态口令读/写控制,具有极高的安全性。


图1为本发明实施例的基于单向函数的动态口令读写控制的RFID的结构示意图2为本发明实施例的基于单向函数的动态口令读写控制的RFID的读/写操作流程图。
具体实施例方式下面,结合附图以及具体实施方式
,对本发明做进一步描述,以便于更清楚的理解本发明所要求保护的技术思想。为了方便阅读,定义以下符号
s.message 读写器、电子标签享有的秘密信息,秘密信息需严格保密,秘密信息的长度是大于0的自然数。定义如下三个指令函数
OneffayFunc (password, s_message)单向函数(OneWayFunc, One Way Function),动态口令(以password表示)在秘密信息(即sjiiessage)的作用下,进行一次单向函数运算, 从而生成新的动态口令,该函数的输入输出数据长度为大于0的自然数。单向函数是满足以下两个特性的函数给定输入,计算结果是容易的;给定结果, 反求输入是不可行的。WriteData (password, offset, data, len):写指令的数据函数,password 为读写器与电子标签本次写操作所使用的动态口令;off set电子标签本次写操作的起始偏移量, 例如,电子标签里面的数据空间为96byte,如果offset为10,即本次写操作将会从电子标签数据空间的第11个字节开始往后写Ien长度的数据;data为要写入的数据,Ien为要写入的数据的长度。ReadData (password, offset, len)读指令的数据函数,password 为读写器与电子标签本次读操作所使用的动态口令;offset电子标签本次读操作的起始偏移量,例如, 电子标签里面的数据空间为96byte,如果offset为10,即本次读操作将会从电子标签数据空间的第11个字节开始往后读Ien长度的数据;Ien为要读出的数据的长度。如图1所示,一种基于单向函数的动态口令读写控制的RFID,其包括读写器A及电子标签B,读写器A、电子标签B均内置有真随机数发生器、基于单向函数的动态口令模块, 且读写器A、电子标签B存储有相同的秘密信息,秘密信息可预设于动态口令模块中。本实施例的 RFID 共有 POWER OFF,READY,AUTHORIZED 三种状态和 AUTHORIZE,WRITE,READ 三种操作指令。下面是本实施例的RFID各种状态允许进行的操作指令
POWER OFF,未加电状态,电子标签B不接受读写器A的认证、读写指令操作; READY,加电状态,电子标签只能执行认证指令; AUTHORIZED,已认证状态,电子标签能执行读写指令。下面对各种操作指令的流程进行描述AUTHORIZE (认证指令)读写器A向电子标签B发送认证指令,读写器A与电子标签B相互通过身份认证后,读写器A与电子标签B双方协商随机初始值,随机初始值以 randomdata表示,并令读写器A 当前云力态口令passwordA=randomdata,电子标签B当前云力态口令pas sm)rdB=randomdata,此时,pas STOrdJ passm)rdB的值均为初始云力态口令的值。 randomdata是由真随机数发生器生成。WRITE (写数据指令):如图2所示,读写器A与电子标签B进行写操作,步骤如下
(1)设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA(若读写器A首次进行写操作时,则passWOrdA为randomdata),读写器A运行动态口令模块,生成新的动态口令 password/ =OneffayFunc(passwordA, s_message);
(2)读写器A向电子标签B发送写指令,所述写指令的数据函数为WriteData (password/,offsetw,data,Ienw);
(3)电子标签B接收到写指令;
(4)设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB(若电子标签B首次进行写操作时,则paSSWordB为randomdata),电子标签B运行动态口令模块,生成新的动态 □令 passwordB,=OneffayFunc (passwordB, s_message);
(5)电子标签B 对 password/ 与 passwordB'的值进行比对,若 password/=passwordB,, 则执行写指令,把操作成功结果及数据返回给读写器A,其中,Offsetff为电子标签B执行本次写指令时的起始偏移量,data为读写器A要向电子标签B写入的数据,1甜 为读写器A 要向电子标签B写入的数据的长度;否则忽略该写指令,把操作失败结果返回给读写器A并返回初始操作状态。READ (读数据指令)如图2所示,读写器A与电子标签B进行读操作,步骤如下
(1)设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA(若读写器A首次进行读操作时,则passWOrdA为randomdata),读写器A运行动态口令模块,生成新的动态口令 password/ =OneffayFunc (passwordA, s_message);
(2)读写器A向电子标签B发送读指令,所述读指令的数据函数为ReadData (password/,offsetR,lenE);
(3)电子标签B接收到读指令;
(4)设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB(若电子标签B首次进行读操作时,则paSSWordB为randomdata),电子标签B运行动态口令模块,生成新的动态 □令 passwordB,=OneffayFunc (passwordB, s_message);
(5)电子标签B 对 password/ 与 passwordB'的值进行比对,若 password/=passwordB,, 则执行读指令,把操作成功结果及其存储的数据信息返回给读写器A,其中,offset,为电子标签B执行本次读指令时的起始偏移量,lenE为读写器A向电子标签B读出的数据的长度; 否则忽略该读指令,把操作失败结果返回给读写器A并返回初始操作状态。上述,
s_message为读写器A、电子标签B的秘密信息;
OneffayFunc (passwordA, s_message)为单向函数模块使 passwordA 在 s_message 的作用下进行一次单向函数运算;
OneWayFunc (passwordB, s—message)为单向函数模块使 passwordB 在 s—message 的作用下进行一次单向函数运算。randomdata、passwordA、passwordB、password/、password/、s—message 的数据长度均为大于0的自然数
由上述读写操作流程可知,由于初始动态口令randomdata是由真随机数发生器生成, s.message为严格保密的秘密信息,由秘密信息、随机初始值、单向函数组成的动态口令模块每一轮产生的动态口令都是无法预知的,可以防止重放攻击,当读写器对电子标签进行读/写操作时,电子标签都要对指令数据中的password/数据进行校验,从而实现电子标签认证后的动态口令读/写控制,具有极高的安全性。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
权利要求
1.基于单向函数的动态口令读写控制的RFID,包括读写器A及电子标签B,其特征在于,读写器A、电子标签B均内置有真随机数发生器、基于单向函数的动态口令模块,且读写器A、电子标签B存储有相同的秘密信息;读写器A与电子标签B当且仅当相互通过身份认证后,才能进行以下步骤读写器A与电子标签B双方协商随机初始值,随机初始值以randomdata表示,并令读写器A当前云力态口令passwordA=randomdata,电子标签B当前云力态口令passwordB=randomdata, randomdata是由真随机数发生器生成,此时,passwordA禾口password的值均为初始动态口令的值,然后按照以下步骤进行读操作或写操作;读写器A与电子标签B进行写操作设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA,若读写器A首次进行写操作时,则passWOrdA为randomdata,读写器A运行动态口令模块,生成新的动态口令password/ =OneffayFunc (passwordA, s_message);读写器A向电子标签B发送写指令,所述写指令的数据函数为WriteDatMpassword/,offsetw, data, Ienw);电子标签B接收到写指令;设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB,若电子标签B首次进行写操作时,则paSSWordB为randomdata,电子标签B运行动态口令模块,生成新的动态口令passwordB' =OneffayFunc (passwordB, s_message);电子标签 B 对 password/ 与 password/ 的值进行比对,若 password/ =passwordB,,贝Ij执行写指令,Qffsetff为电子标签B执行本次写指令时的起始偏移量,data为读写器A要向电子标签B写入的数据,Ienw为读写器A要向电子标签B写入的数据的长度;否则忽略该写指令;读写器A与电子标签B进行读操作设读写器A上一轮的动态口令模块的输出口令为paSSWOrdA,若读写器A首次进行读操作时,则passWOrdA为randomdata,读写器A运行动态口令模块,生成新的动态口令password/ =OneffayFunc (passwordA, s_message);读写器A向电子标签B发送读指令,所述读指令的数据函数为ReadData (password/,offsetR,lenE);电子标签B接收到读指令;设电子标签B上一轮的动态口令模块的输出口令为paSSWOrdB,若电子标签B首次进行读操作时,则paSSWordB为randomdata,电子标签B运行动态口令模块,生成新的动态口令passwordB' =OneffayFunc (passwordB, s_message);电子标签 B 对 password/ 与 password/ 的值进行比对,若 password/ =passwordB,,贝Ij执行读指令,offsetK为电子标签B执行本次读指令时的起始偏移量,读写器A向电子标签B读出的数据的长度;否则忽略该读指令;其中,s_message为读写器A、电子标签B的秘密信息;OneffayFunc (passwordA, s_message)为单向函数模块使 passwordA 在 s_message 的作用下进行一次单向函数运算;OneWayFunc (passwordB, s—message)为单向函数模块使 passwordB 在 s—message 的作用下进行一次单向函数运算。
2.如权利要求1所述的基于单向函数的动态口令读写控制的RFID,其特征在于,randomdata、passwordA、passwordB、password/、passwordB,、s_message 的数据长度均为大于0的自然数。
全文摘要
本发明涉及基于单向函数的动态口令读写控制的RFID,包括读写器及电子标签;它们均内置有真随机数发生器、基于单向函数的动态口令生成模块(该模块都预置秘密信息s_message)。双方必须相互认证后,读写器才能对电子标签进行读/写操作;同时,相互认证也协商了一个随机初始值randomdata。读/写操作时,读写器利用上一轮的动态口令和s_message生成下一轮的口令,并与读/写指令一起发送给电子标签。标签收到后,与本身的动态口令生成模块产生的相比较;一致,才执行读/写数据。由秘密信息、随机初始值、单向函数组成的动态口令模块每一轮产生的动态口令都是无法预知的。这样就实现电子标签的动态口令读写控制。
文档编号H04L9/32GK102567760SQ20121000651
公开日2012年7月11日 申请日期2012年1月10日 优先权日2012年1月10日
发明者何宇坤, 叶录高, 叶木正, 潘伟钱, 田文春, 郑东曦 申请人:广州中盈物流科讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1