APP下载

电网智能服务云端海量数据完整性轻量级检测方法

2023-08-27郭小鹤马晓琴

电子设计工程 2023年17期
关键词:完整性云端密钥

郭小鹤,杨 媛,马晓琴

(1.国网青海省电力公司经济技术研究院,青海西宁 810008;2.国网青海省电力公司海东供电公司,青海海东 810600;3.国网青海省电力公司信息通信公司,青海西宁 810008)

智能电网是一种基于企业的信息体系结构与基础结构体系。随着开放性的增加,“不公开就是安全”已经不再是一种安全战略。在智能电网下的电力信息系统中,信息的安全性成为当下人们最为关心的一个问题。海量信息的安全主要包括五个因素,分别是保密、完整、可用、可控、真实。除了电网内部数据外,还存在一些客户服务数据,在这些数据中,对海量的智能配电网络进行有效地存储与维护是其发展的核心问题。以往有的学者提出了基于多分支树结构的验证方案,结合双线性映射签名技术,分析电网智能服务云端结构特性,利用随机掩码技术,验证数据块的完整性[1]。还有的学者提出的基于带权单链表的完整性验证方案,将树叶作为一个节点,通过引入节点权值发现多次动态操作后,确定异常状态,并以此为依据进行完整性检测[2]。由于电网智能云端服务系统存在被攻击风险,使用上述这两种方法不能满足检查结果的可信性要求,为此,提出了电网智能服务云端海量数据完整性轻量级检测方法。

1 风险数据分析

对于基于轻量级检测模型的风险数据分析,需先构建轻量级检测模型,该模型由三个模块组成,分别是验证服务模块、云服务模块和第三方验证模块。其中,验证服务模块主要是对电网云端数据的验证,能够保证数据库中数据的完整性[3]。云服务模块以云存储为主,具有存储空间大的优势,能够存储海量云端数据,以备检测;第三方验证模块主要用于协助用户对数据使用的正确性进行验证[4]。假定验证服务模块是可靠和独立的,由此设计的轻量级检测模型如图1 所示。

图1 轻量级检测模型

基于轻量级的电网智能服务云端海量数据完整性验证方法支持动态更新,云用户可以随时添加、更新和删除云中的数据,即使发现被攻击风险,可信的第三方还可以在云端确认数据的完整性[5-6]。基于轻量级检测模型的风险数据分析包括以下方面:

1)云端用户更改数据的风险分析

当云端用户更改数据时,需及时更改索引号和对应的地址,并统计更新后的文档信息。如果用户需要确认数据是否被完全修改,则需向第三方发送验证请求[7-9]。

2)云端用户插入数据的风险分析

云端服务端更新资料库,并更新云端伺服器的标签资讯[10]。如果云端用户需要证实存储在云端的数据,经过第三方确认后,可直接对其验证[11]。

3)云端用户删除数据的风险分析

用户首先将已删除的档案索引编号及相应的位置发给云端服务器,当接收到一个删除请求时,云端将会移除该索引编号的相关资料。为了确认云端服务器的数据被删除,用户会将认证请求发送到第三方进行数据完整性的确认[12],而第三方则会将确认的结果发送到云端的使用者。

2 数据完整性检测流程设计

传统两种方法虽然支持动态数据,但受到用户修改存储在云端数据风险、用户插入数据风险及用户删除云存储中数据风险影响,容易出现密钥泄露问题[13]。为此,设计了基于轻量级的数据完整性检测流程,如图2 所示。

图2 基于轻量级的数据完整性检测流程

在轻量级检测阶段,其主要工作包括准备阶段、完整性验证阶段,详细内容如下所示。

2.1 准备阶段

在基于轻量级的数据完整性检测过程中,需要不断向云端发送消息,这就导致证明方拥有大量的分组数据,增大了明文分析攻击风险,进而密钥泄露风险也随之增大[14]。为此,在准备阶段,引入公钥密码机制进行公开验证。该阶段涉及了三种密钥:主密钥、辅助密钥和会话密钥[15];会话密钥是由密钥分配中心用于签署和确认信息的一种密钥,也就是一次签署的私有和公共密钥。密钥分配结果如图3所示。

图3 密钥分配结构

密钥分配结构每一个发送端都有一个主密钥,主密钥是在密钥分配中心与发送端进行认证的对称密钥(任意两个发送端的主密钥不同)。在控制区中共用了一个辅助密钥,辅助密钥是在控制领域中使用的对称密钥[16]。每个发送方都有自身的会话密钥(任何两个发送方的私人钥匙),每个发送方的主密钥与其各自会话密钥的私有密钥相同,并且任意两个发送方拥有不同的专用密钥。每个发送方拥有所有发送方的会话密钥的公共密钥,用于检查其他发送方的一次签名。

2.2 完整性检测阶段

完整性检测阶段流程如下所示:

步骤一:当云端用户要求上传文档时,云端会对文档进行处理,并将其划分为若干个子模块,调用私钥,生成带有基本块标签的文件子块。

步骤二:标记步骤一得到的文件子块,标签信息为:

式中,mi表示分块后的文件块;M表示密钥参数,其计算公式为:

式中,α、β表示两个参数长度相同,但不相等的素数。

将上述计算的结果存在云端服务器中。

步骤三:构造风险数据集合,用户可将本地数据完整性检测外包给第三方,以此降低存储负担。第三方代理验证数据可信后,将其发送给云计算供应商,信任的第三方需要先发送一个文件标记,然后使用用户的公共密钥对其进行认证。可信第三方随机选择有j个元素的集合[1,n]的子集ϕ={ι1≤…≤ιj},假定ι1≤…≤ιj。对于每个i∈ϕ,可信第三方选择一个随机数,构造风险数据集合,将其发送给云服务供应商。关于风险数据集合的意义:有j个元素的集合{i}即表示想要风险数据集合的j个文件块的位置索引,随机数集合{ri}供云服务供应商生成验证信息。

步骤四:在收到风险数据集合后,需计算发送信息和验证信息签名,公式为:

式中,ϑi表示第i个文件块对应的签名。

步骤五:数据完整性轻量级检测流程。

用户A 将文档信息上传到云端B,与此同时,触发第三方C 向云端B 发送数据完整性检查请求。云端B 生成完整性证据后,触发第三方C 开始进行完整性验证。待验证完成后,生成完整性检查报告,并反馈给云端B。从A 向云端B 发送待检测的文件中,选取某个文件块,计算检测信息:

式中,λr表示随机数;n表示分块参数。

将式(5)的计算结果发送给第三方,当第三方收到应答信息后,将其与所设置的阈值进行对比,若计算结果不一致,则说明电网智能服务云端海量数据不完整。

3 实验

3.1 实验准备

在计算机上编写测试内容,CPU 的主要结构是CPUi54670T,内存为10 GB,在Win7 操作系统下,使用C++语言进行了测试。测试不同组参数,每组参数测试10 000 次,由于实际工程中报文不会超过200 B,最大不会超过700 B。数据完整性检测界面如图4 所示。

图4 数据完整性检测界面

该检测项目包括六个项目,分别是①操作人员忘记录入报警发生的理由;②输入数字不正确;③测试数据覆盖;④维护人员修改报警响应时间;⑤操作人员改变了趋势图的量程;⑥操作人员故意输入一个好的结果值。

3.2 实验结果与分析

将数据结果分为正常和存在被攻击风险两种情况,在这两种情况下分别使用基于多分支树结构的验证方案、基于带权单链表的完整性验证方案和基于轻量级的数据完整性检测方案,对比数据分析准确性。

3.2.1 正常情况

正常情况下,三种方法数据分析准确性对比结果如图5 所示。

图5 正常情况下三种方法数据分析准确性对比

由图5 可知,三种方法对于这六个项目的检测结果均超过60.00%。其中基于带权单链表的完整性验证方案相对于其余两种方案来说,数据准确性较低。而使用基于轻量级的数据完整性检测方案数据准确性较高,最高值为99.80%。

3.2.2 存在被攻击风险情况

三种方法在存在被攻击风险情况下,数据分析准确性对比结果如图6 所示。

图6 存在被攻击风险情况下三种方法数据分析准确性对比

由图6 可知,使用基于多分支树结构的验证方案,最高数据准确性分析结果为55.00%,最低为39.50%;使用基于带权单链表的完整性验证方案,最高数据准确性分析结果为31.00%,最低为18.00%;使用基于轻量级的数据完整性检测方案,最高数据准确性分析结果为91.00%,最低为82.00%。

4 结束语

当前,智能电网采集大量的信息,以反映电力系统的运行和发展,并对其进行实时处理,具有十分重要的意义。电网智能化业务云海量数据完整性轻量化检测技术是一种在云环境下有效的检测机制,在继承原有算法的基础上,实现了对开放认证的功能。未来的研究方向是可控数据的完整性检验,也就是由用户来控制第三方的数据完整性检验。

猜你喜欢

完整性云端密钥
稠油热采水泥环完整性研究
密码系统中密钥的状态与保护*
云端之城
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
美人如画隔云端
行走在云端
云端创意
精子DNA完整性损伤的发生机制及诊断治疗