本发明涉及区块链,特别是涉及一种基于区块链的智能电表数据可信采集方法。
背景技术:
1、区块链技术作为一种新型技术,广泛应用于物联网、金融等领域,其提供的加密信息传输技术极大降低了数据传输过程中被篡改的风险,现有技术已提供了多种基于区块链的信息传输技术。用电作为公众日常行为,其电学数据极为庞大和复杂,涉及的资金更加巨大,因此避免恶意偷电至关重要。
2、然而,现有技术关于电表数据的可信采集的研究仍然较少。
技术实现思路
1、为了克服现有技术的不足,本发明的目的是提供一种基于区块链的智能电表数据可信采集方法,通过同步上传电能数据包和验证数据包,利用智能合约通过解密得到哈希值,以对数据的可靠性进行自动分析,提高数据的可信度,同时在数据异常时快速发出警示。
2、为实现上述目的,本发明提供了如下方案:
3、一种基于区块链的智能电表数据可信采集方法,应用于区块链网络,包括:
4、随机生成第一秘钥、第一公钥、第二秘钥和第二公钥;
5、采集预定数量的电能信息;
6、利用第五代消息摘要算法计算每个所述电能信息的电能信息哈希值;
7、利用所述第一秘钥对每个所述电能信息和所述电能信息对应的基本信息和所述电能信息哈希值进行加密,得到预定数量的电能加密数据包;所述基本信息包括:采集时间和电表id;
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、优选地,所述区块链网络的运行平台为hyperledgerfabric平台。
35、优选地,所述预设存储器为定期备份的冗余磁盘阵列。
36、根据本发明提供的具体实施例,本发明公开了以下技术效果:
37、本发明提供了一种基于区块链的智能电表数据可信采集方法,通过同步上传电能数据包和验证数据包,利用智能合约解密得到的哈希值对数据的可靠性进行自动分析,解决了数据中途被篡改问题,提高了数据的可信度,同时实现了在数据异常时的快速警示。
1.一种基于区块链的智能电表数据可信采集方法,其特征在于,应用于区块链网络,包括:
2.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,随机生成第一秘钥、第一公钥、第二秘钥和第二公钥,包括:
3.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,采集预定数量的电能信息包括;
4.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,利用第五代消息摘要算法计算每个所述电能信息的电能信息哈希值,包括:
5.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,通过预设合约程序利用所述第一公钥对全部所述电能加密数据包进行解密,得到全部所述电能信息以及与所述电能信息对应的所述基本信息和所述电能信息哈希值,包括:
6.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,基于预设合约程序和所述基本信息对所述电能加密数据包和所述验证加密数据包解密得到的所述电能信息哈希值进行比对,得到比对结果,包括:
7.根据权利要求1所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,所述区块链网络的运行平台为hyperledgerfabric平台。
8.根据权利要求5所述的一种基于区块链的智能电表数据可信采集方法,其特征在于,所述预设存储器为定期备份的冗余磁盘阵列。