一种基于动态属性权限的群组密钥协商方法

文档序号:31941471发布日期:2022-10-26 03:10阅读:39来源:国知局
一种基于动态属性权限的群组密钥协商方法

1.本发明涉及群组密钥协商的技术领域,尤其涉及一种基于动态属性权限的群组密钥协商方法。


背景技术:

2.在当代人们工作和生活的过程中产生了海量的数据传输和频繁的资源交换,给信息安全领域提出了新的挑战。云计算可以提供海量存储以及可扩展的可靠性服务,而边缘计算十分敏捷,具有低时延、高带宽的特点。边云协同则可以继承两者的优点,因此,边云协同成为了当前的发展趋势,能够很好的应用在对网络低时延高带宽要求苛刻的各类场景业务中。在群组数据传输过程中,如何有效地保护终端的隐私性、各终端之间交换信息的保密性以及通信的安全性成为现在研究的热点话题。
3.群组密钥协商(gka)技术是解决该问题的关键技术之一,该技术通过建立一条安全高效的通信信道,能够为群组实体提供可靠的数据传输服务,其应用领域十分广泛,如军事、医疗、教育等方面,因此群组密钥协商技术具有重要的研究意义。但是,随着科学的进步与新型技术的诞生,目前群组密钥协商技术面临着新的挑战,如在庞大规模的数据交换的过程中,终端隐私泄露问题、多群组通信过程中权限更新复杂问题以及终端成员的能耗受限问题等。针对上述问题,本发明提出了边云协同场景中基于动态属性权限的群组密钥协商协议,能够为边云协同环境中的组成员建立一条安全的通信信道,而且支持终端跨域参与群组密钥协商。
4.目前,针对边云协同场景中基于动态属性权限的群组密钥协商的研究尚未出现,一系列的挑战性问题有待解决。


技术实现要素:

5.针对现有群组密钥协商方法在数据交换中终端隐私容易泄露,终端参与多群组通信的需求以及终端的能耗受限的技术问题,本发明提出一种基于动态属性权限的群组密钥协商方法,能够为边云协同环境中的组成员建立一条安全的通信信道,而且支持终端跨域参与群组密钥协商。
6.为了达到上述目的,本发明的技术方案是这样实现的:一种基于动态属性权限的群组密钥协商方法,其步骤如下:
7.步骤一:云服务器cs、边缘服务器以及终端与认证中心ca通信进行密钥自证实,获取合法的公私密钥对;
8.步骤二:各终端进行隐藏属性的身份认证并获取属性权值,各边缘服务器获得所有的边缘属性权值;云服务器cs根据各终端和各边缘服务器的ip划分管理域,将属性权限形成区块链链接在联盟区块链中;
9.步骤三:群组密钥协商计算群组加密密钥和群组解密密钥;
10.步骤四:权限升级使终端加入更高层级的群组
11.41)想要加入更高层级群组的终端,根据属性权值计算签名和哈希值i,并将申请属性权限所需的信息发送给云服务器cs;
12.42)云服务器cs收到终端发送的消息后,在信息平台中查询信息并计算哈希值ii,并与收到的哈希值i对比,若相等,边缘服务器根据属性序列号找到对应的边缘属性权值,验证终端的身份和属性权值,如果验证成立,云服务器cs查询区块链并计算新属性的属性权限,并发送给终端和终端所在域的边缘服务器;
13.43)终端收到消息后计算一个新的属性权值;
14.44)边缘服务器收到消息后,边缘服务器将消息包含的信息和终端的属性权限以交易的形式写入一个新的区块i并链接在联盟区块链中,然后对信息公示平台进行更新;
15.步骤五:终端受到惩罚时,撤销终端的属性权值,更新其它具有该属性权值的终端的属性权值集合;
16.51)云服务器cs查询边云系统网络中其他终端列表,并选择一个随机数,计算新的属性权限发送给边云协同网络中的每一个终端和对应的边缘服务器;
17.52)终端和边缘服务器收到消息后,分别计算获得一个新的属性权值;
18.53)边缘服务器将包括新的属性权值的信息以交易的形式写入一个新的区块并链接在联盟区块链中,然后对信息公示平台进行更新。
19.优选地,还包括步骤六:终端建立安全信道将消息发送给群组内其他终端,且
20.加密的方法为:终端选择一个随机数并利用群组解密密钥计算参数和密文信息,然后在群组内广播包括参数和密文信息的消息密文;
21.解密的方法为:群组内其他终端收到消息密文后,使用协商出的解密密钥解密出明文。
22.优选地,所述密钥自证实的方法为:认证中心ca运行系统密钥生成算法生成公钥pg和主密钥msk;收到认证中心ca广播的公钥pg和主密钥msk后,云服务器cs、边缘服务器或终端随机选取一个正整数作为私钥,并计算公钥和证实密钥所需的中间变量,然后将证实的中间变量和公钥发送给认证中心ca;收到云服务器cs、边缘服务器或终端的消息后,认证中心ca验证公钥和身份标识的对应关系,如果验证通过,认证中心ca公布云服务器cs、边缘服务器或终端的公钥;
23.云服务器cs生成的公私密钥对为(pk
cs
,sk
cs
),边云协同网络中的第i个边缘服务器esi的公私密钥对为(pk
esi
,sk
esi
),第i个边缘管理域的第j个终端u
i,j
的公私密钥对为其中,pk
cs
,sk
cs
分别表示云服务器的公钥和私钥,pk
esi
,sk
esi
分别表示边缘服务器esi的公钥和私钥,分别表示终端u
i,j
的公钥和私钥,且1≤i≤n,1≤j≤n,n为边缘服务器的总数,n为每个边缘管理域中终端的总数。
24.优选地,所述步骤二的实现方法为:
25.1)云服务器cs根据系统的有序属性集合随机为每个属性选择一个对应的属性参数,然后广播系统的有序属性集及对应的属性序列号;
26.2)收到云服务器cs广播的系统的有序属性集后,终端随机选择一个正整数并通过云服务器的公钥和属性计算认证自己属性所需的中间参数和中间签名,然后将属性中间参数及中间签名发送给云服务器cs;
27.3)云服务器cs接收到终端发送的消息后,计算验证属性所需的属性中间变量并确定终端所具有的有序属性,云服务器cs计算哈希值并验证终端的中间签名,如果验证通过,云服务器cs根据终端的有序属性对应的属性参数计算终端的属性权限和属性签名并将属性权限和属性签名一起发送给终端;
28.4)收到云服务器cs的消息后,终端验证云服务器cs的属性权限和属性签名,如果验证通过,终端计算属性权值;
29.5)各边缘服务器根据步骤1)-4)获得所有的边缘属性权限;
30.6)云服务器cs根据各终端和各边缘服务器的ip划分管理域,并将边缘服务器所属的终端的注册信息发送给对应的边缘服务器;边缘服务器将注册信息以交易的形式形成区块并链接在联盟区块链中,同时对信息公示平台进行更新。
31.优选地,所述终端u
i,j
的注册信息包括属性权限集合终端的有序属性集合对应的属性序列号集合(s1,s2,...,s
t
)、公钥身份标识和ip地址边缘服务器esi形成区块的消息为其中,为终端u
i,j
的第t个属性对应的属性权限,s
t
为终端u
i,j
的第t个属性对应的属性序列号,l
i,j
为终端u
i,j
在属性认证过程中所需要的中间参数,表示交易的时间戳;且1≤t≤t,t为系统的有序属性集合中属性的个数;
32.终端u
i,j
的属性权值组成的集合为为终端u
i,j
的属性attr
i,j,t
对应的属性权值;边缘服务器esi的边缘属性权值组成的集合为其中,表示边缘服务器esi的第t个属性的属性权值;b
t
为第t个属性attr
t
对应的属性参数,g1为加法群g1的生成元,为抗碰撞的哈希函数,表示阶为q的正整数集。
33.优选地,所述步骤三的实现方法为:
34.31)群组密钥协商发起者u
i,τ
广播具有属性权限集或者子集为属性权限集的终端进行群组密钥协商,发起者u
i,τ
计算参与群组密钥协商需要的属性哈希值设属性权限集对应的属性哈希值的集合为发起者u
i,τ
将群组密钥协商具有属性哈希值及其身份信息的消息广播到边缘协同网络上;其中,1≤τ≤n,为发起者u
i,τ
的第t个属性attr
i,τ,t
对应的属性权限,表示群组密钥协商发起者u
i,τ
的第t个属性的属性哈希值;为抗碰撞的哈希函数,表示阶为q的正整数集;
35.32)其它任意的终端u
i,j
及边缘服务器esi收到发起者u
i,τ
发起的群组密钥协商的消息后,分别根据自己的属性计算属性哈希值并与发起者u
i,τ
广播的属性哈希值进行对比,如果有
,则终端u
i,j
判定自己有权限参与群组密钥协商;其中,1≤j≤n,为终端u
i,j
的第t个属性attr
i,j,t
的哈希值;
36.33)有权限参与群组密钥协商的任意的终端u
i,j
和发起者u
i,τ
根据自己在属性认证过程中的选择的正整数计算相关参数、属性哈希值的签名哈希值并将群组密钥协商申请信息组成的消息发送给本域的边缘服务器esi;其中,pk
esi
为边缘服务器esi的公钥,为终端u
i,j
的私钥,为终端u
i,j
的公钥,为终端u
i,j
的属性签名,为终端u
i,j
的ip地址,哈希函数h1:{0,1}
*

g1,哈希函数g1为加法群g1的生成元,||表示连接符号;
37.34)本域的边缘服务器esi收到消息后,在区块链中查询终端u
i,j
的ip地址和属性权限集并计算哈希值若哈希值验证终端u
i,j
的身份;边缘服务器esi分别计算中间变量别计算中间变量;如果有边缘服务器esi计算哈希值并通过验证等式验证终端u
i,j
的属性哈希值的签名,如果等式成立,边缘服务器esi发送密钥因子{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}给终端u
i,j
;其中,sk
esi
为边缘服务器esi的私钥,attr
t
为边缘服务器esi的第t个属性;e表示可计算的双线性映射函数;
38.35)终端u
i,j
收到密钥因子{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}后,利用边缘属性权值的哈希值和密钥因子还原牛顿插值多项式终端u
i,j
令x=0计算得到并将作为群组解密密钥;终端u
i,j
计算群组加密密钥其中,为终端u
i,j
的属性attr
i,j,t
对应的属性权值;
39.36)群组密钥发起者u
i,τ
计算群组解密密钥的哈希值和签名发起者u
i,τ
在群组内广播群组解密密钥的哈希值和自己的签名即消息
40.37)群组所有的终端u
i,k
收到消息后,计算中间变量
并通过验证公式验证发起者u
i,τ
的身份信息和属性权限,如果等式成立,终端u
i,k
计算如果φ'=φ则说明群组内所有成员的群组解密密钥是一致的;其中,k≠τ。
41.优选地,所述密钥因子{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}的生成方法为:边缘服务器esi计算边缘属性权值的哈希值随机选择t个正整数构造牛顿插值多项式f(x)=d0+d1x+d2x2+

+d
t-1
x
t-1
;边缘服务器esi将所有边缘属性权值的哈希值分别带入牛顿插值多项式求值得到{f(x1),f(x2),...,f(x
t
)};边缘服务器esi根据公式分别计算t阶差商f(x1),差商集合{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}为群组密钥因子;其中,属性权值1≤i≤n,1≤j≤n,1≤t≤t,0≤i1≤t-1。
42.优选地,所述步骤四中权限升级的实现方法为:
43.41)终端u
i,j
根据属性权限计算签名和哈希值并将申请属性权限所需的信息发送给云服务器;
44.42)云服务器cs收到终端u
i,j
发送的消息后,在信息平台中查询终端u
i,j
的ip地址和属性序列号(s1,s2,...,s
t
)并计算哈希值如果边缘服务器esi根据属性序列号(s1,s2,...,s
t
)找到对应的边缘属性权值通过验证等式是否成立来验证终端u
i,j
的身份和属性权限;如果等式成立,云服务器cs查询区块链计算中间变量新属性的属性权限并将消息发送给终端u
i,j
;同时将信息发送给终端u
i,j
所在域的边缘服务器esi;其中,表示终端u
i,j
申请的新的属性序列号s
t+1
对应新属性的属性权限;sk
cs
为云服务器cs的私钥,b
t
为第t个属性对应的属性参数,表示终端u
i,j
在认证第t+1个属性的过程中所需要的中间参数;attr
t+1
为更高层群组的第t+1个属性;
45.43)终端u
i,j
收到消息后计算属性权值
46.44)边缘服务器esi收到消息后,将信息以交易的形式写入一个新的区块并链接
在联盟区块链中,对信息公示平台进行更新;其中,表示终端u
i,j
交易信息的时间戳。
47.优选地,所述步骤五中撤销终端的属性权值的方法为:
48.51)云服务器cs查询边云协同网络中其他终端u
a,k
的列表,并随机选择一个随机数查询区块链并计算中间变量新属性权限然后将消息发送给边云协同网络中的每一个终端u
a,k
,并将消息发送给其它的每个终端u
a,k
对应的边缘服务器esa;其中,表示u
a,k
第t个属性的新的属性权值;1≤a≤n,1≤k≤n且当a=i时k≠j,l
a,k
表示在计算终端u
i,j
被撤销的属性attr
i,j,t
即attr
t
的新属性权限时所需的中间变量;
49.52)边云协同网络内其他终端u
a,k
收到消息后,计算属性权值
50.53)边缘服务器esa收到消息后,计算新的属性权值将信息以交易的形式写入一个新的区块并链接在联盟区块链中,然后对信息公示平台进行更新。
51.优选地,所述步骤六中加密的方法为:终端u
i,j
选择一个随机数并计算中间参数终端u
i,j
在群组内广播消息密文c=<ω,v>;其中,消息m∈m
*
,m
*
表示明文空间,哈希函数g2为乘法群;ζ
i,j
表示终端u
i,j
计算出的群组加密密钥;
52.解密的方法为:群组其他终端u
i,k
收到消息密文c=<ω,v>后,终端u
i,k
使用协商出的解密密钥解密出明文
53.所述等式的验证方法为:
[0054][0055]
等式的验证方法为:
[0056][0057]
明文的验证方式为:
[0058][0059]
与现有技术相比,本发明的有益效果:初始化移动边缘网络域内的协议参数,生成认证中心的主密钥和公钥,系统实体密钥自证实并获得合法的公/私钥对,云服务器向终端成员分发属性权限,边缘服务器计算群组密钥因子发送给参与群组密钥协商的终端,终端进行身份及权限验证后,计算群组加密和解密密钥,最后共同验证密钥的正确性;如果终端想要加入更高层级的群组或者某终端受到惩罚,由云服务器cs发放或回收权限,并向所属域的边缘服务器发送更新信息。1)本发明提出了密钥证实算法:终端的密钥由终端自己生成,并向云服务器ca证实自己的合法身份和公钥,因此不存在密钥生成及密钥分发的密钥泄露风险,提高了系统的安全性。2)本发明使用一种隐藏属性认证技术:为保障群组密钥协商的可认证性,终端在参与群组密钥协商之前需要进行身份认证,只有身份认证通过后才能获得属性权限,进而参与群组密钥协商,终端将属性加密隐藏后进行密文属性认证,不仅保护了终端的身份隐私,而且保证了终端的属性隐私不被泄露。3)本发明实现了细粒度的群组密钥协商:具有不同属性的终端能够通过属性基加密认证获得对应的属性权限,终端将属性基加密和牛顿插值多项式相结合,终端能够一次性计算出多组群组密钥,即可同时参与多个群组安全通信,不仅减轻了终端的计算量,而且提高了群组密钥协商的灵活性。4)本发明采用了动态属性权限更新:参与群组密钥协商的终端可能随时退出群组或者权限变更;当群组终端退出群组或者权限变更时,群组密钥的计算做相应的变更,以确保群组密钥的新鲜性,进而保障群组间通信的安全性。
[0060]
本发明支持动态属性权限更新,参与群组密钥协商终端可以随时退出群组或者权限变更,当群组终端退出群组或者权限变更时,群组密钥的计算做相应的变更;结合区块链技术,由边缘服务器将信息以交易的形式形成区块并链接在联盟区块链中,可以方便的进行数据完整性校验及数据溯源,使得协商过程更加灵活、高效和安全,具有重要的领域研究意义和商业应用价值。
附图说明
[0061]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0062]
图1为本发明的流程示意图。
[0063]
图2为本发明的边云协同网络的框架示意图。
[0064]
图3为本发明实施例1中区块的结构示意图。
具体实施方式
[0065]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066]
针对终端的隐私易被泄露、难以参与其他群组的密钥协商、难以追踪非法终端等问题,本发明提出了一种边云协同场景中基于动态属性权限的群组密钥协商方法,如图1所示,实现边缘协同环境下进行安全高效的群组密钥协商。首先,边云协同系统内的实体(包括云服务器、边缘服务器和终端设备)向认证中心ca证实自己的密钥,以此获得合法的公/私钥对;其次,云服务器cs广播属性集,终端设备根据属性计算验证身份所需的参数和签名,云服务器cs验证终端设备的身份和属性,验证通过则为该终端设备分发属性权限;然后,各群组通过设定不同的属性权限组合来限定终端参与密钥协商,满足对应属性权限集合的终端根据自己的权限判断自己是否能够加入群组参与密钥协商;如果属性权限不满足要求,终端可以向云服务器cs申请新的属性权限参与更高级别的群组密钥协商,同时当终端受到惩罚时,其属性权限也会被撤销,也需要在信息公示平台进行更新。
[0067]
1.本发明所涉及的理论基础知识和相关定义
[0068]
1.1双线性映射
[0069]
假设g1和g2是两个具有相同的大素数阶q的群,其中,g1是一个加法群,它的生成元为g1,g2是一个乘法群,且需满足是一个安全参数。h1:{0,1}
*

g1、和是四个抗碰撞的哈希函数。{0,1}
*
表示任意长度的0或1组成的字符串;表示阶为q的正整数集合。e:g1×
g1→
g2是一个加法群g1到乘法群g2的可计算的双线性映射函数,它满足如下性质:
[0070]
1)双线性:对于任意的元素和生成元μ,ν∈g1,等式e(aμ,bν)=e(μ,ν)
ab
恒成立;
[0071]
2)非退化性:对于任意的生成元g∈g1,有e(g,g)≠1;
[0072]
3)可计算性:对于任意给定的生成元μ,ν∈g1,在多项式时间内存在有效的算法可计算e(μ,ν)。
[0073]
推理1:对于任意给定的生成元μ1,μ2,ν∈g1,有e(μ1+μ2,ν)=e(μ1,ν)e(μ2,ν)。
[0074]
1.2计算复杂性问题
[0075]
定义1(离散对数问题):对于加法群g1上的任意生成元g∈g1及任意整数已
知g和a,很容易求解出q=ag,但已知q=ag和g,在多项式时间内无法从q求解出a的值。
[0076]
定义2(系统密钥生成函数keygen):keygen(1
λ
)

(pk,msk)即输入一个λ长度的二进制串,λ为安全参数,生成系统的公钥pk∈g1和主密钥其中pk=mskg1。
[0077]
定义3(diffie-hellman逆计算):对于加法群g1上的任意生成元ag,abg∈g1及任意正整数已知ag和abg,在多项式时间内无法求解(ab/a)g。
[0078]
1.3牛顿插值多项式
[0079]
给定函数f(x)和n+1个不同的插值节点x0,x1,...,xn。定义f(xm)为函数f(x)在节点xm处的零阶差商,为函数f(x)在节点xm和节点xn处的一阶差商,为函数f(x)在节点xm、xn以及xk处的二阶差商。
[0080]
一般地,可用f(x0,x1,...,xk)表示函数f(x)在节点x0,x1,...,xk处的k阶差商,且k阶差商也可以表示为函数值的组合公式的一般推导形式如下:
[0081]
函数f(x)的各阶差商为:
[0082][0083]
变形可得:
[0084][0085]
分别带入可以得到牛顿插值公式为:
[0086][0087]
实施例1
[0088]
边云协同场景在为人们工作和生活提供便利的同时,在群组数据传输过程中终端的隐私、终端之间信息交换及通信的安全性难以保证,此外,群组密钥协商技术正面临频繁海量的数据交换过程中终端隐私泄露问题,终端参与多群组通信的需求以及终端的能耗受
限等问题。针对此应用背景下,本发明提出了一种基于动态属性权限的群组密钥协商方法,如图1所示,其步骤如下:

边云协同网络进行初始化,云服务器cs、边缘服务器以及终端自证实自己的密钥,以获得合法的公/私钥对;

边云协同系统内的终端获取属性权限:终端首先进行隐藏属性的身份认证,在认证身份的同时保障其隐私信息不被泄露,认证成功后为合法的终端设备分发属性权限,并由所在域的边缘服务器将相关信息链接在联盟区块链中,对信息公示平台进行更新;

群组密钥计算:信息交换需要在具有相同安全等级或者特定权限的群组终端之间进行,因此具有相同属性集的终端才能组成一个群组进行密钥协商。边缘服务器计算群组密钥因子发送给参与群组密钥协商的终端,各终端先进行身份及权限验证,再计算群组加密和解密密钥,最后验证密钥的正确性;

终端权限升级:如果终端想要加入更高层级的群组,终端需要向云服务器cs申请获得对应的新属性来升级权限,云服务器cs给予权限后,终端计算新属性的属性权值,同时本地的边缘服务器对区块链和信息公示平台进行更新。

终端权限撤销:当终端受到惩罚时,需要撤销终端的权限;云服务器cs查询边云协同网络中其他终端列表,将新的属性权值发送给边云协同网络中其它的每个终端和对应的边缘服务器,网络内其他终端计算新的属性权限,同时本地边缘服务器对区块链和信息公示平台进行更新。边云协同网络框架示意图,如图2所示。本发明的具体步骤如下:
[0089]
步骤一:密钥自证实。
[0090]
针对传统的群组密钥协商方法中由密钥管理中心生成密钥,权威认证中心ca认证及分发密钥等存在的密钥泄露风险问题。为了解决传统群组密钥协商过程中认证中心ca为系统实体分发密钥带来的安全隐患,本发明设计了一种密钥自证实算法,认证中心ca将实体身份与公钥相关联以确定系统实体的真实身份。假设ca知道系统实体u的身份标识为idu,系统实体包括云服务器cs、边缘服务器以及终端,密钥自证实的具体过程如下:认证中心ca运行系统密钥生成算法生成公钥pg和主密钥msk;收到认证中心ca广播的公钥pg和主密钥msk后,云服务器cs、边缘服务器或终端随机选取一个正整数作为私钥,并计算公钥和证实密钥所需的中间变量,然后将证实的中间变量和公钥发送给认证中心ca;收到云服务器cs、边缘服务器或终端的消息后,认证中心ca验证公钥和身份标识的对应关系,如果验证通过,认证中心ca公布云服务器cs、边缘服务器或终端的公钥。具体地:
[0091]
1)认证中心ca运行系统密钥生成算法keygen生成系统的公钥pk∈g1和主密钥其中,pk=mskg1,并在网络中广播系统参数{g1,g1,e,q,h1,h2,h3,h4,pk}。其中,g1为加法群g1的生成元,和是四个抗碰撞的哈希函数,e表示可计算的双线性映射函数。
[0092]
2)系统实体u随机选取一个正整数作为私钥,然后计算公钥pk=rg1和证实密钥所需的参数w1=h2(idu)rg1、w2=rpk、w3=h2(idu)pk和w4=h1(idu||w1||w2||w3||pk)。然后将消息{idu,w1,w2,w3,w4,pk}发送给认证中心ca;其中,||表示连接符号。
[0093]
3)认证中心ca收到消息{idu,w1,w2,w3,w4,pk}后,计算中间变量w'2=msk-1
w2=pk=rg1、w'3=msk-1
w3=h2(idu)g1、w'4=h1(idu||w1||w2||w3||pk),并通过验证等式w'4=w4是否成立来验证消息传输过程中是否被篡改;如果验证不通过(被篡改),则终止该实体的密钥证实过程;如果验证成立,验证等式e(w2,w'3)=e(w3,w'2)是否成立来验证公钥pk和身份
idu的对应关系,如果等式成立,认证中心ca公布系统实体u的有效公钥pk。如果等式不成立,则终止该实体的密钥证实过程。系统实体u生成了自己的公私密钥对(pk,r)。
[0094]
其中,等式e(w2,w'3)=e(w3,w'2)的验证方法为:
[0095][0096]
设通过上述过程,云服务器cs生成的公私密钥对为(pk
cs
,sk
cs
),边缘服务器esi的公私密钥对为(pk
esi
,sk
esi
),终端u
i,j
的公私密钥对为其中,esi表示边云协同网络中的第i个边缘服务器,u
i,j
表示第i个边缘管理域的第j个终端,终端u
i,j
的身份标识为
[0097]
以密钥自证实算法代替传统的权威中心分发密钥,避免了密钥在分发过程中出现失密的可能,实现了系统实体密钥真正意义上的私有,提高了群组密钥协商的安全性。
[0098]
步骤二:终端获取属性权限。
[0099]
终端在参与群组密钥协商之前需要属性权限认证,只有通过属性权限认证并获得属性权限的终端才能够参与群组密钥协商。假设边云协同网络中有n个边缘服务器管理域,每个边缘服务器管理域设有一个边缘服务器,每个边缘服务器根据ip地址最多管理n个终端。云服务器cs定义边云协同网络的有序属性集为set
attr
={attr1,attr2,...,attr
t
},对应的属性序列号为{s1,s2,...,s
t
},任意终端u
i,j
(1≤i≤n,1≤j≤n)的有序属性集合为且其中,i表示终端u
i,j
属于第i个边缘服务器esi,j表示终端u
i,j
为第i个边缘服务器esi管理域内的第j个终端,t表示终端u
i,j
的第t个属性,attr
i,j,t
=attr
t
,1≤t≤t,t表示有序属性的总个数。终端属性认证和获取属性权限的过程如下:
[0100]
1)云服务器cs根据系统的有序属性集set
attr
={attr1,attr2,...,attr
t
}随机为每个属性选择一个对应的属性参数,假设随机选择的t个属性参数组成的集合为ap={b1,b2,...,b
t
},其中,属性参数然后广播系统的有序属性集及其对应的属性序列号集合{s1,s2,...,s
t
},其中,attr
t
表示有序属性集合中的第t个属性,s
t
表示第t个属性的属性序列号。
[0101]
2)收到云服务器cs广播的有序属性集set
attr
后,终端u
i,j
随机选择一个正整数计算属性中间变量l
i,j
=l
i,j
pk
cs
、、及中间签名然后将消息发送给云服务器cs,其中,attr
i,j,t
表示终端u
i,j
的第t个属性,表示终端u
i,j
的私钥,l
i,j
和γ
ui,j,t
表示注册认证所需的中间参数;
[0102]
3)云服务器cs收到终端u
i,j
发送的消息后,分别
计算属性中间变量计算属性中间变量并计算来确定终端u
i,j
具有的有序属性集合为{attr1,attr2,...,attr
t
}(attr
i,t
=attr
t
(1≤t≤t)),云服务器cs计算h2(attr1||attr2||...||attr
t
)g1,并验证等式验证终端u
i,j
的中间签名,如果等式成立,则可确定终端u
i,j
拥有属性集{attr
i,j,1
,attr
i,j,2
,...,attr
i,j,t
}。如果等式不成立,则终止终端u
i,j
的属性认证过程,并拒绝其获取属性权限的请求。云服务器cs从属性参数集合ap从选择对应的属性参数{b1,b2,...,b
t
},并计算属性权限和属性签名然后云服务器cs将信息发送给终端u
i,j
,其中,attr
i,j,t
表示终端u
i,j
的第t个属性,表示u
i,j
的第t个属性的属性权限。
[0103]
其中,等式的验证方法为:
[0104][0105]
4)终端u
i,j
收到云服务器cs发送的消息后,通过验证等式验证云服务器cs的签名身份,如果验证等式成立,则终端分别计算属性权值等式成立,则终端分别计算属性权值终端u
i,j
的属性集对应的属性权值为如果等式不成立,则终止终端u
i,j
的属性认证过程,并拒绝其获取属性权限的请求。其中,表示终端u
i,j
的第t个属性的属性权值。
[0106]
其中,等式的验证方法为:
[0107][0108]
5)由于边缘服务器esi(1≤i≤n)的特殊性,被认为具有系统属性集set
attr

{attr1,attr2,...,attr
t
}的所有属性,并根据上述过程计算获得所有的属性权值其中,表示第i个边缘服务器esi的系统属性集中第t个属性的属性权值。
[0109]
6)云服务器cs根据终端u
i,j
的ip地址和边缘服务器esi(1≤i≤n)的ip地址进行管理域的划分,并将边缘服务器esi所属的终端u
i,j
的注册信息发给边缘服务器esi,随后边缘服务器esi将信息以交易的形式形成区块,并链接在联盟区块链中,对信息公示平台进行更新。其中,表示终端u
i,j
的身份id信息,表示终端u
i,j
的ip地址,表示交易的时间戳。区块的结构如图3所示。
[0110]
对终端进行属性认证之后,可以通过终端是否拥有某些属性判定该终端是否有资格参与某群组的密钥协商,并通过授予终端新的属性实现权限升级。将属性权限记录在区块链中,主要是利用区块链的可追溯性和不可篡改性,将信息写入区块链便于后续的验证。
[0111]
步骤三:群组密钥计算。
[0112]
信息交换往往需要在具有相同安全等级或者特定权限的群组终端之间进行,因此具有相同属性集的终端才能组成一个群组进行密钥协商。群组密钥协商之前,边缘服务器需要进行初始化操作,边缘服务器esi(1≤i≤n)首先计算边缘属性权值的哈希值其中然后随机选择t个正整数构造多项式f(x)=d0+d1x+d2x2+

+d
t-1
x
t-1
。边缘服务器esi(1≤i≤n)将所有边缘属性权值集合的哈希值分别带入多项式求值得到{f(x1),f(x2),...,f(x
t
)},然后边缘服务器esi(1≤i≤n)根据公式分别计算t(0≤t≤k-1)阶差商f(x1),差商集合{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}作为群组密钥因子发送给参与群组密钥协商的终端。群组密钥协商过程如下:
[0113]
(1)身份及权限验证
[0114]
31)群组密钥协商的发起者u
i,τ
(1≤τ≤n)广播具有属性权限集或者子集为属性权限集的终端进行群组密钥协商。发起者u
i,τ
首先计算参与群组密钥协商需要的属性哈希值假设对应的属性哈希值的集合为发起者u
i,τ
将群组密钥协商具有属性哈希值及其身份信息的消息广播到系统网络上,其中表示群组密钥协商发起者u
i,τ
的第t个属性的属性哈希值。
[0115]
32)其它任意的终端u
i,j
(1≤j≤n)及边缘服务器esi收到发起者u
i,τ
发起的群组密
钥协商的消息后,分别根据自己的属性计算和终端u
i,j
根据自己计算的属性哈希值与发起者u
i,τ
广播的属性哈希值集合进行对比,如果有则终端u
i,j
可以判定自己有权限参与该群组密钥协商。其中,表示边缘服务器esi的第t个属性的哈希值。
[0116]
33)有权限参与群组密钥协商的任意终端u
i,j
(1≤j≤n)(包括u
i,τ
)根据自己在属性认证过程中的选择的正整数计算相关参数属性哈希值的签名哈希值并将群组密钥协商申请信息组成的消息发送给本域的边缘服务器esi;
[0117]
34)边缘服务器esi收到消息后,首先在区块链中查询终端u
i,j
的ip地址和属性权限集并计算如果不相等,则停止进程并拒绝该终端参与群组密钥协商;如果边缘服务器esi分别计算分别计算如果有及边缘服务器esi计算并通过等式验证终端u
i,j
的属性哈希值签名,如果等式成立,边缘服务器esi发送密钥因子{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}给终端。如果不相等,则停止进程并拒绝该终端参与群组密钥协商。
[0118]
其中,等式的验证方法为:
[0119][0120]
(2)计算群组加密和解密密钥
[0121]
35)终端u
i,j
收到密钥因子{f(x1),f(x1,x2),...,f(x1,x2,...,x
t
)}后,终端u
i,j
用边缘属性权值的哈希值和密钥因子还原多项式:
[0122]
[0123]
终端u
i,j
令x=0计算得到并将作为群组解密密钥。随后,计算群组加密密钥
[0124]
(3)密钥正确性验证
[0125]
36)当群组内的所有终端的群组加密密钥和群组解密密钥计算完成后,群组密钥发起者u
i,τ
计算哈希值和签名然后发起者u
i,τ
在群组内广播消息
[0126]
37)群组所有的终端u
i,k
(k≠τ)收到消息后,计算并通过验证公式并通过验证公式端u
i,k
计算如果φ'=φ则说明群组内所有成员的解密密钥是一致的。如果等式不相等,则说明终端u
i,k
与发起者的解密密钥不一致,终端u
i,k
无法参与群组密钥协商。
[0127]
其中,等式的验证方法为:
[0128][0129]
同理,具有不同数量属性的群组也采取同样的方式协商群组加密密钥和群组解密密钥组成密钥对
[0130]
上述过程不仅对参与群组密钥协商的终端的身份进行严格把关,参与终端也对发起者的身份进行了反向验证,确保该群组内终端身份的合法性。
[0131]
步骤四:权限升级使终端加入更高层级的群组。
[0132]
如果终端想要加入更高层级的群组,他需要向云服务器cs申请获得对应的新属性来升级权限。假设终端u
i,j
能够参与l层群组密钥协商,l层群组要求终端需要具有属性集{attr1,attr2,...,attr
t
},然而u
i,j
有参与l+1层群组密钥协商的需求,且l+1层要求终端需要具有属性集{attr1,attr2,...,attr
t
,attr
t+1
}(2≤t+1≤t)。终端升级权限过程如下:
[0133]
41)终端u
i,j
根据属性权限计算签名和哈希值并将申请属性权限所需的信息发送给云服务器;
[0134]
42)云服务器cs收到终端u
i,j
发送的消息后,首先在信息平台中查询终端u
i,j
的ip地址和属性序列号(s1,s2,...,s
t
)并计算如果边缘服务器esi根据属性序列号(s1,s2,...,s
t
)找到对应的属性权值
然后通过验证等式是否成立来验证终端的身份和属性权限。如果成立,云服务器cs查询区块链计算新属性的属性权限并将消息发送给终端u
i,j
。同时将信息发送给u
i,j
以及所在域的边缘服务器esi。如果等式不成立,则拒绝终端u
i,j
的权限升级请求。其中,表示终端u
i,j
申请的序列号为s
t+1
新属性的属性权限。
[0135]
43)终端u
i,j
收到消息后计算获得属性权值属性权值用来还原多项式,计算群组密钥的;且属性权值是保密的,不能传递。
[0136]
44)边缘服务器esi收到消息后,将信息以交易的形式写入一个新的区块,并链接在联盟区块链中,然后对信息公示平台进行更新。其中,表示终端u
i,j
交易信息的时间戳。
[0137]
更新完毕后,终端u
i,j
根据新的属性权值按照步骤三参与群组密钥协商,原本就拥有attr
t+1
属性的其它终端u
a,k
(1≤a≤n,1≤k≤n),其属性权值不受影响。
[0138]
当终端想要参与更高级别的群组时,该终端只需申请未拥有的某个属性即可,实现动态高效的权限升级。
[0139]
步骤五:终端受到惩罚时,撤销终端的属性权值,更新其它具有该属性权值的终端对应的属性权值。
[0140]
当终端u
i,j
受到惩罚时,需要撤销终端的权限。假设终端u
i,j
现有的属性权限集合为现需撤销属性权值属性权值撤销后,终端u
i,j
只能参与集合对应的或更低的群组密钥协商。因此需要对边云协同网络中其它终端的属性序列号s
t
对应的属性权限进行更新。属性权值的撤销过程如下:
[0141]
51)云服务器cs查询边云协同网络中其他终端列表u
a,k
(1≤a≤n,1≤k≤n)(且需满足当a=i时k≠j),并随机选择随机数随后查询区块链并计算新的属性权限然后将消息发送给网络中的每一个终端u
a,k
(1≤a≤n,1≤k≤n),并将消息发送给其它的每个终端对应的边缘服务器esa(1≤a≤n)。其中,表示第t个属性的新的属性权值;表示阶为q的正整数集。
[0142]
52)网络内其他成员u
a,k
(1≤a≤n,1≤k≤n)收到消息后,计算获得属性权值属性权值用来还原多项式,计算群组密钥。且属性权值是保密的,不能传递。
[0143]
53)边缘服务器esa(1≤a≤n)收到消息后,首先计算新的属性权值将信息(1≤a≤n,1≤k≤n)以交易的形式写入一个新的区块并链接在联盟区块链中,然后对信息公示平台进行更新。
[0144]
更新完毕后,终端u
i,j
根据新的属性权值按照步骤三参与群组密钥协商,其它终端u
a,k
(1≤a≤n,1≤k≤n)根据新的属性权值按照步骤三参与群组密钥协商。
[0145]
步骤六:终端建立安全信道将消息发送给群组内其他终端
[0146]
假设任意的终端u
i,j
经过协商获得了群组加密密钥和群组解密密钥它可以通过建立一个安全信道将消息m∈m
*
(m
*
表示明文空间)发送给群组内的其他终端。具体过程如下:
[0147]
61)加密:终端u
i,j
选择一个随机数并计算并计算然后u
i,j
在群组内广播消息密文c=<ω,v>,其中,ω表示加密、解密资源的中间参数;
[0148]
62)解密:群组其他成员即终端u
i,k
收到消息c=<ω,v>后,u
i,k
使用协商出的解密密钥解密出明文
[0149]
其中,明文的验证方式为:
[0150][0151]
通过建立安全信道,大大提高资源的安全性和保密性。
[0152]
实施例2,一种基于动态属性权限的群组密钥协商方法,如图1所示,为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为了方便实例阐述,假设系统有5个边缘服务器,每个边缘服务器最多有10个终端设备,云服务器cs定义网络资源访问的认证属性集sa={att1,att2,att3,att4}及其对应的属性序列号集合为{s1,s2,s3,s4},并为每个对应的属性选取不同的随机属性参数构成集合ap={r1,r2,r3,r4},其中假设终端u
i,j
(1≤i≤5,1≤j≤10)的属性集表示为其中,在本实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明的具体实施方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。本发明的步骤为:
[0153]
步骤一:密钥自证实。
[0154]
为了解决传统群组密钥协商过程中认证中心ca为系统实体分发密钥带来的安全
隐患,本发明设计了一种密钥自证实算法,认证中心ca将实体身份与公钥相关联的方式确定系统实体的真实身份。假设认证中心ca知道系统实体u的身份标识为idu,系统实体包括云服务器、边缘服务器以及终端,密钥自证实的具体过程如下:
[0155]
1)认证中心ca运行系统密钥生成算法keygen生成系统的公钥pk∈g1和主密钥其中,pk=mskg1,并在网络中广播系统参数{g1,g1,e,q,h1,h2,h3,h4,pk}。其中,pk为认证中心ca的公钥,g1为加法群g1的生成元,e表示可计算的双线性映射函数,q为加法群g1的素数阶,hi(
·
)表示抗碰撞的哈希函数,u表示系统实体,包括云服务器、边缘服务器和终端。
[0156]
2)系统实体u随机选取一个正整数作为私钥,然后计算公钥pk=rg1和证实密钥所需的参数w1=h2(idu)rg1、w2=rpk、w3=h2(idu)pk和w4=h1(idu||w1||w2||w3||pk)。然后将消息{idu,w1,w2,w3,w4,pk}发送给认证中心ca;其中,idu为系统实体u的身份标识,表示阶为q的正整数集,pk为系统实体u的公钥。
[0157]
3)认证中心ca收到消息{idu,w1,w2,w3,w4,pk}后,计算中间变量w'2=msk-1
w2=pk=rg1、w'3=msk-1
w3=h2(idu)g1、w'4=h1(idu||w1||w2||w3||pk),并通过验证等式w'4=w4是否成立来验证消息传输过程中是否被篡改,及验证等式e(w2,w'3)=e(w3,w'2)是否成立来验证公钥pk和身份标识idu的对应关系,如果等式成立,认证中心ca公布实体u的有效公钥pk。也就是说系统实体u生成了自己的公私密钥对(pk,r)。其中,msk表示认证中心ca的私钥。
[0158]
假设通过上述过程云服务器cs生成的公私密钥对为(pk
cs
,sk
cs
),边缘服务器esi的公私密钥对为(pk
esi
,sk
esi
),终端u
i,j
的公私密钥对为其中esi表示边云协同网络中的第i个边缘服务器,u
i,j
表示第i个边缘管理域的第j个终端。
[0159]
步骤二:终端属性权限的获取。
[0160]
终端在参与群组密钥协商之前需要属性权限认证,只有通过认证并获得属性权限的终端才能够参与群组密钥协商。假设边云协同网络中有5个边缘服务器管理域,每个边缘服务器根据ip地址最多管理10个终端。云服务器定义系统的有序属性集合为set
attr
={attr1,attr2,...,attr4},对应的属性序列号为{s1,s2,...,s4},假设终端u
i,j
(1≤i≤5,1≤j≤10)的有序属性集合为其中i表示终端u
i,j
属于边缘服务器esi的边缘域,j表示终端u
i,j
为边缘服务器esi边缘域的第j个终端。终端的属性认证和属性权限获取过程如下:
[0161]
1)云服务器cs根据系统的有序属性集合set
attr
={attr1,attr2,...,attr4}随机为每个属性选择一个对应的属性参数,假设随机选择的t个属性参数组成的集合为ap={b1,b2,...,b4},其中然后广播系统有序属性集及其对应的属性序列号{s1,s2,...,s4}。
[0162]
2)收到云服务器cs广播的有序属性集后,终端u
i,j
随机选择正整数计算中间变量l
i,j
=l
i,j
pk
cs
、及中间签名然后将消息
发送给云服务器cs。
[0163]
3)云服务器cs收到终端u
i,j
发送的消息后,分别计算中间变量并计算来确定终端u
i,j
具有的有序属性集合为{attr1,attr2,attr3},云服务器cs计算哈希值h2(attr1||attr2||attr3)g1,并通过验证等式验证终端u
i,j
的签名,如果等式成立,则可确定终端u
i,j
拥有属性集{attr
i,j,1
,attr
i,j,2
,attr
i,j,3
},云服务器cs从集合ap中选择对应的属性参数{b1,b2,b3},并计算属性权限和属性签名然后云服务器cs将信息发送给终端u
i,j
。其中,终端u
i,j
有3个属性,t表示系统的有序属性集合的属性个数。
[0164]
其中,等式的验证方法为:
[0165][0166]
4)终端u
i,j
收到云服务器cs发送的消息后,通过验证等式验证云服务器cs的签名身份,如果验证等式成立,则分别计算属性权值成立,则分别计算属性权值终端u
i,j
的属性集对应的属性权值为
[0167]
其中,等式的验证方法为:
[0168][0169]
5)由于边缘服务器esi(1≤i≤5)的特殊性,被认为具有系统属性集set
attr
={attr1,attr2,...,attr4}的所有属性,并根据上述过程计算获得所有的属性权值其中,表示第i个边缘服务器esi的第t个属性的属性权值.
[0170]
6)云服务器cs根据终端u
i,j
的ip地址和边缘服务器esi(1≤i≤5)的ip地址进行管理域的划分,并将边缘服务器esi所属终端u
i,j
的注册信息发给边缘服务器esi,随后边缘服务器esi将信息以交易的形式形成区块,并链接在联盟区块链中,对信息公示平台进行更新,其中,表示交易的时间戳,区块的结构如图3所示。
[0171]
步骤三:群组密钥计算:
[0172]
信息交换往往需要在具有相同安全等级或者特定权限的群组终端之间进行,因此具有相同属性集的终端才能组成一个群组进行密钥协商。群组密钥协商之前,边缘服务器需要进行初始化操作,边缘服务器esi(1≤i≤5)首先计算其中然后随机选择4个正整数构造多项式f(x)=d0+d1x+d2x2+

+d3x
4-1
。esi(1≤i≤5)将所有属性权值集合的哈希值分别带入多项式求值得到{f(x1),f(x2),...,f(x4)},然后边缘服务器esi(1≤i≤5)根据公式分别计算0、1、2、3阶差商f(x1),),差商集合{f(x1),f(x1,x2),f(x1,x2,x3),f(x1,x2,x3,x4)}将会作为群组密钥因子发送给参与群组密钥协商的终端。群组密钥协商过程如下:
[0173]
(1)身份及权限验证
[0174]
1)群组密钥协商发起者u
i,τ
(1≤τ≤10)广播具有属性权限集或者子集为属性权限集的终端进行群组密钥协商。发起者u
i,τ
首先计算参与群组密钥协商需要的属性及其哈希值假设对应的属性哈希值的集合为发起者u
i,τ
将群组密钥协商具有属性哈希值及其身份信息广播到边云协同网络上。
[0175]
2)其它任意成员即终端u
i,j
(1≤j≤10)及边缘服务器esi收到发起者u
i,τ
发起的群组密钥协商消息后,分别根据自己的属性计算和终端u
i,j
根据自己计算的属性哈希值与发起者u
i,τ
广播的属性哈希值集合进行对比,如果有则可以以判定自己有权限参与该群组密钥协商。
[0176]
3)有权限参与群组密钥协商的任意终端u
i,j
(1≤j≤10)(包括发起者u
i,τ
)根据自
己在属性认证过程中的参数计算属性哈希值的签名哈希值并将群组密钥协商申请信息发送给本域的边缘服务器esi。
[0177]
4)边缘服务器esi收到消息后,首先在区块链中查询终端u
i,j
的ip地址和属性权限集并计算如果边缘服务器esi分别计算分别计算如果有及边缘服务器esi计算并通过验证等式验证终端u
i,j
的签名,如果等式成立,边缘服务器esi发送密钥因子{f(x1),f(x1,x2),f(x1,x2,x3)}给终端u
i,j

[0178]
其中,等式的验证方法为:
[0179][0180]
(2)计算群组加密和解密密钥
[0181]
3)终端u
i,j
收到密钥因子{f(x1),f(x1,x2),f(x1,x2,x3)}后,终端u
i,j
用和密钥因子还原多项式:
[0182]
f(x)=f(x1)+(x-x1)f(x1,x2)+(x-x1)(x-x2)f(x1,x2,x3)
[0183]
终端u
i,j
令x=0计算得到并将作为群组解密密钥。随后,计算群组加密密钥
[0184]
(3)密钥正确性验证
[0185]
1)当群组内的所有终端成员的加密和解密密钥计算完成后,群组密钥发起者u
i,τ
计算哈希值和签名然后发起者u
i,τ
在群组内广播消息
[0186]
2)群组所有的终端u
i,k
(k≠τ)收到消息后,计算并通过验证公式验证发起者u
i,τ
的身份和属性权限,如果等式成立,终端u
i,k
计算如果φ'=φ则说明群组内所有成员的解密密钥是一致的;
[0187]
其中,等式的验证方法为:
[0188][0189]
同理,具有不同数量属性的群组也采取同样的方式协商群组加密和解密密钥。
[0190]
步骤四:权限升级。
[0191]
如果终端想要加入更高层级的群组,他需要向云服务器cs申请获得对应的新属性来升级权限。假设终端u
i,j
能够参与l3层群组密钥协商,l3层群组要求终端需要具有属性集{attr1,attr2,attr3},然而终端u
i,j
有参与l4层群组密钥协商的需求,且l4层群组要求终端需要具有属性集{attr1,attr2,attr3,attr4}。终端升级权限过程如下:
[0192]
1)终端u
i,j
根据属性权限计算签名和哈希值并将申请属性权限所需的信息发送给云服务器。
[0193]
2)云服务器cs收到终端u
i,j
发送的消息后,首先在信息平台中查询终端u
i,j
的ip地址和属性序列号(s1,s2,s3)并计算如果esi根据属性序列号(s1,s2,s3)找到对应的属性权限然后通过计算等式是否成立来验证终端的身份和权限。如果成立,云服务器cs查询区块链计算并将消息发送给终端u
i,j
。同时将信息发送给终端u
i,j
所在域的边缘服务器esi。
[0194]
3)终端u
i,j
收到消息后计算获得属性权值
[0195]
4)边缘服务器esi收到消息后,将信息以交易的形式写入一个新的区块,并链接在联盟区块链中,然后对信息公示平台进行更新。
[0196]
步骤五:权限撤销。
[0197]
当终端u
i,j
受到惩罚时,需要撤销终端的权限。假设终端u
i,j
现有的属性权限集合为(1≤i≤5,1≤j≤10,i∈n
*
,j∈n
*
),现需撤销属性权值属性权限撤销后,终端u
i,j
只能参与属性权限集合对应的或更低的群组密钥协商。因此需要对网络中其它终端属性序列号s3对应的属性权限进行更新。撤销过程如下:
[0198]
1)云服务器cs查询网络中其他终端列表u
a,k
(1≤a≤n,1≤k≤n)(且需满足当a=i时k≠j),并随机选择随后查询区块链并计算随后查询区块链并计算然后将消息发送给网络中的每一个终端u
a,k
(1≤a≤5,1≤k≤10),并将消息(1≤a≤5,1≤k≤10)发送给其它的每个终端对应的边缘服务器esa(1≤a≤5)。
[0199]
2)网络内其他成员u
a,k
(1≤a≤5,1≤k≤10)收到消息后,计算获得属性权值
[0200]
3)边缘服务器esa(1≤a≤5)收到消息(1≤a≤5,1≤k≤10)后,首先计算属性权值将信息以交易的形式写入一个新的区块,并链接在联盟区块链中,然后对信息公示平台进行更新。
[0201]
步骤六:终端成员间安全信道的建立。
[0202]
假设任意的终端u
i,j
经过协商获得了群组的加密密钥和解密密钥它可以通过建立一个安全的信道将消息m∈m
*
(m
*
表示明文空间)发送给群组内的其他终端。具体过程如下:
[0203]
1)加密:终端u
i,j
选择一个随机数并计算然后u
i,j
在群组内广播消息密文c=<ω,v>。
[0204]
2)解密:群组成员u
i,k
收到消息c=<ω,v>后,u
i,k
使用协商出的解密密钥解密出明文
[0205]
其中,的验证方式为:
[0206][0207]
本发明的步骤为:初始化移动边缘网络域内的协议参数,生成认证中心的主密钥和公钥,系统实体(包括云服务器、边缘服务器以及终端设备)密钥自证实并获得合法的公/私钥对,云服务器向终端设备分发属性权限,边缘服务器计算群组密钥因子发送给参与群组密钥协商的终端,终端进行身份及权限验证后,计算群组加密和解密密钥,最后共同验证密钥的正确性。如果终端想要加入更高层级的群组或者某终端受到惩罚,由云服务器cs发放或回收权限,并向所属域的边缘服务器发送信息。本发明结合牛顿插值多项式生成密钥因子,由参与群组密钥协商的终端共同协商密钥,只有这些终端才能拥有加密、解密密钥,同时模型结合区块链技术,由边缘服务器将信息以交易的形式形成区块链接在联盟区块链中,可以方便的进行数据完整性校验及数据溯源,使得协商过程更加灵活、高效和安全。
[0208]
本发明以隐藏属性认证理论为基础,以diffie-hellman逆计算问题为安全假设前提提出,采用隐藏属性的身份认证技术,终端将属性加密隐藏后进行密文属性认证,不仅保护了终端的身份隐私,而且保证了终端的属性隐私不被泄露。本发明支持细粒度的群组密钥协商,具有不同属性的终端能够通过属性基加密认证获得对应的属性权限,终端能够一次性计算出多组群组密钥,不仅减轻了终端的计算量,而且提高了群组密钥协商的灵活性;此外,本发明支持动态属性权限更新,参与群组密钥协商的终端可能随时退出群组或者权限变更,当群组终端退出群组或者权限变更时,群组密钥的计算需要做相应的变更,以确保群组密钥的新鲜性,具有重要的领域研究意义和商业应用价值。
[0209]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1