一种基于动态共享密钥的移动rfid双向认证方法
【技术领域】
[0001] 本发明涉及无线射频识别技术,特别是涉及移动无线射频识别有关的基于随机动 态共享密钥的安全认证方法。
【背景技术】
[0002] 无线射频识别(RadioFrequencyIdentification,RFID)是物联网的关键实现技 术之一。RFID在推动物联网快速发展的同时伴随着严重的安全威胁,其中最重要的两方面 是身份认证和隐私保护。在移动RFID系统中,可移动阅读器与后台数据库、可移动阅读器 与标签之间均以无线信号方式在不安全的开放信道进行通信。因此移动RFID系统面临的 安全风险也更加严重和多样化。
[0003] 在国内外学者提出的认证方法中,大多数是针对传统的RFID系统进行设计,这些 方法以固定式阅读器有线连接后台数据库并进行安全通信为前提,因此不能适用于阅读器 和后台数据库以无线信号方式进行不安全通信的移动RFID系统。在移动RFID认证方法中, 采用动态更新共享密钥的机制可以有效解决密钥管理困难的问题,但却存在一个非常重要 的数据同步问题:后台数据库中所保存的标签密钥必须和存储在标签中的密钥同步进行更 新。然而在RFID系统中,低成本的标签依靠外部电磁感应供给能量,一旦出现掉电或通信 阻塞,就会造成后台数据库和标签之间的共享密钥不一致,使得在下一次认证过程中合法 标签无法通过认证和识别。此外,如果更新共享密钥的参数不具有机密性,使得通过截获不 安全通道中传输的数据进而计算出更新后的密钥,则会带来密钥泄漏的风险。因此,密钥的 安全同步更新和遭受攻击后的同步机制成为此类移动RFID认证协议的难题。
[0004] 目前的认证方法只能在一定程度上防范去同步化攻击,且不能防范连续发生超过 2次以上的去同步化攻击;还有的认证方法当伪造标签和相应的合法标签在阅读器无线信 号覆盖范围内时,敌手可通过伪造的第三方伪造标签欺骗合法阅读器解锁并显示合法标签 的信息,因此不能防范标签伪造且存在中间人攻击和重放攻击漏洞,也不能防范标签伪造 和重放攻击。
【发明内容】
[0005] 为解决采用动态共享密钥的移动RFID认证方法中不能彻底防范去同步化攻击、 动态共享密钥无法安全更新问题,以及易遭受各种安全攻击问题,本发明提出一种基于动 态共享密钥的移动RFID双向认证方法,在防范针对移动RFID的安全攻击的同时,具有较高 的标签性能。
[0006] 为达到以上目的,本发明采用的技术方案如下:
[0007] -、初始化阶段:后台数据库设置四张数据表用于存储标签和阅读器与后台数据 库的共享密钥和身份标识信息,其中标签的当前信息表Tag_c_au中存储标签ID、当前共享 密钥、标签ID以当前密钥为参数的Hash码;标签的历史信息表Tag_h_au中存储标签ID、 标签历史共享密钥、标签ID以历史共享密钥为参数的Hash码;阅读器当前信息表Reader_ c_au中存储阅读器身份标识和当前密钥;阅读器历史信息表Reader_h_au中存储阅读器身 份标识和历史密钥;每个标签中存储与后台数据库的共享密钥,并包含一个单向Hash函数 和伪随机数生成器;阅读器存储和后台数据库的共享密钥,并包含同样的Hash函数和伪随 机数生成器;
[0008] 二、认证阶段:
[0009] 第一步:阅读器向标签发送认证请求Query;
[0010] 第二步:标签产生随机数St并计算单向哈希函数4;(码)、和伪随机数 ⑷,然后将^(码)、[;和層\从)发送给阅读器,其中IDt为标签的ID标识, I;为标签与后台数据库的当前共享密钥,<+1为标签与后台数据库更新后的共享密钥,< 为阅读器与后台数据库的当前共享密钥;
[0011] 第三步:阅读器生成随机数S,,计算乂叫U,然后将 4(JA)、<?&、规%〇5,)和Sr以及~(/D,. ||幻发送给后台数据库,其中IDr为阅读器的ID 标识,;
[0012] 第四步:后台数据库分别对阅读器和标签进行认证;
[0013] 1)阅读器认证:后台数据库遍历Reader_C_au数据表并根据接收到的&计算每 个(/A+1|M,然后和接收到的(/A+IIM进行比较,若存在一致,则阅读器通过认证;若 不存在一致,则遍历Reader_h_au数据表计算每个\ II&)并和接收到的〃f0^ || 5;)进 行比较,若存在一致,则阅读器通过认证;若两次遍历均不存在一致的情况,则阅读器非法, 认证失败;
[0014] 2)标签认证:在阅读器认证通过的情况下,后台数据库根据^ (埤)查询Tag_ c_au数据表:(1)若在Tag_c_au表查询到结果,则取出€,然后和接收到的进行 异或运算,可得5; = < ? & ?X;,然后进行_\6)运算,并和接收到的进行比 较,若一致,则标签通过认证,若不一致,则标签非法,认证结束;(2)若在Tag_c_au数据 表查询不到结果,则遍历Tag_h_au数据表进行查询,如果查询到结果,取出<,然后进行 K?& ?尺;5;)运算,并和接收到的进行比较,若一至女,则标签通过认 证,若不一致,则标签非法,认证结束;3)若在Tag_c_au表和Tag_c_au表均查询不到结果, 说明标签非法,认证失败;
[0015] 3)在阅读器和标签均通过认证的情况下:
[0016] (1)后台数据库计算C1 = ,并将Reader_C_aU中IDr对应的当前共享密 钥更新为<+1,后台数据库根据第四步阅读器认证过程中进行一致性比较的来源数据表进 行判断和操作:如果是Reader_c_au数据表,贝1」后台数据库删除Reader_h_au数据表中该阅 读器对应的数据,然后将〃和1化添加到Reader_h_au数据表中;如果是Reader_h_au数据 表,贝U不对Reader_h_au数据表进行任何操作;
[0017] (2)后台数据库计算<+1 = 〃H's(◎,并将Tag_c_au中IDt对应的当前共享密钥更 新为<+1、标签ID的Hash码更新为〃,然后根据第四步标签认证过程中查询到IDt的 来源数据表进行判断和计算:如果是Tag_c_au数据表,后台数据库删除Tag_h_au数据表中 该标签对应的数据,然后将&;、IDt和添加到Tag_h_au数据表中;如果是Tag_h_au 数据表,则不对Tag_h_au数据表进行任何操作;
[0018] 4)后台数据库使用与阅读器的共享密钥< 加密计算对称加密算法& 然 后将\ (5JS,.)和W|| /A)转发给阅读器;
[0019] 第五步:阅读器使用与后台数据库的共享密钥解密接收到的&KIK),计算 ,然后根据获得的&和原来的随机数L进行比较,若一致,则后台数据库 通过认证,阅读器使用获得的st更新共享密钥<+1 ,然后发送W给 标签;若比较不一致,则认证失败。
[0020] 第六步:标签接收到数据后,计算II)并和接收到的raMVXII/A) 进行比较,若比较不一致,认证失败;若一致,则阅读器合法,标签更新共享密钥 < +1 = /^VG:S (<)。本发明有益效果:
[0021] 采用本发明后,在认证时,可防范针对RFID系统的位置追踪、重放攻击、去同步化 攻击、中间人攻击等多项安全威胁,弥补同类RFID认证方法存在的安全缺陷。
[0022] 另外,本发明还能够实现共享密钥随机动态安全更新,且不能通过认证过程中的 数据进行推导,标签效率性能更好。
【附图说明】
[0023] 图1是本发明的认证基本流程图。
【具体实施方式】
[0024] 符号说明
[0025] 表1符号说明
[0026]
[0027] 以下结合附图对本发明作进一步详细说明。
[0028] 初始化阶段:系统初始化时,后台数据库设置四张数据表用于存储标签和阅读器 与后台数据库的共享密钥和身份标识信息。其中标签的当前信息表Tag_c_au中存储标签 ID、当前共享密钥、标签ID以当前密钥为参数的Hash码;标签的历史信息表Tag_h_au中存 储标签ID、标签历史共享密钥、标签ID以历史共享密钥为参数的Hash码;阅读器当前信息 表Reader_c_au中存储阅读器身份标识和当前密钥;阅读器历史信息表Reader_h_au中存 储阅读器身份标识和历史密钥。每个标签中存储与后台数据库的共享密钥,并包含一个单 向Hash函数和伪随机数生成器;阅读器存储和后台数据库的共享密钥,并包含同样的Hash 函数和伪随机数生成器。
[0029] 认证阶段:
[0030] 第一步:阅读器向标签发送认证请求Query。
[0031] 第二步:标签产生随机数St并计算乂叫)、[;?4和观叫;(幻,然后将心叫)、 iT; ? 5;和(幻发送给阅读器。
[0032] 第三步:阅读器生成随机数S,,计算^(取.11足),然后将 (/
£>,)、<?S',、PiW% (S,)和&以及/^ (/D,. || 兄)发送给后台数据库。
[0033] 第四步:后台数据库分别对阅读器和标签进行认证。
[0034] 1)阅读器认证:后台数据库遍历Reader_C_au数据表并根据接收到的S,计算每个 义(/AU然后和接收到的进行比较,若存在一致,则阅读器通过认证;若不存 在一致,则遍历1^(161'_11_311数据表计算每个 /^(/0>.1151,.)并和接收到的\(取.11*5,.)进行比 较,若存在一致,则阅读器通过认证;若两次遍历均不存在一致的情况,则阅读器非法,认证 失败。
[0035] 2)标签认证:在阅读器认证通过的情况下,后台数据库根据遍历Tag_c_ au数据表进行查询:(1)若在Tag_c_au表查询到结果,取出 <,然后和接收到的< ?5;进 行异或运算,可得5; =< ?S, ?<,然后进行运算,并和接收到的?^(幻进行比 较,若一致,则标签通过认证,若不一致,则标签非法,认证结束。(2)若在Tag_c_au数据 表查询不到结果,则遍历Tag_h_au数据表进行查询,如果查询到结果,取出 <,然后进行 和⑵运算,并和接收到的进行比较,若一至女,则标签通过认 证,若不一致,则标签非法,认证结束。3)若在Tag_c_au表和Tag_c_au表均查询不到结果, 说明标签非法,认证失败。
[0036] 3)在阅读器和标签均通过认证的情况下:
[0037] (1)后台数据库计算C1=WWGS,(<),并将Reader_c_au中IDr对应的当前共享密 钥更新为然后,后台数据库根据第四步阅读器认证过程中进行一致性比较的来源数据 表进行判断和操作:如果是Reader_c_au数据表,则后台数据库删除Reader_h_au数据表 中该阅读器对应的数据,然后将<和1化添加到Reader_h_au数据表中;如果是Reader_h_ au数据表,则不对Reader_h_au数据表进行任何操作。
[0038](2)后台数据库计算<+1,并将Tag_c_au中IDt对应的当前共享密钥更 新为尺;+1、标签ID的Hash码更新为〃eVA)。然后根据第四步标签认证过程中查询到IDt的 来源数据表进行判断和计算:如果是Tag_c_au数据表,后台数据库删除Tag_h_au数据表中 该标签对应的数据,然后将、IDt和添加到Tag_h_au数据表中;如果是Tag_h_au 数据表,则不对Tag_h_au数据表进行任何操作。
[0039] 4)后台数据库使用与阅读器的共享密钥<加密计算&KIIM,然后将Id 和/V&GUSJ/A)转发给阅读器。
[0040] 第五步:阅读器使用与后台数据库的共享密钥解密接收到的\(411\),计算 II& =$(S,||Sr),然后根据获得的&和原来的随机数s龙行比较,若一 0女,则后台数据库 通过认证,阅读器使用获得的St更新共享密钥,然后发送P?VGa1(5;||/A) 给标签;若比较不一致,则认证失败。
[0041]标签接收到数据后,计算^^(SJ /A)并和接收到的II /A)进行比较,若 比较不一致,认证失败;若一致,则阅读器合法,标签更新共享密钥〃;1 = 。至此认 证结束。
【主权项】
1. 一种基于随机动态共享密钥的移动RFID认证方法,其中移动RFID系统由后台数据 库、移动阅读器和标签组成,其特征在于包括以下步骤: 一、 初始化阶段:后台数据库设置四张数据表用于存储标签和阅读器与后台数据库的 共享密钥和身份标识信息,其中标签的当前信息表Tag_c_au中存储标签ID、当前共享密 钥、标签ID以当前密钥为参数的Hash码;标签的历史信息表Tag_h_au中存储标签ID、标 签历史共享密钥、标签ID以历史共享密钥为参数的Hash码;阅读器当前信息表Reader_ C_ au中存储阅读器身份标识和当前密钥;阅读器历史信息表Reader_h_au中存储阅读器身份 标识和历史密钥;每个标签中存储与后台数据库的共享密钥,并包含一个单向Hash函数和 伪随机数生成器;阅读器存储和后台数据库的共享密钥,并包含同样的Hash函数和伪随机 数生成器; 二、 认证阶段: 第一步:阅读器向标签发送认证请求Query ; 第二步:标签产生随机数St并计算单向哈希函数〃、..(叫)、和伪随机数 PiWGg供),然后将丨(码)、和发送给阅读器,其中IDt为标签的ID标识, <为标签与后台数据库的当前共享密钥,<+1为标签与后台数据库更新后的共享密钥,< 为阅读器与后台数据库的当前共享密钥; 第三步:阅读器生成随机数L计算士 (取Il幻,然后将\ (/A)、[;叫、(幻和 Si以及Il W发送给后台数据库,其中IDi为阅读器的ID标识,; 第四步:后台数据库分别对阅读器和标签进行认证; 1) 阅读器认证:后台数据库遍历Reader_C_aU数据表并根据接收到的&计算每个 W),然后和接收到的IID进行比较,若存在一致,则阅读器通过认证;若不 存在一致,则遍历Reader_h_au数据表计算每个iMzzI O并和接收到的〃< Il 5;)进行 比较,若存在一致,则阅读器通过认证;若两次遍历均不存在一致的情况,则阅读器非法,认 证失败; 2) 标签认证:在阅读器认证通过的情况下,后台数据库根据〃 jW)查询Tag_c_au数 据表:(1)若在Tag_c_au表查询到结果,则取出C,然后和接收到的K 进行异或运算, 可得S ,然后进行/运算,并和接收到的(幻进行比较,若一致, 则标签通过认证,若不一致,则标签非法,认证结束;(2)若在Tag_c_au数据表查询不到结 果,则遍历Tag_h_au数据表进行查询,如果查询到结果,取出<,然后进行和 PfflVGjc; (Si)运算,并和接收到的PiWGt; (S()进行比较,若一0女,则标签通过认证,若不一0女,则 标签非法,认证结束;3)若在Tag_c_au表和Tag_c_au表均查询不到结果,说明标签非法, 认证失败; 3) 在阅读器和标签均通过认证的情况下: (1)后台数据库计算<+1 = ,并将Reader_C_aU中ID,对应的当前共享密钥更 新为<+1,后台数据库根据第四步阅读器认证过程中进行一致性比较的来源数据表进行判 断和操作:如果是Reader_c_au数据表,则后台数据库删除Reader_h_au数据表中该阅读器 对应的数据,然后将<和1?添加到Reader_h_au数据表中;如果是Reader_h_au数据表, 则不对Reader_h_au数据表进行任何操作; (2)后台数据库计算C+1 = W)),并将Tag_c_au中 IDt对应的当前共享密钥更新 为<+1、标签ID的Hash码更新为〃,.(A),然后根据第四步标签认证过程中查询到IDt的来 源数据表进行判断和计算:如果是Tag_c_au数据表,后台数据库删除Tag_h_au数据表中该 标签对应的数据,然后将X;、取和 iV7A)添加到Tag_h_au数据表中;如果是Tag_h_au数 据表,则不对Tag_h_au数据表进行任何操作; 4)后台数据库使用与阅读器的共享密钥< 加密计算对称加密算法£^& 1〇然后将 \以IIW和/WG#, Il叫转发给阅读器; 第五步:阅读器使用与后台数据库的共享密钥解密接收到的IR),计算 Il \ =K(S,||足),然后根据获得的\和原来的随机数s龙行比较,若一 0女,则后台数据库 通过认证,阅读器使用获得的St更新共享密钥<+1 ,然后发送/W/, G Il ZDi)给 标签;若比较不一致,则认证失败。 第六步:标签接收到数据后,计算并和接收到的ll?()进行比 较,若比较不一致,认证失败;若一致,则阅读器合法,标签更新共享密钥Khl =PMs,(<)。
【专利摘要】本发明公开了一种针对移动无线射频识别的随机动态共享密钥的双向认证方法,用于解决无线射频识别认证方法中面临的动态共享密钥安全更新和遭受攻击后的同步问题以及易遭受的其他安全威胁。技术方案改进传统只使用随机数进行身份认证的方法,不仅使标签产生的随机数作为标签与后台数据库之间相互认证的参数,还使其作为后台数据库、阅读器和标签动态更新共享密钥的种子,实现共享密钥安全和随机动态更新;方案采用后台数据库分表存储历史共享密钥并进行动态添加和删除的方法,保证在遭受攻击后使阅读器、标签与后台数据库之间的共享密钥保持同步。本发明能够防范针对移动RFID系统的多项安全攻击,并在关键的标签性能方面具有很高的效率。
【IPC分类】H04W12/04, H04W12/06
【公开号】CN104883681
【申请号】CN201510222060
【发明人】王国伟, 张敏, 郭海儒, 薛曼君, 彭维平, 贾宗璞
【申请人】河南理工大学
【公开日】2015年9月2日
【申请日】2015年5月4日
转载请注明原文地址:https://www.famiwei.com/read-8135906.html