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

一种智能电网中多维用户数据安全聚合的方法

2022-12-13 20:03:51 来源:中国专利 TAG:


1.本发明属于智能电网安全技术领域,具体涉及一种面向智能电网的多维数据安全聚合隐私保护的方法。


背景技术:

2.随着物联网基础设施智能终端的广泛部署,各种智能技术在智能服务领域显示出巨大的潜力,如智能电网、智能医疗、智慧城市等等。然而,由于边缘的带宽限制和计算资源限制,传统的基于云的数据处理很难满足智能服务的服务要求,尤其是像智能电网以实时方式提供的服务。为了能够满足像智能电网服务的要求,智能服务领域的计算正在边缘计算的轨道上发展,而不是传统的云计算,这样可以支持边缘设备实时产生的传输数据得到及时地处理。
3.智能电网用户数据由智能边缘设备即智能电表收集,并转发至边缘服务器进行数据聚合处理。然后,聚合处理的数据被发送到控制中心进行下一步处理和分析,这样可以为智能电网的应用提供各种数据服务。边缘服务器可以被视为一个中间聚合数据的处理单元,通过与控制中心的组合提供高效的本地服务。通过这种方式,计算和通信资源可以显著减少,克服了传统基于云的体系结构的不足。
4.尽管边缘计算有利于大数据分析,但由于边缘计算的分布式性质也增强了内部和外部攻击者的活动,因此仍然存在潜在的安全和隐私风险。首先,这些边缘节点不完全可信,这可能会泄露用户的私人数据,从而破坏数据聚合协议的隐私性、准确性和鲁棒性。在智能电网系统中,用户经常将其敏感数据(例如用电信息)传输到控制中心,以便从集中服务中受益,然而这些数据通常包含用户的隐私信息,数据泄露会造成很大的危害。此外,外部攻击者还可以窃听相关节点之间的通信,修改网络中传递的消息、伪造签名,甚至发起重放攻击,破坏正常的数据传输过程。
5.已经有学者提出使用paillier密码系统同态特性,加密用户的数据,再将加密的数据聚合发送给控制中心,控制中心只能得到用户的数据和,这样可以防止用户数据的泄露。paillier同态加密不仅可以实现对多维用户数据的加密与解密,还可以实现特定的功能,如计算平均值、方差与求和,保证了数据的机密性,并进一步保护隐私。
6.设计智能电网中多维用户数据安全聚合方案十分必要,首先,智能电网系统中存在频繁的数据传输,然而在执行实时数据处理时,高通信延迟是不能容忍的。其次,数据源必须要进行身份验证,以防止攻击者伪造、修改签名或进行重放攻击。最后,认证和验证操作的计算量需求较大,在资源受限的边缘设备中必须要考虑计算开销。
7.因此,本发明基于paillier同态加密设计了一种隐私保护数据安全聚合方案,可以在满足数据隐私要求的同时减少移动设备上的计算开销。


技术实现要素:

8.为解决上述问题,本发明公开了一种智能电网中多维用户数据安全聚合的方法,
基于paillier同态加密系统的智能电网用户多维数据安全聚合保护方案,为防止边缘服务器和控制中心利用或泄露用户数据。
9.一种智能电网中多维用户数据安全聚合的方法,包括以下步骤:
10.步骤1:系统初始化设置,在系统初始化阶段,可信机构ta生成系统参数和控制中心的主密钥
11.步骤2:注册阶段,智能电表smi在向控制中心发送数据之前,要向控制中心注册并进行身份验证。验证成功后,智能电表smi向边缘服务器发送身份验证签名,边缘服务器对智能电表的身份签名验证成功之后,智能电表再进行数据加密与报告生成的工作;
12.步骤3.报告生成阶段,边缘服务器从接收到smi的身份验证签名t
ioff
后,首先执行身份验证签名的验证算法。一旦完成边缘服务器对smi身份验证签名的验证之后,smi将密文和在线签名一起发送给边缘服务器;
13.步骤4.报告聚合阶段,边缘服务器收到用户的报告pi(1≤i≤ω)之后,进行在线签名的验证,验证成功后聚合所有的密文,并将聚合结果发给控制中心;
14.步骤5:报告解密与读取,控制中心接受到边缘服务器的聚合报告后,首先进行签名验证,签名验证成功后,接收数据,并进行解密,得到明文的聚合结果。
15.进一步,所述步骤1具体包括以下:
16.步骤11:
17.根据paillier同态密码体制生成公钥和私钥对: (sk
p
,pk
p
)={(μ,λ),(n,g)},其中g=1 n;
18.步骤12:
19.生成双线性映射:可信机构随机选取一个安全参数k1和大素数smi,得到g
p1
的生成元g1,生成p1阶的双线性映射e:g
×g→gt
,其中|p1|=k1; g和g
t
是素数阶为p的乘法循环群;
20.步骤13:
21.生成哈希函数:接下来,ta定义了三个单向散列函数:h0:{0,1}
*

g,和一个变色龙哈希函数
22.步骤14:
23.生成用户端密钥和主密钥:假设智能电网设备个数为ω,可信机构随机取ω个整数作为用户端的密钥,通过计算得到x0;作为控制中心端的主密钥;
24.步骤15:
25.生成超递增序列:假设智能电表可以收集l维的用电数据,可信机构生成一个拥有2l个正整数的超递增序列{θ1,θ2,...,θ
l

l 1
,...,θ
2l
};
26.最后,可信机构将主私钥msk=x0秘密地发送给控制中心,将 x1,x2,x3,...x
ω
分别发送给ω个用户,以便智能电表sm1,sm2,...,sm
ω
进行数据的加密,并发布系统参数:
27.sp
pub
={p1,n,g,g,g
t
,e,g1,ω,h0,h1,h2,h
ch
,{θk}
1≤k≤2l
}。
28.进一步,所述步骤2具体包括以下:
29.步骤21:用户注册请求报告生成
30.智能电表smi生成私钥和公钥为(xi,yi),随机选取一个盲因子 smi计算ri=h1(idi||tsi||ki),其中idi是smi的身份标识,tsi是时间戳,随后,smi生成注册标识最后将(yi,αi,βi)发送给控制中心,完成用户向控制中心发送注册的请求;
31.步骤22:控制中心对用户的授权认证;
32.控制中心接收到用户smi发送的身份签名之后,通过离散对数问题检查是否成立;若等式不成立,签名数据可能被篡改,则身份认证失败;若等式成立,则用户smi注册请求被验证成功,控制中心完成对用户的授权;
33.步骤23:边缘服务器注册;
34.边缘服务器随机选择计算公钥随后边缘服务器将身份签名发送给控制中心;
35.步骤24:控制中心对边缘服务器的授权认证;
36.控制中心接受到边缘服务器的身份签名后,对签名进行验证。若签名验证成功,则边缘服务器的身份验证成功;
37.步骤25:用户身份验证签名生成;
38.智能电表smi选择随机数并计算生成随后 smi选择两个整数smi根据bls签名,计算得到和随后将生成的身份验证签名 t
ioff
=(idi||tsi||(ψi,h
chi
))发送给边缘服务器;
39.步骤26:身份验证签名批量验证;
40.边缘服务器收到smi(1≤i≤ω)的身份验证签名后,若签名验证成功,则身份签名验证成功。为了减少重复的ω个用户身份签名验证的计算量,可以批量对用户身份签名进行验证:
[0041][0042]
若等式成立,则ω个智能电表在边缘服务器的身份签名验证成功,被边缘服务器认为是可信任的用户。
[0043]
进一步,所述步骤3具体包括以下:
[0044]
步骤31:用户数据加密
[0045]
在离线验证成功后,智能电表smi已在边缘服务器完成身份验证。用户根据paillier密码系统,对l维用电数据(m
i1
,m
i2
,...,m
il
)进行加密:
[0046]
其中ts
t
是时间戳;
[0047]
步骤32:用户在线签名生成
[0048]
用户smi生成对密文进行在线签名,smi使用前面保存的st=(ri,si,ui),生成对密文进行在线签名ui'=((r
i-ci) (s
i-si')y uiz)z-1
,其中随后用户smi将生成的报告pi=idi||ci||ts
t
||φi,其中φi=(si',ui')发送给临近的边缘服务器。
[0049]
进一步,所述步骤4具体包括以下:
[0050]
步骤41:在线签名验证;
[0051]
边缘服务器接收到用户smi的报告pi(1≤i≤ω)后,边缘服务器进行时间戳的验证;若在线验证成功,用户的数据来源可靠,数据没有被篡改;
[0052]
步骤42:报告聚合;边缘服务器对用户的密文进行聚合,密文聚合的结果为:
[0053][0054]
步骤43:聚合结果签名生成;
[0055]
边缘服务器在将密文聚合成功之后,进行在线签名,并将签名结果发送给控制中心,边缘服务器随机选择签名私钥生成签名结果其中idj是边缘服务器的身份标识,最后边缘服务器将聚合报告p=idj||c||ts
t
||ψ
agg
发送给控制中心。
[0056]
进一步,所述步骤5具体包括如下:
[0057]
步骤51:聚合签名验证;
[0058]
控制中心根据接收到的聚合包后p,得到ψ
agg
,并验证聚合报告签名的有效性,若等式e(g1,ψ
agg
)=e(yj,h0(idj||c||ts
t
))成立,则若签名验证成功,聚合报告有效,接下来控制中心可以对密文进行解密,获取分别l维明文的和与平方和;
[0059]
步骤52:聚合报告读取与解密:
[0060]
密文的聚合报告有效性的验证成功后,控制中心对聚合密文进行解密,使用主私钥x0进行计算:
[0061][0062]
令则上述公式可表示为w=ga(modn2);根据多项式展开公式:
[0063][0064]
即w=(1 n)a(modn2)=(1 na)(modn2);
[0065]
依次求取l维数据的平方和与l维数据的和,根据计算,控制中心依次得到各维数
据的和{m1,m2,...,m
l
}和平方和{m
1(2)
,m
2(2)
,...,m
l(2)
},其中得到些聚合数据之后,控制中心可以计算每一种类型的用电量数据的平均值和方差。
[0066]
本发明的有益效果:
[0067]
首先,本发明利用paillier同态加密算法,有效的保护了用户的隐私,边缘服务器或控制中心无法泄露或恶意篡改用户的隐私,同时也防止攻击者窃取用书的数据;
[0068]
其次,本发明利用哈希函数进行用户身份签名和数据签名认证,实现了轻量级计算,减轻了终端节点和边缘节点的计算量;最后,本发明利用超递增序列的特性实现了多维数据的加密。
附图说明
[0069]
图1、本发明的流程图。
具体实施方式
[0070]
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
[0071]
如图1所示,本实施例的一种智能电网中多维用户数据安全聚合的方法,包括以下步骤:
[0072]
步骤1:系统初始化设置:在系统初始化阶段,可信机构ta生成系统参数和控制中心的主密钥。
[0073]
(1)paillier密码系统
[0074]
首先,随机选取两个大素数(p,q),计算n=pq,λ=(p-1)(q-1),随机选取定义并计算μ=(l(g
λ
modn2))-1
(modn2), paillier密码系统的公钥和私钥对为(sk
p
,pk
p
)={(μ,λ),(n,g)}。 paillier密码系统的加密和解密操作定义如下:
[0075]

加密:
[0076]
假设用户的明文数据为m,随机选取通过c=gm·rn
modn2计算得到密文c。
[0077]

解密:
[0078]
c是加密后的密文,通过m=l(c
λ
(modn2))
·
μmodn计算得到明文m。
[0079]
paillier密码系统具有加法同态性质,即两个密文的乘积将被解密为相应密文的和:
[0080]
de(en(m1,pk
p
)
·
en(m2,pk
p
)(modn2))=m1 m2(modn)
[0081]
(2)初始参数设置
[0082]

根据(1)中所述paillier同态密码体制,生成如下公钥和私钥对:(sk
p
,pk
p
)={(μ,λ),(n,g)},其中g=1 n。
[0083]

构造双线性映射:可信机构随机选取一个安全参数k1和大素数p1,得到g
p1
的生成元g1,生成p1阶双线性映射e:g
×g→gt
,其中|p1|=k1。
[0084]

定义哈希函数:接下来,ta定义了三个单向散列函数: h0:{0,1}
*

g,和一个变色龙哈希函数
[0085]

生成用户端密钥和主密钥:假设智能电网设备个数为ω,可信机构随机取ω个整数通过计算得到x0。
[0086]

生成超递增序列:假设智能电表可以收集l维的用电数据,可信机构生成一个拥有2l个正整数的超递增序列{θ1,θ2,...,θ
l

l 1
,...,θ
2l
},其中ηj,j=1,2,...,l,ηj是第j维的数据上限,
[0087]
最后,可信机构将主私钥msk=x0秘密地发送给控制中心,将 x1,x2,x3,...x
ω
分别发送给ω个用户,以便智能电表sm1,sm2,...,sm
ω
进行数据的加密,并发布系统参数:
[0088]
sp
pub
={p1,n,g,g,g
t
,e,g1,ω,h0,h1,h2,h
ch
,{θk}
1≤k≤2l
}。
[0089]
步骤2.注册阶段
[0090]
智能电表smi在向控制中心发送数据之前,要向控制中心注册并进行身份验证。验证成功后,智能电表smi向边缘服务器发送身份验证签名,边缘服务器对智能电表的身份签名验证成功之后,智能电表再进行数据加密与报告生成的工作。
[0091]
(1)用户注册请求报告生成
[0092]
智能电表smi首先选择一个值计算公钥则智能电表smi的私钥和公钥为(xi,yi),随机选取一个盲因子随后,smi计算ri=h1(idi||tsi||ki),其中idi是smi的身份标识,tsi是时间戳,smi生成注册标识βi=r
i-xih2(αi),最后将(yi,αi,βi)发送给控制中心,完成用户向控制中心发送注册的请求。
[0093]
(2)控制中心对用户的授权认证
[0094]
控制中心接收到用户smi发送的(yi,αi,βi)之后,控制中心要对αi进行验证,通过离散对数问题检查是否成立。若等式成立,则用户smi注册请求被验证成功,控制中心完成对用户的授权。随后,控制中心公开(yi,αi,βi),至此用户已完成注册。
[0095]
(3)边缘服务器注册
[0096]
边缘服务器随机选择计算公钥选择随机数计算rj,sj,δj,sj=(h1(idj||tsj)-xj·rj
)
·
(k-1
),随后边缘服务器将(δj,yj,rj,sj)发送给控制中心。
[0097]
(4)控制中心对边缘服务器的授权认证
[0098]
控制中心接受到边缘服务器的身份签名后,对签名进行验证。若成立,则边缘服务器的身份验证成功。
[0099]
(5)用户身份验证签名生成
[0100]
smi选择随机数并计算生成随后smi选择两个整数根据前面(1)中生成的ri,将st=(ri,si,ui)存储下来,以完成后面对密文在线签名的计算。smi根据bls签名,计算得到和随后将生成的身份验证签名t
ioff
=(idi||tsi||(ψi,h
chi
))发送给边缘服务器。
[0101]
(6)身份验证签名批量验证
[0102]
边缘服务器收到smi(1≤i≤ω)的身份验证签名 t
ioff
=(idi||tsi||(ψi,h
chi
)),若等式e(g1,ψi)=e(yi,h0(h
chi
))成立,则身份签名验证成功。为了减少重复的ω个用户身份签名验证的计算量,可以批量对用户身份签名进行验证:
[0103][0104]
若等式成立,则ω个智能电表在边缘服务器的身份签名验证成功,被边缘服务器认为是可信任的用户。
[0105]
步骤3.报告生成阶段
[0106]
边缘服务器从接收到smi的身份验证签名t
ioff
后,首先执行身份验证签名的验证算法。一旦完成边缘服务器对smi身份验证签名的验证之后,smi将密文和在线签名一起发送给边缘服务器。
[0107]
(1)用户数据加密
[0108]
在离线验证成功后,智能电表smi已在边缘服务器完成身份验证。用户smi收集自己的用电数据(m
i1
,m
i2
,...m
il
)。根据paillier密码系统,对l维用电数据(m
i1
,m
i2
,...,m
il
)进行加密:
[0109][0110]
其中ts
t
是时间戳。
[0111]
(2)用户在线签名生成
[0112]
用户smi使用第2步(3)中保存的st=(ri,si,ui),生成对密文进行在线签名ui'=((r
i-ci) (s
i-si')y uiz)z-1
,其中随后用户smi将生成的报告pi=idi||ci||ts
t
||(si',ui')发送给临近的边缘服务器。
[0113]
步骤4.报告聚合阶段;
[0114]
边缘服务器收到用户的报告pi(1≤i≤ω)之后,进行在线签名的验证,验证成功后聚合所有的密文,并将聚合结果发给控制中心。
[0115]
(1)在线签名验证
[0116]
边缘服务器接收到用户smi的报告pi(1≤i≤ω)后,得到(si',ui'),边缘服务器进行时间戳的验证,并验证等式h
ch
(ri,si,ui)=h
ch
(ci,si',ui')是否成立,若等式成立,则在线验证成功,用户的数据来源可靠,数据没有被篡改。
[0117]
(2)报告聚合
[0118]
边缘服务器对用户的密文进行聚合,密文聚合的结果为:
[0119][0120]
(3)聚合结果签名生成
[0121]
边缘服务器在将密文聚合成功之后,进行在线签名,并将签名结果发送给控制中心,边缘服务器随机选择签名私钥生成签名结果其中idj是边缘服务器的身份标识,最后边缘服务器将聚合报告p=idj||c||ts
t
||ψ
agg
发送给控制中心。
[0122]
步骤5.报告解密与读取;
[0123]
控制中心接受到边缘服务器的聚合报告后,首先进行签名验证,签名验证成功后,接收数据,并进行解密,得到明文的聚合结果。
[0124]
(1)聚合签名验证
[0125]
控制中心根据接收到的聚合包后p=idj||c||ts
t
||ψ
agg
,得到并验证聚合报告签名的有效性,若等式 e(g1,ψ
agg
)=e(yj,h0(idj||c||ts
t
))成立,则聚合报告有效,接下来控制中心可以对密文进行解密,获取分别l维明文的和与平方和。
[0126]
(2)聚合报告读取与解密
[0127]
密文的聚合报告有效性的验证成功后,控制中心对聚合密文进行解密,使用主私钥x0进行计算:
[0128][0129]
令则上述公式可表示为w=ga(modn2)。根据多项式展开公式:
[0130][0131]
即w=(1 n)a(modn2)=(1 na)(modn2)。
[0132]

依次求取l维数据的平方和:
[0133]
j=l时,m
l(2)
=(a-amodθ
2l
)/θ
2l

[0134]
j=l-1时,m
l-1(2)
=(a-amodθ
2l-1
)/θ
2l-1

[0135]
……
[0136]mj(2)
=(a-amodθ
l j
)/θ
l j

[0137]
……
[0138]
j=1时,m
1(2)
=(a-amodθ
l 1
)/θ
l 1

[0139]

依次取得l维数据的和:
[0140]
j=l时,m
l
=(a-amodθ
l
)/θ
l
,a=a-(θ
l
·ml
);
[0141]
j=l-1时,m
l-1
=(a-amodθ
l-1
)/θ
l-1
,a=a-(θ
l-1
·ml-1
);
[0142]
……
[0143]
mj=(a-amodθj)/θj,a=a-(θj·
mj);
[0144]
……
[0145]
j=1时,m1=(a-amodθ1)/θ1,a=a-(θ1·
m1)。
[0146]
根据上述计算,控制中心依次得到各维数据的和{m1,m2,...,m
l
}与平方和其中其中得到这些聚合数据之后,控制中心可以计算每一种类型的用电量数据的平均值和方差。
[0147]
平均值计算:avgj=mj/ω。
[0148]
方差计算:
[0149]
在得到用户的数据和之后,控制中心可以进行数据分析与电力分配。双向电力流和信息流为控制中心和住宅用户提供了诸多便利,例如实时负荷监测和平衡、可再生能源部署和管理、自动故障排除和维护,以及根据需求优化价格。智能电网使得电网服务更加高效、可靠地,供应商可以实时动态的对消费者进行发电、输电、配电和用电。
[0150]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献