一种基于同态加密的智能电网用户售电方法与流程

文档序号:11253961阅读:747来源:国知局
一种基于同态加密的智能电网用户售电方法与流程

本发明涉及智能电网售电,尤其涉及一种基于同态加密的智能电网用户售电方法。



背景技术:

智能电网,建立在集成的、高速双向通信网络基础之上,利用先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术等,实现电网可靠、安全、经济、高效、环境友好和使用安全的高效运行。随着智能电网的日益发展,电力公司不再需要工作人员上门服务,而只是通过与终端的网络通讯实现各种业务往来,在此过程中,信息传输的安全性是人们关注的焦点,对用户隐私的保护也成为电力公司的首要问题。

对传输信息进行加密操作,对电力公司与用户之间信息交互起到了一定的保障作用,同态加密是现有的信息加密方法中较为常见且较为有效的方法,申请号为201410396335.x的专利文件中公开了一种智能电网中具有隐私保护的计费方法,由智能电表实时记录用户的使用电量,采用同态加密的方法将数据加密后发送至聚合器,聚合器将收到的一位用户多次使用的电量密文通过求和运算再进行解密得到该用户累计用电量明文,聚合器再将电量明文发送至计费部门进行用电费用的计算,该专利文件虽采用了同态加密的方式对数据进行加密,但只是通过公-私钥对与加密算法实现整个数据传输的加密与解密,在数据传输过程中并不能做到保证其安全性。



技术实现要素:

针对现有技术中存在的问题,本发明提供一种基于同态加密的智能电网用户售电方法,其过程包括电力公司将购电请求数据发送至社区网关,社区网关先验证购电请求数据无误后下发至各个用户,用户将购电需求数据通过同态加密的方法进行加密后,发送至社区网关,社区网关将各用户的购电需求数据求和后发送至电力公司,电力公司收到社区网关上传的购电需求数据后进行解密恢复数据;

具体包括以下步骤:

(1)系统初始化:

电力公司应选取一些参数,包括阶为q的循环群g、gt以及一个双线性对g×g→gt,对所有成立;计算产生一个同态加密公钥对(f,g)和对应的私钥λ;

三个哈希函数包括h:h1:{0,1}*→g,h2:h3:gt×gt→{0,1}*,{0,1}*表示任意比特长的二进制序列组成的集合;根据选取的参数,电力公司、网关以及用户分别得到自己的私钥和公钥;

(2)购电请求:

电力公司向社区网关发送购电请求数据,包括电力公司的身份idu、社区网关的身份idg、价格信息infop、秘钥rup0、时间戳ts和签名σu;

(3)社区网关验证

当社区网关收到购电请求数据后,先根据时间戳ts和签名σu验证数据的真实性和完整性,再发送给社区内的各个用户;

(4)用户回复:

用户利用同态加密技术掩盖真实购电需求数据得到bi,并生成数字签名σi和消息鉴别码mac(bi)之后向社区网关回复;

(5)社区网关聚合:

社区网关将收到的所有用户的购电需求数据聚合,得到聚合的签名σ,聚合购电需求数据b,秘钥组{rip0}、和消息鉴别码macf,向电力公司发送;

(6)电力公司解密:

电力公司收到社区网关发送的聚合购电需求数据后,对数据进行解密恢复售电份额b(x)并验证。

进一步的,社区网关与用户是在基于单跳网络拓扑结构(single-hop)的智能电表通信网络(ami)进行通讯。

进一步的,电力公司与社区网关之间是基于5g网络进行通讯。

进一步的,步骤(1)中的私钥和公钥,按照如下方式生成:

(a)电力公司idu从中任意选择一个元素sku作为私钥,并计算pku=skup0作为公钥;

(b)社区网关idg从中任意选择一个元素skg作为私钥,并计算pkg=skgp0作为公钥;

(c)用户idi从中任意选择一个元素ski作为私钥,并计算pki=skip0作为公钥;

(d)电力公司发布公开参数

进一步的,步骤(2)与步骤(3)中的价格信息infop、签名σu以及对购电请求数据的验证按照如下过程进行:

(a)价格信息infop={p1,p2,...,pk},其中k是时隙总数;

(b)签名σu=skuh1(idu||idg||infop||rup0||ts),社区网关用σu来验证购电请求数据的真实性和完整性;

(d)社区网关收到购电请求数据之后,先验证时间戳ts,之后验证等式是否成立。

进一步的,步骤(4)中的掩盖真实购电需求数据,其过程如下进行:

(a)计算秘钥

(b)应用同态加密算法掩盖真实购电需求数据得到1≤x≤k,之后得到集合bi=(bi,1,bi,2,…,bi,k);

(c)生成消息鉴别码

(d)生成数字签名σi=skih1(h(ki)||idg||idu||rip0||ts)。

进一步的,步骤(5)中的社区网关聚合,按照如下过程进行:

(a)在单跳网络拓扑结构(single-hop)的智能电表通信网络(ami)下,聚合的签名σ=∑1≤i≤nσi;

(b)各时隙聚合购电需求数据其中之后得到集合b=(b(1),b(2),…,b(k)),(1≤x≤k);

(c)消息鉴别码mac(b)=∏1≤i≤nmac(bi),同时,社区网关任意选择一个元素r,得到消息鉴别码macf=(mac1,mac2),其中mac2=uh(b)vh(r)

进一步的,步骤(6)中电力公司解密按照如下过程进行:

(a)

(b)根据同态加密算法,用私钥λ,恢复各时隙聚合购电需求数据

(c)验证等式是否成立,若成立,则验证通过;

(d)计算和验证mac2=uh(b’)vh(r’)

本发明的一种基于同态加密的智能电网用户售电方法,具有以下有益效果:

依据哈希函数的单向性和双线对的特性,以公钥签名私钥验证的方式,确保了电力公司、社区网关、用户信息的不可抵赖性和数据完整性;依据同态加密的特性,隐藏了用户的真实信息,从而保护了发送者的隐私,确保了机密性;用户自己除外,社区网关和电力公司都不能得到用户购电需求的具体细节,电力公司解密之后也只能得到多个用户购电需求的总和而不是每个用户的具体购电需求数据,这既减少了带宽占用,减少了解密时的计算复杂程度,同时又认证发送者的身份,从而简化了系统,有效防止了用户隐私被公开,提高了安全性和传输效率,保护了市场交易的公平性。

附图说明

为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1为本发明一种基于同态加密的智能电网用户售电方法的网络结构图;

图2为本发明一种基于同态加密的智能电网用户售电方法的工作流程图。

具体实施方式

下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。

如图1与图2所示为本实施例的一种基于同态加密的智能电网用户售电方法,其过程为包括电力公司将购电请求数据发送至社区网关,社区网关先验证购电请求数据无误后下发至n个用户,n个用户将购电需求数据通过同态加密的方法进行加密后,发送至社区网关,社区网关将n个用户的购电需求数据求和后发送至电力公司,电力公司收到社区网关上传的购电需求数据后进行解密恢复数据。社区网关与用户是在基于单跳网络拓扑结构(single-hop)的智能电表通信网络(ami)下进行通讯。优选的,电力公司与社区网关之间是基于5g网络进行通讯。

具体的,智能电网用户售电方法的具体步骤如下:

(1)系统初始化:

电力公司应选取一些参数,包括阶为q的循环群g、gt以及一个双线性对g×g→gt,对所有成立;计算产生一个同态加密公钥对(f,g)和对应的私钥λ;

三个哈希函数包括h:h1:{0,1}*→g,h2:h3:gt×gt→{0,1}*,{0,1}*表示任意比特长的二进制序列组成的集合;根据选取的参数,电力公司、网关以及用户分别得到自己的私钥和公钥。

以上步骤中的私钥和公钥,按照如下方式生成:

(a)电力公司idu从中任意选择一个元素sku作为私钥,并计算pku=skup0作为公钥;

(b)社区网关idg从中任意选择一个元素skg作为私钥,并计算pkg=skgp0作为公钥;

(c)用户idi从中任意选择一个元素ski作为私钥,并计算pki=skip0作为公钥;

(d)电力公司发布公开参数

(2)购电请求:

电力公司向社区网关发送购电请求数据,包括电力公司的身份idu、社区网关的身份idg、价格信息infop、秘钥rup0、时间戳ts和签名σu。

(3)社区网关验证:

当社区网关收到购电请求数据后,先根据时间戳ts和签名σu验证数据的真实性和完整性,再发送给社区内的各个用户。

具体的,步骤(2)与步骤(3)中的价格信息infop、签名σu以及对购电请求数据的验证按照如下过程进行:

(a)价格信息infop={p1,p2,...,pk},其中k是时隙总数;

(b)签名σu=skuh1(idu||idg||infop||rup0||ts),社区网关用σu来验证购电请求数据的真实性和完整性;

(d)社区网关收到购电请求数据之后,先验证时间戳ts,之后验证等式是否成立。

(4)用户回复:

用户利用同态加密技术掩盖真实购电需求数据得到bi,并生成数字签名σi和消息鉴别码mac(bi)之后向社区网关回复。

具体的,掩盖真实购电需求数据过程如下进行:

(a)计算秘钥

(b)应用同态加密算法掩盖真实购电需求数据得到1≤x≤k,之后得到集合bi=(bi,1,bi,2,…,bi,k);

(c)生成消息鉴别码

(d)生成数字签名σi=skih1(h(ki)||idg||idu||rip0||ts)。

(5)社区网关聚合:

社区网关将收到的所有用户的购电需求数据聚合,得到聚合的签名σ,聚合购电需求数据b,秘钥组{rip0}、和消息鉴别码macf,向电力公司发送。

具体的,社区网关聚合按照如下过程进行:

(a)在单跳网络拓扑结构(single-hop)的智能电表通信网络(ami)下,聚合的签名σ=∑1≤i≤nσi;

(b)各时隙聚合购电需求数据其中之后得到集合b=(b(1),b(2),…,b(k)),(1≤x≤k);

(c)消息鉴别码mac(b)=∏1≤i≤nmac(bi),同时,社区网关任意选择一个元素r,得到消息鉴别码macf=(mac1,mac2),其中mac1=(b||r)⊕h3(mac(b)),mac2=uh(b)vh(r)

(6)电力公司解密:

电力公司收到社区网关发送的聚合购电需求数据后,对数据进行解密恢复售电份额b(x)并验证。

具体的,电力公司解密按照如下过程进行:

(a)

(b)根据同态加密算法,用私钥λ,恢复各时隙聚合购电需求数据

(c)验证等式是否成立,若成立,则验证通过;

(d)计算和验证mac2=uh(b’)vh(r’)

本实施例中所应用的数学理论包括:

1、双线性对

本发明中,双线性对ê:g×g→gt是一个满足双线性、非退化性和可计算性的映射,它把素数阶群中的两个元素映射到素数阶群中的一个元素。

2、哈希函数

哈希函数就是把任意长度的输入变换成固定长度的输出这样一种单向函数,这个输出称为该输入的哈希值。安全的哈希函数应该满足:(1)输出长度是固定的,一般至少取128比特,以抵抗生日攻击;(2)对每一个给定的输入,其哈希值可以很容易的计算出来;(3)给定哈希函数的描述和一个哈希值,找到相应的输入是计算上不可行的;(4)给定哈希函数的描述,找到具有相同哈希值的两个不同的输入是计算上不可行的。

3、同态加密

同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。先计算后解密可等价于先解密后计算。利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价,可以实现让解密方只能获得最后的结果而无法获得每一个密文的消息。

整个基于同态加密的智能电网用户售电方法,利用哈希函数、双线性对、以及同态加密的方式对用户的真实购电需求数据进行了掩盖,并认证数据发送者的身份,使用户以外的社区网关和电力公司均不能获得该用户的具体购电需求数据,有效防止了用户隐私被公开,保护了市场交易的公平性。

以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1