一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于边缘计算的物联网客户端隐私保护认证方法与流程

2022-04-14 00:54:32 来源:中国专利 TAG:


1.本发明涉及信息安全技术领域,更具体地涉及一种基于边缘计算的物联网客户端隐私保护认证方法。


背景技术:

2.物联网设备在消息传递过程中,通过引入各种签名机制保证了传输消息的完整性。但是传统数字签名机制中,验证是针对特定的公钥执行的,这就将相关联的身份信息完全暴露给任何验证实体。换句话说,这样的签名机制没有提供任何隐私或匿名要求。为了平衡消息完整性验证和身份隐私保护,各种方案被提出来同时解决这两个安全问题。特别地,在实现匿名通信保护隐私方面,假名技术被广泛地应用。基于对称密码学的假名机制计算效率高,但是通常不适用于敏感的端到端通信,因为物联网终端必须与基站联系,以解密或者验证从另一个终端接收到的信息。基于公钥证书的假名机制会产生大量的存储和通信开销,因为公钥证书必须与消息一起发送,以方便接收方进行消息验证。而基于身份的假名机制虽然去除了公钥证书的需求,但是他们却需要一个可信中心颁发假名。基于群签名的方案的确可以满足物联网终端在不泄露身份信息的前提下产生签名,但是他们假设可信群管理者存在,负责聚集所有节点到一个群。
3.这些基于对称密码,非对称密码,身份密码的假名机制在本质上是静态的,是无法满足动态变化或者更新频繁的物联网系统的需求的,属性加密技术的发展为这个问题的解决提供了新的方向。在属性签名系统中,签名者根据承诺的谓词策略构造合法的签名,而验证者在成功验证签名之后,可以得到被签名的消息没有被篡改以及签名者的确拥有满足谓词策略的属性集合,却无法再获得更多签名者的具体身份信息。
4.但是,传统的属性签名机制中,单个授权中心通过生成客户端密钥的方式可以伪造任意客户端的签名,或者当授权中心受到攻击的时候,整个系统都会受到威胁。尽管多授权属性签名方案已经被构造,但是他们并没有改变中央授权中心决定系统主密钥的事实,所以并没有从根本上解决密钥托管问题。同时随着客户端的移动和位置变化,客户端的撤销问题也是一个很大的挑战,唯一可信的授权中心可能会为名声利益而为非法客户端颁发私钥或者无法及时地为撤销客户端更新私钥,这些都会影响系统的安全性;最后签名生成过程中大量的计算复杂度高的幂运算和双线性运算对于计算能力和存储资源有限的移动设备来说无法负担。


技术实现要素:

5.本发明的目的在于提供一种基于边缘计算的物联网客户端隐私保护认证方法,以解决密钥托管问题,同时缓解移动设备的管理负担。
6.本发明的基于边缘计算的物联网客户端隐私保护认证方法满足如下要求:一是设置多个边缘服务器作为边缘服务器对用户的属性管理和验证,并颁发与属性关联的私钥分量,每一个边缘服务器都可以管理整个系统属性,使得某一个边缘服务器的宕机不会影响
用户密钥的申请;二是应用门陷秘密共享技术,每个边缘服务器之间交互分享自己的主密钥,而中心基站重构得到完整的系统主密钥,但是任意的边缘服务器和中心基站都无法通过属性密钥而伪造签名,中心基站也不能随意为恶意用户颁发私钥,更无法伪造合法客户端的签名;三是应用现有的二叉树结构对客户端进行管理,快速地实现用户的撤销;同时应用云服务器的外包计算能力,将计算复杂度高的幂运算和双线性映射运算外包给云计算处理。
7.本发明提供一种基于边缘计算的物联网客户端隐私保护认证方法,包括以下步骤:
8.s1:中心基站建立系统的公开参数并完成所有客户端和n个边缘服务器的注册,同时根据客户端的数量上限构造一个二进制树,每个边缘服务器均生成一组公私钥对,其中公钥被安全地共享给系统内的任意实体,中心基站根据边缘服务器的公钥生成系统的公钥;
9.s2:为客户端颁发属性密钥;
10.s3:云服务器根据属性密钥计算得到云服务器令牌,客户端根据云服务器令牌生成签名消息;
11.s4:其他任意实体根据谓词策略判断签名消息是否合法,是则输出1,否则输出0;
12.s5:利用二进制树结构实现客户端的撤销。
13.进一步地,步骤s1包括:
14.s11:中心基站以安全参数λ作为输入,首先选择一个可以抵抗共谋攻击的哈希函数其中nm代表了签名消息尺寸的二进制上限,接着选择两个阶数为素数p的乘法循环群g和g
t
,并且定义群上的一个双线性映射e:g
×g→gt
;假设g为g的生成元,并随机选择由此定义函数和和选择中的d个不同元素φ={φ1,φ2,

,φd}作为系统默认属性集合;然后设置参数l=2d 1,中心基站继续选择}作为系统默认属性集合;然后设置参数l=2d 1,中心基站继续选择并且计算得到中心基站还额外分配一个数字签名算法ω
sign
以及一组相应的公私钥对(pk
bs
;sk
bs
),其中pk
bs
公开给系统的任何实体,sk
bs
仅仅由中心基站掌握,通过sk
bs
实现客户端和边缘服务器的注册;中心基站根据客户端数量的上限构造一个二进制树,并用标记这个二进制数,n表示客户端节点的最大数量,rl表示客户端的撤销列表而且初始化设置为空集,st当前时间节点二进制树的状态且初始化设置为对于二进制树的每一个节点θ∈n,选择并存储一个随机数r
θ
∈z
p
在该节点处;
15.客户端的注册过程包括:当任意的客户端加入系统时,中心基站先进行客户的有效性验证,客户端的有效性验证包括验证客户端之前是否进行过注册申请以抵抗重放攻击和拒绝服务攻击,当验证合法之后,中心基站随机选择中一个元素作为客户端的全局身份标识uid颁发给客户端,并根据签名算法和签名私钥构造相应的数字证书cert.uid;对于
每一个注册到系统的合法的客户端,中央基站在二叉树的所有叶子节点中选择一个未分配的节点给当前的客户端uid,并将uid标记在这个叶子节点上;
16.每个边缘服务器的注册过程包括:中心基站随机选择选择z
p
中一个元素作为边缘服务器的全局身份标识aidi颁发给边缘服务器,并根据签名算法和签名私钥构造相应的数字证书cert.aidi,同时将当前状态的二叉树安全地共享给每一个边缘服务器,包括标注了客户端的叶子节点,以及每个节点的随机数因子,以便于边缘服务器为每个客户端生成有效地待调整属性密钥分量。
17.进一步地,步骤s1进一步包括:
18.s12:每个边缘服务器esi(i=1,2,

,n)选择一个随机数αi∈z
p
作为子密钥,此时系统主密钥被表示为然后每个esi(i=1,2,

,n)分别生成一个k-1次多项式fi(x)满足αi=fi(0);根据选定的多项式,每个esi(i=1,2,

,n)为其他的esj(i=1,2,

,i-1,i 1,

,n)计算得到相应的子分享s
ij
=fi(aidj),并通过esj的证书秘密传递给esi;同时esi为自己计算s
ii
=fi(aidi),当接收到来自其他n-1个esj(j=1,2,

,i-1,i 1,

,n)的子分享s
ji
(j=1,2,

,i-1,i 1,

,n)后,esi计算得到主密钥并根据主密钥ski计算得到相应的公钥为在边缘服务器初始化之后,每个esi得到一组公私钥对(pki,ski),其中pki被分发给包括中心基站在内的任意实体。
19.进一步地,步骤s1进一步包括:
20.s13:中心基站任意选择n个esi公钥中的k个进行重构计算得到系统的公钥:其中,
21.最终系统的公开参数为:
22.其中,g为乘法循环群g的生成元,n是边缘服务器的个数,e(g,g)
α
为系统的公钥,λ为安全参数,g,g
t
为乘法循环群,φ为系统默认属性集合,f1(t),f2(m)为中心基站初始化过程中定义的映射函数,为初始化过程中定义的向量参数,h0为哈希函数。
23.进一步地,步骤s2包括:
24.步骤s21:拥有身份标识uid的客户端随机选择作为自己的全局私钥即客户端的全局私钥β
uid
,并且根据系统的公开参数中的乘法循环群g的生成元g计算作为该客户端的全局公钥pk
uid
,然后发送该客户端的全局公钥pk
uid
以及一个零知识证明一起给边缘服务器进行属性密钥申请;
25.步骤s22:边缘服务器根据中心基站共享的二叉树状态和以及节点因子,为用户颁发相应的属性待调整密钥分量,中心基站根据当前时间段的撤销列表构造密钥更新参数,只有未被撤销的用户根据密钥更新参数对属性待调整密钥分量进行操作,得到关联时间参
数的属性密钥分量。
26.步骤s23:客户端收集来自n个不同的边缘服务器esi中k个属性密钥分量,并重构完整的属性密钥。
27.进一步地,所述步骤s22包括:
28.步骤s221:利用第i个边缘服务器esi根据边缘服务器的私钥ski和一组随机参数分别针对角色属性集合ω和默认属性集合φ,来构造客户端的属性密钥的第i个密钥分量的待调整数据;
29.步骤s222:根据当前时间节点撤销列表以及二叉树的状态,判断用户在当前时间节点是否被撤销,根据判断结果,中心基站根据撤销算法构造时间参数对客户端的属性密钥的第i个密钥分量的待调整数据进行调整,以更新得到最终的属性密钥分量。
30.进一步地,在所述步骤s222中,只有在当前时间节点未被撤销的用户才能正确更新得到属性密钥分量;
31.针对角色属性集合ω,生成的完整的属性密钥的自身部分sk
ω
为:
[0032][0033][0034][0035][0036]
其中,其中,其中,
[0037]
针对默认属性集合φ,第i个的边缘服务器esi选择随机数所生成的完整的属性密钥的默认部分sk
φ
(d
t,φ,0
,d
φ,1
,d
φ,2
,k
φ,i
)为:
[0038][0039][0040][0041][0042]
进一步地,步骤s3进一步包括:
[0043]
1)当为消息选定谓词策略γ=(m,s),其中,s是一个尺寸为s=|s|≤d的属性集合,m∈{1,

,s},客户端将属性密钥进行如下分组({sk
ω
}
ω∈ω
,{sk
φ
}
φ∈φ
)传递给云服务器,云服务器根据字典顺序,首先选择集合φ的前面d-m个元素的子集φ
d-m
,同时选择任意的子集满足|sm|=m;根据下面的多项式可以定义一个向量
[0044][0045]
由于d-m s 1≤2d 1=l,系数y
d-m s 2
,

,y
l
确定为0;
[0046]
对于每个属性ω∈sm,云服务器根据属性密钥sk
ω
={d
ω,0
,d
ω,1
,k
ω,i
|i=1,2,

,l-1}计算得到参数
[0047][0048]
对于每个属性φ∈φ
d-m
,客户端根据属性密钥sk
φ
={d
φ,0
,d
φ,1
,k
φ,i
|i=1,2,

,l-1}计算得到参数
[0049][0050]
根据以及云服务器计算得到云服务器令牌包含的三个元素d0、d1和d2:
[0051][0052][0053][0054]
其中,其中,以及是由集合sm和φ
d-m
共同决定的拉格朗日系数,对于某个ω∈sm,,对于某个φ∈φ
d-m

[0055]
2)客户端首先计算并选择u,v,w∈z
p
,然后计算得到签名∑=(σ0,σ1,σ2,σ3,σ
*
):
[0056][0057]
σ1=d1gu,σ2=d2gv,σ3=gw,
[0058]
进一步地,步骤s4进一步包括:
[0059]
其他任意实体首先将谓词策略γ解析为(m,s),计算其他任意实体首先将谓词策略γ解析为(m,s),计算然后根据参数m,定义φ的包含d-m元素的子集应用多项式ps(z)定义规则定义向量如果等式如果等式成立,将接受签名∑=(σ0,σ1,σ2,σ3,σ
*
)为合法签名并输出1,否则的话,则输出为0。
[0060]
进一步地,步骤s5进一步包括:
[0061]
以身份标识uid、时间段t、撤销列表rl和状态st作为输入,对于与身份标识uid关联的所有节点x,添加(x;t),并输出更新后的撤销列表rl。
[0062]
本发明的基于边缘计算的物联网客户端隐私保护认证方法,通过多个边缘服务器共同管理系统属性集合,实现了真正的物联网客户端分布式管理需求,不再要求单一的可信中心或者中心基站随时在线,以保证客户端的密钥申请和管理;每个边缘服务器都可以实现客户端属性集合的真实性验证和属性密钥颁发,某一个具体边缘服务器的宕机不会影响客户端的密钥申请;应用门陷秘密共享机制,中心基站通过重构每个边缘服务器的主密钥得到整个系统的主密钥,从根本上解决了中心化系统中的中心基站面临的单点失败问题,中心基站以及任意的边缘服务器都无法通过单独生成私钥的方式伪造客户端签名;在初始化过程中,中心基站引入二叉树结构,利用所有叶节点管理注册的用户集合,当有用户撤销发生时,根据kunode算法快速实现用户私钥的更新,而不影响其他未被撤销的用户;最后在属性签名的生成算法中引入云服务器外包计算技术,将计算复杂度高的幂运算和双线性映射运算外包给云服务器计算处理,物联网客户端只需要执行简单的操作就能完成签名构造,极大地提高了客户端在处理复杂度高的幂运算和双线性映射运算的效率。
附图说明
[0063]
图1为根据本发明实施例的基于边缘计算的物联网客户端隐私保护认证方法的流程图。
具体实施方式
[0064]
下面结合附图,给出本发明的较佳实施例,并予以详细描述。
[0065]
本发明实施例涉及到的实体包括:
[0066]
中央基站(bs):作为系统的全局可信证书中心,进行系统的初始化创建以及接受合法客户端和边缘服务器的注册;
[0067]
边缘服务器(es):多个边缘服务器管理相同的系统属性集合,并为每个物联网客户端颁发属性密钥分量;
[0068]
物联网客户端:拥有合法的属性密钥的客户端才能够构造满足相应谓词策略的签名,而签名验证则不需要任何额外信息的情况下,任意的客户端实体都可以完成签名验证。
[0069]
如图1所示,本发明实施例提供一种基于边缘计算的物联网客户端隐私保护认证方法,包括以下步骤:
[0070]
s1:中心基站建立系统的公开参数并完成所有客户端和n个边缘服务器的注册,同时根据客户端的数量上限构造一个二进制树,每个边缘服务器均生成一组公私钥对,其中边缘服务器的公钥被安全地共享给系统内的任意实体,中心基站根据边缘服务器的公钥生成系统的公开参数;
[0071]
s2:为客户端颁发属性密钥;
[0072]
s3:云服务器根据属性密钥计算云服务器令牌,客户端根据云服务器令牌生成签名消息;
[0073]
s4:其他任意客户端实体根据谓词策略判断签名消息是否合法,是则输出1,否则输出0;
[0074]
s5:利用二进制树结构实现客户端的撤销。
[0075]
步骤s1为系统初始化,包括三个步骤:bsetup1,bsetup,和bsetup2。bsetup1主要负责系统参数的建立,以及所有客户端和边缘服务器的注册;在esetup阶段边缘服务器进行交互,分享子密钥;最终在bsetup2阶段中心基站重构完整的系统公开参数。具体如下:
[0076]
s11:bsetup1
[0077]
中心基站以安全参数λ作为输入,运行初始化操作。首先选择一个可以抵抗共谋攻击的哈希函数其中nm代表了签名消息尺寸的二进制上限,接着基站选择两个阶数为素数p的乘法循环群g和g
t
,并且定义群上的一个双线性映射e:g
×g→gt
,假设g为乘法循环群g的生成元,并随机选择由此定义函数和其中f1(t)和f2(m)分别为了将时间参数和签名消息映射到对应的循环群g上;同时为了简化陷门谓词策略的描述,选择阶数为素数的整数群中的d个不同元素φ={φ1,φ2,

,φd}作为系统默认属性集合φ,这里d就决定了最终签名构造中陷门(trapdoor)谓词策略的最大值,当然它的具体参数不会影响属性签名的构造;然后中心基站继续选择一组随机数构造向量参数即向量的每一个元素均是取自整数群并由此计算得到向量参数计算得到向量参数除此之外,中心基站额外分配一个传统的数字签名算法ω
sign
以及一组相应的公私钥对(pk
bs
;sk
bs
),用于后面证书的签名和验证。其中公钥pk
bs
是公开给系统的任何主实体,而私钥sk
bs
仅仅由中心基站掌握用于后面客户端和边缘服务器的注册。同时考虑到撤销需求,中心基站根据客户端数量的上限构造一个二进制树,并用标记这个二进制数,n表示客户端节点的最大数量,rl表示客户端撤销列表对实时的更新被撤销的客户端节点,而且初始化设置为空集st表示当前时间节点二进制树的状态且初始化设置为对于二进制树的每一个节点θ,选择并存储一个随机数在该节点θ处。
[0078]
当任意的客户端加入系统时,中央基站首先进行客户端的有效性验证,主要是验证客户端之前是否进行过注册申请以抵抗重放攻击和拒绝服务攻击。当客户端被验证合法之后,中央基站将随机选择中一个元素作为客户端的全局身份标识uid颁发给它,同时
颁发的还有根据签名算法和签名私钥构造的数字证书cert.uid。更重要的是,为了实现客户端撤销管理,为所有的注册客户端分配的一个未分配的叶子节点,并将uid标记在这个叶子节点处。
[0079]
每个边缘服务器也需要在系统初始化阶段向中央基站进行注册。同样地,中央基站随机选择中一个元素作为边缘服务器的全局身份标识aidi颁发给它,并且根据签名算法和签名私钥构造相应的数字证书cert.aidi,用来保障后面各个边缘服务器之间交互通信的安全性。同时将当前状态的二叉树安全地共享给每一个边缘服务器,其中包括标注了客户端位置的叶子节点,以及每个节点的随机数因子,以便于边缘服务器后续为每个客户端生成有效地待调整属性密钥分量。
[0080]
s12:esetup
[0081]
这个过程是由所有的边缘服务器协作运行的。所有n个边缘服务器交互调用(k,n)门限秘密共享机制如下:
[0082]
假定esi表示第i个边缘服务器,每个esi(i=1,2,

,n)选择一个随机数αi∈z
p
作为它的子密钥,此时系统主密钥可以被隐晦的表示为然后每个esi(i=1,2,

,n)分别生成一个k-1次多项式fi(x)满足αi=fi(0)。根据选定的多项式,每个esi(i=1,2,

,n)为其他的esj(i=1,2,

,i-1,i 1,

,n)计算得到相应的子分享s
ij
=fi(a
idj
),并通过esj的证书秘密传递给它,其中aidj是第j个边缘服务器的全局身份标识。同时esi为自己计算s
ij
=fi(aidi)。当接收到来自其他n-1个esj(j=1,2,

,i-1,i 1,

,n)的子分享s
ji
(j=1,2,

,i-1,i 1,

,n),esi计算得到自身的私钥(即第i个边缘服务器的私钥)然后esi计算得到它的公钥为在边缘服务器初始化之后,每个esi得到一组公私钥对(pki,ski),这里pki被分发给包括中心基站在内的任意实体。
[0083]
s13:bsetup2
[0084]
为了计算得到系统的公钥,中心基站任意选择n个esi公钥中的k个进行重构计算得到:
[0085]
作为签名验证的重要参数不再由单一的某个实体决定,我们可以隐晦地表示名验证的重要参数不再由单一的某个实体决定,我们可以隐晦地表示
[0086]
其中,e为定义的双线性映射,g为公开的乘法循环群g的生成元;ski为第i个边缘服务器的私钥;pki为第i个边缘服务器的公钥,k为门限秘密共享机制(k,n)的参数,而p(i)表示由边缘服务器的身份标识集合(aid1,aid2,

aidk)决定的拉格朗日系数,这里我们为了描述简便,按照字典顺序进行选择,而实际操作中则是取自n中的任意k个边缘服务器的身份标识集合都会实现。
[0087]
最终初始化完成之后,整个系统的公开参数如下:
[0088]
其中,g为乘法循环群g的生成元,n是边缘服务器的个数,e(g,g)
α
为系统的公钥,λ为安全参数,g,g
t
为乘法循环
群,φ为系统默认属性集合,f1(t),f2(m)为中心基站初始化过程中定义的映射函数,为初始化过程中定义的向量参数,h0为哈希函数。
[0089]
步骤s2为客户端颁发属性密钥,包括:
[0090]
步骤s21:拥有身份标识uid的客户端随机选择作为自己的全局私钥,即客户端的全局私钥sk
uid
=β
uid
,这里为素数加法群中的所有非零元,并且计算作为自己的全局公钥即客户端的全局公钥,然后发送全局公钥pk
uid
以及一个零知识证明个零知识证明一起给边缘服务器进行属性密钥申请。零知识证明指的是在边缘服务器(即验证者)无法获得sk
uid
=β
uid
的情况下,根据证据得出客户端(即证明者)的确拥有sk
uid
=β
uid

[0091]
步骤s221:第i个边缘服务器esi为客户端颁发待调整属性密钥分量。首先,边缘服务器验证客户端的有效性,即上面的零知识证明的准确性,然后根据客户端的具体身份角色颁发一个角色属性集合ω,比如客户端的职业属性,性别属性等等,根据不同的系统环境进行定制化描述。同时根据中心基站共享的二叉树状态,定义一个路径节点参数path(uid),代表的是二叉树中从标记uid的叶子节点到根节点的所有节点集合,以便于将二叉树中的所有覆盖客户端uid的节点都关联到待调整的属性密钥分量中。然后根据边缘服务器的私钥ski和一组随机参数定义一个隐性多项式定义一个隐性多项式分别针对角色属性集合ω和默认属性集合φ,来构造客户端的属性密钥分量的待调整数据。特别地,我们依据角色属性集合为例,进行详细描述。对于角色属性集合ω中一个具体属性ω,esi选择一个随机数相应的密钥分量的待调整数据由三个元素组成,可以表示为
[0092]
对于每一个θ∈path(uid)
[0093][0094]
对于j=1,2,

,l-1
[0095]
步骤s222:中心基站根据当前的时间参数以及撤销列表,首先得到节点集合kunode(bt,rl,t,st),这里kunode表示二叉树撤销算法(即撤销算法)的简写,它以bt二叉树,rl撤销列表,t为当前时间参数,st为二叉树的状态为输入,输出结果为当前时间节点t能够覆盖为未被撤销客户端的最小二叉树节点集合。然后检索存储在节点θ处的节点因子r
θ
;选择一个随机数;选择一个随机数并且计算得到:
[0096]
其中并将所有的密钥更新参数uk
t
=(θ,uk
t,θ
)|θ∈kunode(bt,rl,t,
st)公开在系统中,它包括所有属于二叉树节点θ∈kunode(bt,rl,t,st)的更新密钥参数uk
t,θ
组成的集合。
[0097]
步骤s223:假设此处标记i为节点集合path(uid),j为根据撤销算法得到的节点集合kunode(bt,rl,t,st),如果客户端在某个确定的时间节点为合法的非撤销客户端,那么集合i和j之间存在唯一的交集。这个唯一的交集就是二叉树节点中的唯一的节点,然后就能根据这个节点因子r
θ
构造的待调整属性密钥分量和更新密钥参数uk
t,θ
=(uk
θ,0
,uk
θ,1
),最终得到当前时间段包含时间参数的准确的属性密钥分量。此时,客户端首先选择随机数将属于ω的属性密钥就被调整为包含四个元素的的详细的参数计算如下:
[0098][0099][0100][0101]
对于j=1,2,

,l-1
[0102]
步骤s23,针对角色属性ω,当收集到来自k个不同的边缘服务器的属性密钥分量的调整后数据,即从每个边缘服务器esi得到的属性密钥分量客户端重构得到的完整的属于ω属性密钥的sk
ω
=(d
ω,0
,d
ω,1
,d
ω,2
,d
ω,i
|i=1,2,

,l-1)依然由四个元素组成,具体包括如下:
[0103][0104][0105][0106][0107][0107][0108]
其中,p(j)是由集合ik决定的拉格朗日系数决定的拉格朗日系数
它们是两个由具体的属性决定的随机参数。
[0109]
值得注意的是:值得注意的是:
[0110][0111][0112][0113][0114]
同样地,针对默认属性集合φ,其每一个属性表示为φ∈φ,通过上述步骤s22-步骤s23,第i个esi选择随机数所生成的完整的属性密钥的默认部分sk
φ
(d
t,φ,0
,d
φ,1
,d
φ,2
,k
φ,i
)为:
[0115][0116][0117][0118][0119]
最终客户端的私钥包括客户端的全局私钥β
uid
以及客户端的属性密钥。客户端的属性密钥包括(sk
ω
={d
t,ω,0
,d
ω,1
,d
ω,2
,k
ω,i
|i=1,2,

,l-1对于每一个属性ω∈ω},sk
φ
={d
t,φ,0
,d
φ,1
,d
φ,2
,k
φ,i
|i=1,2,

,l-1对于每一个属性φ∈φ})。
[0120]
步骤s3为客户端消息签名,签名的生成包括云服务器令牌生成和签名生成,具体如下:
[0121]
1)云服务器令牌生成
[0122]
当为消息选定谓词策略γ=(m,s),这里s是一个尺寸为s=|s|≤d的属性集合,以及m∈{1,

,s},客户端将属性密钥进行如下分组({sk
ω
}
ω∈ω
,{sk
φ
}
φ∈φ
)传递给云服务器,云服务器根据字典顺序,首先选择集合φ的前面d-m个元素的子集φ
d-m
,同时选择任意的子集满足|sm|=m。根据下面的多项式ps(z)可以定义一个向量
[0123][0124]
由于d-m s 1≤l,系数y
d-m s 2
,

,y
l
则毫无疑问地确定为0。
[0125]
对于每个属性ω∈sm,云服务器根据属性密钥sk
ω
={d
ω,0
,d
ω,1
,k
ω,i
|i=1,2,

,l-1}计算得到一个二元组作为签名生成的重要参数:
[0126][0127][0127][0128][0129]
对于每个属性φ∈φ
d-m
,同样地,云服务器者根据属性密钥sk
φ
={d
φ,0
,d
φ,1
,k
φ,i
|i=1,2,

,l-1}计算得到:
[0130][0130][0131][0132]
根据以及云服务器令牌包含的三个元素(d0,d1,d2)可以计算得到:
[0133][0134][0135][0136][0137]
这里我们标记这里我们标记
[0138]
以及是由集合sm和φ
d-m
共同决定的拉格朗日系数,对于某个对于某个φ∈φ
d-m

[0139]
2)签名生成:客户端作为签名者首先计算并选择
最终签名包含五个元素∑=(σ0,σ1,σ2,σ3,σ
*
),可以被计算如下:
[0140][0141]
σ1=d1gu,σ2=d2gv,σ3=gw,
[0142]
步骤s4为客户端消息认证,进一步包括:
[0143]
任意的实体(如边缘服务器或者中心基站)作为验证者首先将谓词策略γ解析为(m,s),计算然后根据参数m,定义φ的包含d-m元素的子集应用同样的多项式ps(z)定义规则定义向量如果下面的等式成立,将接受签名∑=(σ0,σ1,σ2,σ3,σ
*
)为合法签名并输出1,否则的话,则输出为0:
[0144][0145]
步骤s5为客户端撤销,进一步包括:
[0146]
以身份标识uid、当前时间点t、撤销列表rl和状态st作为输入,对于与身份标识uid关联的所有节点x,添加(x;t),并输出更新后的撤销列表rl。在步骤s222中,根据kunode算法,只有在合法期限内未被撤销的客户端才能成功更新属性密钥分量。
[0147]
本发明实施例提供的基于边缘计算的物联网客户端隐私保护认证方法,通过多个边缘服务器共同管理系统属性集合,实现了真正的物联网客户端分布式管理需求,不再要求单一的可信中心或者中心基站随时在线,以保证客户端的密钥申请和管理;每个边缘服务器都可以实现客户端属性集合的真实性验证和属性密钥颁发,某一个具体边缘服务器的宕机不会影响客户端的密钥申请;应用门限秘密共享机制,中心基站通过重构每个边缘服务器的主密钥得到整个系统的主密钥,从根本上解决了中心化系统中的中心基站面临的单点失败问题,中心基站以及任意的边缘服务器都无法通过单独生成私钥的方式伪造客户端签名;在初始化过程中,中心基站引入二叉树结构,利用所有叶节点管理注册的用户集合,当有用户撤销发生时,根据kunode算法快速实现用户私钥的更新,而不影响其他未被撤销的用户;最后在属性签名的生成算法中引入云服务器外包计算技术,将计算复杂度高的幂运算和双线性映射运算外包给云服务器计算处理,物联网客户端只需要执行简单的操作就能完成签名构造,极大地提高了客户端在处理复杂度高的幂运算和双线性映射运算的效率。
[0148]
以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献