当前位置:首页 期刊杂志

面向物联网的轻量级可验证群组认证方案

时间:2024-08-31

陈书仪,刘亚丽,林昌露,李 涛,董永权

(1. 江苏师范大学计算机科学与技术学院,江苏徐州 221116;2. 福建师范大学福建省网络安全与密码技术重点实验室,福建福州 350007;3.河南省网络密码技术重点实验室,河南郑州 450001)

1 引言

物联网(the Internet of Things,IoT)是一种新型的网络技术,它将各种信息传感设备与互联网相结合形成一个巨大的网络,实现在任何时间、任何地点,人与设备的互联互通. 物联网中的任何一个设备可以定义为一个虚拟节点或物理节点,所有节点通过网络相互连接并交换信息. 如图1 所示,物联网通常具有3 层架构[1,2],包括传感层、网络层和应用层. 传感层由具有各种传感能力的物联网节点组成;网络层将传感器的数据传输到服务器;应用层将传感层得到的数据进行处理,并实现具体的应用. 物联网节点之间通过开放信道实现交互,而开放的信息交互存在安全和隐私泄露问题. 目前,身份认证是解决这些问题的关键技术之一.

图1 物联网的3层架构

身份认证在物联网中具有广泛的应用. 张顺等人[3]提出了一种无线体域网(Wireless Body Area Network,WBAN)场景下的认证方案,该方案使用椭圆曲线技术实现了用户和医疗中心的相互认证.Fouda 等人[4]提出了一种面向智能电网的认证方案,该方案使用联合会话密钥和哈希函数实现了分布式智能电表和智能设备之间的相互认证. 房卫东等人[5]在无线传感器网络(Wireless Sensor Network,WSN)场景下,使用生物特征标识技术实现了用户和传感器节点之间的双向认证. 张文芳等人[6]在车联网(Vehicular Ad Hoc Network,VANET)场景下提出一种基于无证书聚合签名的匿名认证与密钥协商方案. 李涛等人[7]提出了一种基于双物理不可克隆函数(Physical Unclonable Function,PUF)的无线射频识别(Radio Frequency Identification,RFID)认证方案,实现阅读器与标签的双向认证.

大多数物联网认证方案是节点之间一对一的认证方案,节点之间通过交互来验证身份信息. 然而这种认证方案并不适用于物联网. 一方面,物联网节点内存小、功耗低的特性无法支持较大的通信开销和复杂的计算;另一方面,物联网的节点数量越来越多,认证服务器无法同时处理大量的认证请求. 越来越多的物联网应用需要有效地对大量节点进行认证,这种应用场景需要一种新型的身份认证方案,能够同时一次验证一组节点的合法性,以节省成本和提高效率. 因此,需要设计面向物联网的轻量级群组认证方案.

群组认证[8]是单个或多个验证者对一组成员的身份进行认证. 在物联网场景下,群组认证可以实现一次对一组节点的认证,群组认证模型相较于传统认证模型,更加适用于海量认证请求的物联网场景,它可以有效地解决节点资源受限的问题. 因此研究物联网场景下的群组认证方案对于解决目前物联网中群体身份认证问题具有重要的研究意义和实践价值.

在实现群组认证的方法中,Shamir秘密共享技术[9]是一种高效、低代价的方法.Harn[8]的方案将Shamir 秘密共享技术应用于群组认证上,相比于传统的认证方案,不需要每个节点之间进行一对一的认证,节约了计算和通信代价. 然而Ahmadian 等人[10]指出Harn 的方案是不安全的,攻击者可以通过线性子空间攻击来伪造一个有效的认证令牌,而不用恢复任何多项式,攻击者可以在不被检测到的情况下模拟一个组成员,从而通过身份认证. 随后,Chien[11]提出了一种基于双线性配对的群组认证方案,该方案的安全性基于椭圆曲线离散对数困难问题,每一轮群组认证都使用不同的本原元加密私钥,避免了群组认证过程中受到重放攻击.然而,Xia 等人[12]指出该方案无法抵抗伪造攻击,由于拉格朗日系数公开可计算,攻击者可以通过修改认证令牌中的拉格朗日系数来生成一个新的有效令牌.Aydin 等人[13]在Harn 和Chien 的群组认证方案基础上,提出了一种轻量的群组认证方案;在群组认证时,组成员只进行简单的累加运算,具有较低的计算开销,但是该方案仍无法抵抗伪造攻击,攻击者可以修改认证令牌中的拉格朗日系数来重构一个新的有效令牌从而通过群组认证,而无须破解椭圆曲线离散对数困难问题,同时,该方案无法抵抗重放攻击,攻击者可以重放合法组成员的认证令牌从而通过下一轮的群组认证. 随后,Xia 等人[12]提出使用匿名否决网络算法(Anonymous Veto Networks,AV-net)解决令牌被篡改的问题,然而他的方案没有考虑群组管理者欺骗的问题,群组管理者可能分发错误的私钥导致组成员无法通过群组认证,同时,该方案在群组认证阶段使用双线性配对,耗费了更多的计算代价.

综合现有的群组认证方案,现有研究工作存在以下问题.

(1)现有大多数的群组认证方案计算代价高,无法适用于资源受限的物联网场景. 物联网传感层的节点往往具有有限的内存、严格的能量限制,而且处理能力非常有限. 因此,在身份认证过程中,应该尽可能减少物联网节点上的计算开销.

(2)现有大多数的基于秘密共享技术的群组认证方案无法抵抗伪造攻击,攻击者可以通过修改认证令牌中的拉格朗日系数来伪造一个合法令牌,从而通过群组认证.

(3)现有大多数的群组认证方案无法抵抗重放攻击. 在物联网场景下,物联网节点之间通信的延时可能导致群组认证未能一次通过,如果物联网节点再次进行群组认证,攻击者可以截取上一轮的认证令牌进行重放,从而通过群组认证.

(4)现有群组认证方案均没有考虑群组管理者欺骗的问题,组成员全盘接受群组管理者分发的私钥. 在物联网场景下,群组管理者可能是网关或者其他具有高计算能力、高存储能力的物联网节点,然而,这些群组管理者可能给予部分合法组成员错误的私钥,导致这些组成员始终无法通过群组认证.

在物联网场景下,节点往往是动态变化的,新节点可以加入网络,旧节点可以离开网络. 例如:在无线体域网场景下,人体携带的医学传感器作为一组物联网节点,根据病人的需求动态变化[14];在车联网的场景下,同一区域的车作为一组物联网节点,会驶入或驶出当前区域[15]. 然而,文献[11~13]的群组认证方案尚未考虑节点加入和撤出的情况,当节点动态变化时,新节点可以使用分配的私钥通过群组认证,撤出的节点无法利用原有的私钥通过群组认证,所以群组管理者需要更新节点的私钥以实现权限的分配或撤销.

综上所述,设计一种适用于物联网场景的、轻量的、安全的、可验证的、支持组成员动态变化的群组认证方案是亟待解决的问题.

为了解决现有群组认证方案存在的以上问题,本文提出了一种面向物联网的轻量级可验证群组认证方案. 本文的主要贡献如下.

(1)本文创新性地在物联网场景下将私钥可验证思想应用于群组认证方案,对群组管理者分发的私钥进行验证,有效地防止了群组管理者的欺骗行为.

(2)本文提出了一种基于秘密共享技术的轻量级群组身份认证方案,克服了一对一身份认证存在的局限性,可以用于物联网分散式的群组身份认证场景.

(3)本文支持组成员的动态加入和撤出,群组管理者动态地更新私钥以实现组成员权限的分配或撤销,而不需要为组内所有组成员重新分配私钥.

(4)本文方案满足正确性、机密性,并且可以抵抗伪造、重放、冒充等恶意攻击,具有较好的安全性.

(5)与现有典型的群组认证方案相比,本文方案具有较低的计算开销,满足资源受限节点的轻量级群组认证的需求. 更加适用于海量认证请求的物联网场景.

2 准备工作

本节主要介绍本文方案所使用的理论基础,并且给出了本文方案的安全性定义.

2.1 理论基础

定义1(Shamir秘密共享方案[9])秘密共享方案包含n个组成员{U1,U2,…,Un}和秘密拥有者D.D将秘密分发给n个组成员,至少k(k≤n)个组成员可以恢复秘密,其中k是恢复秘密的门限. 方案的具体步骤如下.

(1)初始化阶段.在有限域Zq(q为大素数)上,D选择一个(k-1)次的多项式s作为秘密存储在第一个系数a0中.

(2)秘密分发阶段.秘密的拥有者根据组成员Ui的公开身份信息xi计算si=f(xi)(modq)作为组成员Ui的秘密份额,并把si通过秘密信道分发给组成员Ui,其中1 ≤i≤n.

(3)秘密重构阶段.当组成员想要恢复秘密s,他们只需k个组成员的秘密份额便可以重构出多项式f(x)=其中进一步可以得到秘密s=f(0)=a0.

在此方案中,素数q需要大于秘密s和组成员总数n并且公开,而随机选择的多项式系数a1,a2,…,ak-1是秘密信息,需要保密,在生成n个秘密份额后销毁.

定义2(双线性配对[16])双线性配对满足映射e(·):G1×G2→GT,其中G1和G2是阶为q的加法循环群,GT是阶为q的乘法循环群,双线性配对满足如下3 个性质.

(1)双 线 性.对 于P1,P2∈G1,Q∈G2且a,b∈Zq,存在.

(2)非 退 化 性.对 于 任 意 点P∈G1,Q∈G2,有e(P,Q)≠1,反之亦然.

(3)可计算性.在多项式时间内,对于所有(P,Q)∈G1×G2,e(P,Q)的值是可有效计算的.

2.2 安全性定义

在文献[12]的基础上,本节给出可验证群组认证方案安全性证明的相关定义.

定义3(敌手模型)本文假设敌手分为内部敌手AI和外部敌手AO,敌手的具体定义如下.

(1)内部敌手AI假设参与群组认证的人数为m,k≤m≤n,其中k是群组认证人数的门限值,n是组成员数量,内部敌手AI最多控制k-1个组成员,AI可以获得这些组成员的私钥和秘密信息,它的目的是获取未被控制组成员的私钥并且伪造认证令牌通过群组认证.

(2)外部对手AO外部敌手AO不拥有任何组成员的有效私钥,它的目的是在未被检测到的情况下冒充组成员.

定义4(通信模型)本文假设群组管理者(Group Mananger,GM)和每个组成员之间存在一个安全的信道,以便私钥可以安全地分发而不会泄露,并且假设组成员都可以连接到一个广播频道,通过这个频道发送的任何消息都可以在某些特定的时间范围内被其他组成员听到.

定义5(可验证群组认证模型)一个可验证群组认证模型包括5 种算法:初始化算法Init(λ)、私钥分发算法Dist({xi}i∈[1,n])、私钥验 证算法Veri(si,params)、认证令牌生成算法Comp(params,φ,{xi}i∈[1,m],si)和群组认证算法Auth(params,{ci,riP}i∈[1,m]).

(1)Init(λ)初始化算法由GM 运行. 以安全参数λ作为输入,系统参数params作为输出.

(2)Dist({xi}i∈[1,n])私钥分发算法由GM 运行. 以组成员公开身份信息集合{xi}i∈[1,n]作为输入,输出组成员私钥集合{si}i∈[1,n],并通过安全信道发送给组成员.

(3)Veri(si,params)私钥验证算法由每个组成员运行. 将组成员私钥si和系统参数params作为输入,如果私钥验证成功,则输出1,否则输出0.

(4)Comp(params,φ,{xi}i∈[1,m],si)认证令牌生成算法由每个参与群组认证的组成员运行. 假设参与群组认证的组成员为{U1,U2,…,Um},将系统参数params、会话索引φ、参与群组认证组成员的公开身份信息集合{xi}i∈[1,m]和私钥si作为输入,输出认证令牌{ci,riP}.

(5)Auth(params,{ci,riP}i∈[1,m])群组认证算法由每个参与群组认证的组成员运行. 将系统参数params 和一组认证令牌{ci,riP}i∈[1,m]作为输入,如果群组认证成功,则输出1,否则输出0.

针对上述所定义的可验证群组认证模型,要求其满足以下正确性和安全性要求.

(1)正确性.如果参与群组认证的组成员为{U1,U2,…,Um},并且他们都是合法的组成员,则群组认证通过. 形式上,如果满足

群组认证方案具有正确性. 在上述表达式中,Pr(X)表示事件X发生的概率.

(2)机密性.内部敌手AI无法在群组认证过程中获得未被控制的组成员的任何秘密信息. 形式上,如果满足

群组认证方案具有机密性. 在上述表达式中,ViewAI(Realχ(λ,params))表示在实际运行方案χ中内部敌手AI的视图,而ViewAI(SIMS(λ,params))表示以公共信息为输入的模拟机S模拟的方案中AI的视图,ε(λ)表示关于参数λ的可忽略的函数.

(3)不可伪造性. 内部敌手AI无法伪造认证令牌通过群组认证. 形式上,如果满足

群组认证方案具有不可伪造性. 在上述表达式中,UA表示由AI控制的组成员集合,满足UA⊂U且|UA| ≤k-1.R表示用于请求群组认证服务的模拟机,Z表示已请求会话的索引集合,ε(λ)表示关于参数λ的可忽略的函数.

(4)不可冒充性.外部敌手AO无法冒充一个组成员. 形式上,如果满足

群组认证方案具有不可冒充性. 在上述表达式中,假定AO冒充组成员Uμ,μ∉[1,m].

定义6(椭圆曲线离散对数困难问题[16])假设E是有限域Zq上的椭圆曲线,Q,P是E上的点,满足Q=kP,k∈Zq,则椭圆曲线离散对数困难问题是指:给定Q,P,求解出k是困难的.

3 本文方案

为了解决群组管理者由分发不合法私钥给组成员而导致组成员群组认证失败的问题以及满足资源受限的物联网节点的群组认证需求,本文提出一种面向物联网的轻量级可验证群组认证方案(Group Authentication Scheme with Verifiable Private Key,GASVPK).

3.1 系统模型

群组认证系统模型如图2 所示. 系统模型包含两种类型成员:群组管理者(Group Mananger,GM)和组成员.GM 负责设置以及更新系统参数,并通过秘密信道为组成员分发私钥. 组成员通过无线信道通信,验证其他组成员的身份. 在物联网场景下,GM可以是服务器、网关等网络设施,组成员可以是智能电表、智能家居、智能穿戴等物联网设备.

图2 群组认证系统模型

本文提出的GASVPK 方案假设GM 的身份是真实的,但是GM 可能欺骗某些组成员而分发错误的私钥,因此需要组成员在GM分发私钥后验证私钥的有效性.假设参与群组认证的人数为m,k≤m≤n,k是群组认证人数的门限,n是组成员的数量. 在群组认证阶段,GASVPK 方案最多可以容忍k-1 个内部组成员相互勾结.

3.2 GASVPK方案

GASVPK 方案分为以下6 个阶段:初始化阶段、私钥分发阶段、私钥验证阶段、认证令牌生成阶段、群组认证阶段和组成员动态变化阶段. GASVPK 方案的流程如图3所示.

图3 GASVPK方案流程图

(1)初始化阶段

输入安全参数λ,GM选择两个阶为大素数q的加法循环群G1,G2和一个阶为q的乘法循环群GT,P和R分别 是G1和G2的 生 成 元,选 择 双 线 性 配 对e(·):G1×G2→GT,选择一个k-1 次的秘密多项式f(x)=a0+a1x+…+ak-1xk-1(modq),令秘密信息s=a0,计算Q=sP,vj=e(ajP,R),j=0,1,…,k-1,选 择 哈 希 函 数h(·):{0,1}*→Zq,选 择GM 的 公 私 钥 对{pkGM,skGM},公 开参数

params=(G1,G2,GT,Q,R,P,{vj}j∈[0,k-1],h(·),e(·),pkGM)

(2)私钥分发阶段

假设组U有n个组成员{U1,U2,…,Un},群组管理者GM 根据组成员的公开身份信息xi计算si=f(xi)作为组成员的私钥,并通过秘密信道将私钥分发给组成员Ui,其中i=1,2,…,n.

(3)私钥验证阶段

组成员Ui在收到GM 分配的私钥si后,验证等式是否成立以验证私钥si是否有效. 如果等式成立,则接受私钥si;如果等式不成立,则重新向GM请求私钥si.

(4)认证令牌生成阶段

①GM 向组内发送消息sigskGM(requestU,φ,t),其中requestU是GM向组U发起的群组认证请求,φ是当前会话序号,t是接收时间的阈值,sigskGM(·)为GM 对消息的签名. 随后,GM更新会话序号φ.

②组成员使用pkGM验证GM 的签名,验证成功则进行第φ次会话. 假设参与群组认证的组成员为{U1,U2,…,Um},每 个 参 与 群 组 认 证 的 组 成 员Ui(i=1,2,…,m)在组内广播zi=xi‖φ作为应答消息.

③在t时间内接收到应答消息后,每个参与群组认证的组成员Ui计算当前会话标识T=h(x1‖…‖xm‖φ),选择随机数ri∈Zq,计算拉格朗日系数计算认证令牌ci=si μiT+ri和riP,公开认证令牌{ci,riP}.

(5)群组认证阶段

当组成员Ui(i=1,2,…,m)在t时间内收到其他组成员公开的认证令牌,每个组成员验证等式是否成立以验证其他组成员的身份. 如果等式成立,则群组认证通过;如果等式不成立,则群组认证失败,重新进行下一轮群组认证.

(6)组成员动态变化阶段

组成员动态变化阶段,组成员可以动态地加入和撤出群组,GM 需要更新组成员的私钥以分配或撤销组成员的权限. 在下一轮群组认证时,新加入的组成员可以使用分配的私钥通过群组认证,撤出的组成员无法利用原有的私钥通过群组认证.

①组成员加入

(a)假设Un+1想要加入组U={U1,U2,…,Un},GM根据Un+1的公开身份信息xn+1计算sn+1=f(xn+1)作为组成员私钥,并通过秘密信道将私钥分发给Un+1.

(b)Un+1在收到GM 分配的私钥sn+1后,验证等式是否成立以验证私钥sn+1是否有效. 如果等式成立,则接受私钥sn+1;如果等式不成立,则重新向GM请求私钥sn+1.

②组成员撤出

(a)假设Un想要撤出组U={U1,U2,…,Un},GM 选择随机数h∈Zq,更新秘密多项式f(x)和v1为

(b)群组管理者GM 通过秘密信道将h发送给组成员Ui,i=1,2,…,n-1,Ui验证等式v1e(hP,R)=v1'是否成立. 如果等式成立,则接受h;如果等式不成立,则重新向GM 请求h. 然后组成员Ui,i=1,2,…,n-1,更新私钥si'=si+hxi.

组成员动态地加入和撤出后,可以进行群组认证,具体步骤与阶段(4)和阶段(5)相似,此处就不再赘述.

4 GASVPK方案安全性证明和分析

本节将对GASVPK 方案的正确性、机密性、不可伪造性、不可冒充性做出形式化安全性证明,并且分析了方案可以抵抗重放攻击和抵抗群组管理者欺骗.GASVPK 方案的安全性基于椭圆曲线离散对数困难问题[16].

4.1 安全性证明

定理1GASVPK方案满足正确性.

证明如果n个组成员中参与群组认证的组成员为{U1,U2,…,Um},k≤m≤n,k是群组认证人数的门限.根据拉格朗日插值定理,秘密值,其中是拉格朗日系数,组成员的令牌ci=si μiT+ri,可以得到

假设Un+1加入组U={U1,U2,…,Un},如果参与群组认证的组成员为{U1,U2,…,Um,Un+1},k-1 ≤m≤n.根据拉格朗日插值定理,秘密值sn+1μn+1,其中是拉格朗日系数,组成员的令牌ci=si μiT+ri,同理可以验证公式TQ成立.

假设Un撤出组U={U1,U2,…,Un},如果参与群组认证的组成员为{U1,U2,…,Um},k≤m≤n-1. 组成 员Ui(i=1,2,…,m)的私钥si'=f'(xi)=f(xi)+hxi,根据拉格朗日插值定理,秘密值,其 中μi=是拉格朗日系数,组成员的令牌ci'=si'μiT+ri,同理可以验证公式成立.

证毕.

定理2GASVPK方案满足机密性.

证明设Realχ(λ,params)为实际运行的方案χ,SIMS(λ,params)为一个把公开信息作为输入的模拟机S模拟的方案,定理2 的证明由引理1 推出,两种运行方案如下.

(1)Realχ(λ,params)

①初始化阶段

GM生成并输出公开参数:

②私钥分发阶段

GM 计算私钥si=f(xi)并且通过秘密信道发送给组成员. 假定内部敌手AI至多知道k-1 个组成员的私钥{s1,s2,…,sk-1}.

③私钥验证阶段

④认证令牌生成阶段

假设n个组成员中参与群组认证的组成员为{U1,U2,…,Um},k≤m≤n. 在第φ次会话中,每个参与群组认证的组成员Ui选择随机数ri∈Zq,计算会话标识T=h(x1‖…‖xm‖φ)和拉格朗日系,计算并公开认证令牌ci=si μiT+ri和riP. 在这个阶段,内部敌手AI知道k-1 个组成员的私钥{s1,s2,…,sk-1}、随机数和所有公开的信息.

⑤群组认证阶段

(2)SIMS(λ,params)

①初始化阶段模拟机S输出公开参数:

②私钥分发阶段

S发送k-1 个组成员的私钥{s1,s2,…,sk-1}给内部敌手AI.

③私钥验证阶段

④认证令牌生成阶段

假设n个组成员中参与群组认证的组成员为{U1,U2,…,Um},k≤m≤n. 在 第φ次 会 话 中,S发 送{r1,r2,…,rk-1}给AI,然后S从Zq上随机选择选择m-k个值{ck',ck+1',…,cm-1'},计算cm'满足公式公 开 认 证 令 牌{c1,…,ck-1,ck',…,cm'} 和

⑤群组认证阶段

证毕.

引理1如果存在内部敌手AI,他能够至多进行Q次尝试,并且能以不可忽略的概率ε区分出两种运行方案,则存在一种算法能够以的优势解决椭圆曲线上离散对数困难问题.

证明如果存在内部敌手AI,他能够区分出两种运行方案,则他能够区分出{ck,…,cm}和{ck',…,cm'},由于ci=si μiT+ri,则他能够区分出两种运行方案的概率等同于AI可以获得si和ri的值的概率,其中i=k,…,m.下面来计算AI可以获得si和ri的概率.

根据拉格朗日插值定理,只有私钥的个数不小于门限值k才可以重构多项式,进而获得其他组成员的私钥.AI至多知道k-1个私钥{s1,s2,…,sk-1},则他至少需要猜出多项式上一个点值,由于点值在Zq上是随机分布的,所以AI猜出一个点值的概率约为1/q,所以,AI获得si的值的概率至多为1/q. 假设AI能以ε'的概率解决椭圆曲线上离散对数困难问题,给定(P,riP)为群G1上离散对数困难问题的一个实例,AI能以ε'的概率求出ri的值,则AI获得ri的值的概率为ε'.

综上所述,AI可以获得si和ri的概率ε≤ε'Q/q,其中Q是AI尝试的次数. 所以,AI可以区分出两种运行方案的概率ε≤ε'Q/q. 可以推出,AI解决椭圆曲线上离散对数困难问题的概率ε'≥εQ/q,其中ε为一个不可忽略的概率.

AI能以一个不可忽略的概率解决椭圆曲线上离散对数困难问题,这与定义6中的椭圆曲线上的离散对数困难性假设矛盾,所以AI无法区分出Realχ(λ,params)和SIMS(λ,params),可以得到

其中,ε(λ)表示关于参数λ的可忽略的函数. 因此,由定义5的安全性要求可知,GASVPK方案满足机密性.

定理3GASVPK方案满足不可伪造性.

证明假定X事件是指AI能够从公开参数中预测出s,Y事件是指AI能够通过询问模拟机得知一些秘密信息,F事件是指成功伪造出未被控制组成员的认证令牌,可以得到

首先,基于离散对数困难问题假设,可以得到Pr[X]<ε1(λ),其中,ε1(λ)表示关于参数λ的可忽略的函数. 其次,定理2 证明了协议满足机密性,不会泄露任何秘密信息给AI,且即使AI查询模拟机多项式次数,他也不会知道任何秘密信息. 因此,可以得到,Pr[Y]<ε2(λ),ε2(λ)表示关于参数λ的可忽略的函数. 最后,分析在这种情况,为了伪造出未被控制组成员的认证令牌,AI需要猜出s,因为s在Zq上是随机分布的,所以AI猜出s的可能性为1/q,且AI可以尝试多项式次数,可以得到,其中Q是AI尝试的次数. 综合以上分析,可以得到

其中,ε(λ)表示关于参数λ的可忽略的函数. 因此,由定义5 的安全性要求可知,GASVPK 方案满足不可伪造性.

定理4GASVPK方案满足不可冒充性.

证明假定X事件是指AO能够从公开参数中预测出s和ri,i=1,…,m,F事 件 是 指AO成 功 冒 充 组 成 员Uμ,μ∉[1,m]且不被发现,可以得到

首先,基于离散对数困难问题假设,可以得到Pr[X]<ε1(λ),其中,ε1(λ)表示关于参数λ的可忽略的函数. 然后,分析Pr[F|Xˉ]的概率. 在这种情况下,AO需要输 出 一 个 令 牌cμ满 足{ci}i∈[1,m]是AO已知的其他参与者的认证令牌集合,因为s,ri在Zq上是随机分布的,所以AO猜出的可能性为1/q,且AO可以尝试多项式次数,可以得到其中Q是AO尝试的次数. 综合以上分析,可以得到Pr[F]<ε1(λ)+Q/q<ε(λ),其中,ε(λ)表示关于参数λ的可忽略的函数. 因此,由定义5 的安全性要求可知,GASVPK方案满足不可冒充性.

4.2 安全性分析

(1)抗重放攻击

在GASVPK 方案中,GM 向组U发起群组认证请求,其中包含会话序号φ,由于GM 每一轮都会更新φ,所以每一轮的φ是不同的,每一轮产生的会话标识T=h(x1‖…‖xm‖φ)也是不同的. 即使两轮参与群组认证的组成员相同,敌手重放上一轮的消息也无法通过下一轮的群组认证. 假设上一轮的会话序号为φ1,参与群组 认 证 的 组 成 员 为{U1,U2,…,Um},会 话 标 识T1=h(x1‖…‖xm‖φ1),组成员Ui的会话令牌为ci=si μiT1+ri和riP,假设下一轮的会话序号为φ2,φ2≠φ1,参与群组认证的组 成员同样为{U1,U2,…,Um},会话标识T2=h(x1‖…‖xm‖φ2),组成员Ui的会话令牌为ci'=si μiT2+ri'和ri'P. 由于T1≠T2,敌手无法通过重放组成员Ui上一轮的会话令牌通过下一轮的群组认证. 因此,GASVPK方案可以抵抗重放攻击,提高了群组认证的安全性.

(2)抗群组管理者欺骗

在GASVPK 方案中,组成员验证了私钥的有效性,防止了群组管理者欺骗. 组成员Ui(i=1,…,m)利用公开参数vj=e(ajP,R)(j=0,1,…,k-1)验证等式e(siP,R)=当组成员动态变化时,假设Un+1加入组U={U1,U2,…,Un},Un+1验 证 等 式;假设Un撤出组U={U1,U2,…,Un},组成员Ui,i=1,…,n-1 验证等式v1e(hP,R)=v1'. 如果等式不成立,代表私钥无效,群组管理者可能存在欺骗行为,组成员重新向群组管理者请求私钥. 因此,GASVPK 方案较好地防止了群组管理者的欺骗行为.

5 性能分析与仿真分析

本节将从安全性和计算开销两个方面对GASVPK方案进行性能分析,并与文献[11~13,17,18]的群组认证方案进行对比分析. 同时,通过仿真实验实现GASVPK 方案、文献[11~13,17,18]方案,并根据实验结果进行计算开销的对比分析.

5.1 性能分析

对于群组认证方案,计算开销是性能测量的重要指标之一. 表1 给出了各种密码运算的名称、对应的英文以及运算时间的符号表示.TEM为一次椭圆曲线点乘运算的时间,TEA为一次椭圆曲线点加运算的时间,Tmul,q为Zq上一次乘法运算的时间,Tinv,q为Zq上一次逆运算的时间,Tpair为一次双线性配对运算的时间,Thtp为一次哈希映射到点运算的时间. 在性能评估中忽略哈希函数、加减法等运算的时间,因为这些运算与点乘等运算相比,时间可以忽略不计,根据文献[11]中的计算代价,TEM≅1189Tmul,q,TEA≅4.92Tmul,q,Tpair≅5356Tmul,q,Tinv,q≅240Tmul,q.

表1 密码运算时间的符号表示

设参与群组认证的组成员个数为m,GASVPK 方案与文献[11~13,17,18]方案中组成员的计算开销如下.

在方案[11]中,Chien 计算了每个组成员在一次群组认证中的计算开销,但经过分析并与作者沟通确认,其算法中每个组成员需要(7m+12134)Tmul,q生成认证令牌和验证组成员身份,另外在群组认证开始,组成员之间需要协商一个点R,作者没有给出具体的算法,设时间为Ta,所以每个组成员单次群组认证实际耗费(7m+12134)Tmul,q+Ta.

在方案[12]中,每个组成员需要(2m-2)Tmul,q+Tinv,q+3TEM+(m-1)TEA生成认证令牌、(m-1)TEA+2Tpair验证组成员身份,所以每个组成员耗费(2m-2)(Tmul,q+TEA)+Tinv,q+3TEM+2Tpair. 进一步评估方案[12]的计算开销,每个组成员单次群组认证耗费(12m+14507)Tmul,q.

在方案[13]中,每个组成员需要(2m-3)Tmul,q+Tinv,q+2TEM生成认证令牌、(m-1)TEA验证组成员身份,所以每个组成员耗费(2m-3)Tmul,q+Tinv,q+2TEM+(m-1)TEA. 进一步评估方案[13]的计算开销,每个组成员单次群组认证耗费(7m+2610)Tmul,q.

在方案[17]中,每个组成员需要2TEM+TEA+Thtp生成认证令牌、3(m-1)TEA+3Tpair+Tmul,q+(m-1)Thtp验证组成员身份,所以每个组成员耗费(3m-2)TEA+2TEM+3Tpair+Tmul,q+mThtp. 进一步评估方案[17]的计算开销,每个组成员单次群组认证耗费(15m+18437)Tmul,q+mThtp.

在方案[18]中,每个组成员需要TEM+Tmul,q生成认证令牌、3TEM+2TEA验证组成员身份,由于该方案中组成员之间是一对一的认证,每个组成员与剩余m-1 个组成员相互认证,所以每个组成员耗费(m-1)(4TEM+2TEA+Tmul,q). 进一步评估方案[18]的计算开销,每个组成员单次群组认证耗费(4767(m-1))Tmul,q.

在GASVPK 方案中,每个组成员需要(2m-1)Tmul,q+Tinv,q+TEM生成认证令牌ci=si μiT+ri和riP、2TEM+mTEA验证组成员身份,所以每个组成员耗费(2m-1)Tmul,q+Tinv,q+3TEM+mTEA. 进一步评估GASVPK方案的计算开销,每个组成员单次群组认证耗费(7m+3806)Tmul,q.

GASVPK 方案与文献[11~13,17,18]方案的组成员计算开销和安全性对比如表2 所示. 从表2 可以看出,与其他方案相比,GASVPK 方案支持私钥的验证和组成员的动态加入和撤出,抵抗伪造攻击和重放攻击,并且在群组认证阶段具有较低的计算开销.

表2 6种方案的组成员计算开销和安全性对比

5.2 仿真分析

本节通过仿真实验比较文献[11~13,17,18]方案和GASVPK 方案的计算开销. 在个人电脑(Win10 操作系统、主频1.80GHz 的i5-8250 的处理器、内存为8GB)利用MIRACL 库实现了各个方案. 本文利用了椭圆曲线加密技术,而文献[11,12,17]方案另外采用了双线性配对技术. 为了达到相同的测试环境,几种方案都基于同一种支持双线性配对的椭圆曲线,具体设置如下:由生成元P生成阶为q的加法群,其中P为度为2 的超奇异椭圆曲线E:y2=x3-3x(modp)上的点,p为1536 比特的素数,q为256比特的素数.

图4 描述了GASVPK 方案在不同群组认证人数和不同阶段情况下所有组成员耗费的总时间. 图5 描述了GASVPK 方案两轮群组认证所有组成员耗费的总时间. 图6 描述了GASVPK 方案在组成员动态变化阶段,不同变化人数情况下GM 更新组成员权限耗费的时间. 如果在群组认证阶段节点发生重放、篡改等攻击导致一轮群组认证未通过,无须重新运行整个方案,组成员重新生成认证令牌并进行二轮群组认证.

图4 GASVPK方案所有组成员耗费的总时间

图5 GASVPK方案两轮群组认证所有组成员耗费的总时间

图6 GASVPK方案GM更新组成员权限耗费的时间

GASVPK 方案与文献[11~13,17,18]方案单次群组认证每个组成员耗费时间的对比如图7 所示. 横坐标代表群组认证的人数,纵坐标表示每个组成员耗费的时间. 由于方案[11]没有给出协商共同秘密值的具体算法,因此默认转换当前时间为共同秘密值,实际运行时间会比图7 中运行时间更多. 文献[13]方案与GASVPK计算时间相近,然而文献[13]方案无法抵抗伪造和重放攻击,不具备安全性.

图7 六种方案单次群组认证每个组成员耗费时间的对比

综上所述,性能分析和仿真分析表明,GASVPK 方案比文献[11~13,17,18]方案具有更高的安全性和更低的计算开销.

6 结束语

面向物联网的轻量级群组认证是解决物联网各种应用场景下多个设备间并行认证的有效方法. 然而,现有群组认证方案存在众多安全隐患,没有考虑群组管理者欺骗的情况,不支持组成员的动态变化,并且计算代价相对较高,无法适用于物联网节点资源受限的情况. 本文提出了一种面向物联网的轻量级群组认证方案GASVPK. 本方案创新性地在物联网场景下对群组管理者分发的私钥进行验证,防止群组管理者的欺骗行为,并且支持组成员的动态加入和撤出. 方案满足正确性、机密性,并且可以抵抗伪造、重放、冒充等恶意攻击. 与现有面向物联网的群组认证方案相比,本文方案具有更高的安全性和较低的计算开销,更加适用于海量认证请求的物联网场景,可以有效地满足物联网场景下资源受限节点的轻量级群组认证的需求.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!