本发明涉及rfid(radiofrequencyidentification,无线射频识别)技术领域,特别是涉及一种基于物理不可克隆函数(physicalunclonablefunctions,puf)的超轻量级的rfid认证方法。
背景技术:
无线射频识别(radiofrequencyidentification,rfid)技术,是利用无线射频方式进行的非接触式双向通信,可以有效地实现无接触自动识别与动态管理,且识别工作无须人工干预。与条形码比较,rfid防水、防磁、耐高温、使用寿命长、读取距离大、标签数据可以加密、存储数据容量更大、存储信息更改自如等优点。广泛应用于物流、零售业、制造业等领域。但是由于无线信道的不安全,以及rfid系统中标签的计算和存储能力有限,如何设计高效、安全的rfid认证协议仍然是一个挑战。
rfid系统中读写器和标签之间的无线信道所面临的安全问题主要包括信道上传输数据的被敌手窃听、篡改,通信实体的身份假冒、伪造等。为了满足系统传输的机密性、完整性以及可用性的需要,国内外专家提出了多种安全解决方案,实现这些方案的机制主要包括物理机制、密码机制以及前面两种相结合的机制。在这些方案中,通过芯片的物理结构来实现rfid的唯一身份和安全认证,成为一个研究热点。物理不可克隆函数就是这样的一种机制,是目前rfid安全协议中用来保护标签和读写器身份的主要技术之一。
puf是一组微型延迟电路,其利用提取芯片制造过程中不可避免产生的差异,生成无限多个唯一的、不可预测的随机数。由于芯片制造过程中产生差异所具有的不可模仿和不可复制的特性,即使芯片制造商也不可能从其他芯片上复制出一套完全相同的随机序列,因此,puf技术使芯片具有反仿制的能力。
现有的技术方案中,一般认为puf的输出是确定性的,即在输入相等的情况下,输出一定相等。但实际上puf有一个缺点就是在运行过程中会带来噪声,puf的输出由于噪声的影响,即使在输入相等的情况下,其输的结果有一定的差异,因此不能通过比较两次输出是否相等来进认证,由于该问题的存在,导致了现有技术这些方案的实用性不高甚至于不能正常使用。
技术实现要素:
为克服上述现有技术存在的不足,本发明之目的在于提供一种超轻量级的rfid认证方法,通过引入模糊提取器(fuzzyextractor)解决了puf由于噪声影响所带来的输出不稳定的问题,同时通过选择对称加密和伪随机函数作为保护传输数据隐私的手段,保证了协议的执行效率。
为达上述目的,本发明提出一种超轻量级的rfid认证方法,包括如下步骤:
步骤s1,读写器端通过物理不可克隆函数生成随机数,并将所述物理不可克隆函数的输出作为模糊提取器的输入,提取随机数r与帮助字符串hd1,计算第一验证随机数v1,并发送至标签端;
步骤s2,标签端通过物理不可克隆函数生成随机数,并利用所述物理不可克隆函数的输出和从读写器端获得的帮助字符串hd1进行恢复随机数,得到恢复随机数r',根据所述恢复随机数r'获得验证随机数v'1,并将其与从读写器端获得的第一验证随机数v1进行验证,于验证通过后,生成新的共享密钥x',根据新生成的共享密钥x'获得第二验证随机数v2,并利用所述恢复随机数r'与新的共享密钥x'进行加密,将加密结果u与第二验证随机数v2发送至读写器端;
步骤s3,读写器端根据步骤s1提取的随机数r对步骤s2获得的加密结果u进行解密,获得新的共享密钥x',并根据获得的新共享密钥x'获得验证随机数v'2,将其与所述标签端传送的第二验证随机数v2进行验证,根据验证结果完成认证过程。
优选地,于步骤s1之前,还包括如下步骤:
系统初始化,令每一个标签都拥有身份标识idt和物理不可克隆函数puf(.),读写器拥有身份标识idr和物理不可克隆函数puf(.),所述读写器和标签之间拥有初始共享密钥x。
优选地,步骤s1进一步包括:
步骤s100,读写器根据读写器和标签的身份标识idr和idt以及读写器和标签之间拥有的初始共享密钥x,基于物理不可克隆函数生成多个唯一的、不可预测的随机数;
步骤s101,将所述物理不可克隆函数的输出作为模糊提取器的输入,提取所述随机数r与帮助字符串hd1,并利用伪随机函数计算第一验证随机数v1;
步骤s102,将所述第一验证随机数v1与帮助字符串hd1发送给所述标签端。
优选地,步骤s101具体过程如下:
(r,hd1)=gen(z1)
v1=prf(idt||idr||r)
其中,z1=puf((idt||idr||x)),puf()为标签和读写器的物理不可克隆函数,||为字符串连接运算,gen()为模糊提取器的gen算法,r为模糊提取器gen算法输出的随机数,hd1为模糊提取器gen算法输出的帮助字符串,prf()为伪随机函数。
优选地,步骤s2进一步包括:
步骤s200,所述标签端根据读写器和标签的身份标识idr和idt以及读写器和标签之间拥有的初始共享密钥x,基于物理不可克隆函数生成多个唯一的、不可预测的随机数;
步骤s201,利用步骤s200的所述物理不可克隆函数的输出和从读写器端获得的帮助字符串hd1作为模糊提取器的输入,进行恢复随机数,获得所述恢复随机数v'1,并根据所述恢复随机数r'获得相应的验证随机数v'1;
步骤s202,验证从读写器获得的第一验证随机数v1是否等于步骤s201获得的所述验证随机数v'1;
步骤s203,若验证通过,则生成新的共享密钥x';
步骤s204,利用新的共享密钥x'计算第二验证随机数v2;
步骤s205,将恢复随机数r'与新的共享密钥x'进行加密,得到加密结果u;
步骤s206,将加密结果u与第二验证随机数v2发送至所述读写器端。
优选地,于步骤s201中,过程如下:
r'=rec(z1',hd1)
v'1=prf(idt||idr||r')
其中,rec()为模糊提取器的rec算法,r'为模糊提取器rec算法输出的随机数,hd1为从所述读写器获得的帮助字符串,prf()为伪随机函数。
优选地,于步骤s204中,其过程如下:
v2=prf(idt||idr||x'),z'1=puf((idt||idr||x')),。
优选地,于步骤s205中,将所述恢复随机数r'与新的共享密钥x'采用异或操作进行加密。
优选地,步骤s3进一步包括:
步骤s300,根据步骤s1提取的随机数r对加密结果u进行解密,获得新的共享密钥x',并利用伪随机函数计算获得验证随机数v'2;
步骤s301,将获得的验证随机数v'2与获得的第二验证随机数v2进行验证;
步骤s303,若验证通过,则标签通过读写器认证,协议继续,并用新的共享密钥x'更新初始共享密钥x,从而完成整个认证的过程。否则读写器终止协议的运行。
优选地,步骤s300具体过程如下:
x'=r⊕u,
v'2=prf(idt||idr||x')。
与现有技术相比,本发明一种超轻量级的rfid认证方法通过利用物理不可克隆函数独特的激励响应机制实现了标签数据和读写器数的不可复制性,通过引入模糊提取器解决了由于噪声的影响所导致的物理不可克隆函数输出不同问题,同时,本发明读写器和标签之间共享密钥动态更新,实现了会话的新鲜性,本发明彻底解决了现有技术中puf函数噪声对输出值的影响,特别适合于安全需求较高的rfid系统,解决了rfid系统中读写器和标签之间不安全信道所带来的安全隐患。
附图说明
图1为本发明一种超轻量级的rfid认证方法的步骤流程图;
图2为本发明具体实施例中rfid认证的过程示意图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
一般地,rfid系统由后台数据库、读写器(reader)、标签(tag)三部分组成,后台数据库和读写器之间一般采用传统的网络安全技术,所以认为后台数据库和读写器之间的信道是安全的,而读写器和标签之间的信道不是使用传统的网络安全技术保护,所以认为读写器和标签之间的通信时不安全的,本发明的认证方法则是解决为读写器和标签之间通信不安全问题的。
图1为本发明一种超轻量级的rfid认证方法的步骤流程图。如图1所示,本发明一种超轻量级的rfid认证方法,包括如下步骤:
步骤s1,读写器端通过物理不可克隆函数生成无限多个唯一的、不可预测的随机数,并将所述物理不可克隆函数的输出作为模糊提取器的输入,提取随机数r与帮助字符串hd1,计算第一验证随机数v1,并发送至标签端。
在本发明具体实施例中,在步骤s1之前,还需进行系统初始化的步骤,具体地,在系统初始化阶段,令每一个标签t都拥有身份标识idt和物理不可克隆函数puf(.),读写器拥有身份标识idr和物理不可克隆函数puf(.),读写器和标签之间拥有初始共享密钥x,初始化阶段后,读写器端则拥有(idr,idt,x),标签端拥有(idr,idt,x)。
具体地,步骤s1进一步包括:
步骤s100,读写器端根据读写器和标签的身份标识idr和idt以及读写器和标签之间拥有的初始共享密钥x,基于物理不可克隆函数生成无限多个唯一的、不可预测的随机数。在本发明具体实施例中,其过程如下:
z1=puf((idt||idr||x))
其中,idr为读写器的身份标识,idt为标签身份标识,x为读写器和标签之间拥有的初始共享密钥,puf()为标签和读写器的物理不可克隆函数,||为字符串连接运算。
步骤s101,将所述物理不可克隆函数的输出作为模糊提取器的gen算法的输入,提取随机数r与帮助字符串hd1,并利用伪随机函数计算获得第一验证随机数v1,其具体过程表达如下:
(r,hd1)=gen(z1)
v1=prf(idt||idr||r)
其中,gen()为模糊提取器的gen过程(生成算法),r为模糊提取器gen算法输出的随机数,hd1为模糊提取器gen算法输出的帮助字符串,prf()为伪随机函数。
步骤s102,将步骤s101获得的第一验证随机数v1与帮助字符串hd1发送给标签端,即,发送(v1,hd1)给标签端。
步骤s2,标签端通过物理不可克隆函数生成无限多个唯一的、不可预测的随机数,并利用所述物理不可克隆函数的输出和从读写器传来的帮助字符串hd1计算恢复随机数,获得恢复随机数r',并根据恢复随机数r'获得相应的验证随机数v'1,将其与从读写器传来的第一验证随机数v1进行验证,于验证通过后,生成新的共享密钥x',根据新生成的共享密钥x'获得第二验证随机数v2,并利用恢复随机数r'与新的共享密钥x'进行加密,将加密结果u与第二验证随机数v2发送至读写器。
具体地,步骤s2进一步包括:
步骤s200,标签根据读写器和标签的身份标识idr和idt以及读写器和标签之间拥有的初始共享密钥x,基于物理不可克隆函数生成无限多个唯一的、不可预测的随机数,在本发明具体实施例中,其过程如下:
z'1=puf((idt||idr||x))
其中,idr为读写器的身份标识,idt为标签身份标识,x为读写器和标签之间拥有的初始共享密钥,puf()为标签和读写器的物理不可克隆函数。
步骤s201,利用步骤s200的所述物理不可克隆函数的输出和从读写器传来的帮助字符串hd1作为模糊提取器的rec算法的输入,得到恢复随机数r',并根据恢复随机数r'计算获得相应的验证随机数v'1。具体过程如下:
r'=rec(z1',hd1)
v'1=prf(idt||idr||r')
其中,rec()为模糊提取器的rec()过程(恢复算法),r'为模糊提取器rec算法输出的随机数,一般地r=r’,hd1为从读写器获得的帮助字符串,prf()为伪随机函数。
步骤s202,验证从读写器端获得的第一验证随机数v1是否等于步骤s201获得的验证随机数v'1,即验证v1=v'1?。
步骤s203,如果验证通过,则随机生成新的共享密钥x'。
步骤s204,利用新的共享密钥x'计算第二验证随机数v2。具体过程如下:
v2=prf(idt||idr||x'),z'1=puf((idt||idr||x')),
步骤s205,将恢复随机数r'与新的共享密钥x'利用异或操作进行加密,得到加密结果u,具体如下:
u=r'⊕x'
其中,⊕为异或运算。
步骤s206,将加密结果u与第二验证随机数v2发送至读写器,即发送(u,v2)给读写器
步骤s3,读写器根据步骤s1提取的随机数r对加密结果u进行解密,获得新的共享密钥x',并根据获得的新共享密钥x'获得验证随机数v'2,并将其与标签端传送的第二验证随机数v2进行验证,根据验证结果完成认证过程。
具体地,步骤s3进一步包括:
步骤s300,根据步骤s1提取的随机数r采用异或操作对加密结果u进行解密,获得新的共享密钥x',并利用伪随机函数计算获得验证随机数v'2。具体过程表示如下:
x'=r⊕u,
v'2=prf(idt||idr||x')。
步骤s301,将获得的验证随机数v'2与获得的第二验证随机数v2进行验证,即验证v'2=v2?;
步骤s303,若验证通过,则标签通过读写器认证,协议继续,并用新的共享密钥x'更新初始共享密钥x,从而完成整个认证的过程;否则读写器终止协议的运行。
图2为本发明具体实施例中rfid认证的过程示意图。如图2所示,本发明之超轻量级的rfid认证过程如下:
步骤一,系统初始化,在rfid系统初始化阶段每一个标签t都拥有身份标识idt和物理不可克隆函数puf(.),读写器拥有身份标识idr和物理不可克隆函数puf(.)。读写器和标签之间拥有初始共享密钥x。初始化阶段后,读写器拥有(idr,idt,x),标签拥有(idr,idt,x);
步骤二,读写器计算z1=puf((idt||idr||x)),(r,hd1)=gen(z1),v1=prf(idt||idr||r),发送(v1,hd1)给标签。
步骤三,标签收到后,计算z'1=puf((idt||idr||x)),r'=rec(z1',hd1),v'1=prf(idt||idr||r'),验证v1=v'1?,如果通过验证,生成读写器和标签之间新的共享密钥x',并计算v2=prf(idt||idr||x'),z'1=puf((idt||idr||x')),u=r'⊕x'以用x'更新x,最后发送(u,v2)给读写器。
步骤四,读写器收到后,计算x'=r⊕u,v'2=prf(idt||idr||x'),验证v'2=v2?若通过,则标签通过读写器认证,协议继续,最后用x'更新x,从而完成整个认证的过程,否则读写器终止协议的运行。
综上所述,本发明一种超轻量级的rfid认证方法通过利用物理不可克隆函数独特的激励响应机制实现了标签数据和读写器数的不可复制性,通过引入模糊提取器解决了由于噪声的影响所导致的物理不可克隆函数输出不同问题,同时,本发明读写器和标签之间共享密钥动态更新,实现了会话的新鲜性,本发明彻底解决了现有技术中puf函数噪声对输出值的影响,特别适合于安全需求较高的rfid系统,解决了rfid系统中读写器和标签之间不安全信道所带来的安全隐患。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。