一种智能电网中电量数据与隐私保护方法转让专利

申请号 : CN201910679920.3

文献号 : CN110311792B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱聪聪王志伟

申请人 : 南京邮电大学

摘要 :

本发明公开了一种智能电网中电量数据与隐私保护方法,使用无证书的加法同态加密对电表数据进行收集,有效克服智能电网细粒度计量数据的缺点,保证了用户的隐私性;同时方案针对侧通遒攻击使用强提取器,可以有效解决密钥泄露的问题,实现密钥的安全性。使用基于无证书的智能电网数据聚合方案,将私钥分成两部分生成,有效解决证书管理问题。由于智能电网存在侧通道攻击问题,使用强提取器有效保护密钥,实现密钥抗泄露。

权利要求 :

1.一种智能电网中电量数据与隐私保护方法,其特征在于,包括以下步骤:步骤S1.系统初始化:KGC获取安全参数并返回系统参数params和主密钥Smsk,该获取方法由KGC运行,只有KGC知道Smsk的值,同时KGC公开系统参数;

KGC获取安全参数并返回系统参数params和主密钥s的方法如下:步骤S1‑1.KGC以安全参数λ作为输入,生成双线性群参数(G,GT,e:G×G→GT),其中,G表λ

示加法循环群,GT表示乘法循环群,e表示双线性映射,G和GT具有素数阶q>2 ,g是G的生成元,gt是GT的生成元,→表示映射;

s

步骤S1‑2.随机选择s∈Zq作为主密钥,即Smsk=s,并设置主公钥为Ppub=g ,Zq表示整数域,Smsk表示系统主密钥,Ppub表示主公钥;

* * *

步骤S1‑3.选择加密散列函数H1:{0,1}→G,H2:{0,1}→G和H3:{0,1}×G×G→Zq,H1表*

示安全散列函数,表示任意长度,H2表示安全散列函数,H3表示安全散列函数;

步骤S1‑4.KGC公开系统参数:params={q,G,GT,g,gt,e,Ppub,H1,H2,H3};

步骤S2.实体注册:

步骤S2‑1.智能电表注册:一个区域网内有n个智能电表,每个智能电表通过无证书方式与KGC交互生成私钥,其中第i个智能电表的私钥为步骤S2‑1.1.设置秘密值:智能电表随机选择秘密值 计算公共元素将身份IDi和公共元素 发送给KGC;

步骤S2‑1.2.部分私钥提取:KGC随机选择秘密值 计算然后计算 并发送 部分私钥 和 给智能电表, 表示秘密元素, 表示部分私钥,Smsk表示系统主密钥, 表示公共元素;

步骤S2‑1.3.设置私钥:智能电表设置 作为私钥, 表示第i个智能电表的私钥;

步骤S2‑1.4.设置公钥:智能电表计算 作为公钥, 表示第i个智能电表的公钥;

步骤S2‑2.网关注册:

步骤S2‑2.1.设置秘密值:网关随机选择网关秘密值 用于将部分私钥转换为私钥,网关保密 计算网关公共元素 将网关身份IDc和网关公共元素 发送给KGC;

r

步骤S2‑2.2.部分私钥提取:KGC随机选择秘密值r∈Zq,设置R=g ,然后计算作为部分私钥,再计算 并将R, 和部分私钥 发送给网关,r表示秘密值,R表示秘密元素, 表示部分私钥, 表示公共元素;

步骤S2‑2.3.设置密钥:网关设置 作为最终私钥,计算 作为公钥, 表示网关的私钥, 表示网关的公钥;

步骤S2‑3.ESP注册:KGC和ESP执行交互协议,用无证书方式生成私钥:步骤S2‑3.1.设置秘密值:ESP随机选择秘密值x1,…,xm∈Zq,计算公共元素将身份IDesp和公共元素X1,…,Xm发送给KGC,x1,…,xm表示秘密值,X1,…,Xm表示秘密元素,IDesp表示ESP的身份,m表示安全参数的多项式;

步骤S2‑3.2.部分私钥提取:KGC随机选择秘密值r1,…,rm∈Zq,计算将y1=r1+SmskH3(IDesp,X1,R1),…,ym=rm+SmskH3(IDesp,Xm,Rm)作为部分私钥,再计算 并发送R1,…,Rm,部分私钥y1,…,ym和Y1,…,Ym给ESP,R1,…,Rm表示秘密元,r1,…,rm表示秘密值,y1,…,ym表示部分私钥,Y1,…,Ym表示公共元素,m表示安全参数的多项式;

步骤S2‑3.3.设置私钥:输入系统参数params,ESP身份IDesp,部分私钥y1,…,ym和秘密值x1,…,xm,ESP私钥为sk=(x1+y1,…,xm+ym);

步骤S2‑3.4.设置公钥:ESP计算pk=(X1Y1,…,XmYm)作为公钥,pk表示ESP的公钥;

步骤S2‑4.计算W=(W1,…,Wm)=(e(X1Y1,H1(IDesp)),…,e(XmYm,H1(IDesp)))的值,KGC将其发送到所有智能电网设备,W表示ESP发送给智能电表的向量,Wm表示向量中的第m个元素;

步骤S3.收集阶段:

步骤S3‑1:智能电表计算密文:第i个智能电表的计量数据为mi,智能电表随机选择ri1,…,rim∈Zq并计算密文 存在 不应该是大数的限制,rim表示随机数,CTi表示第i个智能电表的密文,C1i表示密文的前半部分,C2i表示密文的后半部分, 表示第i个智能电表的提取元素,m表示安全参数的多项式;

步骤S3‑2:智能电表进行数字签名:智能电表计算签名 并将(CTi,Vi,Ti)发送到网关,Ti为当前时间戳,Vi表示第i个智能电表的签名;

步骤S3‑3:网关验证电表身份:网关首先验证 是否成立来检查电表发送的密文,如果成立,则网关接收电表上传的数据,否则拒绝,e(g,Vi)表示BLS签名的验证公式, 表示第i个智能电表的公钥,H2(C2i||Ti)表示安全散列函数;

S4.聚合阶段:

步骤S4‑1:网关聚合总电量:计算聚合的密文为并将密文发送到ESP,CT表示网关加密聚合总电量的密文,n表示智能电表的个数,m表示安全参数的多项式;

步骤S4‑2:网关进行数字签名:计算签名 Tc为网关当前时间戳,V表示网关的签名,H2表示安全散列函数;

S5.解密阶段:

步骤S5‑1:ESP验证网关身份:ESP首先计算 是否成立,如果成立,则ESP接收网关上传的数据,否则拒绝;

步骤S5‑2:ESP解密聚合电量:ESP首先计算 然后计算基于gt的Mt的离散对数 来获得该地区总的使用数据,Mt表示聚合密文的离散对数,M表示ESP解密的聚合总电量。

说明书 :

一种智能电网中电量数据与隐私保护方法

技术领域

[0001] 本发明涉及一种智能电网中电量数据与隐私保护方案,主要将弹性泄露密码体制与无证书加法同态技术相结合实现网关抗泄露,属于信息安全领域。

背景技术

[0002] 智能电网是一个计算机和电力相结合的基础设施网络,用于监控和管理能源使用情况。然而,随着智能电网技术的不断发展,也带来了一定的安全问题。一方面,实时的用电
数据在一定程度上会泄露用户的行为隐私;而另一方面,电网网关的地理环境使得网关具
有较低的安全性。因此,有效保护用户隐私并实现网关抗泄露以及对网关的身份认证成为
智能电网的研究热点。
[0003] 对传输信息进行加密操作,对电力服务提供商和用户之间信息交互起到了一定的保障作用,同态加密是现有的信息加密方法中较为常见且较为有效的加密方法,但是完全
同态加密需要较高的计算量,不符合智能电表计算能力有限的特性。
[0004] 在实际中存在这样一类攻击者,他们针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的边信道信息泄露而对加密设备进行攻击,此获得一些设备
私钥的部分信息,这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带
来了严重的威胁。
[0005] 近年来,针对密钥的弹性泄露,提出了几种解决对策。第一类对策是硬件级对策,通过屏蔽和隐藏来抵抗攻击,但是会引入显著的性能开销,实现起来相当昂贵。且已表明,
屏蔽方案可以被高阶攻击击败。另一类是协议级对策,可以在其他对策之上应用,更新密钥
技术是协议级对策的典型示例。它会定期更新设备使用的密钥,然而使用随机数发生器来
更新密钥需要设置多个定时器,意味着用于存储发生器状态的存储器消耗。

发明内容

[0006] 发明目的:为了克服现有技术中存在的不足,本发明提供一种智能电网中电量数据与隐私保护方法,在本发明中使用一种基于无证书的智能电网数据聚合方案,来实现电
网的身份认证和数据聚合问题;方案中使用无证书签名可以有效解决智能电表计算能力有
限的问题,实现网关对本地总用电量的聚合。
[0007] 技术方案:为实现上述目的,本发明采用的技术方案为:
[0008] 一种智能电网中电量数据与隐私保护方法,包括以下步骤:
[0009] 步骤S1.系统初始化:KGC获取安全参数并返回系统参数params和主密钥s,该获取方法由KGC运行,只有KGC知道s的值,同时KGC公开系统参数;
[0010] 步骤S2.实体注册:
[0011] 步骤S2‑1.智能电表注册:一个区域网内有n个智能电表,每个智能电表通过无证书方式与KGC交互生成私钥,其中第i个智能电表的私钥为
[0012] 步骤S2‑1.1.设置秘密值:智能电表随机选择秘密值 计算公共元素将身份IDi和公共元素 发送给KGC;
[0013] 步骤S2‑1.2.部分私钥提取:KGC随机选择秘密值 计算然后计算 并发送 部分私钥 和 给智能
电表, 表示秘密元素, 表示部分私钥,Smsk表示系统主密钥, 表示公共元素。
[0014] 步骤S2‑1.3.设置私钥:智能电表设置 作为私钥, 表示第i个智能电表的私钥;
[0015] 步骤S2‑1.4.设置公钥:智能电表计算 作为公钥, 表示第i个智能电表的公钥;
[0016] 步骤S2‑2.网关注册:
[0017] 步骤S2‑2.1.设置秘密值:网关随机选择网关秘密值 用于将部分私钥转换为私钥,网关保密 计算网关公共元素 将网关身份IDc和网关公共元素
发送给KGC;
[0018] 步骤S2‑2.2.部分私钥提取:KGC随机选择秘密值r∈Zq,设置R=gr,然后计算作为部分私钥,再计算 并将R, 和部分私钥 发
送给网关,r表示秘密值,R表示秘密元素, 表示部分私钥, 表示公共元素;
[0019] 步骤S2‑2.3.设置密钥:网关设置 作为最终私钥,计算作为公钥, 表示网关的私钥, 表示网关的公钥;
[0020] 步骤S2‑3.ESP注册:KGC和ESP执行交互协议,用无证书方式生成私钥:
[0021] 步骤S2‑3.1.设置秘密值:ESP随机选择秘密值x1,…,xm∈Zq,计算公共元素将身份IDesp和公共元素X1,…,Xm发送给KGC,x1,…,xm表示秘密值,
X1,…,Xm表示秘密元素,IDesp表示ESP的身份,m表示安全参数的多项式;
[0022] 步骤S2‑3.2.部分私钥提取:KGC随机选择秘密值r1,…,rm∈Zq,计算将y1=r1+SmskH3(IDesp,X1,R1),…,ym=rm+SmskH3(IDesp,Xm,Rm)作为部分
私钥,再计算 并发送R1,…,Rm,部分私钥y1,…,ym和Y1,…,Ym给ESP,
R1,…,Rm表示秘密元,r1,…,rm表示秘密值,y1,…,ym表示部分私钥,Y1,…,Ym表示公共元素,
m表示安全参数的多项式;
[0023] 步骤S2‑3.3.设置私钥:输入系统参数params,ESP身份IDesp,部分私钥y1,…,ym和秘密值x1,…,xm,ESP私钥为sk=(x1+y1,…,xm+ym);
[0024] 步骤S2‑3.4.设置公钥:ESP计算pk=(X1Y1,…,XmYm)作为公钥,pk表示ESP的公钥;
[0025] 步骤S2‑4.计算W=(W1,…,Wm)=(e(X1Y1,H1(IDesp)),…,e(XmYm,H1(IDesp)))的值,KGC将其发送到所有智能电网设备,W表示ESP发送给智能电表的向量,Wm表示向量中的第m
个元素;
[0026] 步骤S3.收集阶段:
[0027] 步骤S3‑1:智能电表计算密文:第i个智能电表的计量数据为mi,智能电表随机选择ri1,…,rim∈Zq并计算密文 rim表示随机数,CTi
表示第i个智能电表的密文,C1i表示密文的前半部分,C2i表示密文的后半部分, 表示第i
个智能电表的提取元素,m表示安全参数的多项式;
[0028] 步骤S3‑2:智能电表进行数字签名:智能电表计算签名 并将(CTi,Vi,Ti)发送到网关,Ti为当前时间戳,Vi表示第i个智能电表的签名;
[0029] 步骤S3‑3:网关验证电表身份:网关首先验证 是否成立来检查电表发送的密文,如果成立,则网关接收电表上传的数据,否则拒绝,e(g,Vi)表示
BLS签名的验证公式, 表示第i个智能电表的公钥,H2(C2i||Ti)表示安全散列函数;
[0030] S4.聚合阶段:
[0031] 步骤S4‑1:网关聚合总电量:计算聚合的密文为并将密文发送到ESP,CT表示网关加密聚合总电量的密文,n表示智能电表的个数,m表示安
全参数的多项式;
[0032] 步骤S4‑2:网关进行数字签名:计算签名 Tc为网关当前时间戳,V,V表示网关的签名,H2表示安全散列函数;
[0033] S5.解密阶段:
[0034] 步骤S5‑1:ESP验证网关身份:ESP首先计算 是否成立,如果成立,则ESP接收网关上传的数据,否则拒绝;
[0035] 步骤S5‑2:ESP解密聚合电量:ESP首先计算 然后计算基于gt的Mt的离散对数 来获得该地区总的使用数据,Mt表示聚合密文的离散对
数,M表示ESP解密的聚合总电量。
[0036] 优选的:步骤S1中KGC获取安全参数并返回系统参数params和主密钥s的方法如下:
[0037] 步骤S1‑1.KGC以安全参数λ作为输入,生成双线性群参数(G,GT,e:G×G→GT),其λ
中,G表示加法循环群,GT表示乘法循环群,e表示双线性映射,G和GT具有素数阶q>2 ,g是G
的生成元,gt是GT的生成元,→表示映射;
[0038] 步骤S1‑2.随机选择s∈Zq作为主密钥,即Smsk=s,并设置主公钥为Ppub=gs,Zq表示整数域,Smsk表示系统主密钥,Ppub表示主公钥;
[0039] 步骤S1‑3.选择加密散列函数H1:{0,1}*→G,H2:{0,1}*→G和H3:{0,1}*×G×G→*
Zq,H1表示安全散列函数,表示任意长度,H2表示安全散列函数,H3表示安全散列函数;
[0040] 步骤S1‑4.KGC公开系统参数params={q,G,GT,g,gt,e,Ppub,H1,H2,H3}。
[0041] 本发明相比现有技术,具有以下有益效果:
[0042] (1)本发明中智能电表和区域网关在上传电量前使用无证书签名进行身份验证,这种签名验证既解决了密钥托管问题,也弥补了智能电表计算能力弱的缺点,同时安全性
也没有降低。
[0043] (2)本发明ESP在聚合区域用电量时使用的泄露弹性无证书加法同态技术,在确保密钥不被泄露的情况下实现了智能电网中对居民用电的灵活监控和实时响应,具有很高的
实用性。通过细粒度聚合用户电量,使得ESP除了可以获得整个区域的用电量之外还可以获
得各用户的用电量,从而可以灵活分析并对该区域的电力实施高效调控。
[0044] (3)本发明设计的智能电网中电量数据与隐私保护方案,具有较高的安全强度,考虑到了网关环境和终端计算能力受限的情况,可以帮助ESP有效实施电量调控。

附图说明

[0045] 图1是本发明中智能电网的结构图;
[0046] 图2是本发明中无证书密钥生成流程图;
[0047] 图3是本发明实施的方法流程图;

具体实施方式

[0048] 下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种
等价形式的修改均落于本申请所附权利要求所限定的范围。
[0049] 一种智能电网中电量数据与隐私保护方法,如图1‑3所示,包括以下步骤:
[0050] S1.系统初始化:KGC设置算法获取安全参数并返回系统参数params和主密钥s,该算法由KGC运行,只有KGC知道s的值,KGC表示密钥生成中心。
[0051] 步骤S1‑1.KGC以安全参数λ作为输入,生成双线性群参数(G,GT,e:G×G→GT),其λ
中,G和GT具有素数阶q>2,设g是G的生成元,gt是GT的生成元。
[0052] 步骤S1‑2.随机选择s∈Zq作为主密钥,即Smsk=s,并设置主公钥为Ppub=gs。
[0053] 步骤S1‑3.选择加密散列函数H1:{0,1}*→G,H2:{0,1}*→G和H3:{0,1}*×G×G→Zq。
[0054] 步骤S1‑4.KGC公开系统参数params={q,G,GT,g,gt,e,Ppub,H1,H2,H3}。
[0055] S2.实体注册:
[0056] 步骤S2‑1.智能电表注册:一个区域网内有n个智能电表,每个智能电表通过无证书方式与KGC交互生成私钥,其中第i个智能电表的私钥为
[0057] 步骤S2‑1.1.设置秘密值:智能电表随机选择秘密值 计算公共元素将身份IDi和公共元素 发送给KGC。
[0058] 步骤S2‑1.2.部分私钥提取:KGC随机选择秘密值 计算然后计算 并发送 部分私钥 和 给智能
电表。
[0059] 步骤S2‑1.3.设置私钥:智能电表设置 作为私钥。
[0060] 步骤S2‑1.4.设置公钥:智能电表计算 作为公钥。
[0061] 步骤S2‑2.网关注册:
[0062] 步骤S2‑2.1.设置秘密值:网关随机选择秘密值 用于将部分私钥转换为私钥,网关保密 计算公共元素 将身份IDc和公共元素 发送给KGC。
[0063] 步骤S2‑2.2.部分私钥提取:KGC随机选择秘密值r∈Zq,设置R=gr,然后计算作为部分私钥,再计算 并将R, 和部分私钥 发
送给网关。
[0064] 步骤S2‑2.3.设置密钥:网关设置 作为最终私钥,计算作为公钥。
[0065] 步骤S2‑3.ESP注册:KGC和ESP执行交互协议,用无证书方式生成私钥:ESP表示电力服务提供商;
[0066] 步骤S2‑3.1.设置秘密值:ESP随机选择秘密值x1,…,xm∈Zq,计算公共元素将身份IDesp和公共元素X1,…,Xm发送给KGC。
[0067] 步骤S2‑3.2.部分私钥提取:KGC随机选择秘密值r1,…,rm∈Zq,计算将y1=r1+SmskH3(IDesp,X1,R1),…,ym=rm+SmskH3(IDesp,Xm,Rm)作为部分
私钥,再计算 并发送R1,…,Rm,部分私钥y1,…,ym和Y1,…,Ym给ESP。
[0068] 步骤S2‑3.3.设置私钥:输入系统参数params,ESP身份IDesp,部分私钥y1,…,ym和秘密值x1,…,xm,ESP私钥为sk=(x1+y1,…,xm+ym)。
[0069] 步骤S2‑3.4.设置公钥:ESP计算pk=(X1Y1,…,XmYm)作为公钥。
[0070] 步骤S2‑4.计算W=(W1,…,Wm)=(e(X1Y1,H1(IDesp)),…,e(XmYm,H1(IDesp)))的值,KGC将其发送到所有智能电网设备。
[0071] S3.收集阶段:
[0072] 步骤S3‑1:智能电表计算密文:第i个智能电表的计量数据为mi,智能电表随机选择ri1,…,rim∈Zq并计算密文 存在 不应该是大
数的限制。
[0073] 步骤S3‑2:智能电表进行数字签名:设Ti为当前时间戳,智能电表计算签名并将(CTi,Vi,Ti)发送到网关。
[0074] 步骤S3‑3:网关验证电表身份:网关首先验证 是否成立来检查电表发送的密文,如果成立,则网关接收电表上传的数据,否则拒绝。
[0075] S4.聚合阶段:
[0076] 步骤S4‑1:网关聚合总电量:计算聚合的密文为并将密文发送到ESP。
[0077] 步骤S4‑2:网关进行数字签名:设Tc为网关当前时间戳,计算签名
[0078] S5.解密阶段:
[0079] 步骤S5‑1:ESP验证网关身份:ESP首先计算 是否成立,如果成立,则ESP接收网关上传的数据,否则拒绝。
[0080] 步骤S5‑2:ESP解密聚合电量:ESP首先计算 然后计算基于gt的Mt的离散对数 来获得该地区总的使用数据。
[0081] 本发明使用无证书的加法同态加密对电表数据进行收集,有效克服智能电网细粒度计量数据的缺点,保证了用户的隐私性;同时方案针对侧通遒攻击使用强提取器,可以有
效解决密钥泄露的问题,实现密钥的安全性。使用基于无证书的智能电网数据聚合方案,将
私钥分成两部分生成,有效解决证书管理问题。由于智能电网存在侧通道攻击问题,使用强
提取器有效保护密钥,实现密钥抗泄露。
[0082] 以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。