1.本发明属于无线通信网络安全
技术领域:
:,尤其涉及一种基于随机重排分块矩阵加密的射频识别数据安全认证方法及系统。
背景技术:
::2.射频识别(radiofrequencyidentification)是物联网中通过无线通信实现终端阅读器和电子标签数据交换的关键技术,rfid是一种非接触式数据通信技术,相比于条形码技术具有高存储量、远距离读取、存储信息可修改、耐高温、使用寿命长、穿透性强等优势,rfid技术广泛应用于交通运输、医药、门禁系统、库存管理、物流管理、防伪保护等领域。在云计算环境中,由于电子标签的数据传输到云服务器需要经过多层网络,传输时延长,认证效率低,无法实时监测各种物联网设备。边缘计算可在靠近电子标签的边缘侧为设备提供实时的服务,以提升数据收集和处理效率。rfid系统以其快速信息读写、操作方便灵活等特性在边缘计算环境下的物联网中发挥着重要作用,物联网设备实时获取环境数据,通过附着的电子标签与阅读器通信进行数据传输,并由阅读器收集数据传输给边缘服务器。rfid能够使物联网设备的数据收集过程高度自动化,节约收集时间,同时实时监测物联网设备的生命周期;通过附着在物联网设备上的电子标签,服务器能够识别该设备的准确信息,从而更好地监测和记录设备情况,对物联网的发展具有积极促进作用。然而,由于rfid标签和阅读器以及阅读器与边缘服务器之间通过公开的无线信道传输消息,所以攻击者很容易通过非法手段获取传输的数据,从而对会话发起主动攻击或者被动攻击,因此,rfid技术不可避免地存在安全和隐私威胁。3.阅读器和标签通过无线信道通信,阅读器与边缘服务器之间的通信信道也能被攻击者控制,因此通信数据可被攻击者完全获取。攻击者可对无线信道传输的消息进行篡改、重放、假冒等主动攻击,从而破坏rfid系统。现有的超轻量级rfid认证方法使用简单的位运算对通信数据加密保护,减小了系统开销,但被实验证明安全性较差,不适用于边缘环境下物联网设备的隐私保护,一个既能达到低成本又具有较高安全性的超轻量级协议对边缘环境下的物联网系统至关重要。4.综上,现有技术存在的问题及缺陷为:现有的超轻量级rfid认证协议采用的位运算加密算法容易被破解,安全性不高,并且认证协议无法抵抗各种无线攻击,如去同步攻击和拒绝服务攻击;此外,现有的认证协议明文存储隐私数据,存在隐私泄露风险。解决以上问题及缺陷的难度为:(1)低成本标签的计算能力和存储能力是有限的,所以需要设计一种超轻量级rfid认证方法。(2)标签与阅读器通过公开的无线信道通信,同时阅读器与边缘服务器也采用无线广播信道传输消息,攻击者可对公开的无线广播信道实施主动攻击,如篡改、假冒和重放,也可实施被动攻击,如窃听机密信息。因此rfid系统存在潜在的安全威胁,如重放攻击、假冒攻击、去同步攻击、标签追踪攻击、拒绝服务攻击等,所以设计的协议需要能够抵抗以上攻击手段,具有较高的安全性。(3)边缘服务器明文存储的隐私数据例如标签标识和阅读器标识可能被泄露,所以设计的协议需要对标签隐私数据和阅读器隐私数据加密存储。5.在边缘计算环境下,使用rfid系统收集并处理物联网设备的数据、为边缘服务器决策提供支撑是非常关键的,为了保护电子标签的数据隐私,同时更安全、更高效、更准确地管理物联网设备,提出一种高安全性、低开销的超轻量级rfid认证方法具有重要意义。技术实现要素:6.针对现有技术存在的问题,本发明的目的在于提供了一种基于随机重排分块矩阵加密的射频识别数据安全认证方法及系统,具有高安全性、低开销的优点。7.为了达到上述目的,本发明采取的技术方案为:8.基于随机重排分块矩阵加密的射频识别数据安全认证方法,包括以下步骤:9.s101:阅读器生成随机数,计算消息a并连同随机数发送给标签以开启认证;10.s102:标签收到消息后,解密阅读器的标识idr,生成随机数,并计算消息b、c、d发送给阅读器;11.s103:阅读器收到后解密标签的标识idt,计算消息e、f、g,连同随机数和标签的消息d发送给边缘服务器;12.s104:边缘服务器根据收到的标签消息和阅读器消息分别对标签和阅读器进行验证,如果验证通过,边缘服务器生成随机数,更新标签密钥和阅读器密钥,并生成消息h、m、n发送给阅读器;13.s105:阅读器根据收到的消息对边缘服务器进行验证,如果验证成功,阅读器更新密钥,并计算消息p和q,连同消息n发送给标签;14.s106:标签根据收到的消息对阅读器和边缘服务器分别验证,如果验证成功,则标签更新存储的密钥信息。15.所述的基于随机重排分块矩阵加密的射频识别数据安全认证方法包括初始化阶段和认证阶段;16.初始化阶段包括:17.(1)标签存储标识idt和共享密钥k、kts;18.(2)阅读器存储标识idr、ids以及共享密钥k、krs;19.(3)边缘服务器存储标识ids、阅读器标识关联信息mhash(idr)和标签标识关联信息mhash(idt),以及当前会话使用的共享密钥kts、krs,还有上一轮会话使用的共享密钥ktsold、krsold;第一轮设置ktsold和krsold为零。20.认证阶段包括:21.(1)阅读器生成随机数nr,并利用随机数nr、阅读器标识idr、阅读器与标签共享的密钥k计算消息a,并发送nr和a给标签,计算公式如下:[0022][0023](2)标签收到消息后通过随机数nr和密钥k从消息a中解密阅读器标识idr;标签生成随机数nt,并计算认证消息b、c、d发送给阅读器,计算公式如下:[0024][0025][0026]d=rot(mhash(idt)|kts,mhash(idr)|nr&nt)[0027](3)阅读器收到标签消息后,首先利用共享密钥k从消息b中解密标签的随机数nt,并由nt、nr和阅读器标识idr从消息c中解密标签标识idt;随后阅读器由与边缘服务器共享的密钥krs计算消息e,由随机数nt和边缘服务器的标识ids计算消息f,并且通过标识idr与标签标识idt计算消息g,阅读器将消息e、f、g连同随机数nr和标签计算的消息d发送给边缘服务器,计算公式如下:[0028][0029][0030][0031](4)边缘服务器收到消息后,首先由消息e解密出与阅读器的共享密钥krs,然后由共享密钥在数据库中查询阅读器标识关联信息mhash(idr);如果有匹配信息被检索到,边缘服务器认证阅读器成功,边缘服务器继续后续认证步骤;否则,如果数据库中没有匹配信息,那么说明阅读器是假冒的,边缘服务器结束认证;边缘服务器通过其标识ids由消息f计算标签生成的随机数nt,并根据随机数nr、nt、阅读器的共享密钥krs以及阅读器标识关联信息mhash(idr)由消息g计算出标签的标识关联信息mhash(idt),并由mhash(idt)在数据库中检索是否有匹配的标签密钥;如果数据库中没有匹配的标签密钥,那么说明标签是假冒的,边缘服务器终止认证;否则,边缘服务器取出密钥kts和ktsold,并分别由kts和ktsold验证消息d的有效性;如果kts验证通过,那么说明在上一轮认证中标签成功更新密钥;如果ktsold验证通过,则说明在上一轮认证时标签没有完成密钥更新;如果这两种情况之一出现,那么边缘服务器认证标签成功,否则认证失败;在成功认证标签和阅读器后,边缘服务器生成随机数ns,分别更新与标签和阅读器的共享密钥;如果标签在上一轮认证中成功更新密钥,那么边缘服务器使用kts计算并更新新旧共享密钥,计算和更新公式如下:[0032][0033]ktsold=kts;[0034]kts=kts′[0035]如果标签在上一轮认证中没有完成密钥更新,那么ktsold保持不变,边缘服务器使用ktsold更新共享密钥,计算和更新公式如下:[0036][0037]kts=kts′[0038]如果阅读器密钥krs与边缘服务器存储的krs匹配,那么说明在上一轮认证中阅读器成功完成密钥更新,边缘服务器使用krs计算并更新新旧密钥,计算和更新公式如下:[0039][0040]krsdld=krs;[0041]krs=krs′[0042]如果阅读器密钥krs与边缘服务器存储的krsold匹配,那么说明在上一轮认证中阅读器更新密钥失败,那么krsold保持不变,边缘服务器使用krsold计算并更新共享密钥,计算和更新公式如下:[0043][0044]krs=krs′[0045]边缘服务器完成密钥更新后,计算消息h、m、n发送给阅读器,计算公式如下:[0046][0047][0048][0049](5)阅读器收到消息后,由消息h和标签随机数nt解密出边缘服务器生成的随机数ns,并由随机数ns、nr和共享密钥krs计算新密钥值krs′,计算公式如下:[0050][0051]阅读器由krs′、随机数ns、nr以及标识idr验证消息m的有效性;如果验证不通过,则终止认证过程;否则,阅读器成功认证边缘服务器,阅读器更新共享密钥,更新公式如下:[0052]krs=krs′;[0053]阅读器计算消息p、q,连同边缘服务器的消息n发送给标签,计算公式如下:[0054][0055][0056](6)标签收到消息后,由标识idt、共享密钥k以及随机数nt验证消息q的有效性;如果验证失败,则终止认证;如果验证通过,则标签成功认证阅读器;标签由消息p和随机数nt、nr解密边缘服务器生成的随机数ns,并由共享密钥kts和随机数ns、nt计算新密钥值,计算公式如下:[0057][0058]标签由kts′、随机数ns、nt以及标识idt验证消息n的有效性。如果验证失败,则终止认证过程;否则,标签成功认证边缘服务器。标签更新共享密钥,认证完成;更新公式如下:[0059]kts=kts′;[0060]其中,tag:rfid标签;reader:rfid阅读器;edgeserver:rfid边缘服务器;nt、nr、ns:随机数;idt:标签标识;idr:阅读器标识;mhash(idt):标签标识关联信息;mhash(idr):阅读器标识关联信息;ids:边缘服务器标识;k:阅读器与标签的共享密钥;kts:当前会话标签与边缘服务器的共享密钥;krs:当前会话阅读器与边缘服务器的共享密钥;ktsold:上一轮会话标签与边缘服务器的共享密钥;krsold:上一轮会话阅读器与边缘服务器的共享密钥;按位异或运算;&:按位与运算;|:按位或运算;rot(x,y):x左循环移位(ymodl)位;mhash(x):随机重排分块矩阵加密运算;l:标签信息、密钥信息、随机数和通信消息的比特数;||:表示级联运算,将符号左右两边的比特串级联成一个长比特串。[0061]所述认证阶段的步骤(1)、步骤(3)中阅读器以明文发送本轮认证使用的随机数nr。[0062]所述认证阶段步骤(1)-(6)中标签、阅读器和边缘服务器不以明文传输标识idt、idr、ids,不以明文传输密钥kts、krs,不以明文传输随机数nt、ns。[0063]所述认证阶段的步骤(1)-(6)中认证和更新的计算使用了循环移位运算rot和随机重排分块矩阵加密运算mhash的组合运算。[0064]所述认证阶段步骤(4)中边缘服务器先使用本地存储的kts进行计算,判断是否与标签存储的kts计算结果匹配,如果匹配失败,再使用ktsold继续计算,两次计算结果均匹配失败才表示认证失败。[0065]所述认证阶段步骤(4)中边缘服务器将对当前会话使用的与阅读器共享的密钥krs、与标签共享的密钥kts,以及上一轮会话使用的与阅读器共享的密钥krsold、与标签共享的密钥ktsold都进行更新。[0066]所述认证阶段步骤(5)中阅读器对其存储的与边缘服务器共享的密钥信息进行更新。[0067]所述认证阶段步骤(6)中标签对其存储的与边缘服务器共享的密钥信息进行更新。[0068]基于随机重排分块矩阵加密的射频识别数据安全认证方法通过一种接收用户输入程序存储介质存储,通过计算机程序使电子设备执行。[0069]基于随机重排分块矩阵加密的射频识别数据安全认证方法采用射频识别数据安全认证系统,射频识别数据安全认证系统包括:[0070]标签,用于存储主体信息;[0071]阅读器,用于获取主体信息,与边缘服务器通过计算机终端进行通信;[0072]边缘服务器,用于对标签采集数据的处理和存储。[0073]所述的射频识别数据安全认证系统搭载于终端,终端为物联网终端。[0074]结合上述的所有技术方案,本发明所具备的有益效果为:本发明使用新提出的随机重排分块矩阵加密运算mhash和循环移位运算rot对通信消息进行组合加密,边缘服务器存储了本轮和上一轮使用的与标签和阅读器共享的密钥信息,可以实现标签匿名性、相互认证和前向安全性,并有效地抵抗假冒攻击、标签追踪攻击、重放攻击、拒绝服务攻击和去同步攻击;标签仅存储当前最新共享密钥,减少了标签的存储空间成本;边缘服务器存储标签标识关联信息mhash(idt)和阅读器标识关联信息mhash(idr),不存储标签标识和阅读器标识明文,实现了隐私保护;所以本发明的方法以更小的成本达到更高的安全性。[0075]本发明采用基于低开销的循环移位运算和随机重排分块矩阵加密运算对通信消息进行组合加密,用于阅读器在收集物联网设备的信息时完成对附着在这些实体上的标签的安全认证。本发明中标签只存储最新同步的共享密钥,减轻了标签存储空间的负担;边缘服务器不仅存储本轮认证使用的共享标签密钥与共享阅读器密钥,也保留前一轮认证使用的标签共享密钥与阅读器共享密钥,可以有效地抵抗拒绝服务攻击和去同步攻击;认证中边缘服务器不以明文形式标签标识和阅读器标识,而是存储用随机重排分块矩阵加密运算加密的标签标识关联信息mhash(idt)和阅读器标识关联信息mhash(idr),并在通信中采用随机数和共享密钥进行加密,保证了标签的匿名性,可以抵抗攻击者恶意追踪标签。本发明不仅实现了标签匿名、双向认证和前向安全性,还能抵抗标签追踪攻击、重放攻击、假冒攻击、去同步攻击和拒绝服务攻击,实现了标签低成本和认证高安全性需求之间的均衡。[0076]本发明与经典的超轻量级rfid认证方法进行对比分析。安全性对比结果如表1所示,其中“√”表示满足该项安全需求,“×”表示不满足该项安全需求,“*”表示部分满足该项安全需求。[0077]表1安全性对比[0078]mujahid协议sarah协议zhu协议benssalah协议ruap标签匿名性√√√√√相互认证****√抗标签追踪攻击√√√×√抗重放攻击×√×√√抗拒绝服务攻击√×××√抗去同步攻击×√××√抗假冒攻击√√√√√前向安全性√√√√√[0079]在表1中,本发明方法可以抵抗其他经典超轻量级rfid认证协议不能抵抗的标签追踪攻击、重放攻击、拒绝服务攻击和去同步攻击;在和其他协议一样具有前向安全性和假冒攻击、标签匿名的情况下,还能保证rfid系统的相互认证。ruap安全认证协议实现了更高的安全性。[0080]本发明从加密函数、存储开销、通信开销和标签硬件开销四个方面对该方法与几个经典的超轻量级rfid认证方法进行对比分析,l表示标识信息、共享密钥信息、随机数信息和通信信息的比特数。[0081]表2加密函数对比[0082][0083]表3存储开销对比[0084]协议标签开销阅读器开销服务器开销总开销sasi7l4l‑‑11lrcia7l7l‑‑14lsarah协议3ll7l11lzhu协议2l3l10l15lbenssalah协议4ll6l11lkmap7l7l‑‑14lsrinivasjangirala协议5l6l6l17lruap3l4l7l14l[0085]表4通信开销对比[0086][0087][0088]表5标签硬件开销对比[0089]协议lut寄存器sasi18141811kmap1126897rcia1556889ruap750941[0090]本发明的方法在比经典的超轻量级rfid认证协议具有更高的安全性的同时,采用更加轻量级的加密函数,满足低成本电子标签的要求,同时存储开销和通信开销相比其他超轻量级rfid认证协议处于较低水平,通信频次最低,总体资源开销较低。ruap和其他经典的超轻量级rfid认证方法的硬件开销对比结果表明,在认证过程中使用的标识信息、密钥信息、随机数信息和通信信息均为64比特的情况下,sasi的认证过程一个slice需要利用1814个lut和1811个寄存器;kmap的认证过程一个slice需要1126个lut和897个寄存器;rcia的认证过程一个slice需要1556个lut和889个寄存器。综上可知使用该方法进行认证时,使用的lut明显比sasi、kmap和rcia更少,而寄存器略多于kmap和rcia,远少于sasi,即该方法以更小的资源开销提升了系统的安全性。附图说明[0091]图1是本发明实施例射频识别数据安全认证方法流程图。[0092]图2是本发明实施例射频识别数据安全认证系统的结构示意图。[0093]图3是本发明实施例射频识别数据安全认证方法的实现流程图。[0094]图4是本发明实施例随机重排分块矩阵加密运算步骤一运算图。[0095]图5是本发明实施例随机重排分块矩阵加密运算步骤二运算结果图。[0096]图6是本发明实施例随机重排分块矩阵加密运算步骤二使用的算法1运算流程图。[0097]图7是本发明实施例随机重排分块矩阵加密运算步骤三使用的随机矩阵图。[0098]图8是本发明实施例随机重排分块矩阵加密运算步骤三使用的矩阵乘法运算图。[0099]图9是本发明实施例随机重排分块矩阵加密运算步骤四运算图。[0100]图10是本发明实施例随机重排分块矩阵加密函数与其他经典的轻量级加密函数的开销仿真结果对比图。[0101]图11是本发明实施例射频识别数据安全认证方法标签开销仿真结果。[0102]图12是本发明实施例射频识别数据安全认证方法与其他经典的超轻量级rfid认证协议的认证时间对比图。具体实施方式[0103]以下结合实施例和附图对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0104]如图1所示,一种基于随机重排分块矩阵加密的射频识别数据安全认证方法,包括以下步骤:[0105]s101:阅读器生成随机数,计算消息a并连同随机数发送给标签以开启认证;[0106]s102:标签收到消息后,解密阅读器的标识idr,生成随机数,并计算消息b、c、d发送给阅读器;[0107]s103:阅读器收到后解密标签的标识idt,计算消息e、f、g,连同随机数和标签的消息d发送给边缘服务器;[0108]s104:边缘服务器根据收到的标签消息和阅读器消息分别对标签和阅读器进行验证,如果验证通过,边缘服务器生成随机数,更新标签密钥和阅读器密钥,并生成消息h、m、n发送给阅读器;[0109]s105:阅读器根据收到的消息对边缘服务器进行验证,如果验证成功,阅读器更新密钥,并计算消息p和q,连同消息n发送给标签;[0110]s106:标签根据收到的消息对阅读器和边缘服务器分别验证,如果验证成功,则标签更新存储的密钥信息。[0111]如图2所示,所述基于随机重排分块矩阵加密的射频识别数据安全认证方法所采用的射频识别数据安全认证系统,包括:[0112]标签1:附着在某些对象上,例如物联网设备上的电子标签可以存储该主体信息;[0113]阅读器2:固定或便携式阅读器可以识别这些标签1,以获取有关这些对象的有用信息,然后与边缘服务器3通过一些计算机终端进行通信;[0114]边缘服务器3:用于对标签采集数据的处理和存储,一方面存储有所有的标签信息,方便阅读器2查询认证标签1;另一方面能够对阅读器2上传的各种物联网和传感器数据进行处理,并及时反馈。[0115]所述的基于随机重排分块矩阵加密的射频识别数据安全认证方法包括初始化阶段和认证阶段;[0116]初始化阶段包括:[0117](1)标签存储标识idt和共享密钥k、kts;[0118](2)阅读器存储标识idr、ids以及共享密钥k、krs;[0119](3)边缘服务器存储标识ids、阅读器标识关联信息mhash(idr)和标签标识关联信息mhash(idt),以及当前会话使用的共享密钥kts、krs,还有上一轮会话使用的共享密钥ktsold、krsold;第一轮设置ktsold和krsold为零。[0120]如图3所示,认证阶段包括以下步骤:[0121](1)阅读器生成随机数nr,并利用随机数nr、阅读器标识idr、阅读器与标签共享的密钥k计算消息a,并发送nr和a给标签,计算公式如下:[0122][0123](2)标签收到消息后通过随机数nr和密钥k从消息a中解密阅读器标识idr;标签生成随机数nt,并计算认证消息b、c、d发送给阅读器,计算公式如下:[0124][0125][0126]d=rot(mhash(idt)|kts,mhash(idr)|nr&nt)[0127](3)阅读器收到标签消息后,首先利用共享密钥k从消息b中解密标签的随机数nt,并由nt、nr和阅读器标识idr从消息c中解密标签标识idt;随后阅读器由与边缘服务器共享的密钥krs计算消息e,由随机数nt和边缘服务器的标识ids计算消息f,并且通过标识idr与标签标识idt计算消息g,阅读器将消息e、f、g连同随机数nr和标签计算的消息d发送给边缘服务器,计算公式如下:[0128][0129][0130][0131](4)边缘服务器收到消息后,首先由消息e解密出与阅读器的共享密钥krs,然后由共享密钥在数据库中查询阅读器标识关联信息mhash(idr);如果有匹配信息被检索到,边缘服务器认证阅读器成功,边缘服务器继续后续认证步骤;否则,如果数据库中没有匹配信息,那么说明阅读器是假冒的,边缘服务器结束认证;边缘服务器通过其标识ids由消息f计算标签生成的随机数nt,并根据随机数nr、nt、阅读器的共享密钥krs以及阅读器标识关联信息mhash(idr)由消息g计算出标签的标识关联信息mhash(idt),并由mhash(idt)在数据库中检索是否有匹配的标签密钥;如果数据库中没有匹配的标签密钥,那么说明标签是假冒的,边缘服务器终止认证;否则,边缘服务器取出密钥kts和ktsold,并分别由kts和ktsold验证消息d的有效性;如果kts验证通过,那么说明在上一轮认证中标签成功更新密钥;如果ktsold验证通过,则说明在上一轮认证时标签没有完成密钥更新;如果这两种情况之一出现,那么边缘服务器认证标签成功,否则认证失败;在成功认证标签和阅读器后,边缘服务器生成随机数ns,分别更新与标签和阅读器的共享密钥;如果标签在上一轮认证中成功更新密钥,那么边缘服务器使用kts计算并更新新旧共享密钥,计算和更新公式如下:[0132][0133]ktsold=kts;[0134]kts=kts′[0135]如果标签在上一轮认证中没有完成密钥更新,那么ktsold保持不变,边缘服务器使用ktsold更新共享密钥,计算和更新公式如下:[0136][0137]kts=kts′[0138]如果阅读器密钥krs与边缘服务器存储的krs匹配,那么说明在上一轮认证中阅读器成功完成密钥更新,边缘服务器使用krs计算并更新新旧密钥,计算和更新公式如下:[0139][0140]krsold=krs;[0141]krs=krs′[0142]如果阅读器密钥krs与边缘服务器存储的krsold匹配,那么说明在上一轮认证中阅读器更新密钥失败,那么krsold保持不变,边缘服务器使用krsold计算并更新共享密钥,计算和更新公式如下:[0143][0144]krs=krs′[0145]边缘服务器完成密钥更新后,计算消息h、m、n发送给阅读器,计算公式如下:[0146][0147][0148][0149](5)阅读器收到消息后,由消息h和标签随机数nt解密出边缘服务器生成的随机数ns,并由随机数ns、nr和共享密钥krs计算新密钥值krs′,计算公式如下:[0150][0151]阅读器由krs′、随机数ns、nr以及标识idr验证消息m的有效性;如果验证不通过,则终止认证过程;否则,阅读器成功认证边缘服务器,阅读器更新共享密钥,更新公式如下:[0152]krs=krs′;[0153]阅读器计算消息p、q,连同边缘服务器的消息n发送给标签,计算公式如下:[0154][0155][0156](6)标签收到消息后,由标识idt、共享密钥k以及随机数nt验证消息q的有效性;如果验证失败,则终止认证;如果验证通过,则标签成功认证阅读器;标签由消息p和随机数nt、nr解密边缘服务器生成的随机数ns,并由共享密钥kts和随机数ns、nt计算新密钥值,计算公式如下:[0157][0158]标签由kts′、随机数ns、nt以及标识idt验证消息n的有效性;如果验证失败,则终止认证过程;否则,标签成功认证边缘服务器;标签更新共享密钥,认证完成,更新公式如下:[0159]kts=kts′;[0160]其中,tag:rfid标签;reader:rfid阅读器;edgeserver:rfid边缘服务器;nt、nr、ns:随机数;idt:标签标识;idr:阅读器标识;mhash(idt):标签标识关联信息;mhash(idr):阅读器标识关联信息;ids:边缘服务器标识;k:阅读器与标签的共享密钥;kts:当前会话标签与边缘服务器的共享密钥;krs:当前会话阅读器与边缘服务器的共享密钥;ktsold:上一轮会话标签与边缘服务器的共享密钥;krsold:上一轮会话阅读器与边缘服务器的共享密钥;按位异或运算;&:按位与运算;|:按位或运算;rot(x,y):x左循环移位(ymodl)位;mhash(x):随机重排分块矩阵加密运算;l:标签信息、密钥信息、随机数和通信消息的比特数;||:表示级联运算,可以将符号左右两边的比特串级联成一个长比特串。[0161]使用随机重排分块矩阵加密运算mhash,运算定义如下:假设输入a是位宽为n的二进制数组。[0162]a=a1a2a3lal;ai∈{0,1},a=1,2,l,l;[0163]步骤一,如图4所示,通过置换操作将输入比特串a的比特位重新排列,得到与输入比特串a中比特“0”数量和比特“1”的数量相同但比特位置不同的新比特串,在图4中,a=1000001101001001,n=16,置换后得到字符串1000011010110000;[0164]步骤二,给定分块长度len,采用算法1将步骤一生成的中间字符串随机分成长度不等的n/len+1块,算法1的核心思想是,将输入a平均分成n/len块,在每一块中随机选择一个分割点,利用n/len个分割点将输入划分成长度不等的n/len+1块;如图5所示,样例len=4,n=16,划分成n/len+1=5块,第一块为1,第二块为00001,第三块为10101,第四块为10,第五块为000;算法1如图6所示;[0165]步骤三,如图7所示,给定n*len的随机矩阵,随机矩阵仅由数字0和数字1组成;将上一步划分的每个分组,分别与随机矩阵对应的分块矩阵做矩阵乘法运算;步骤二得到的第一个分组,长为1*len1,与随机矩阵的前len1行(大小为len1*len)做乘法运算,得到长为1*len的分组;第二个分组,长为1*len2,与随机矩阵的后续len2行(大小为len2*len)做乘法运算,得到长为1*len的分组;依次类推,其余分组与随机矩阵对应位置的分块矩阵做乘法运算,最终得到n/len+1个长为1*len的分组;矩阵乘法操作如图8所示,对每一行和每一列的对应位置采用比特或运算,将或运算的结果采用比特异或运算,得到最终的算法1比特结果;[0166]步骤四,如图9所示,对于步骤三得到的n/len+1块长度相同(1*len)的分组,将第一个分组作为密钥,与剩下的分组做异或运算,异或运算结果作为最终的密文;在实施例中,得到的长度为n的密文为0100110101001111。[0167]下面结合验证对本发明的技术效果作详细的描述。[0168]为了验证本发明的可用性,以下将展示并说明基于随机重排分块矩阵加密函数的超轻量级rfid安全认证方法ruap在仿真下的测试结果及其硬件开销,所使用的模拟软件是由fpga供应商xilinx发布的vivado。[0169]图10是对随机重排分块矩阵加密函数进行基于fgpa的实例化和综合分析结果,假设认证过程中使用的输入信息为64比特,可见该加密函数的计算过程需要使用65个查找表(look-up-table,lut)和64个寄存器,相比于其他轻量级加密函数开销很小。[0170]图11是对基于随机重排分块矩阵加密函数的超轻量级rfid安全认证方法ruap进行基于fgpa的实例化和综合分析结果,假设认证过程中使用的标签信息、密钥信息、随机数信息和通信信息均为64比特,可见该方法的认证过程一个slice需要使用750个查找表(look-up-table,lut)和941个寄存器。[0171]图12是基于随机重排分块矩阵加密函数的超轻量级rfid安全认证方法ruap与其他经典轻量级rfid认证协议的阅读器和边缘服务器的认证时间对比,结果表明,本发明方法的阅读器和边缘服务器的认证时间和认证总时间处于最低水平,相比于其他超轻量级rfid认证协议在实际中具有优势。[0172]应当注意,本发明的实施例可以通过硬件、软件或者软件和硬件的结合来实现,硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。[0173]以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
技术特征:1.基于随机重排分块矩阵加密的射频识别数据安全认证方法,其特征在于,包括以下步骤:s101:阅读器生成随机数,计算消息a并连同随机数发送给标签以开启认证;s102:标签收到消息后,解密阅读器的标识id
r
,生成随机数,并计算消息b、c、d发送给阅读器;s103:阅读器收到后解密标签的标识id
t
,计算消息e、f、g,连同随机数和标签的消息d发送给边缘服务器;s104:边缘服务器根据收到的标签消息和阅读器消息分别对标签和阅读器进行验证,如果验证通过,边缘服务器生成随机数,更新标签密钥和阅读器密钥,并生成消息h、m、n发送给阅读器;s105:阅读器根据收到的消息对边缘服务器进行验证,如果验证成功,阅读器更新密钥,并计算消息p和q,连同消息n发送给标签;s106:标签根据收到的消息对阅读器和边缘服务器分别验证,如果验证成功,则标签更新存储的密钥信息。2.根据权利要求1所述的方法,其特征在于,包括初始化阶段和认证阶段;初始化阶段包括:(1)标签存储标识id
t
和共享密钥k、k
ts
;(2)阅读器存储标识id
r
、id
s
以及共享密钥k、k
rs
;(3)边缘服务器存储标识id
s
、阅读器标识关联信息mhash(id
r
)和标签标识关联信息mhash(id
t
),以及当前会话使用的共享密钥k
ts
、k
rs
,还有上一轮会话使用的共享密钥k
tsold
、k
rsold
;第一轮设置k
tsold
和k
rsold
为零。3.根据权利要求2所述的方法,其特征在于,认证阶段包括:(1)阅读器生成随机数n
r
,并利用随机数n
r
、阅读器标识id
r
、阅读器与标签共享的密钥k计算消息a,并发送n
r
和a给标签,计算公式如下:(2)标签收到消息后通过随机数n
r
和密钥k从消息a中解密阅读器标识id
r
;标签生成随机数n
t
,并计算认证消息b、c、d发送给阅读器,计算公式如下:,并计算认证消息b、c、d发送给阅读器,计算公式如下:d=rot(mhash(id
t
)|k
ts
,mhash(id
r
)|n
r
&n
t
)(3)阅读器收到标签消息后,首先利用共享密钥k从消息b中解密标签的随机数n
t
,并由n
t
、n
r
和阅读器标识id
r
从消息c中解密标签标识id
t
;随后阅读器由与边缘服务器共享的密钥k
rs
计算消息e,由随机数n
t
和边缘服务器的标识id
s
计算消息f,并且通过标识id
r
与标签标识id
t
计算消息g,阅读器将消息e、f、g连同随机数n
r
和标签计算的消息d发送给边缘服务器,计算公式如下:计算公式如下:
(4)边缘服务器收到消息后,首先由消息e解密出与阅读器的共享密钥k
rs
,然后由共享密钥在数据库中查询阅读器标识关联信息mhash(id
r
);如果有匹配信息被检索到,边缘服务器认证阅读器成功,边缘服务器继续后续认证步骤;否则,如果数据库中没有匹配信息,那么说明阅读器是假冒的,边缘服务器结束认证;边缘服务器通过其标识id
s
由消息f计算标签生成的随机数n
t
,并根据随机数n
r
、n
t
、阅读器的共享密钥k
rs
以及阅读器标识关联信息mhash(id
r
)由消息g计算出标签的标识关联信息mhash(id
t
),并由mhash(id
t
)在数据库中检索是否有匹配的标签密钥;如果数据库中没有匹配的标签密钥,那么说明标签是假冒的,边缘服务器终止认证;否则,边缘服务器取出密钥k
ts
和k
tsold
,并分别由k
ts
和k
tsold
验证消息d的有效性;如果k
ts
验证通过,那么说明在上一轮认证中标签成功更新密钥;如果k
tsold
验证通过,则说明在上一轮认证时标签没有完成密钥更新;如果这两种情况之一出现,那么边缘服务器认证标签成功,否则认证失败;在成功认证标签和阅读器后,边缘服务器生成随机数n
s
,分别更新与标签和阅读器的共享密钥;如果标签在上一轮认证中成功更新密钥,那么边缘服务器使用k
ts
计算并更新新旧共享密钥,计算和更新公式如下:k
tsold
=k
ts
;k
ts
=k
ts
′
如果标签在上一轮认证中没有完成密钥更新,那么k
tsold
保持不变,边缘服务器使用k
tsold
更新共享密钥,计算和更新公式如下:k
ts
=k
ts
′
如果阅读器密钥k
rs
与边缘服务器存储的k
rs
匹配,那么说明在上一轮认证中阅读器成功完成密钥更新,边缘服务器使用k
rs
计算并更新新旧密钥,计算和更新公式如下:k
rsold
=k
rs
;k
rs
=k
rs
′
如果阅读器密钥k
rs
与边缘服务器存储的k
rsold
匹配,那么说明在上一轮认证中阅读器更新密钥失败,那么k
rsold
保持不变,边缘服务器使用k
rsold
计算并更新共享密钥,计算和更新公式如下:k
rs
=k
rs
′
边缘服务器完成密钥更新后,计算消息h、m、n发送给阅读器,计算公式如下:边缘服务器完成密钥更新后,计算消息h、m、n发送给阅读器,计算公式如下:边缘服务器完成密钥更新后,计算消息h、m、n发送给阅读器,计算公式如下:(5)阅读器收到消息后,由消息h和标签随机数n
t
解密出边缘服务器生成的随机数n
s
,并
由随机数n
s
、n
r
和共享密钥k
rs
计算新密钥值k
rs
′
,计算公式如下:阅读器由k
rs
′
、随机数n
s
、n
r
以及标识id
r
验证消息m的有效性;如果验证不通过,则终止认证过程;否则,阅读器成功认证边缘服务器,阅读器更新共享密钥,更新公式如下:k
rs
=k
rs
′
;阅读器计算消息p、q,连同边缘服务器的消息n发送给标签,计算公式如下:阅读器计算消息p、q,连同边缘服务器的消息n发送给标签,计算公式如下:(6)标签收到消息后,由标识id
t
、共享密钥k以及随机数n
t
验证消息q的有效性;如果验证失败,则终止认证;如果验证通过,则标签成功认证阅读器;标签由消息p和随机数n
t
、n
r
解密边缘服务器生成的随机数n
s
,并由共享密钥k
ts
和随机数n
s
、n
t
计算新密钥值,计算公式如下:标签由k
ts
′
、随机数n
s
、n
t
以及标识id
t
验证消息n的有效性。如果验证失败,则终止认证过程;否则,标签成功认证边缘服务器。标签更新共享密钥,认证完成;更新公式如下:k
ts
=k
ts
′
;其中,tag:rfid标签;reader:rfid阅读器;edge server:rfid边缘服务器;n
t
、n
r
、n
s
:随机数;id
t
:标签标识;id
r
:阅读器标识;mhash(id
t
):标签标识关联信息;mhash(id
r
):阅读器标识关联信息;id
s
:边缘服务器标识;k:阅读器与标签的共享密钥;k
ts
:当前会话标签与边缘服务器的共享密钥;k
rs
:当前会话阅读器与边缘服务器的共享密钥;k
tsold
:上一轮会话标签与边缘服务器的共享密钥;k
rsold
:上一轮会话阅读器与边缘服务器的共享密钥;按位异或运算;&:按位与运算;|:按位或运算;rot(x,y):x左循环移位(y mod l)位;mhash(x):随机重排分块矩阵加密运算;l:标签信息、密钥信息、随机数和通信消息的比特数;||:表示级联运算,将符号左右两边的比特串级联成一个长比特串。4.根据权利要求3所述的方法,其特征在于,所述认证阶段的步骤(1)、步骤(3)中阅读器以明文发送本轮认证使用的随机数n
r
;所述认证阶段步骤(1)-(6)中标签、阅读器和边缘服务器不以明文传输标识id
t
、id
r
、id
s
,不以明文传输密钥k
ts
、k
rs
,不以明文传输随机数n
t
、n
s
。5.根据权利要求3所述的方法,其特征在于,所述认证阶段的步骤(1)-(6)中认证和更新的计算使用了循环移位运算rot和随机重排分块矩阵加密运算mhash的组合运算。6.根据权利要求3所述的方法,其特征在于,所述认证阶段步骤(4)中边缘服务器先使用本地存储的k
ts
进行计算,判断是否与标签存储的k
ts
计算结果匹配,如果匹配失败,再使用k
tsold
继续计算,两次计算结果均匹配失败才表示认证失败。7.根据权利要求3所述的方法,其特征在于,所述认证阶段步骤(4)中边缘服务器将对当前会话使用的与阅读器共享的密钥k
rs
、与标签共享的密钥k
ts
,以及上一轮会话使用的与阅读器共享的密钥k
rsold
、与标签共享的密钥k
tsold
都进行更新;所述认证阶段步骤(5)中阅读器对其存储的与边缘服务器共享的密钥信息进行更新;
所述认证阶段步骤(6)中标签对其存储的与边缘服务器共享的密钥信息进行更新。8.权利要求1-7所述的方法采用的存储介质,其特征在于,通过一种接收用户输入程序存储介质存储,通过计算机程序使电子设备执行。9.权利要求1-8所述的方法采用的射频识别数据安全认证系统,其特征在于,射频识别数据安全认证系统包括:标签,用于存储主体信息;阅读器,用于获取主体信息,与边缘服务器通过计算机终端进行通信;边缘服务器,用于对标签采集数据的处理和存储。10.根据权利要求9所述的系统,其特征在于,所述的射频识别数据安全认证系统搭载于终端,终端为物联网终端。
技术总结基于随机重排分块矩阵加密的射频识别数据安全认证方法及系统,阅读器生成随机数,计算消息A并连同随机数发送给标签;标签收到消息后解密阅读器标识,生成随机数,计算消息B、C、D发给阅读器;阅读器收到后解密标签标识,计算消息E、F、G,连同随机数和标签的消息D发给边缘服务器;边缘服务器对标签和阅读器进行验证,验证通过,边缘服务器生成随机数,更新标签密钥和阅读器密钥,生成消息H、M、N发给阅读器;阅读器对边缘服务器验证,验证成功,阅读器更新密钥,计算消息P和Q,连同消息N发给标签;标签对阅读器和边缘服务器验证,验证成功,标签更新存储的密钥信息;本发明抵抗去同步攻击和拒绝服务攻击,减少标签的存储空间成本。减少标签的存储空间成本。减少标签的存储空间成本。
技术研发人员:樊凯 罗雨 王悦 毕烨 王幸苗 李晖
受保护的技术使用者:西安电子科技大学
技术研发日:2022.06.24
技术公布日:2022/11/1