一种数据完整性验证方法、装置、电子设备及存储介质与流程
- 国知局
- 2024-08-02 14:23:57
本发明涉及数据验证,尤其涉及一种数据完整性验证方法、装置、电子设备及存储介质。
背景技术:
1、随着云计算的快速发展,云存储外包成为一种新的广泛应用的数据存储模式。由于服务器提供商可能存在不诚实的行为,因此数据拥有者需要通过外包数据的完整性验证来保证数据的完整性。但是最初的完整性验证方法只支持静态数据的完整性验证,即将数据外包存储后无法再进行数据的修改或者删除。除此之外,现有的大多数完整性验证方法无法适用于更新速度快,采集频率高的电力数据。因此,如何提出一种能够面向电力系统的安全高效的支持动态更新的完整性验证方法成为目前亟待解决的问题。
2、目前,在数据库完整性验证领域,解决方案主要分为两种数据完整性验证模式,即数据可恢复性证明和数据持有性证明。数据可恢复性证明不仅能够确定数据是否被篡改,还能对被篡改的数据进行恢复。然而,数据拥有者需要将数据从云端下载到本地进行对比验证,这会增加存储和计算开销。相比之下,数据持有性证明只需要验证云端返回的正确是否正确,更适用于电力系统中云端大数据的完整性验证。然而,现有的数据持有性证明方案验证和更新效率较低,且依赖可信第三方的验证,不适用于电力系统中云端数据的动态完整性验证。
技术实现思路
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、加密模块,用于采用所述加密密钥对所述用电数据进行对称加密,并生成所述用电数据的时间戳,得到加密电表数据;
43、分层默克尔树构建模块,用于采用所述加密电表数据构建分层默克尔树;
44、节点信息及认证信息生成模块,用于根据所述分层默克尔树生成所述加密电表数据各节点的节点信息及认证信息;
45、存储模块,用于将所述节点信息存储至所述云服务器提供商,以及将所述认证信息存储至所述区块链。
46、本发明还提供了一种电子设备,所述设备包括处理器以及存储器:
47、所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
48、所述处理器用于根据所述程序代码中的指令执行如上任一项所述的数据完整性验证方法。
49、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的数据完整性验证方法。
50、从以上技术方案可以看出,本发明具有以下优点:本发明提供了一种数据完整性验证方法,并具体公开了:接收区块链发送的挑战请求;挑战请求为区块链响应供电公司发送的完整性验证请求后生成;从挑战请求中获取智能电表标识符;采用智能电表标识符检索得到待验证小区数据;根据待验证小区数据生成证据,并将证据发送至区块链;接收区块链对证据的验证结果,并根据验证结果判断挑战请求对应的数据的完整性。本发明引入区块链,实现了去中心化的完整性验证,保证完整性证明的不可篡改性,提高了数据完整性校验的安全性。
技术特征:1.一种数据完整性验证方法,其特征在于,应用于云服务器提供商,所述供电公司与供电公司和区块链通信;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述接收所述区块链发送的挑战请求的步骤之前,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求1所述的方法,其特征在于,所述采用所述智能电表标识符检索得到待验证小区数据的步骤,包括:
5.根据权利要求1所述的方法,其特征在于,所述区块链对所述证据的验证过程包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
7.一种数据完整性验证装置,其特征在于,应用于云服务器提供商,所述供电公司与供电公司和区块链通信;所述装置包括:
8.根据权利要求7所述的装置,其特征在于,还包括:
9.一种电子设备,其特征在于,所述设备包括处理器以及存储器:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-6任一项所述的数据完整性验证方法。
技术总结本发明公开了一种数据完整性验证方法、装置、电子设备及存储介质,用于解决现有的数据完整性验证效果较差的技术问题。本发明包括:接收所述区块链发送的挑战请求;所述挑战请求为所述区块链响应所述供电公司发送的完整性验证请求后生成;从所述挑战请求中获取智能电表标识符;采用所述智能电表标识符检索得到待验证小区数据;根据所述待验证小区数据生成证据,并将所述证据发送至所述区块链;接收所述区块链对所述证据的验证结果,并根据所述验证结果判断所述挑战请求对应的数据的完整性。技术研发人员:何山,王浩林,赵宇明,蔡梓文,唐文俊,赵云,林晓明受保护的技术使用者:深圳供电局有限公司技术研发日:技术公布日:2024/7/25本文地址:https://www.jishuxx.com/zhuanli/20240801/242700.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。