发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种电网数据传输方法,其通过对称密钥对数据进行加密,进而保障数据传输过程中数据的隐私性。
本发明的目的之一采用以下技术方案实现:
一种电网数据传输方法,包括以下步骤:
高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证;
高弹性电网数据管理方从所述区块链上获取所述加密后的电网数据,并通过所述对称密钥进行解密,得到原始电网数据;
所述高弹性电网数据管理方对所述原始电网数据进行脱敏处理,将脱敏后的电网数据发送至所述区块链智能合约存证;
高弹性电网数据使用方从所述区块链上获取脱敏后的电网数据。
进一步地,所述对称密钥为所述高弹性电网数据产生方和所述高弹性电网数据管理方通过迪菲-赫尔曼D-H密钥交换协议生成的对称密钥。
进一步地,所述高弹性电网数据产生方包括发电方、电网调配方、用电方。
进一步地,所述电网数据包括电力系统运行时由所述高弹性电网数据产生方产生的数据。
进一步地,高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证前,还包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据管理方分别通过预设密钥生成算法,生成公私钥对,并将公钥发送至所述区块链;
所述高弹性电网数据产生方及所述高弹性电网数据管理方从所述区块链上获取对方的公钥。
进一步地,所述高弹性电网数据产生方和所述高弹性电网数据管理方的公钥通过智能合约账本或以交易形式保存在所述区块链中。
进一步地,所述对称密钥的生成流程包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据使用方生成随机质数p、g,计算A=ga mod p,其中,a为所述高弹性电网数据产生方的私钥,所述高弹性电网数据产生方将p、g、A的值发送至所述区块链;
所述高弹性电网数据管理方从所述区块链上获取p、g、A的值,计算B=gb mod p,其中b为所述高弹性电网数据管理方的私钥,将B的值发送至所述区块链,计算高弹性电网数据管理方的对称密钥key1,满足key1=Ab mod p;
所述高弹性电网数据产生方从所述区块链上获取B的值,计算高弹性电网数据产生方的对称密钥key2,满足key2=Ba mod p。
本发明的目的之二在于提供一种电网数据传输装置,其通过高弹性电网数据产生方加密数据,高弹性电网数据管理方解密数据的方式,保障电网数据的安全性和隐私性。。
本发明的目的之二采用以下技术方案实现:
一种电网数据传输装置,其包括:
加密模块,用于高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证;
解密模块,用于高弹性电网数据管理方从所述区块链上获取所述加密后的电网数据,并通过所述对称密钥进行解密,得到原始电网数据;所述高弹性电网数据管理方对所述原始电网数据进行脱敏处理,将脱敏后的电网数据发送至所述区块链智能合约存证;
获取模块,用于高弹性电网数据使用方从所述区块链上获取脱敏后的电网数据。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的电网数据传输方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的电网数据传输方法。
相比现有技术,本发明的有益效果在于:
本发明通过在高弹性电网数据产生方和高弹性电网数据管理方之间设置对称密钥,通过对称密钥加解密数据,保证原始电网数据只能被高弹性电网数据产生方和高弹性电网数据管理方获得,避免了电网数据传输过程中产生信息泄露以及高弹性电网数据使用方滥用敏感数据的问题;通过智能合约存证保证了电网数据全流程可追溯,解决了审计难的问题,便于对电网数据进行分析,区块链智能合约也保证了数据存储的可信度。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例一
实施例一提供了一种高弹性电网数据传输方法,旨在通过对称密钥,实现电网隐私数据传输过程中的加密和解密。
区块链技术具有去中心化、开放性、自治性、信息不可篡改、匿名性等特征,可以很好地解决电网数据中数据被滥用及隐私泄露的问题。
请参照图1所示,本实施例所描述的电网数据传输方法,其结构主要包括用于存储数据的区块链网络、用于加密数据的高弹性电网数据产生方、用于对数据进行脱敏处理的高弹性电网数据管理方以及需要获取脱敏数据的高弹性电网数据使用方。
根据以上原理,请参照图2所示,一种高弹性电网数据传输方法,包括以下步骤:
S1、高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证;
上述的高弹性电网数据产生方包括电网产业上下游中涉及的发电方、电网调配方、用电方。电网数据包括电力系统在发电、输电、变电、配电、用电和调度等各个环节中由高弹性电网数据产生方产生的数据。
当然,在电网数据传输前,还需要生成用于验证身份的公私钥对,包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据管理方分别通过预设密钥生成算法,生成公私钥对,并将公钥发送至所述区块链;
所述高弹性电网数据产生方及所述高弹性电网数据管理方从所述区块链上获取对方的公钥。
上述预设密钥生成算法本实施例不作具体限定,例如椭圆曲线加密算法(Elliptic Curve Cryptography,ECC)、ECDSA算法和SM2算法都可用于生成上述的公私钥对。
上述将公钥发送至区块链的发送形式既可以是直接发送至区块链智能合约账本中,也可以是高弹性电网数据产生方和高弹性电网数据管理方分别通过区块链客户端构造一笔交易,交易内容包括公钥、己方名称等身份信息,并将交易广播至区块链行存储。相应的,获取公钥的方法为读取智能合约账本,或者扫描对应区块中的交易并解析交易,并将身份信息和公钥一一对应存储。
高弹性电网数据产生方和高弹性电网数据管理方发送数据时,都会对数据进行私钥签名,以便于数据接收方利用公钥对签名进行验证,保证发送方的身份真实性,并保障数据不被篡改。
S2、高弹性电网数据管理方从所述区块链上获取所述加密后的电网数据,并通过所述对称密钥进行解密,得到原始电网数据;
S1和S2中的对称密钥,本实施例中通过迪菲-赫尔曼D-H密钥交换协议生成,该密钥交换协议通用性较高,高弹性电网数据产生方和管理方的公私钥对不仅可以用于验证身份,还可以用于实现对称密钥的生成,无需为了对称密钥额外生成公私钥对,具体地,所述对称密钥的生成流程包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据使用方生成随机质数p、g,计算A=ga mod p,其中,a为所述高弹性电网数据产生方的私钥,所述高弹性电网数据产生方将p、g、A的值发送至所述区块链;
所述高弹性电网数据管理方从所述区块链上获取p、g、A的值,计算B=gb mod p,其中b为所述高弹性电网数据管理方的私钥,将B的值发送至所述区块链,计算高弹性电网数据管理方的对称密钥key1,满足key1=Ab mod p;
所述高弹性电网数据产生方从所述区块链上获取B的值,计算高弹性电网数据产生方的对称密钥key2,满足key2=Ba mod p。
根据迪菲-赫尔曼协议原理可知key1=key2,因此高弹性电网数据管理方和高弹性电网数据产生方可以获得相同的对称秘钥,在后续步骤中,高弹性电网数据产生方通过对称密钥key2加密的电网原始数据可以被高弹性电网数据管理方使用对称密钥key1解密,保证加密的原始电网数据不会遭到泄露。
S3、所述高弹性电网数据管理方对所述原始电网数据进行脱敏处理,将脱敏后的电网数据发送至所述区块链智能合约存证;
上述的高弹性电网数据管理方会实时监听高弹性电网数据产生方发送的电网数据,以便于及时对数据进行解密、脱敏处理。
具体的,高弹性电网数据管理方监听到电网数据上链后先验证交易签名,验证通过后对电网数据做脱敏处理,并使用己方私钥对脱敏后的数据签名后上链。
S4、高弹性电网数据使用方从所述区块链上获取脱敏后的电网数据。
上述高弹性电网数据使用方从区块链上获取脱敏的电网数据后先验证高弹性电网数据管理方签名,确保该数据是由高弹性电网数据管理方授权的官方数据。验证成功后,再利用该脱敏数据做相应的数据分析。
本实施例,通过在高弹性电网数据产生方和高弹性电网数据管理方之间设置D-H密钥交换机制,实现对称密钥的协商,使用对称密钥加解密数据,保证电网数据的解密内容只能被高弹性电网数据产生方和高弹性电网数据管理方获得,避免电网数据发送过程中的产生信息泄露;通过将高弹性电网数据产生方、高弹性电网数据管理方以及高弹性电网数据使用方的身份管理、数据传输和获取、数据使用等过程设置于区块链上进行实行,实现可信的身份认证和管理;通过区块链的智能合约对电网数据流转过程进行存证,使得电网数据全流程可追溯,解决电网数据审计难的问题。
实施例二
实施例二公开了一种对应上述实施例的高弹性电网数据传输方法对应的装置,为上述实施例的虚拟装置结构,请参照图3所示,包括:
加密模块210,用于高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证;
解密模块220,用于高弹性电网数据管理方从所述区块链上获取所述加密后的电网数据,并通过所述对称密钥进行解密,得到原始电网数据;所述高弹性电网数据管理方对所述原始电网数据进行脱敏处理,将脱敏后的电网数据发送至所述区块链智能合约存证;
获取模块230,用于高弹性电网数据使用方从所述区块链上获取脱敏后的电网数据。
优选地,所述对称密钥为所述高弹性电网数据产生方和所述高弹性电网数据管理方通过迪菲-赫尔曼D-H密钥交换协议生成的对称密钥。
优选地,高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证前,还包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据管理方分别通过预设密钥生成算法,生成公私钥对,并将公钥发送至所述区块链;
所述高弹性电网数据产生方及所述高弹性电网数据管理方从所述区块链上获取对方的公钥。
优选地,高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证前,还包括以下步骤:
所述高弹性电网数据产生方及所述高弹性电网数据管理方分别通过预设密钥生成算法,生成公私钥对,并将公钥发送至所述区块链;
所述高弹性电网数据产生方及所述高弹性电网数据管理方从所述区块链上获取对方的公钥。
实施例三
图4为本发明实施例三提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图4中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的电网数据传输方法对应的程序指令/模块(例如,电网数据传输装置中的加密模块210、解密模块220和获取模块230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例的电网数据传输方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的用户身份信息、公钥信息等。输出装置340可包括显示屏等显示设备。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,该存储介质可用于计算机执行电网数据传输方法,该方法包括:
高弹性电网数据产生方将经过对称密钥加密后的电网数据发送至区块链智能合约存证;
高弹性电网数据管理方从所述区块链上获取所述加密后的电网数据,并通过所述对称密钥进行解密,得到原始电网数据;
所述高弹性电网数据管理方对所述原始电网数据进行脱敏处理,将脱敏后的电网数据发送至所述区块链智能合约存证;
高弹性电网数据使用方从所述区块链上获取脱敏后的电网数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于电网数据传输方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于高弹性电网数据传输方法装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。