电网数据审计方法、装置、电网系统及存储介质与流程

文档序号:29410853发布日期:2022-03-26 11:45阅读:107来源:国知局
电网数据审计方法、装置、电网系统及存储介质与流程

1.本技术涉及数据资源安全管理技术领域,特别是涉及一种电网数据审计方法、装置、电网系统及存储介质。


背景技术:

2.在通信技术中,安全传输协议是一种规则性协议,它能够通过物理信道,实现通信系统中的两个或多个节点的信息传递。这种协议定义了数据传输的规则、同步通信的策略以及可能的错误恢复方法,主要目标就是为了在不能保证安全的信道中提供安全可信的通信。各种各样的子协议达成了用户节点认证、数据保密完整性等目标,从而确保了节点安全通信的实现。面对当今日新月异的网络技术,传统的安全传输协议已经不能达到原本的目标,尤其是各种智能工控系统的不断发展,对各方面的安全性都提出了更高的要求。即传统的安全传输协议已经不能为快速发展的电网系统,尤其是智能电网系统提供安全可信的通信,在电网内外部相关人员进行交互时,攻击者往往在未经授权的情况下,实现对电网敏感数据或服务的非法访问,或者通过一定手段,妨碍合法用户致使其无法正常获得数据或使用服务。
3.然而,目前的电网数据传输过程中,存在安全性较低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种电网数据审计方法、装置、电网系统及存储介质。
5.第一方面,本技术提供了一种电网数据审计方法,包括:
6.接收用户终端发送的审计请求和智能合约;审计请求包括用户终端的用户身份信息和时间戳;智能合约包括用户终端请求审计的目标用户的目标用户信息;
7.通过服务器将审计请求发送给目标用户;审计请求用于指示目标用户反馈第一密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端的公钥、将用户终端发送给目标用户的电网数据进行加密得到的;公钥为用户终端采用椭圆曲线加密模型生成的;
8.接收用户终端发送的零知识证明;零知识证明为用户终端从区块链节点获取到第二密文和第一密文的情况下,采用证明生成模型处理公钥、用户终端的私钥、第一密文和第二密文得到的;第二密文为用户终端基于椭圆曲线加密模型和公钥、对电网数据进行加密得到的;私钥为用户终端采用椭圆曲线加密模型生成的;
9.基于智能合约验证零知识证明的有效性,并输出验证结果;验证结果用于判断电网数据是否被篡改。
10.在其中一个实施例中,接收用户终端发送的审计请求和智能合约的步骤之前,还包括:
11.接收用户终端上传的第二密文并存储。
12.在其中一个实施例中,基于智能合约验证零知识证明的有效性,并输出验证结果的步骤,包括:
13.基于智能合约,采用零知识解密模块验证零知识证明,得到验证结果并输出。
14.第二方面,本技术还提供了一种电网数据审计方法,包括:
15.向区块链节点发送审计请求和智能合约;审计请求包括用户身份信息和时间戳;智能合约包括请求审计的目标用户的目标用户信息;审计请求用于指示区块链节点通过服务器将审计请求发送给目标用户;
16.从区块链节点获取第一密文和第二密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和公钥、将发送给目标用户的电网数据进行加密得到的;第二密文为基于椭圆曲线加密模型和公钥对电网数据进行加密得到的;公钥为采用椭圆曲线加密模型生成的;
17.采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明,并将零知识证明发送至区块链节点;私钥为采用椭圆曲线加密模型生成的;零知识证明用于指示区块链节点基于智能合约验证零知识证明的有效性;
18.接收区块链节点输出的验证结果,并根据验证结果判断电网数据是否被篡改。
19.在其中一个实施例中,发送审计请求和智能合约的步骤之前,还包括:
20.采用椭圆曲线加密模型生成公钥和私钥;
21.将电网数据和公钥发送给目标用户,并基于椭圆曲线加密模型和公钥将电网数据进行加密,得到第二密文;
22.将第二密文上传至区块链节点。
23.在其中一个实施例中,采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明的步骤,包括:
24.将证明生成模型的公共参数和私钥、公钥、第一密文以及第二密文输入证明生成模型,得到零知识证明。
25.第三方面,本技术还提供了一种电网数据审计装置,包括:
26.第一接收模块,用于接收用户终端发送的审计请求和智能合约;审计请求包括用户终端的用户身份信息和时间戳;智能合约包括用户终端请求审计的目标用户的目标用户信息;
27.第一输出模块,用于通过服务器将审计请求发送给目标用户;审计请求用于指示目标用户反馈第一密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端的公钥、将用户终端发送给目标用户的电网数据进行加密得到的;公钥为用户终端采用椭圆曲线加密模型生成的;
28.第二接收模块,用于接收用户终端发送的零知识证明;零知识证明为用户终端从区块链节点获取到第二密文和第一密文的情况下,采用证明生成模型处理公钥、用户终端的私钥、第一密文和第二密文得到的;第二密文为用户终端基于椭圆曲线加密模型和公钥、对电网数据进行加密得到的;私钥为用户终端采用椭圆曲线加密模型生成的;
29.第二输出模块,用于基于智能合约验证零知识证明的有效性,并输出验证结果;验证结果用于判断电网数据是否被篡改。
30.第四方面,本技术还提供了一种电网数据审计装置,包括:
31.数据发送模块,用于向区块链节点发送审计请求和智能合约;审计请求包括用户身份信息和时间戳;智能合约包括请求审计的目标用户的目标用户信息;审计请求用于指示区块链节点通过服务器将审计请求发送给目标用户;
32.数据获取模块,用于从区块链节点获取第一密文和第二密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和公钥、将发送给目标用户的电网数据进行加密得到的;第二密文为基于椭圆曲线加密模型和公钥对电网数据进行加密得到的;公钥为采用椭圆曲线加密模型生成的;
33.数据处理模块,用于采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明,并将零知识证明发送至区块链节点;私钥为采用椭圆曲线加密模型生成的;零知识证明用于指示区块链节点基于智能合约验证零知识证明的有效性;
34.数据接收模块,用于接收区块链节点输出的验证结果,并根据验证结果判断电网数据是否被篡改。
35.第五方面,本技术还提供了一种电网系统,包括:区块链节点和用户终端;
36.区块链节点用于执行上述的电网数据审计方法;
37.用户终端用于执行上述的电网数据审计方法。
38.第六方面,本技术还提供了一种计算机可读存储介质。计算机程序被处理器执行时实现上述的方法的步骤。
39.上述技术方案中的一个技术方案具有如下优点和有益效果:
40.本技术通过接收用户终端发送的包括用户终端的用户身份信息和时间戳的审计请求,以及包括用户终端请求审计的目标用户的目标用户信息的智能合约,通过服务器将用于指示目标用户反馈第一密文的审计请求发送给目标用户,使目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端的公钥,将用户终端发送给目标用户的电网数据进行加密,得到第一密文,并反馈回来;其中,公钥为用户采用椭圆曲线加密模型生成的;在接收到用户终端发送的零知识证明的情况下,基于智能合约验证零知识证明的有效性;其中,零知识证明为用户终端从区块链节点获取到第一密文和第二密文的情况下,采用证明生成模块处理用户终端的公钥、用户终端的私钥以及第一密文和第二密文得到的,第二密文是用户终端基于椭圆曲线加密模型和公钥,对电网数据进行加密得到的,私钥为用户终端采用椭圆曲线加密模型生成的;在得到验证结果时将验证结果输出,该验证结果用于判断电网数据是否被篡改。本技术可以实现电网数据的可靠性传输,通过对电网数据进行加密,并利用时间戳保障数据安全性和可信验证,实现数据传输过程的隐私性和可审计性,并由智能合约进行监督,通过简洁的零知识证明进行完整性验证,判断电网数据是否被篡改,实现了内部节点信息传递的安全性,进而维护了电网系统整体的安全性。
附图说明
41.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为一个实施例中电网数据审计方法的应用环境图;
43.图2为一个实施例中应用于区块链节点的电网数据审计方法的流程示意图;
44.图3为一个实施例中应用于用户终端的电网数据审计方法的流程示意图;
45.图4为一个实施例中发送审计请求和智能合约之前的步骤的流程示意图;
46.图5为一个实施例中应用于区块链节点的电网数据审计装置的结构框图;
47.图6为一个实施例中应用于用户终端的电网数据审计装置的结构框图;
48.图7为一个实施例中用户终端的内部结构图。
具体实施方式
49.为了便于理解本技术,下面将参照相关附图对本技术进行更全面的描述。附图中给出了本技术的实施例。但是,本技术可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本技术的公开内容更加透彻全面。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
51.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
52.需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
53.在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
54.本技术实施例提供的电网数据审计方法,可以应用于如图1所示的应用环境中。其中,用户终端通过网络与区块链节点进行通信,区块链节点与服务器进行通信,服务器液可以和用户终端进行通信。用户终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
55.在一个实施例中,如图2所示,提供了一种电网数据审计方法,可以包括:
56.步骤202,接收用户终端发送的审计请求和智能合约;审计请求包括用户终端的用户身份信息和时间戳;智能合约包括用户终端请求审计的目标用户的目标用户信息;
57.其中,该电网数据审计方法应用于区块链节点;目标用户可以为其他用户终端;各用户终端之间可以相互传输电数据,当某用户终端需要对自身输出的电网数据的正确性、完整性进行审计时,可以向区块链节点发送审计请求,从而终端用户可以对向发送过电网数据的目标用户进行正确性审计,检查输出的电网数据的正确性和完整性,判断输出的电网数据是否被篡改;请求审计即为用户终端请求对传输给的其他用户(目标用户)的电网数据进行完整性、正确性审计;用户终端的用户身份信息包括用户终端在区块链节点上的一次性账户地址,每个终端用户在区块链节点都有一次性的账户地址用于审计,用户记作ui,
i∈{1,2,...,n};时间戳用于标记审计请求当前时间;智能合约是一种翻译成程序代码并存储在区块链网络中的协议,当满足定义的条件时,它将自动执行,当被集成到区块链中时,智能合约继承了其可用性、透明性、不可变性和完整性的特性,智能合约高效、降低成本、节省时间并且可以绕过任何第三方;智能合约中包含了所有与审计有关的信息,也明确了合约参与者,即目标用户的身份信息。
58.具体地,当用户终端与其他用户终端进行了数据交互时,若用户终端需要对传输给其他用户终端中地目标用户的电网数据进行审计时,可以向区块链节点发送审计请求和智能合约;区块链节点则接收该审计请求和智能合约,为进行数据审计打下了基础。
59.在其中一个实施例中,接收用户终端发送的审计请求和智能合约的步骤之前,还可以包括:
60.接收用户终端上传的第二密文并存储。
61.其中,第二密文是用户终端基于椭圆曲线加密模型和公钥,对电网数据进行加密得到的。
62.具体地,用户终端可以采用椭圆曲线加密模型生成自己的公钥和私钥;在用户终端发出审计请求之前,用户终端会采用椭圆加密模型和公钥对电网数据进行加密,得到第二密文,并将第二密文上传至区块链节点;从而区块链节点接收用户终端上传的第二密文并存储。
63.步骤204,通过服务器将审计请求发送给目标用户;审计请求用于指示目标用户反馈第一密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端的公钥、将用户终端发送给目标用户的电网数据进行加密得到的;公钥为用户终端采用椭圆曲线加密模型生成的;
64.具体地,区块链节点在接收到用户终端发送到审计请求和智能合约时,可以通过服务器将审计请求发送至智能合约中约定的参与者(即目标用户);从而使得目标用户在接收到该审计请求时,基于椭圆曲线加密模型和用户终端的公钥,将用户终端发送给自身的电网数据进行加密,得到第一密文,并将第一密文反馈回区块链节点;区块链节点可以将目标用户反馈的第一密文进行存储。
65.步骤206,接收用户终端发送的零知识证明;零知识证明为用户终端从区块链节点获取到第二密文和第一密文的情况下,采用证明生成模型处理公钥、用户终端的私钥、第一密文和第二密文得到的;第二密文为用户终端基于椭圆曲线加密模型和公钥、对电网数据进行加密得到的;私钥为用户终端采用椭圆曲线加密模型生成的;
66.其中,零知识证明是指证明者(目标用户)可以在不向验证者(用户终端)提供任何有用信息的情况下说服验证者断言是正确的;零知识证明本质上是一个涉及两个或更多方的协议,即两个或更多方需要采取的一系列步骤来完成一项任务,证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
67.具体地,在区块链节点接收到用户终端发送审计请求,且存储了第一密文和第二密文的情况下,用户终端可以从区块链节点下载第一密文和第二密文,从而用户终端可以采用证明生成模型处理公钥、私钥、第一密文和第二密文,得到零知识证明πi,并将零知识证明πi发送给区块链节点;从而区块链节点可以接收用户终端发送的零知识证明πi进行正
确性审计。
68.步骤208,基于智能合约验证零知识证明的有效性,并输出验证结果;验证结果用于判断电网数据是否被篡改。
69.具体地,在区块链节点接收到用户终端发送的零知识证明πi的情况下,区块链节点基于智能合约验证零知识证明πi,共识节点通过智能合约中的代码验证零知识证明πi的有效性;如果验证结果为验证通过,则在审计记录中记录审计结果为“true”;如果验证结果为不通过,则在审计记录记录审计结果为“false”。否则,将返回带πi的“invalid”,并暂停;验证结果也反馈至用户终端,以使用户终端根据验证结果判断电网数据是否被篡改。
70.在一个示例中,基于智能合约验证零知识证明的有效性,并输出验证结果的步骤,可以包括:
71.基于智能合约,采用零知识解密模块验证零知识证明,得到验证结果并输出。
72.具体地,区块链节点基于智能合约,利用零知识验证模型验证零知识证明πi;零知识验证模型可以为基于zk-snark(zero-knowledge succinct non-interactive argument of knowledge,零知识简洁非互动论证的知识)验证算法的模型,零知识验证模型可以如下:
73.verify(π)

result
74.zk-snark是一种非交互式零知识证明方法,且zk-snark在证明过程中不泄露任何有用的信息,可以减少区块链网络的交互过程,节约证明成本;通过零知识验证模型可以验证零知识证明的有效性。
75.本技术在保护用户隐私的前提下进行正确有效的审计工作,具体来说:区块链用于存储加密的电网数据,由于区块链的不变性,当数据库中的数据被篡改时,加密的数据可以作为审计工作的重要依据。使用非交互式零知识证明进行审计工作,可以在不泄露用户隐私(如私钥和数据)的情况下生成可验证的审计证书。区块链中的节点根据智能合约对认证进行验证,并记录验证结果。由于用户很难做出可以验证的虚假审计证明,因此该方法可以有效保证审计结果的正确性。
76.以上,本技术通过区块链节点接收用户终端发送的审计请求和智能合约,并通过服务器将审计请求发送给目标用户,以使目标用户反馈第一密文;区块链节点在接收到用户终端发送的零知识证明的情况下,基于智能合约验证零知识证明是否有效,并将验证结果反馈至用户终端,从而使用户终端根据验证结果判断发送至目标用户的电网数据是否被篡改。本技术具备算法可靠性、利用时间戳技术保障协议安全性、实现数据传输过程的隐私性和可审计性,并由智能合约进行监督,并通过简洁的零知识证明进行完整性验证,及时发现被篡改的数据,并追溯到篡改数据的用户,及时对篡改的电网数据和恶意用户进行处理,保证电网系统内部数据的安全性。
77.在一个实施例中,如图3所示,提供了一种电网数据审计方法,可以包括:
78.步骤302,向区块链节点发送审计请求和智能合约;审计请求包括用户身份信息和时间戳;智能合约包括请求审计的目标用户的目标用户信息;审计请求用于指示区块链节点通过服务器将审计请求发送给目标用户;
79.其中,该电网数据审计方法应用于用户终端;目标用户为接收到用户终端输出的电网数据的用户;用户身份信息包括用户终端在区块链节点的一次性账户地址,一次性账
户地址为用户终端进行审计时在区块链节点的数据存储地址,用户记作ui,i∈{1,2,...,n};时间戳用于标记审计请求当前时间;智能合约是一种翻译成程序代码并存储在区块链网络中的协议,当满足定义的条件时,它将自动执行,智能合约中包含了所有与审计有关的信息,也明确了合约参与者,即目标用户的身份信息。
80.具体地,在用户终端与其他用户进行了数据交互的情况下,若用户终端需要对输出给某用户的电网数据进行审计,验证电网数据是否完整、是否被篡改,则用户终端首先启动审计需求user
id,timestamp
,向区块链节点发送审计请求,审计请求中包括终端用户的身份信息和时间戳两项认证信息,终端用户的身份信息包括终端用户在区块链节点上的一次性账户地址;同时,用户终端编码一个包括所有与审计有关信息的智能合约,智能合约中包括了所有与审计有关的信息和请求对接收过用户终端发送的电网数据的目标用户的目标用户信息,对其进行编译并将智能合约和审计请求发送至区块链节点。
81.在其中一个实施例中,如图4所示,发送审计请求和智能合约的步骤之前,还可以包括:
82.步骤402,采用椭圆曲线加密模型生成公钥和私钥;
83.步骤404,将电网数据和公钥发送给目标用户,并基于椭圆曲线加密模型和公钥将电网数据进行加密,得到第二密文;
84.步骤406,将第二密文上传至区块链节点。
85.具体地,用户终端可以采用椭圆曲线加密模型生成公钥和私钥,椭圆曲线加密模型是基于ecc(elliptic curve cryptography,椭圆曲线密码)算法的模型,ecc算法基于e1gamal密码系统,具体为:
86.假设e是有限域fq上的椭圆曲线,其中q对于安全性来说足够大;e包含一个循环子群h=《b》,其对于离散对数问题是不可行的;更准确地说,基于edwards曲线,将b定义为集合e的一个元素且b≠(0,1),其中:
87.e={(x,y)∈fq×fq
:-x2+y2=1+dx2y2}
88.其中,d是中的非零平方元素。
89.通过以下模型得到用户终端的公钥和私钥,以下的加法、减法和乘法是在e中进行的。
90.(1)keygen(1
λ
)

a,a:私钥是一个正整数a,决定了a=ab的乘积,公钥是a。
91.(2)enc(m,a)

(r,s):令m为明文,而r是一次随机选择的数字。使用公钥a,可以计算得到:
92.r=rb
93.s=m+ra
94.由此可以生成密文(r,s),请注意不能仅仅将明文编码为e中某个点的坐标之一,因为并非所有这些坐标都在e中。
95.(3)dec((r,s),sk)

m:根据加密公式,可以推导出解密公式:
96.m=s-ra=s-rab=s-ar
97.因此,在知道私钥a的情况下,明文恢复为:
98.m=s-ar
99.从而,用户终端可以采用椭圆曲线加密模型生成公钥pki和私钥ski,即:
100.keygen(1
λ
)

ski,pki101.在用户终端与其他用户进行数据交互的过程中,终端用户向目标用户输出电网数据的同时,可以将公钥发送给目标用户;并且,用户终端还基于椭圆曲线加密模型和公钥将发送给目标用户的电网数据进行加密,得到第二密文,并将第二密文上传至区块链节点;区块链节点接收用户终端上传的第二密文并存储;其中,用户终端输出的电网数据可记为di,i∈{1,2,...,n},第二密文可以通过以下椭圆曲线加密模型得到:enc(di,pki)

c,pki为公钥,c为第二密文。
102.本技术采用ecc加密算法对用户数据进行加密并上传到区块链,由于密文只能用私钥解密,因此其他节点无法从区块链中获取数据。并且在审计过程中,用户生成一个一次性地址用于审计。因此,其他人无法通过审计合约的内容将密文与用户联系起来。通过这样的方式有效保护用户隐私,防止用户暴露自己的行为。
103.步骤304,从区块链节点获取第一密文和第二密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和公钥、将发送给目标用户的电网数据进行加密得到的;第二密文为基于椭圆曲线加密模型和公钥对电网数据进行加密得到的;公钥为采用椭圆曲线加密模型生成的;
104.具体地,区块链节点在接收到用户终端发送的审计请求和智能合约的情况下,会通过服务器将审计请求转发给智能合约中约定的目标用户,从而使得目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端发送过来的公钥,将终端用户发送给目标用户的电网数据进行加密,得到第一密文:enc(d
′i,pki)
→c′
;其中,d
′i为目标用户进行加密的电网数据(篡改过或未篡改),c

为第一密文;目标用户将第一密文反馈给区块链节点;从而用户终端在向区块链节点发送审计请求和智能合约后,可以从区块链节点下载第一密文和第二密文。
105.步骤306,采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明,并将零知识证明发送至区块链节点;私钥为采用椭圆曲线加密模型生成的;零知识证明用于指示区块链节点基于智能合约验证零知识证明的有效性;
106.具体地,用户终端在获得第一密文和第二密文的情况下,采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明,并将零知识证明发送至区块链节点;从而使得区块链节点在接收到零知识证明的情况下,基于用户终端发送给区块链的智能合约验证零知识证明是否有效。
107.在一个示例中,采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明的步骤,可以包括:
108.将证明生成模型的公共参数和私钥、公钥、第一密文以及第二密文输入证明生成模型,得到零知识证明。
109.具体地,用户终端在获取到第一密文和第二密文的情况下,可以采用基于zk-snark证明算法的模型处理zk-snark的公共参数、用户终端的私钥ski、用户终端的公钥pki、第一密文c

以及第二密文c,得到零知识证明πi:
110.proofgen(ski,pki,c,c

)

πi111.用户终端将零知识证明πi发送至区块链节点,使得区块链节点基于智能合约验证零知识证明πi的有效性,并将验证结果反馈至用户终端,即使用用户终端的私钥进行解密
验证dec(c,ski)=dec(c

,ski)是否成立,判断电网数据是否被篡改。
112.步骤308,接收区块链节点输出的验证结果,并根据验证结果判断电网数据是否被篡改。
113.具体地,用户终端在接收到区块链节点输出的验证结果的情况下,根据验证结果判断发送给目标用户的电网数据是否被篡改;当验证结果为验证通过时,判断电网数据完整、正确,未被篡改;当验证结果为验证未通过时,则判断电网数据不完整或错误,即电网数据被目标用户篡改;通过接收到的验证结果判断电网数据是否被篡改,从而在电网数据被篡改的情况下,采取相应的处理方案,并对篡改数据的目标用户采取响应的惩罚机制,从而保证电网系统数据的安全性。
114.以上,本技术基于去中心化数据加密与认证的安全可信传输方案,系统采用分布式体系结构,将工作或服务分配到对等用户节点,在电网系统中,对等的用户节点享有同样功能或服务。本技术利用区块链技术的可追溯、可验证、不可篡改特性,保障了数据的安全、可信以及可审计;本技术利用ecc算法满足可加同态性,解决数据的私密性和可审计性问题,用户可以通过区块链上部署的智能合约请求存储在服务器中的其他用户的数据,并通过简洁的零知识证明进行完整性验证;智能合约高效、降低成本、节省时间并且绕过任何第三方;zk-snark在证明过程中不泄露任何有用的信息,可以减少区块链网络的交互过程,节约证明成本,进而本技术有效提高了电网系统的电网数据传输的安全性。
115.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
116.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的电网数据审计方法的电网数据审计装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个电网数据审计装置实施例中的具体限定可以参见上文中对于电网数据审计方法的限定,在此不再赘述。
117.在一个实施例中,如图5所示,提供了一种电网数据审计装置,应用于区块链节点,可以包括:
118.第一接收模块110,用于接收用户终端发送的审计请求和智能合约;审计请求包括用户终端的用户身份信息和时间戳;智能合约包括用户终端请求审计的目标用户的目标用户信息;
119.第一输出模块120,用于通过服务器将审计请求发送给目标用户;审计请求用于指示目标用户反馈第一密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和用户终端的公钥、将用户终端发送给目标用户的电网数据进行加密得到的;公钥为用户终端采用椭圆曲线加密模型生成的;
120.第二接收模块130,用于接收用户终端发送的零知识证明;零知识证明为用户终端从区块链节点获取到第二密文和第一密文的情况下,采用证明生成模型处理公钥、用户终
端的私钥、第一密文和第二密文得到的;第二密文为用户终端基于椭圆曲线加密模型和公钥、对电网数据进行加密得到的;私钥为用户终端采用椭圆曲线加密模型生成的;
121.第二输出模块140,用于基于智能合约验证零知识证明的有效性,并输出验证结果;验证结果用于判断电网数据是否被篡改。
122.在其中一个实施例中,电网数据审计装置还可以包括:
123.第三接收模块,用于接收用户终端上传的第二密文并存储。
124.在其中一个实施例中,第二输出模块140还用于基于智能合约,采用零知识解密模块验证零知识证明,得到验证结果并输出。
125.在一个实施例中,如图6所示,提供了一种电网数据审计装置,应用于用户终端,可以包括:
126.数据发送模块210,用于向区块链节点发送审计请求和智能合约;审计请求包括用户身份信息和时间戳;智能合约包括请求审计的目标用户的目标用户信息;审计请求用于指示区块链节点通过服务器将审计请求发送给目标用户;
127.数据获取模块220,用于从区块链节点获取第一密文和第二密文;第一密文为目标用户在接收到审计请求的情况下,基于椭圆曲线加密模型和公钥、将发送给目标用户的电网数据进行加密得到的;第二密文为基于椭圆曲线加密模型和公钥对电网数据进行加密得到的;公钥为采用椭圆曲线加密模型生成的;
128.数据处理模块230,用于采用证明生成模型处理私钥、公钥、第一密文和第二密文,得到零知识证明,并将零知识证明发送至区块链节点;私钥为采用椭圆曲线加密模型生成的;零知识证明用于指示区块链节点基于智能合约验证零知识证明的有效性;
129.数据接收模块240,用于接收区块链节点输出的验证结果,并根据验证结果判断电网数据是否被篡改。
130.在其中一个实施例中,电网数据审计装置还可以包括:
131.密钥生成模块,用于采用椭圆曲线加密模型生成公钥和私钥;
132.密文生成模块,用于将电网数据和公钥发送给目标用户,并基于椭圆曲线加密模型和公钥将电网数据进行加密,得到第二密文;
133.数据上传模块,用于将第二密文上传至区块链节点。
134.在其中一个实施例中,数据处理模块230还用于将证明生成模型的公共参数和私钥、公钥、第一密文以及第二密文输入证明生成模型,得到零知识证明。
135.上述电网数据审计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
136.在一个实施例中,提供了一种电网系统,可以包括:区块链节点和用户终端;
137.区块链节点用于执行上述的电网数据审计方法;
138.用户终端用于执行上述的电网数据审计方法。
139.具体地,区块链节点和用户终端之间通信连接;电网系统还可以包括服务器,服务器分别与区块链节点、用户终端通信连接;用户终端的数量为若干个,当某个用户终端向区块链节点发送审计请求和智能合约时,在其他用户终端中智能合约约定审计的用户则被视为目标用户,则用户终端在与其他用户进行数据交互后,可以对输出的电网数据进行正确
性、完整性审计,验证输出的电网数据是否被其他用户篡改,具体的验证过程已在上文进行了详细的描述,不再赘述。
140.用户终端的内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种电网数据审计方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
141.以上,本技术的电网系统采用基于去中心化数据加密与认证的安全可信传输方案,利用ecc算法满足可加同态性,解决电网数据的私密性和可审计性问题,用户可以通过区块链上部署的智能合约请求存储在服务器中的其他用户的数据,并通过简洁的零知识证明进行完整性验证,本技术的电网系统可对电网数据进行验证,可追溯数据源头,保障了电网数据的隐私性、完整性,有效提高了电网数据传输的安全性。
142.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
143.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
144.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
145.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
146.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,
不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
147.在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
148.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
149.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1