基于区块链的电力终端数据安全管理方法与流程

文档序号:20918077发布日期:2020-05-29 13:47阅读:264来源:国知局
基于区块链的电力终端数据安全管理方法与流程

本发明涉及电力通信网安全管理技术领域,尤其涉及一种基于区块链的电力终端数据安全管理方法。



背景技术:

随着物联网和人工智能技术的快速发展,变电站的数据采集设备数量和类型越来越多。这些变电站的设备实现了电力资源的计量、交易、支付等功能,方便了电力公司的运营。但是,由于变电站的采集设备分布在不同的位置,容易造成交易数据的泄露和篡改等问题,严重影响电力公司的正常运营。

现有的电力通信网安全管理中,电力终端的数据采集、电力数据的安全传输和安全存储方面,已经取得了较好的研究成果,然而,端到端的电力数据安全管理中,仍然存在数据泄露和篡改等问题,如何进一步防止数据泄露和篡改,目前还未有较好的解决方案。

因此,现在亟需一种基于区块链的电力终端数据安全管理方法来解决上述问题。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种基于区块链的电力终端数据安全管理方法。

第一方面,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

对目标电力终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,所述电力信息包括电力终端的环境信息和交易信息;

对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名;

将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证。

进一步地,所述对目标电路终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,包括:

获取目标电力终端的环境信息和交易信息,所述环境信息至少包括位置信息、温度信息、湿度信息、时间信息和光照信息;所述交易信息至少包括电量交易信息和交易用户信息;

对所述环境信息和所述交易信息进行数据聚合处理,得到所述目标电力终端的第一目标数据。

进一步地,所述对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名,包括:

通过目标电力终端的散列函数对所述第一目标数据进行处理,得到第一散列值;

通过所述目标电力终端的私钥对所述第一散列值进行加密,得到目标数据签名;

通过所述目标电力终端的公钥对所述第一目标数据进行加密,得到所述第二目标数据。

进一步地,所述将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证,包括:

获取目标电力终端的电力终端id和散列值解密公钥;

将所述第二目标数据、所述目标数据签名、所述电力终端id和所述散列值解密公钥发送到区块链节点,以供区块链节点进行签名验证。

第二发明,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

获取目标电力终端的第二目标数据和目标数据签名;

通过每个区块链节点对所述第二目标数据进行签名验证,若签名验证通过,则从多个验证通过的区块链节点中随机选取任一区块链节点作为主区块链节点;

通过所述主区块链节点对所述第二目标数据进行聚合签名验证,若聚合签名验证通过,则通过智能合约,将所述第二目标数据和所述目标数据签名存储在区块链中;

其中,所述第二目标数据和所述目标数据签名是通过对目标电力终端的第一目标数据进行加密得到的,所述第一目标数据是通过对目标电力终端的电力信息进行数据聚合处理得到的。

进一步地,所述通过每个区块链节点对所述第二目标数据进行签名验证,包括:

获取存储在每个区块链节点中目标电力终端的私钥和公钥;

通过所述目标电力终端的私钥对所述第二目标数据进行解密,得到解密后的第二目标数据;

根据所述目标电力终端对应的散列函数,对解密后的第二目标数据进行处理,得到第二散列值;

通过所述目标电力终端的公钥对所述目标数据签名进行解密,得到第三散列值;

将所述第二散列值和所述第三散列值进行对比,若相同,则签名验证通过。

进一步地,所述通过所述主区块链节点对所述第二目标数据进行聚合签名验证,包括:

获取主区块链节点和聚合签名信息,所述主区块链节点是根据签名验证通过后的多个区块链节点中随机选取得到,所述聚合签名信息包括主区块链节点id、数据接收时间、电力终端id、电力终端数据明文、电力终端数据签名和散列值解密公钥;

根据相同的哈希算法,获取所述主区块链中每个明文的散列值,若每个明文的散列值相同,则所述主区块链的每个明文相同;

通过所述散列值解密公钥,对所述主区块链中每个数据签名进行解密,得到所述主区块链中每个数据签名的散列值,若每个数据签名的散列值相同,则所述主区块链的每个数据签名相同;

若所述主区块链中明文的散列值和所述第二目标数据中明文的散列值相同,且所述主区块链中数据签名的散列值和所述目标数据签名的散列值相同,则聚合签名验证通过。

第三方面,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

获取目标电力终端发送的电力数据申请请求,所述电力数据申请请求包括目标电力终端id和电力数据编号,所述电力数据编号通过所述目标电力终端对应的私钥进行加密;

根据所述目标电力终端id获取对应的公钥,并通过公钥对所述电力数据编号进行解密,得到解密后的电力数据编号;

根据解密后的电力数据编号,从区块链中获取到目标电力数据,并将所述目标电力数据对应的电力终端id和所述目标电力终端id进行对比,若所述目标电力数据对应的电力终端id和所述目标电力终端id相同,则将所述目标电力数据发送到所述目标电力终端。

第四方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面、第二方面或第三方面所提供的方法的步骤。

第五方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面、第二方面或第三方面所提供的方法的步骤。

本发明实施例提供的一种基于区块链的电力终端数据安全管理方法,通过数据聚合处理生成电力终端的电力数据,再对电力数据进行加密处理,使得电力终端采集生成的电力数据的完整性和保密性更高,并通过每个区块链节点对电力数据进行签名验证,再通过选取得到的主区块链节点进行聚合签名验证,使得电力数据在申请和存储过程中不被人为修改,实现电力数据在申请和存储过程中的一致性和防篡改性。

附图说明

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

图1为本发明实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图;

图2为本发明又一实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图;

图3为本发明实施例提供的基于区块链的电力终端数据安全管理的模型示意图;

图4为为本发明实施例提供的基于区块链的电力终端数据安全管理方法的信令图;

图5为本发明另一实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图;

图6为本发明实施例提供的电子设备结构示意图。

具体实施方式

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

图1为本发明实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图,如图1所示,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

步骤101,对目标电力终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,所述电力信息包括电力终端的环境信息和交易信息;

步骤102,对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名;

步骤103,将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证。

在本发明实施例中,以电力终端为执行主体进行说明,为了保证电力数据的安全性,目标电力终端向区块链传输电力数据之前,首先,目标电力终端采集电力信息,其中,环境信息可通过电力终端中设置的传感器进行采集,交易信息基于电力终端的交易客户端进行采集,例如,用电量和交易用户信息等;然后,目标电力终端(可通过设置在电力终端的处理器进行处理)将这些电力信息进行数据聚合处理,从而得到该目标电力终端的电力交易详细数据,即得到第一目标数据。

进一步地,目标电力终端通过数字签名和非对称加密算法,将自身的第一目标数据进行数据加密处理,从而得到加密后的数据,即得到第二目标数据和目标数据签名。最后,将加密数据发送到区块链中进行签名验证,在确认签名验证通过之后,将该加密数据存储在区块链中。

本发明实施例提供的基于区块链的电力终端数据安全管理方法,通过数据聚合处理生成电力终端的电力数据,再对电力数据进行加密处理,使得电力终端采集生成的电力数据的完整性和保密性更高。

在上述实施例的基础上,所述对目标电路终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,包括:

获取目标电力终端的环境信息和交易信息,所述环境信息至少包括位置信息、温度信息、湿度信息、时间信息和光照信息;所述交易信息至少包括电量交易信息和交易用户信息;

对所述环境信息和所述交易信息进行数据聚合处理,得到所述目标电力终端的第一目标数据。

在本发明实施例中,通过数据聚合,对目标电力终端的电力信息中的各项数据进行内容挑选、分析和归类,最后得到该目标电力终端的第一目标数据,从而使该目标电力终端采集到的电力数据更加准确。

在上述实施例的基础上,所述对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名,包括:

通过目标电力终端的散列函数对所述第一目标数据进行处理,得到第一散列值;

通过所述目标电力终端的私钥对所述第一散列值进行加密,得到目标数据签名;

通过所述目标电力终端的公钥对所述第一目标数据进行加密,得到所述第二目标数据。

在本发明实施例中,在电力终端将第一目标数据发送到区块链节点之前,需要对第一目标数据进行数据加密和数据签名处理。具体地,在本发明实施例中,目标电力终端会根据自身的电力终端id,生成对应两对的公钥和私钥,其中一对用于对第一目标数据进行加密,另一对用于对第一目标数据的散列值进行加密。

在上述实施例的基础上,所述将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证,包括:

获取目标电力终端的电力终端id和散列值解密公钥;

将所述第二目标数据、所述目标数据签名、所述电力终端id和所述散列值解密公钥发送到区块链节点,以供区块链节点进行签名验证。

在本发明实施例中,在对第一目标数据进行加密处理之后,得到第二目标数据和目标数据签名,然后,将该目标电力终端的id、第二目标数据、目标数据签名和散列值公钥等信息发送到所有区块链节点。

图2为本发明又一实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图,如图2所示,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

步骤201,获取目标电力终端的第二目标数据和目标数据签名;

步骤202,通过每个区块链节点对所述第二目标数据进行签名验证,若签名验证通过,则从多个验证通过的区块链节点中随机选取任一区块链节点作为主区块链节点;

步骤203,通过所述主区块链节点对所述第二目标数据进行聚合签名验证,若聚合签名验证通过,则通过智能合约,将所述第二目标数据和所述目标数据签名存储在区块链中;

其中,所述第二目标数据和所述目标数据签名是通过对目标电力终端的第一目标数据进行加密得到的,所述第一目标数据是通过对目标电力终端的电力信息进行数据聚合处理得到的。

在本发明实施例中,以区块链为执行主体进行说明,区块链节点在进行验证数据时,采用聚合签名技术,实现数据的不可篡改性和一致性,包括每个区块链节点的签名验证和主区块链节点的聚合签名验证。其中,为了保证聚合签名的公平性和安全性,进行聚合签名验证的主区块链节点是从每次将参与聚合签名验证的区块链节点中随机选取得到。在完成签名验证之后,采用智能合约技术,将电力数据存储在区块链节点中,在本发明实施例中,通过智能合约对电力数据进行存储,包括事件触发条件、事件响应策略和外部事件执行三个步骤,其中,事件触发条件为:根据区块链节点的聚合签名结果,设置事件触发条件,事件触发条件具体为:聚合签名验证通过和验证不通过两种条件;事件响应策略为:表示事件触发条件被触发后,智能合约需要完成的工作,具体为:如果聚合签名验证通过的条件被触发,通过智能合约技术,基于电力终端id查询其对应的电力数据id,并将本次的电力数据存入区块链的存储节点,否则,通过智能合约技术记录电力终端id和验证失败的原因;外部事件执行为:根据事件触发条件,执行事件响应策略,由于智能合约技术具有安全性和不可篡改性,所以,智能合约部署后,其中的内容将被永久保存和自动执行。在本发明实施例中,为了保障电力数据的安全性,基于智能合约技术存储电力数据之前,通过电力数据所有者的公钥对电力数据进行加密,生成数据密文,再对数据密文进行存储。

本发明实施例提供的基于区块链的电力终端数据安全管理方法,通过每个区块链节点对电力数据进行签名验证,并通过选取得到的主区块链节点进行聚合签名验证,使得电力数据在存储过程中不被人为修改,实现数据存储过程的一致性和防篡改性。

在上述实施例的基础上,所述通过每个区块链节点对所述第二目标数据进行签名验证,包括:

获取存储在每个区块链节点中目标电力终端的私钥和公钥;

通过所述目标电力终端的私钥对所述第二目标数据进行解密,得到解密后的第二目标数据;

根据所述目标电力终端对应的散列函数,对解密后的第二目标数据进行处理,得到第二散列值;

通过所述目标电力终端的公钥对所述目标数据签名进行解密,得到第三散列值;

将所述第二散列值和所述第三散列值进行对比,若相同,则签名验证通过。

在本发明实施例中,为了保证私钥的安全,电力数据的解密私钥通过线下的方式,存储在区块链节点中,私钥不允许明文存储和查看,只有区块链节点才有权使用该私钥对电力数据进行解密。具体地,在本发明实施例中,每个区块链节点接收到电力终端id、第二目标数据、目标数据签名和散列值解密公钥等信息;然后,通过目标电力终端的私钥对数据密文(即第二目标数据)进行解密,得到数据明文(即解密后的第二目标数据);再通过该目标电力终端对应的散列函数,求解数据明文的散列值,得到第二散列值,并通过该目标电力终端的公钥对目标数据签名进行解密,得到第三散列值;最后,将第二散列值和第三散列值进行对比,若两者相同,则表示第二目标数据是安全和完整的。

在上述实施例的基础上,所述通过所述主区块链节点对所述第二目标数据进行聚合签名验证,包括:

获取主区块链节点和聚合签名信息,所述主区块链节点是根据签名验证通过后的多个区块链节点中随机选取得到,所述聚合签名信息包括主区块链节点id、数据接收时间、电力终端id、电力终端数据明文、电力终端数据签名和散列值解密公钥;

根据相同的哈希算法,获取所述主区块链中每个明文的散列值,若每个明文的散列值相同,则所述主区块链的每个明文相同;

通过所述散列值解密公钥,对所述主区块链中每个数据签名进行解密,得到所述主区块链中每个数据签名的散列值,若每个数据签名的散列值相同,则所述主区块链的每个数据签名相同;

若所述主区块链中明文的散列值和所述第二目标数据中明文的散列值相同,且所述主区块链中数据签名的散列值和所述目标数据签名的散列值相同,则聚合签名验证通过。

在本发明实施例中,在每个区块链节点完成签名验证之后,需要在区块链节点上进行聚合签名验证,对于每个参与聚合签名验证的区块链节点,首先需验证参与聚合签名验证的区块链节点上报的数据包,在验证数据包符合要求之后,随机选择一个区块链节点作为主区块链节点,执行聚合签名工作。

图3为本发明实施例提供的基于区块链的电力终端数据安全管理的模型示意图,可参考图3所示,在电力终端处,通过数据聚合,根据传感器采集的信息以及电力交易,生成每个电力终端对应的电力数据,然后将电力数据发送到区块链节点中,区块链节点通过单一区块链节点签名验证和聚合签名验证之后,将电力数据存储在区块链节点中。

图4为为本发明实施例提供的基于区块链的电力终端数据安全管理方法的信令图,可参考图4所示,在本发明实施例中,电力终端将电力数据存储到区块链节点的步骤为;

步骤s1,电力终端通过数据聚合,生成对应的电力数据;

步骤s2,电力终端对电力数据进行数据签名和加密处理;

步骤s3,电力终端向区块链发送电力数据存储请求,并将电力数据发送到区块链节点;

步骤s4,每个区块链节点进行签名验证;

步骤s5,从多个区块链节点中选取主区块链节点进行聚合签名验证;

步骤s6,在单一区块链节点的签名验证和主区块链节点的聚合签名验证通过之后,将电力数据存储在区块链节点中;

步骤s7,将存储成功的信息反馈到电力终端。

图5为本发明另一实施例提供的基于区块链的电力终端数据安全管理方法的流程示意图,如图5所示,本发明实施例提供了一种基于区块链的电力终端数据安全管理方法,包括:

步骤501,获取目标电力终端发送的电力数据申请请求,所述电力数据申请请求包括目标电力终端id和电力数据编号,所述电力数据编号通过所述目标电力终端对应的私钥进行加密;

步骤502,根据所述目标电力终端id获取对应的公钥,并通过公钥对所述电力数据编号进行解密,得到解密后的电力数据编号;

步骤503,根据解密后的电力数据编号,从区块链中获取到目标电力数据,并将所述目标电力数据对应的电力终端id和所述目标电力终端id进行对比,若所述目标电力数据对应的电力终端id和所述目标电力终端id相同,则将所述目标电力数据发送到所述目标电力终端。

在本发明实施例中,以区块链节点为执行主体进行说明,区块链节点在接收到电力终端发送的电力数据申请请求之后,会根据该申请请求中包含的电力终端id在区块链节点中查找对应的公钥,并通过该公钥对申请请求中加密的电力数据编号进行解码,并通过解密后的电力数据编号查找区块链节点中已存储的电力数据,最后,将存储在区块链节点中的电力数据发送到电力终端,该电力终端通过自身的私钥对电力数据进行解密,从而得到电力数据的明文信息。

本发明实施例提供的基于区块链的电力终端数据安全管理方法,使得电力数据在申请过程中不被人为修改,实现数据申请过程的一致性和防篡改性。

图6为本发明实施例提供的电子设备结构示意图,参照图6,该电子设备可以包括:处理器(processor)601、通信接口(communicationsinterface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行如下方法:对目标电力终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,所述电力信息包括电力终端的环境信息和交易信息;对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名;将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证;

或,获取目标电力终端的第二目标数据和目标数据签名;通过每个区块链节点对所述第二目标数据进行签名验证,若签名验证通过,则从多个验证通过的区块链节点中随机选取任一区块链节点作为主区块链节点;通过所述主区块链节点对所述第二目标数据进行聚合签名验证,若聚合签名验证通过,则通过智能合约,将所述第二目标数据和所述目标数据签名存储在区块链中;其中,所述第二目标数据和所述目标数据签名是通过对目标电力终端的第一目标数据进行加密得到的,所述第一目标数据是通过对目标电力终端的电力信息进行数据聚合处理得到的;

或,获取目标电力终端发送的电力数据申请请求,所述电力数据申请请求包括目标电力终端id和电力数据编号,所述电力数据编号通过所述目标电力终端对应的私钥进行加密;根据所述目标电力终端id获取对应的公钥,并通过公钥对所述电力数据编号进行解密,得到解密后的电力数据编号;根据解密后的电力数据编号,从区块链中获取到目标电力数据,并将所述目标电力数据对应的电力终端id和所述目标电力终端id进行对比,若所述目标电力数据对应的电力终端id和所述目标电力终端id相同,则将所述目标电力数据发送到所述目标电力终端。

此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于区块链的电力终端数据安全管理方法,例如包括:对目标电力终端的电力信息进行数据聚合处理,得到所述目标电力终端的第一目标数据,所述电力信息包括电力终端的环境信息和交易信息;对所述第一目标数据进行数据加密处理,得到第二目标数据和目标数据签名;将所述第二目标数据和所述目标数据签名发送到区块链节点,以供区块链节点进行签名验证;

或,获取目标电力终端的第二目标数据和目标数据签名;通过每个区块链节点对所述第二目标数据进行签名验证,若签名验证通过,则从多个验证通过的区块链节点中随机选取任一区块链节点作为主区块链节点;通过所述主区块链节点对所述第二目标数据进行聚合签名验证,若聚合签名验证通过,则通过智能合约,将所述第二目标数据和所述目标数据签名存储在区块链中;其中,所述第二目标数据和所述目标数据签名是通过对目标电力终端的第一目标数据进行加密得到的,所述第一目标数据是通过对目标电力终端的电力信息进行数据聚合处理得到的;

或,获取目标电力终端发送的电力数据申请请求,所述电力数据申请请求包括目标电力终端id和电力数据编号,所述电力数据编号通过所述目标电力终端对应的私钥进行加密;根据所述目标电力终端id获取对应的公钥,并通过公钥对所述电力数据编号进行解密,得到解密后的电力数据编号;根据解密后的电力数据编号,从区块链中获取到目标电力数据,并将所述目标电力数据对应的电力终端id和所述目标电力终端id进行对比,若所述目标电力数据对应的电力终端id和所述目标电力终端id相同,则将所述目标电力数据发送到所述目标电力终端。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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