[发明专利]面向智能电网的非交互式可验证的多类型加密数据聚合方法有效
申请号: | 202011387992.X | 申请日: | 2020-12-01 |
公开(公告)号: | CN112636896B | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 黄超;张晓均;唐尧;龚捷;张经伟;郑爽;周子玉;付红;廖文才;郝云溥;赵芥 | 申请(专利权)人: | 西南石油大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08;G06Q50/06 |
代理公司: | 成都厚为专利代理事务所(普通合伙) 51255 | 代理人: | 夏柯双 |
地址: | 610500 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 智能 电网 交互式 验证 类型 加密 数据 聚合 方法 | ||
1.面向智能电网的非交互式可验证的多类型加密数据聚合方法,其特征在于,包括以下步骤:
S1:系统初始化,包括以下子步骤:
S101:可信第三方TTP生成用于聚合和签名验证的系统公共参数,并把其中一些秘密参数发送给智能电网控制中心CC和智能电表;
S102:智能电网控制中心CC产生可用于隐私保护数据聚合的超递增序列;
所述的步骤S1中,系统设置后面步骤所需要的密码安全参数:
可信第三方TTP选择保持加法同态的公钥加密算法的安全参数,设置双线性对密码参数,以及各通信实体的公私钥,并且通过安全信道为各通信实体分配其私钥;
智能电网控制中心CC构造一个特殊的超递增序列,这个序列能够使得控制中心在收到聚合密文后可使用一个迭代算法计算出所有用户多类型电能使用数据中每个类型的总和值,而无法恢复出单个用户的任何电能使用数据信息;同时智能电网控制中心CC还设置一个伪随机数生成器,其中伪随机数生成器的密钥由智能电网中的聚合网关AG和智能电网控制中心CC秘密保存;
步骤S101中,可信第三方TTP具体初始化步骤包括:
S1011:TTP根据安全参数k选择三个不同的大素数q1,q2和p,并计算保持加法同态的公钥加密算法的公钥N=q1q2和g=1+N,以及相应的私钥(λ,μ);
S1012:TTP设置一个双线性对映射G1×G1→G2,其中G1和G2是两个p阶乘法循环群,ρ是G1的生成元,同时TTP设置四个耐碰撞的哈希函数:H:{0,1}*→G1,其中,表示模N剩余类群,表示模N2剩余类群,表示模p剩余类循环群;
S1013:TTP均匀选取n个随机数其中n是指定的住宅区域中智能电表个数,并且计算出私钥计算式如下:
其中,k是耗电数据的类型的数量,同时TTP计算公共参数以及公共参数β=ρπ,用于确保数据完整性验证的秘密参数ψ1=h2(γ1)·π,ψ2=h2(γ2)·π,…,ψn=h2(γn)·π,并且随机选择循环群G1中的公共元素ν;
S1014:TTP通过安全信道把私钥γ0发送给智能电网控制中心CC,并且分别通过安全信道把每个私钥γi发送到对应的第i个智能电表(SMi),其中i=1,2,…,n,通过安全信道将秘密参数ψ1,ψ2,…,ψn发送给聚合网关AG,TTP发布系统参数Ω=(N,g,e,G1,G2,ρ,H,h1,h2,ν,β),其中,e为双线性对;
步骤S102中,智能电网控制中心CC具体初始化步骤包括:
S1021:为了使智能电表可以同时向CC报告多类型的耗电数据,CC生成超递增序列,即一组系数{ω1,ω2,…,ωk},其中k是耗电数据的类型的数量,这些系数需要满足以下限制:
其中,ω1=1,α=2,3,…,k,ηj是第j类耗电数据的上限值,CC从G1中生成一组公共元素其中,yα指从G1中生成的公共元素;
S1022:为了验证耗电数据的完整性,CC设置一个伪随机数发生器其中,SKprg表示prg的一组密钥,I表示聚合状态序列号,表示模p上k-1维向量,然后CC随机选取一个密钥skprg∈SKprg,并秘密的分享给聚合网关AG;
S2:多类型加密数据报告:
智能电表首先利用保持加法同态的公钥加密算法对收集到多个类型的电能使用数据进行加密,得到相应的密文;同时,利用线性同态数字签名算法对每个密文数据生成一个认证值;最后,智能电表将加密的多个类型的电能使用数据,及其对应的认证值发送到智能电网中的聚合网关AG;
步骤S2中,对于每个i=1,2,…,n,SMi使用加法同态的公钥加密算法加密k个类型的耗电数据(mi1,mi2,…,mik),同时对密文进行签名计算,详细过程包括以下步骤:
S201:对于每个类型α=1,2,…,k,SMi加密每种耗电数据miα为其中,T为系统当前时间戳;
S202:SMi计算线性同态数字签名其中,atti=RAID||i,RAID是SMi所在的居住区标识符;
S203:SMi把{CTiα,σiα}1≤α≤k发送给对应的聚合网关AG;
S3:加密数据聚合:
智能电网控制中心CC和聚合网关AG共享一个伪随机数发生器和一个共享密钥,由此聚合网关基于聚合状态序列号生成一个随机向量,结合这个随机向量,聚合网关AG对每个用户所有类型数据的验证值进行聚合,然后将所有用户的聚合验证值进一步进行聚合得到一个单一的验证值;智能电网控制中心CC使用这个最终的验证值就能对所有用户的加密数据的完整性进行验证,同时,聚合网关AG将所有用户的多类型密文数据相乘,得到一个单个的密文聚合值,最后聚合网关AG将聚合验证值和聚合密文一起发送给智能电网控制中心CC;
步骤S3中,聚合网关AG在从n个用户收到所有的{CTiα,σiα}1≤α≤k,i=1,2,...,n之后,执行如下的步骤:
S301:AG利用伪随机数发生器prg生成一个随机向量(τ1,τ2,...,τk-1)←prg(skprg,nonce)和τk=h3(CT||nonce);
S302:对于i=1,2,...,n,AG计算一个组合密文:并且设置ξ={ξi}1≤i≤n,然后,AG对每一个用户计算聚合签名:其中,ψi为秘密参数,并且进一步计算聚合签名
S303:AG计算聚合密文:
最后,AG将这些聚合信息(ξ,σ,CT)发送给智能电网控制中心CC;
S4:验证和聚合数据解密:
智能电网控制中心CC使用审计技术验证所有用户密文数据的完整性,同时,智能电网控制中心CC利用一个迭代算法可解密聚合密文,得到所有用户多类型电能使用数据中每个类型的总和值;
步骤S4中,在智能电网控制中心CC从AG接收到(ξ,σ,CT)之后,CC执行数据完整性验证并且对聚合密文进行解密,具体包括以下步骤:
S401:验证如下的方程是否成立
S402:一旦验证方程成立,智能电网控制中心CC使用其私钥γ0计算:
令则W=gQ mod N2,根据二项式展开方法可得到:(1+N)Q=1+NQ mod N2;
由于W=gQ mod N2=(1+N)Q mod N2,CC可通过如下的方法恢复出聚合的电能数据:
然后,CC计算出所有用户多类型电能使用数据中每个类型的总和值{M1,M2,...,Mk},其中
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南石油大学,未经西南石油大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011387992.X/1.html,转载请声明来源钻瓜专利网。