本发明专利技术公开了一种基于公钥的射频识别双向认证方法,主要解决现有射频识别认证中标签成本过高且通信安全性不足的问题。其实现步骤是:(1)由读写器将询问信号Q、随机数rs、读写器公钥n与读写器的身份IDr发送给标签;(2)标签验证读写器公钥n后生成会话密钥f,并将会话密钥f和标签证书Certt加密后发给读写器;(3)由读写器截取标签证书Certt的160位数据Cert't加密后发给标签,向标签证明身份;(4)标签通过验证Cert't认证读写器,并计算中间值发给证明身份;(5)读写器利用公钥V完成对标签的认证。本方法实现了标签与读写器的双向认证,有效降低了标签的计算量和占用资源,同时也保证了通信安全性,能更好的适用于资源受限的射频识别系统。
【技术实现步骤摘要】
本专利技术属于信息安全
,主要涉及到射频识别系统中射频识别标签与其读卡器之间的双向认证技术,可用于射频识别系统通信中读卡器与标签的相互认证中。
技术介绍
射频识别RFID是一种非接触式双向通信的自动识别技术,用于实现对物品的标识。RFID的非接触识别和多目标识别等特点,使其广泛应用于军事、制造业、商业、日常生活等领域。同时,RFID通信系统的安全机制不完善,使得安全与隐私问题日益突出,制约了它的大规模应用。RFID系统主要由三部分组成:标签Tag、读写器Reader和后台服务器Back-endServer,其中:标签是所附着物品或持有者的信息载体;读写器是读写标签的设备,负责向后台数据库传送标签信息并执行指令;后台服务器用来存储和处理标签与读写器的数据信息,对它们进行管理和控制。读写器与后台服务器有较强的计算与存储能力,它们之间的通信信道在RFID系统中假定是安全的,而标签与读写器之间通信信道的安全问题是RFID研究领域有待解决的问题。针对RFID系统的安全与隐私问题,采用密码学方法设计一个安全的认证协议,对标签和读写器进行认证的方法成为普遍认可的解决方法。为降低成本,计算和存储能力很弱的被动标签被广泛使用,这使得设计的认证协议必须是标签能够承受的轻量级协议。因此,设计一个安全的低成本的认证协议成为研究的热点。现有的各种低成本RFID认证协议,如由Feldhofer提出的基于对称密码算法的询问一响应协议和由Girault, Poupard和Stern共同提出基于公钥的cryptoGPS方案,其中:Feldhofer提出的询问一响应协议,是第一个基于对称密码算法的RFID认证协议,该方案基于AES块密码,由读写器发送随机数作为询问请求,后由标签响应。该方案虽能以较低成本实现认证,在0.35 um CMOS工艺下只需要3595个等效门即可,但是,该认证方案由于受对称密码算法密钥分配的影响,其灵活性差,限制了射频识别RFID的应用范围和提供服务的形式,使该认证方案的实际应用受到了限制;由Girault, Poupard和Stern共同提出的基于公钥的cryptoGPS方案,是一种基于椭圆曲线加密算法ECC的认证方案,该方案是将标签的复杂计算交给读写器预先计算后存储优待券,是现有基于公钥密码的认证方案中最省资源的设计,适用于低成本的RFID标签,但是,该方案由于只实现了读写器对标签的单向认证,且其密钥管理方法与对称密码算法相当,不能体现公钥管理的灵活性优势,故限制了其在RFID中的应用。综上,现有的RFID认证协议存在的以下缺陷:1、现有的RFID认证协议均是单向认证协议,只能解决读写器对标签合法性的认证问题,不能解决标签对读卡器的验证问题,也不利于标签对读卡器权限的检验以及对读卡器的动态授权,影响大规模RFID网络应用的推广。2、采用对称密码算法设计的低成本认证协议,虽然能满足标签资源受限的要求,但是,部署规模受到密钥分配的严重限制,灵活性也不够,不适合大规模的应用。3、当前已有的采用公钥密码算法设计的协议,占用的资源较多,远远超过了低成本标签的资源承受范围,而且这些协议并没有解决公钥的密钥分发问题,无法体现公钥管理的优势和使用的灵活性,使得标签在应用范围和提供服务的形式上都严重受限。4、不能完全抵抗现有的各种攻击手段,安全性能不够。
技术实现思路
本专利技术的目的在于克服上述已有方法的不足,提出一种,以进一步降低占用资源,实现读写器与标签的双向认证。为实现上述目的,本专利技术包括以下步骤:(I)读写器生成随机数rs和读写器公钥n,读写器将询问信号Q、随机数rs、读写器公钥n与读写器的身份1 发送给标签;(2)标签收到数据后,检查读写器公钥n是否为标签所存储的集合N中的元素,如果不是,则通信结束;如果是,则进行如下操作:(2a)由标签随机产生128位会话密钥f,用读写器公钥n将会话密钥f利用加密函数En加密,加密结果记作a=En(f);(2b)从标签预存储的m个优待券中选取一个优待券,记作(rs, !TiP),并采用轻量级流密码算法Grain vl加密随机数rs、与标签证书Certt,加密结果记作b=Gf(rs IriPl | Certt),其中,是 `随机数,P为选定的公钥密码算法中椭圆曲线的基点,为椭圆曲线点乘运算结果,Gf是流密码算法Grain vl加密函数;(2c)将两个加密结果a与b发送给读写器;(3)读写器收到数据后,先解密a获得会话密钥f,再由会话密钥f解密b获得所述的rs、r,P和Certt ;通过读写器验证rs,如果验证不正确,则终止协议,否则,截取标签证书Certt的160位数据Cert 1 t,同时产生32位的随机数c,并采用Grain vl算法使用会话密钥f对数据Cert',和随机数c加密,加密结果记作Gf (Cert ' t||c);最后将加密结果Gf (Cert ' t||c)发送给标签;(4)标签解密Gf (Cert ’ t)获得数据Cert ’ t和随机数C,验证数据Cert ’ t是否为标签证书Certt的部分位,如果不是,则通信结束;如果是,则标签对读写器的认证成功,再计算中间值Y=I^sXcmodq,将中间值y值发送给读写器,其中,s是标签的私钥,q为160位低汉明重量数据,是椭圆曲线有限域的阶,mod q为对阶q的取模运算;(5)读写器收到数据后,利用双方公钥V=-SP对标签进行认证,验证关系式yP+cV=riP是否成立,如果成立,则读写器对标签的认证成功,该标签是读写器合法的通信对象;如果不成立,则认证失败,通信结束。与现有技术相比,该专利技术提出的认证方法有以下优点:I)本专利技术实现了标签与读写器的双向认证;2)在标签的运算中,公钥n选择为低汉明重量数据,降低了标签的计算量;3)标签的随机数生成和流密码加解密,采用面向硬件的轻量级序列密码算法Grain vl算法,Grain vl算法硬件内存低、占用门数少及功耗低等优点,大大减少了标签所需资源;4)将128位的会话密钥f扩展成1024位低汉明重量数据后再做Rabin加密,提高协议安全性的同事也大大的减少了标签的计算量;5)协议中标签上耗费资源较多的乘法运算及取模运算采用两个低资源乘法器来实现,减少了标签所需资源。下面结合附图对本专利技术作进一步说明:附图说明图1是本专利技术基于公钥的射频识别双向认证示意图;图2是本专利技术生成读写器公钥n的流程图;图3是本专利技术进行平方运算f ' 2的第一低资源乘法器结构图;图4是本专利技术进行取模运算modn的第二低资源乘法器结构图。具体实施例方式本专利技术提出了一种,该认证方法基于公钥密码中的椭圆曲线密码,已知椭圆曲线C,基点P,预先给标签分配一个160位私钥S,双方公钥V=_sP,读写器公钥n的集合N=Inci, Ii1, n2, n3}, m个预计算优待券Cri, T1, P)及标签证书Certt= (IDt, V=-sP, sigCA),其中,巧是随机数,rf为椭圆曲线点乘结果,IDt是标签的身份,sigCA是认证中心CA对标签的签字。参照图1,本专利技术的双向认证过程如下:步骤I,读写器操作:`(Ia)读写器生成随机数rs,即采用轻量级序列密码算法Grain vl算法生成随机数匕;(Ib)生成读本文档来自技高网...
【技术保护点】
一种基于公钥的射频识别双向认证方法,其特征在于,包括以下步骤:(1)读写器生成随机数rs和读写器公钥n,读写器将询问信号Q、随机数rs、读写器公钥n与读写器的身份IDr发送给标签;(2)标签收到数据后,检查读写器公钥n是否为标签所存储的集合N中的元素,如果不是,则通信结束;如果是,则进行如下操作:(2a)由标签随机产生128位会话密钥f,用读写器公钥n将会话密钥f利用加密函数En加密,加密结果记作a=En(f);(2b)从标签预存储的m个优待劵中选取一个优待劵,记作(ri,riP),并采用轻量级流密码算法Grain?v1加密随机数rs、riP与标签证书Certt,加密结果记作b=Gf(rs||riP||Certt),其中,ri是随机数,P为选定的公钥密码算法中椭圆曲线的基点,riP为椭圆曲线点乘运算结果,Gf是流密码算法Grain?v1加密函数;(2c)将两个加密结果a与b发送给读写器;(3)读写器收到数据后,先解密a获得会话密钥f,再由会话密钥f解密b获得所述的rs、riP和Certt;通过读写器验证rs,如果验证不正确,则终止协议,否则,截取标签证书Certt的160位数据Cert't,同时产生32位的随机数c,并采用Grain?v1算法使用会话密钥f对数据Cert't和随机数c加密,加密结果记作Gf(Cert't||c);最后将加密结果Gf(Cert't||c)发送给标签;(4)标签解密Gf(Cert't)获得数据Cert't和随机数c,验证数据Cert't是否为标签证书Certt的部分位,如果不是,则通信结束;如果是,则标签对读写器的认证成功,再计算中间值y=ri+s×cmodq,将中间值y值发送给读写器,其中,s是标签的私钥,q为160位低汉明重量数据,是椭圆曲线有限域的阶,mod?q为对阶q的取模运算;(5)读写器收到数据后,利用双方公钥V=?sP对标签进行认证,验证关系式uP+cV=riP是否成立,如果成立,则读写器对标签的认证成功,该标签是读写器合法的通信对象;如果不成立,则认证失败,通信结束。...
【技术特征摘要】
1.一种基于公钥的射频识别双向认证方法,其特征在于,包括以下步骤: (1)读写器生成随机数rs和读写器公钥n,读写器将询问信号Q、随机数rs、读写器公钥n与读写器的身份1 发送给标签; (2)标签收到数据后,检查读写器公钥n是否为标签所存储的集合N中的元素,如果不是,则通信结束;如果是,则进行如下操作: (2a)由标签随机产生128位会话密钥f,用读写器公钥n将会话密钥f利用加密函数En加密,加密结果记作a=En(f); (2b)从标签预存储的m个优待券中选取一个优待券,记作(ri,r,P),并采用轻量级流密码算法Grain vl加密随机数I^riP与标签证书Certt,加密结果记作b=Gf(rs | TiP Certt),其中,^是随机数,P为选定的公钥密码算法中椭圆曲线的基点,riP为椭圆曲线点乘运算结果,Gf是流密码算法Grain vl加密函数; (2c)将两个加密结果a与b发送给读写器; (3)读写器收到数据后,先解密a获得会话密钥f,再由会话密钥f解密b获得所述的rs、r,P和Certt ;通过读写器验证rs,如果验证不正确,则终止协议,否则,截取标签证书Certt的160位数据Cert 1 t,同时产生32位的随机数c,并采用Grain vl算法使用会话密钥f对数据Cert',和随机数c加密,加密结果记作Gf (Cert ' 11 I c);最后将加密结果Gf (Cert丨11 I c)发送给标签; (4)标签解密Gf(Cert丨t)获得数据Cert丨t和随机数C,验证数据Cert丨t是否为标签证书Certt的部分位,如果不是,则通信结束;如果是,则标签对读写器的认证成功,再计算中间值y^i+s X cmodq,将中间值y值发送给读写器,其中,s是标签的私钥,q为160位低汉明重量数据,是椭圆曲线有限域的阶,mod q为对阶q的取模运算; (5)读写器收到数据后,利用双方公钥V=-SP对标签进行认证,验证关系式uP+cV=riP是否成立,如果成立,则读写器对标签的认证成功,该标签是读写器合法的通信对象;如果不成立,则认证失败,通信结束。2.根据权利要求1所述的基于公钥的射频识别双向认证方法,其中步骤(I)所述的读写器生成公钥n,按如下步骤进行: (Ia)选定一个512位模4余3的素数作为读写器公钥n的第一因子p,并要求p_l有大素因子; (Ib)根据读写器公钥n的数据要求确定读写器公钥n的取值范围,即读写器公钥n的前500位的最高位为I,其余位是0,后524位随机选取; (Ic)由读写器公钥n的取值范围确定第二因子q=n/p的取值范围,在第二因子q的取值范围内搜索出一个模4余3的素数作为第二因子q,并要求P-1与q_l的最大公因子gcd(p-l, q-1)最小; (...
【专利技术属性】
技术研发人员:董庆宽,魏丽丽,丁文秀,李小平,刘彦明,赵蕾,黎剑兵,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。