区块链辅助的V2G安全认证与隐私数据聚合方法与流程

文档序号:22677811发布日期:2020-10-28 12:35阅读:452来源:国知局
区块链辅助的V2G安全认证与隐私数据聚合方法与流程

本发明涉及一种电动汽车智能联网方法,尤其涉及一种区块链辅助的v2g安全认证与隐私数据聚合方法。



背景技术:

随着智能电网的蓬勃发展,v2g作为智能电网中关键的服务,正迅速兴起。v2g为智能电网系统提供了移动的分布式电池,最大程度地减少其对不可再生能源的依赖,而电动汽车ev作为v2g网络中重要的一环,其灵活的负载特性以及能够为电网提供多种辅助服务的能力,使其受到了广泛的关注。ev可以显著降低由燃料驱动的车辆引起的空气污染(占全球co2排放量的17%),研究表明,使用电动汽车代替传统燃料驱动的车辆,可以减少70%的co2排放。除此之外,在v2g网络中,电动汽车ev作为分布式储能元件,在用电低峰时购入电力,在用电高峰时反馈给电网,以起到“削峰填谷”、平衡电网的作用;另一方面,电动汽车也可从这种低价购入、高价售出的行为中获取一定的收益。这种双向的电力传输过程会产生大量的记录,控制中心可以通过分析这些记录以提供有价值的服务,例如负荷预测、价格预测、最佳能耗调度等。但与此同时,这些记录同样会引起一系列隐私问题,例如敏感信息的泄漏,电动汽车的身份、位置以及充放电量等;而这些安全和隐私问题是v2g网络发展的重大阻碍。

目前有很多关于v2g网络隐私和安全问题的研究。首先从身份认证的角度出发,一些研究提出了一种双向的身份验证方案,使用双线性配对技术来保护v2g网络中电动汽车的隐私性,但双线性配对的成本十分昂贵;除此之外一些基于椭圆曲线密码(ellipticcurvecryptography,ecc)的方案也被用到了v2g网络中用以保护用户隐私。

虽然安全的身份认证协议可以在一定程度上保证用户的隐私安全,但是电动汽车为电网注入电力时的功耗数据同样重要,因为这些功耗数据往往与用户的活动密切相关,非常之敏感。所以从功耗数据的角度出发,一些研究提出了一种仪表数据混淆的方案,通过掩盖仪表数据来保护消费者隐私,还有一些方案利用了同态加密聚合本地网关处来自蓄电单元的功耗数据,但遗憾的是,该方案不能完全保障功耗数据的隐私性;除此之外,某些研究提出了基于5g的v2g网络中隐私保护通信和电力注入方案,采用“哈希-同态”的新颖聚合技术,用于进一步聚合不同时隙下的功耗信息,上述方案关注于用户的竞标价格,却忽略了用户可以为智能电网注入的电量数据,而且虽然在一定程度上保护了用户的功耗信息,但安全性仍旧有待提高。



技术实现要素:

发明目的:针对以上问题,本发明提出一种区块链辅助的v2g安全认证与隐私数据聚合方法,增强v2g智能电网系统的安全性,提高智能电网抵御外部攻击的能力,为实现安全电力注入提供了有力支撑,同时还实现了对所有电动汽车注入电网数据的细粒度同态聚合。

技术方案:本发明所采用的技术方案是一种区块链辅助的v2g安全认证与隐私数据聚合方法,包括三层体系结构的电力注入数据聚合框架,第一层是信息收集层,将所覆盖区域分为若干个子区域,每个子区域包括位于该区域中的电动车和与之相连的移动充电站,所述电动汽车能够向电网注入多余的电力以获取一定的收益;第二层是信息聚合层,包括所覆盖区域内的雾节点和聚合节点,每个子区域中域都部署有一个雾节点,所述雾节点用于收集和聚合来自其自身子区域内的电动汽车上传的电力注入数据,并生成块,通过共识机制添加到区块链后,上传至聚合节点;所述聚合节点用于对该层的所有雾节点上传的电力注入数据进行二次聚合,并连同相关信息封装入块,通过共识机制将新生成的块添加到链中,上传至服务支撑层;第三层是服务支撑层,包括云服务器以及可信机构,云服务器用于对聚合节点上传的数据进行解密和分析,可信机构用于为系统中的实体生成和管理公共参数和密钥,同时通过收集电动汽车和雾节点的假名生成布隆过滤器,并将该布隆过滤器发送给相应实体;所述实体包括所述的电动汽车、雾节点和云服务器,所述相关信息包括雾节点的假名、密文的签名、当前时间戳、merkle根、当前区块的哈希值以及前一区块的哈希值。

该方法具体包括以下步骤:

(001)由可信机构为系统中的实体生成并分配公共参数和密钥;

所述步骤(001)包括以下步骤:

(1)由可信机构选择安全参数k,根据gen(k)生成{q1,p0,g1,g2,e};

(2)可信机构选择两个安全素数p和q,计算n=pq作为同态加密的公钥,同时定义函数l(u)=(u-1)/n;

(3)可信机构计算λ=lcm(p-1,q-1),令g=n+1,保证μ=(l(gλmodn2))-1modn存在,从而得到paillier同态加密公钥n,私钥λ;

(4)可信机构随机选择r∈z*n,离线计算s=rnmodn2,加密时用户随机选择一个s对明文进行加密;可信机构选择一个安全的加密散列函数用于隐私数据的签名:h:{0,1}*→{0,1}l,选择两个安全的加密哈希函数h1:{0,1}*→z*q,h2:g1→z*q;

(5)对于电动汽车evij,可信机构选择一个随机安全密钥αij,令αij=βij-1modn2,得到βij,通过计算得到pesuij=αij-1modn2;对于雾节点,可信机构选择一个随机安全密钥αj,令αj=βj-1modn2,得到βj,得到雾节点的假名pesuj=αj-1modn2;对于云服务器,可信机构选择一个随机安全密钥α,令α=β-1modn2,得到β;

(6)可信机构生成系统参数(λ,n,kij,kj,s,h,αij,αj,α,βij,βj,β)后,发布系统参数(n,h,q1,p0,g1,g2,e),并通过秘密信道分配{kij,s,αij,βj,β}到电动汽车,分配{kj,αj,βij,β}到雾节点,分配秘钥{λ,βj}到云服务器。

(002)电动汽车完成在可信机构处的注册,可信机构生成布隆过滤器发送到所属子区域的雾节点处以及所属电动汽车处;所述步骤(002)包括以下步骤:

(1)在某子区域内,电动汽车通过自身的内置算法生成信息mij,mij主要包含电动汽车evij的车辆信息,定位信息,该注册信息具有唯一标识性;

(2)该子区域下的电动汽车evij选择一个随机元素skij作为其秘钥,并计算pkij=skijp0作为其公钥;

(3)电动汽车evij选择一个随机元素xij∈z*q,并且通过计算得到μij=h1(xij||pesuij)p0,vij=h2(xij||pesuij)-skijh2(μij)modq;

(4)电动汽车evij发送参数{pesuij,μij,vij,pkij}至可信机构,可信机构收到参数后,验证μij=vijp0+h2(μij)pkij是否成立,如果通过,电动汽车evij存储{pesuij||skij),可信机构存储(pesuij||pkij),否则拒绝注册;

(5)可信机构存储收集(pesuij||pkij)后,为每个子区域创建布隆过滤器:在信息收集层中,可信机构设置一个θ位的位串,然后使用哈希函数来计算同一区域中所有假名的哈希值,当索引值等于h(pseuij)modθ时,将该位元素值设置为1;可信机构将生成的布隆过滤器发送到所属子区域的雾节点处以及所属电动汽车处。

(003)雾节点完成在可信机构处的注册,可信机构生成布隆过滤器发送到所有的雾节点处以及云服务器处;所述步骤(003)包括以下步骤:

(1)在信息聚合层,雾设备会通过自身的内置算法生成信息mj,mj主要包含雾设备的身份信息fogj,定位信息等,该注册信息具有唯一标识性;

(2)雾设备选择一个随机元素skj作为其秘钥,并计算pkj=skjp0作为其公钥;

(3)雾设备选择一个随机元素xj∈z*q,计算得到μj=h1(xj||pesuj)p0,vj=h1(xj||pesuj)-skjh2(μj)modq;

(4)雾设备发送参数{pesuj,μj,vj,pkj}至可信机构,收到参数后,可信机构将验证μj=vjp0+h2(μj)pkj是否成立,如果通过,雾设备存储{pesuj||skj),可信机构存储{pesuj||pkj),否则拒绝注册;

(5)可信机构存储收集(pesuj||pkj)后,为信息聚合层创建布隆过滤器:在信息聚合层中,可信机构设置一个θ位的位串,然后使用哈希函数来计算信息聚合层中所有雾节点的哈希值,当索引值等于h(pseuj)modθ时,将该位元素值设置为1;可信机构将生成的布隆过滤器发送到该层所有的雾节点处以及云服务器处。

(004)在用电高峰时刻,云服务器生成电力注入请求数据包,通过雾节点发送至电动汽车,电动汽车开始准备电力注入;所述步骤(004)包括以下步骤:

(1)在用电高峰时刻,云服务器选择一个随机元素ξ∈z*q,连同当前时间戳ts得到签名mac:

mac=h(ts||ξ)α

得到电力注入请求数据包<power-req-fog>={ξ||mac||ts||pw},其中mac用于验证云服务器的身份,pw为当前时隙的电力价格,云服务器将得到的数据包<power-req-fog>发送到信息聚合层的雾节点;

(2)雾节点在收到数据包后<power-req-fog>后,检查时间戳ts是否在有效期限,若是在有效期限,则进一步检查签名mac的真实性:

macβ=h(ξ||ts)modn2

若等式成立,则证明接收的签名是有效的,随后处于信息聚合层中的不同区域的雾节点fogj将生成数据包<power-req-ev>并广播至该区域下的电动汽车;

(3)为了保护雾节点fogj的身份信息,雾节点将注册阶段生成的假名pesui连同当前时间戳ts生成签名macj:

得到数据包<power-req-ev>={pesuj||macj||ts||pw},macj用于验证数据包的真实性和完整性,雾节点将得到的数据包<power-req-ev>广播到电动汽车;

(4)电动汽车在收到数据包<power-req-ev>后,检查时间戳ts的有效性,若时间仍旧在有效期之内,则进一步验证数据包<power-req-ev>的来源:

若等式成立,则说明数据包的来源是真实有效,电动汽车开始准备电力注入,同时表明能够注入电网的电量。

(005)电动汽车对注入电网的电量数值加密,采用扩展的paillier同态加密算法,得到加密后的用电数据以及该密文的签名,并发送至所述区域内所设的雾节点,雾节点则通过布隆过滤器验证电动汽车假名是否合法、确认时间戳是否有效,随后利用批量聚合签名算法对上传的电力数据签名进行批量验证,若验证通过,则对上传的加密后的用电数据进行细粒度聚合,得到隐私数据的聚合密文,并通过共识机制完成新区块链的添加,上传至聚合节点;所述步骤(005)包括以下步骤:

(1)在某区域j,电动汽车准备注入智能电网的电量为dij,电动汽车evij对当前交易产生的能耗dij进行加密,采用扩展的paillier同态加密算法,得到加密后的用电数据cij:

cij=(1+dijn)·s

(2)电动汽车生成密文签名:

yij=h(ts||pesuij)

(3)第j个雾节点fogj接收到该子区域内所有evij发送的报告{pesuij,cij,macij,ts)后,检查时间戳ts是否在有效期内,若ts有效,则进一步通过布隆过滤器检查电动汽车的假名是否合法;

(4)如果pesuij和当前时间戳ts检查有效,则进一步验证聚合密文的签名macij:

式中w表示雾节点收到的密文签名报告的数量;

(5)雾节点fogj对来自该区域w个电动汽车的能耗数据进行细粒度聚合,得到隐私数据的聚合密文cj:

(6)聚合密文签名的生成:

yj=h(ts||pesuj)

(7)将雾节点fogj处得到的信息汇总生成事务信息tj={cj,pesuj,ts,macj};

(8)雾节点将生成的事务tj={cj,pesuj,ts,macj}记录在一个新的区块中,并在所属子区域j下广播新区块以进行信息认证,该新区块还包含其他三个元素,即merkle根,前一区块的哈希值hprev-block和当前区块哈希值hcurr-block;merkle根的值是通过对merkle树中的功耗密文数据和相关用户假名进行哈希处理来得到的;该新区块当前哈希值hcurr-block计算式为:

(9)雾节点创建新区块之后,新的区块将在所属区域下的电动汽车中进行广播,并通过共识机制完成区块链添加:该子区域下所有的电动汽车evij验证该新区块中的记录,每个节点仅验证与自身有关的数据;如果与原始数据一致,则新区块通过验证,并将验证结果广播到该雾节点所属区域下的其他电动汽车;假设在形成区块链网络中,允许的恶意节的数量少于或等于网络节点总数的1/3,则在收集了其他(2n/3)+1个或更多电动汽车发送的验证通过的消息后,该新区块被视为有效区块,同时将其添加到ev-chain中。

(006)信息聚合层的聚合节点读取新区块链的内容,对雾节点的假名、当前时间戳、密文签名进行验证,验证方法与前一步骤类似,随后对来自各个区域雾节点的隐私数据进行二级聚合,生成粗粒度聚合密文,并通过共识机制完成新区块链的添加,上传至所述云服务器;所述步骤(006)包括以下步骤:

(1)聚合节点从ev-chain中查询事务信息tj={cj,pesuj,ts,macj},验证pesuj和时间戳ts,方法与ev处类似;若假名和时间戳验证通过,则进一步验证密文签名:

(2)聚合节点对隐私数据进行二级聚合,生成粗粒度聚合密文:

(3)生成聚合密文签名:

y=h(ts||pesuj)

(4)聚合节点生成事务t={c,pesuj,ts,mac};

(5)信息聚合层的聚合节点将事务记录在一个新的区块中,并将新区块广播至其他雾节点以进行信息认证,并通过共识机制将经过验证的区块添加至fog-chain中,并将新生成的fog-chain发送至服务支撑层的云服务器中,等待云服务器操作。

(007)云服务器利用paillier算法对所述粗粒度聚合密文进行解密。所述步骤(007)包括以下步骤:

(1)云服务器从fog-chain中查询事务信息t={c,pesuj,ts,mac}之后,首先要验证pesuj和时间戳ts,方法与ev处类似;若假名和时间戳验证通过,则通过以下公式进一步验证密文签名,确保密文c的真实性和完整性:

(2)若信息验证通过,则云服务器利用paillier算法对聚合密文进行解密:

云服务器获得汇总的明文之后,能够获知当前区域电动汽车注入电网电力的情况,用于智能电网在用电高峰时期能灵活调控电力,维持电网平衡。

有益效果:相比于现有技术,本发明具有以下优点:(1)通过设计一种融入雾计算和区块链的三层体系结构的电力注入数据聚合框架,为v2g网络实现安全、可靠且高效的电力注入提供了有力支撑;(2)通过融合paillier同态加密算法、批量聚合签名和布隆过滤器,设计了安全的身份认证和隐私数据聚合机制,有效保障了v2g用户的身份信息安全与电力注入数据的敏感性,增强了v2g智能电网系统的安全性,提高智能电网抵御外部攻击的能力;(3)所述加密算法采用扩展的同态加密算法,利用同态加密算法实现了对所有ev用户注入电网的电力数据的细粒度的同态聚合,为智能电网实现准确、灵活的电力调控奠定了基础;(4)传统的集中式机制依赖于受信任的第三方机构来管理、审核和验证每笔能源交易,这种场景下的交易容易受到一系列安全威胁的影响,例如单点故障、拒绝服务攻击和隐私泄漏等,本发明能够有效削弱中心化。

附图说明

图1是本发明所述的区块链辅助的v2g安全认证与隐私数据聚合方法的系统模型;

图2是本发明所述的区块链辅助的v2g安全认证与隐私数据聚合方法的流程示意图;

图3是本发明所述方法相较于pada、eppcp方案在uc处的计算成本对比图;

图4是本发明所述方法相较于pada、eppcp方案在gw处的计算成本对比图;

图5是本发明所述方法相较于pada、eppcp方案在ev处的计算成本对比图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步的说明。

本发明所述的区块链辅助的v2g安全认证与隐私数据聚合方法,如图1、图2所示,包括可信机构ta、电动汽车ev、移动充电站cs、雾节点、云服务器五个实体,首先假设覆盖区域分为k个子区域,每个子区域有n个电动汽车,电动汽车evij(0≤i≤n,0≤j≤k)代表第j个区域下的第i个电动汽车,所有k*n电动汽车形成信息收集层。在该层,电动汽车可以在低价时段向电网购入电力,并在高价时段向电网注入多余的电力以获取一定的收益。同时,每个子区域都部署有一个雾节点fogj(0≤j≤k)以收集和聚合来自其自身子区域的电力注入数据,具体地,当雾节点所属区域的evij上传电力注入数据时,普通雾节点负责对这些信息进行聚合,并生成块,通过共识机制添加到区块链后,上传至聚合节点。聚合节点负责对该层的所有雾节点上传的电力注入数据进行二次聚合,以获得整个区域的电力注入数据,并连同相关信息封装入块(相关信息包括雾节点的假名、密文的签名、当前时间戳、merkle根、当前区块的哈希值以及前一区块的哈希值),通过共识机制将新生成的块添加到链中,上传至服务支撑层,等待位于服务支撑层的云服务器进行解密和分析。可信机构主要负责为系统中的实体生成和管理公共参数和密钥。同时,它通过收集evij和雾节点的假名生成布隆过滤器,并将该布隆过滤器发送给相应实体。

001、参数的生成,包括如下步骤:

(1)可信机构选择安全参数k,根据gen(k)生成{q1,p0,g1,g2,e}。

(2)可信机构选择两个安全素数p和q,计算n=pq作为同态加密的公钥,同时定义函数l(u)=(u-1)/n。

(3)可信机构计算λ=lcm(p-1,q-1),令g=n+1,保证μ=(l(gλmodn2))-1modn存在,从而得到paillier同态加密公钥n,私钥λ。

(4)可信机构随机选择r∈z*n,离线计算s=rnmodn2,加密时用户随机选择一个s对明文进行加密即可。

(5)同时,可信机构选择一个安全的加密散列函数用于隐私数据的签名:h:{0,1}*→{0,1}l,选择2个安全的加密哈希函数h1:{0,1}*→z*q,h2:g1→z*q。

(6)对于电动汽车ev,可信机构选择一个随机安全密钥αij,令αij=βij-1modn2,得到βij,并通过计算得到pesuij=αij-1modn2,类似地,在雾节点,可信机构选择一个随机安全密钥αj,令αj=βj-1modn2,得到βj,同时得到雾节点的假名pesuj=αij-1modn2;在云服务器,可信机构选择一个随机安全密钥α,令α=β-1modn2,得到β。

(7)可信机构生成系统参数(λ,n,kij,kj,s,h,αij,αj,α,βij,βj,β)后,首先ta将发布系统参数(n,h,q1,p0,g1,g2,e),同时分配参数(λ,kij,kj,s,αij,αj,α,βij,βj,β)到各个实体。具体地,ta通过秘密信道分配{kij,s,αij,βj,β}到电动汽车、分配{kj,αj,βij,β}到雾节点,分配秘钥{λ,βj}到云服务器。

002、电动汽车ev的注册,包括如下步骤:

(1)首先在某子区域内,新加入的电动汽车会通过自身的内置算法生成信息mij,mij主要包含电动汽车evij的车辆信息、定位信息等,该注册信息具有唯一标识性。

(2)随后该子区域下的ev将选择一个随机元素skij作为其秘钥,并计算pkij=skijp0作为其公钥。

(3)接下来evij选择一个随机元素xij∈z*q,并且通过计算得到μij=h1(xij||pesuij)p0,vij=h2(xij||pesuij)-skijh2(μij)modq。

(4)最后ev发送参数{pesuij,μij,vij,pkij}至ta,收到参数后,ta将验证μij=νijp0+h2(μij)pkij是否成立,如果通过,ev存储{pesuij||skij),ta存储{pesuij||pkij),否则拒绝注册。

(5)ta存储收集{pesuij||pkij)后,为每个子区域创建布隆过滤器。具体来说,在信息收集层中,ta设置一个θ位的位串,然后使用哈希函数来计算同一区域中所有假名的哈希值。当索引值等于h(pseuij)modθ时,将该位元素值设置为1。最后,ta将生成的布隆过滤器发送到该子区域的雾节点处以及所属ev处,类似的操作也将在雾层执行。

003、雾设备的注册,包括如下步骤:

(1)与电动汽车的注册过程类似。在信息聚合层,首先新加入的雾设备会通过自身的内置算法生成信息mj,mj主要包含雾设备的身份信息fogj,定位信息等,该注册信息具有唯一标识性。

(2)随后雾设备选择一个随机元素skj作为其秘钥,并计算pkj=skjp0作为其公钥。

(3)雾设备选择一个随机元素xj∈z*q,计算得到μj=h1(xj||pesuj)p0,vj=h1(xj||pesuj)-skjh2(μj)modq。

(4)最后雾设备发送参数{pesuj,μj,vj,pkj}至ta,收到参数后,ta将验证μj=vjp0+h2(μj)pkj是否成立,如果通过,雾设备存储(pesuj||skj),ta存储(pesuj||pkj),否则拒绝注册。

(5)ta存储收集(pesuj||pkj)后,为信息聚合层创建布隆过滤器。具体来说,在信息聚合层中,ta设置一个θ位的位串,然后使用哈希函数来计算信息聚合层中所有雾节点的哈希值。当索引值等于h(pseuj)modθ时,将该位元素值设置为1。最后,ta将生成的布隆过滤器发送到该层所有的雾节点处以及云服务器处。

004、电力注入请求的生成,包括如下步骤:

(1)在用电高峰时刻,首先云服务器会选择一个随机元素ξ∈z*q,连同当前时间戳ts得到签名mac。

mac=h(ts||ξ)α

得到电力注入请求数据包<power-req-fog>={ξ||mac||ts||pw},其中mac用于验证云服务器的身份,pw为当前时隙的电力价格。云服务器将得到的数据包<power-req-fog>发送到信息聚合层的雾节点。

(2)雾节点在收到数据包后<power-req-fog>后,首先会检查时间戳ts是否在有效期限,若是在有效期限,则进一步检查签名mac的真实性。

macβ=h(ξ||ts)modn2

根据α=β-1modn2可知,若等式成立,则证明接收的签名是有效的,随后处于信息聚合层中的不同区域的雾节点fogj将生成数据包<power-req-ev>并广播至该区域下的电动汽车。

(3)为了保护雾节点fogj的身份信息,雾节点将注册阶段生成的假名pesuj连同当前时间戳ts生成签名macj。

随即得到数据包<power-req-ev>={pesuj||macj||ts||pw},macj用于验证数据包的真实性和完整性,雾节点将得到的数据包<power-req-ev>广播到ev。

(4)电动汽车ev在收到数据包<power-req-ev>后,准备参与电力注入,同时表明自己可以注入电网的电量。具体地,与雾节点处类似,电动汽车ev首先要检查时间戳ts的有效性,若时间仍旧在有效期之内,则进一步验证数据包<power-req-ev>的来源,即ev将验证macj的真实性。

若上述等式成立,则说明数据包的来源是合法的,电动汽车开始准备电力注入。

005、区块链ev-chain的生成,包括如下步骤:

(1)例如在某区域j,电动汽车准备注入智能电网的电量为dij,电动汽车evij需要对当前交易产生的能耗dij进行加密,采用扩展的paillier同态加密算法,得到加密后的用电数据cij。

cij=(1+dijn)·s

(2)签名用于雾节点验证密文的完整性与真实性。

yij=h(ts||pesuij)

(3)第j个雾节点fogj接收到该子区域内所有evij发送的报告{pesuij,cij,macij,ts)后,首先要检查时间戳ts是否在有效期内,若ts有效,则进一步检查ev的假名是否合法,这一步主要是通过布隆过滤器完成的。

(4)如果pesuij和当前时间戳ts检查有效,则进一步验证聚合密文的签名macij。

式中w表示雾节点收到的密文签名报告的数量;

(5)细粒度聚合密文的生成。雾节点fogj对来自该区域所有w个电动汽车的能耗数据进行细粒度聚合,得到隐私数据的聚合密文cj。

(6)聚合密文签名的生成。

yj=h(ts||pesuj)

(7)事务的生成。待完成上述一系列操作,将雾节点fogj处得到的信息汇总生成事务信息tj={cj,pesuj,ts,macj}。

(8)雾节点将生成的事务tj={cj,pesuj,ts,macj}记录在一个新的区块中,并在所属子区域j下广播新区块以进行信息认证,该新区块还包含其他三个元素,即merkle根,前一区块的哈希值hprev-block和当前区块哈希值hcurr-block。merkle根的值是通过对merkle树中的功耗密文数据和相关用户假名进行哈希处理来得到的。而该新区块当前哈希值hcurr-block计算式为:

(9)共识过程。雾节点创建新区块之后,新的区块将在所属区域下的电动汽车ev中进行广播。该子区域下所有的电动汽车evij将验证该新区块中的记录,而且每个节点仅验证与自身有关的数据。如果与原始数据一致,则新区块通过验证,并将验证结果广播到该雾节点所属区域下的其他电动汽车ev节点。假设在形成区块链网络中,可以允许的恶意节的数量少于或等于网络节点总数的1/3,则在收集了其他(2n/3)+1个或更多ev节点发送的验证通过的消息后,该新区块被视为有效区块,同时将其添加到ev-chain中。

006、fog-chain的生成,包括如下步骤:

(1)聚合节点从ev-chain中查询事务信息tj={cj,pesuj,ts,macj},首先要验证pesuj和时间戳ts,方法与ev处类似;若假名和时间戳验证通过,则通过公式进一步验证密文签名,确保密文{c1,c2,…,cj}的真实性和完整性。

(2)聚合节点完成验证之后,将对隐私数据进行二级聚合,以此对来自j个区域的电力注入数据进行汇总。

(3)生成聚合密文的签名。

y=h(ts||pesuj)

(4)待完成上述操作之后,聚合节点将生成事务t={c,pesuj,ts,mac}。

(5)信息聚合层的聚合节点将事务记录在一个新的区块中,并将新区块广播至其他雾节点以进行信息认证。与在信息收集层中创建ev-chain类似,信息聚合层新区块的创建主要包含事务、merkle根,前一区块的哈希值和当前区块的哈希值。随后将新生成的区块在信息聚合层广播,和ev处操作类似,重复步骤005中(8)-(9)的操作,将经过验证的区块添加至fog-chain中,并将新生成的fog-chain发送至服务支撑层的云服务器中,等待云服务器操作。

007、服务支撑,包括如下步骤:

(1)云服务器从fog-chain中查询事务信息t={c,pesuj,ts,mac}之后,首先要验证pesuj和时间戳ts,方法与ev处类似;若假名和时间戳验证通过,则通过公式进一步验证密文签名,确保密文c的真实性和完整性。

(2)若信息验证通过,则利用paillier算法对聚合密文进行解密:

云服务器获得汇总的明文之后,可以获知当前区域电动汽车注入电网电力的情况,以便智能电网在用电高峰时期能灵活调控电力,维持电网平衡。

本实施例中的电力注入数据聚合框架基于雾计算和区块链技术,为v2g网络实现安全、可靠且高效的电力注入提供了有力支撑;

本实施例中的身份认证和隐私数据聚合机制基于paillier同态加密算法、批量聚合签名算法和布隆过滤器,有效保障了v2g用户的身份信息安全与电力注入数据的敏感性。

本实施例中的加密算法采用扩展的同态加密算法,利用同态加密算法实现了对所有ev用户注入电网的电力数据的细粒度的同态聚合,为智能电网实现准确、灵活的电力调控奠定了基础。本实施例中的签名算法采用批量聚合签名。本实施例中的匿名认证算法基于布隆过滤器。

基于上述本发明设计的区块链辅助的v2g安全认证与隐私数据聚合方法在实际过程中的应用,如图3所示本发明设计方法相较于其他两种方案pada、eppcp,本方法提出在uc处的计算成本更低,同时随着ev数量的增加,这种趋势也将更加明显。这主要是因为pada中为了生成数据包使用了昂贵的双线性配对计算,eppcp中也是用了大量的指数运算,相对于pada和eppcp,本方法计算成本要低得多,有效提高了数据聚合的效率。同样地,如图4到图5所示,本发明设计方法在gw/fog(网关/雾节点)、ev处的计算成本同样要比其他两种方法低得多。结合图3、图4和图5可知,本发明设计方法更适用于对实时性有需要的v2g网络。

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