面向电力物联网异构信息安全的多任务调度算法
2022-08-09蔡绍堂李大帅
杨 挺,蔡绍堂,闫 鹏,李大帅
(天津大学电气自动化与信息工程学院,天津市 300072)
0 引言
随着新型电力系统的建设,以清洁能源、电动汽车为代表的新型源-荷设备接入电网,多类型电力业务展开部署,导致新型电力系统面临终端接入安全、数据安全、通信安全等诸多网络威胁[1-3]。因此,亟须研究电力物联网信息安全多业务特性,构建针对安全服务任务的高计算力运行体系。云计算数据中心为其提供了强大的计算力,可实现基于云计算的密码管控和安全服务硬件系统[4]。
新型电力系统的不同业务对信息安全有着不同的等级要求。高密级或核心计算任务必须在专用物理密码机(physical cryptographic machine,PCM)中执行[5],其具有完善的密钥保护机制,安全性可得到保障,但灵活性、运算效率和扩展性低[6]。虚拟密码机(virtual cryptographic machine,VCM)则可以提供更高的计算力,资源易扩展,但其不能满足所有服务的安全等级要求[7]。为解决不同安全服务任务计算资源的不足,须在电力物联网中形成特有的、与云计算平台有本质区别的VCM 和PCM 共存的新型混合底层硬件基础设施。因此,亟须研究针对这种新型底层硬件平台的任务调度算法,以最大化发挥PCM 的安全性和VCM 的计算效率优势。
分析近年来信息安全及密码服务方向的研究发现,学者多从密码计算模式方面开展研究。文献[8]讨论了专用PCM 中的安全质量优化问题,提出基于密码任务组的密码服务模型;文献[9]提出轻量级属性加密的“云-边”协同计算模式,减少了授权用户的双线性配对,降低了系统计算开销;文献[10]针对电力高级量测提出以虚拟密码服务云为中心的协作安全服务架构,以降低计量终端安全访问的时延;文献[11]提出基于有向无环图(DAG)和遗传算法优化的分布式表驱动任务调度方法,以优化更新密码任务调度表;文献[12]提出了一种有效利用安全任务间空闲时隙对中间数据加密的方法。此外,多家企业提出安全即服务(security as a service,SECaaS)、密码即服务(cryptography as a service,CaaS)的云安全服务业务[13-14]。但上述安全服务任务调度和密码计算模式的研究都以单一云数据中心虚拟机为硬件基础,缺乏对不同密级任务的安全隔离。因此,无法适用于异构计算资源的调配。
针对新型异构安全服务体系对安全性与时效性的需求,本文提出一种多安全服务任务调度算法,主要贡献如下:
1)针对PCM+VCM 组合的新型混合计算模式,建立一种适用于电力物联网异构信息安全计算资源的多任务调度模型;
2)提出基于改进深度嵌入聚类(deep embedding clustering,DEC)算法的信息安全服务任务执行场景分派方法,明确任务标签,判断任务的执行场景;
3)基于任务业务类型创建VCM 类,采用朴素贝叶斯任务快速匹配任务与运算节点,降低任务到运算节点映射的复杂度。
1 信息安全服务架构及任务调度模型
1.1 电力信息安全服务架构
电力信息安全服务架构如图1 所示,其包含监管机构、密钥管理系统、安全服务中心、密钥存储载体以及电力服务业务5 个部分。
图1 电力信息安全服务架构Fig.1 Architecture of power information security service
监管机构根据业务需求制定相关安全管理政策,并且发布根密钥、根CA 至密钥管理系统。密钥管理系统根据密码服务中心对密钥的需求,完成密钥的生成、分发、更新、销毁等全生命周期管理,该管理过程贯穿密码安全服务的整个流程。安全服务中心则基于电力业务类型和需求开展多样化的安全服务并对计算资源池进行管理,以满足用户和终端的安全服务质量需求。密钥存储载体是密钥分发至终端和用户的重要媒介,其主要包括硬密钥模块和软密钥模块。电力安全服务业务部分示意了典型的输、配、用电等环节用户和终端的密码需求,如输电线巡检、配电自动化遥控、用电信息采集等电力业务密码服务业务。
参考文献[15-16],不同类型电力业务的安全保证等级(security assurance level,SAL)评定不同。例如,配电自动化遥控业务较遥测业务密级更高,则前者对应的SAL 更高。需要指出的是,密钥保护类任务是信息安全服务的基本保障,该类任务密级最高,因此必须在隔离性强的PCM 中执行。
1.2 任务调度模型与架构
式中:ETIME(∙)为最早总完成时间求解函数;TPCMexit为PCM 节点出口任务;TVCMexit为VCM 节点出口任务;h为 宿 主 机 总 数;RVCM为VCM 密 码 资 源 总 量;RPCM为PCM 密码资源总量;Tiko为分配至VCM 的任务;Tij为分配至PCM 的任务;T4iko和T4ij分 别 为VCM 和PCM 中最小密码运算单元执行任务的密码I/O 口资源消耗。式(5)为任务最大安全性能目标函数;式(6)为系统最小总完成时间目标函数;式(7)约束任务至少被分配至PCM 或VCM 运行节点执行;式(8)约束每个运算节点分配至少一个任务执行;式(9)表示任务应该在任务截止时间之前执行完成;式(10)表示当任务SAL 为4 时,该任务必须在PCM中执行;式(11)和式(12)分别表示VCM 与PCM 执行任务时,密码卡I/O 吞吐资源消耗均不能超过各自密码资源的上限。
本文提出的多任务调度架构为三级双映射架构,该服务调度系统可以实现任务聚类、虚拟密码资源创建、任务映射3 个层级的功能。同时,该架构根据新型电力系统密码计算资源的异构特点,设计任务到不同运算资源以及到最小密码运算单元的映射方法。电力物联网安全服务多任务调度架构如图2所示,由任务聚类模块(①至③)、VCM 创建模块(④和⑤)、任务与运算节点类匹配模块(⑤和⑥)、任务与最小密码运算单元映射模块(⑦至⑩)4 个主要模块构成。
图2 电力物联网安全服务多任务调度架构Fig.2 Multi-task scheduling architecture for power IoT security services
2 安全服务多任务调度算法
2.1 安全服务多任务聚类
电力物联网信息安全服务的时效性和安全性兼顾的关键是任务执行场景的分配。文献[17]提出采用DEC 模型来解决对象聚类问题。本文参考文献[18]提出基于加权马氏距离的DEC 算法对安全服务任务进行特征聚类,得到任务所属类别,以确定任务的最优执行场景。任务DEC 联合优化网络结构如附录A 图A1 所示。
任 务 数 据 集 表 示 为TH={Ti|Ti∈RG;i=1,2,…,n},其中G为矩阵维数。使用非线性映射对密码任务属性数据降维,同时基于堆栈式自动编码器(stacked auto-encoder,SAE)得到DEC 初始化参数和任务特征空间Z。
通过初始化深度神经网络(DNN)传递数据,获取特征空间Z的嵌入样本点zi∈Z,然后采用Kmeans 聚类算法进行迭代求解来划分特征空间,得到初始化聚类中心集{μS|S=1,2,…,α},μS为第S个聚类中心,α为聚类数。
为放大密码服务任务特征属性的重要度,使任务聚类效果更满足计算系统的需求,针对n个任务的G维特征属性样本,利用信息熵赋权法计算属性的权重,具体计算步骤如下。
任务特征属性在样本集中变化程度越小,信息熵值越大,该属性对聚类效果的影响越小,权重越小。反之,信息熵值越小,对聚类效果影响越大,权重越大。
假设样本中特征属性互不相关,定义任务样本Ti和Ti+n的加权马氏距离dwmd(Ti,Ti+n)如下:
根据式(16)计算嵌入点zi与聚类中心μS的特征权重。然后,根据式(17)计算嵌入点zi与聚类中心μS的加权马氏距离dwmd(zi,μS)。最后,参考文献[17]通过不断训练得到最佳的安全服务多任务特征估计和聚类中心。
2.2 VCM 创建与匹配
本节根据电力物联网信息安全服务实际应用情况,以主站服务的电力业务类型作为任务分解原则[19-20],对关联密码任务进行封装处理,使得整个任务序列中任务相互独立,并基于任务计算属性创建运算节点。
附录A 图A2 为基于电力业务类型的VCM 创建示意图。为降低任务映射复杂度,提高密码运算系统负载均衡能力,首先,基于电力业务创建虚拟密码服务集群,根据任务ID 属性将任务匹配至对应的服务端。然后,对异构任务的密码计算资源需求进行分析,创建VCM 类。最后,基于朴素贝叶斯[21]匹配Ti与VCM 类。
基于历史密码任务数据分析相同电力业务中各资源类型任务与该业务总提交任务数的比率,创建与任务资源属性匹配的VCM 类。令|Tclass|为一类电力业务的任务总数,|Tclassρ|为相同电力业务的任务集合Tclass中计算资源类型为ρ的任务数,ρ=1,2,…,Knumber,其中,Knumber为任务类型总数,则任务类型比率Ω为:
2.3 基于量子粒子群优化算法的任务映射
在得到任务与VCM 类最佳匹配后,这些任务计算资源属性相似但执行时间、截止时间均不同。根据任务的紧迫性确定任务初始优先级,保障所有任务都能够被按期执行。如式(23)所示,随着任务i的等待时间增加,任务执行的紧迫性随之增加;当任务i的执行时间余量等于它的执行时间时,该任务关于时间的优先级达到最高,必须立刻执行该任务,否则密码任务将会因错过截止期而失败。
然后,本文采用量子粒子群优化(quantum particle swarm optimization,QPSO)算 法[22]完 成 该部分任务调度,实现任务完成时间的优化。QPSO算法区别于传统粒子群优化算法,其采用波函数描述粒子在量子空间的位置状态,且仅使用位置参数决定粒子的收敛速度和位置信息。故QPSO 算法具有高效的全局搜索能力,算法结构更简单,解决问题范围更广泛等优点。2.2 节已创建适合任务集合Tclass的VCM 类。采用实数编码方式,粒子的位置信息代表任务Tclass与VCM 的映射关系。QPSO 粒子位置更新方程如下:
3 仿真模拟与分析
3.1 仿真环境
为验证本文提出的聚类映射调度(clustering mapping scheduling,CMS)算法的有效性,实验基于Cloudsim 和半实物仿真平台完成。密码计算装置采用4 台S-9 型PCM,操作系统为Linux,CPU 为10 核3.3 GHz E5-2670V3,运行内存为2 GB,显存为2 GB,密码卡I/O 口最大吞吐量为1 000 Mbit/s。VCM 采用S-1型云服务密码机,CPU 为12核2.3 GHz E5-2670V3,运行内存为32 GB,显存为160 GB,密码卡I/O 口最大吞吐量为1 000 Mbit/s,操作系统为OpenSuse13.2,最大支持创建32 台VCM。VCM 运算节点配置如附录A 表A1 所示。
基于Python3.8.5 和Tensorflow2.4.1 框架,选取15 000 个典型电力业务相关的安全服务任务数据进行聚类实验,并且计算1 000 个典型电力物联网安全密码任务样本的安全等级和资源属性作为样本的特征向量。考虑任务样本大小和时间复杂度,在采用K-mean 提取任务初始聚类中心时,通过20 次迭代求得最佳初始聚类中心。
基于上述参数配置,利用半实物仿真平台计算任务CMS 算法的实际性能,并与非支配排序遗传算法(NSGA Ⅱ)[11]和双阶段调度(TSS)[23]算法进行性能对比。
3.2 调度算法性能分析
3.2.1 任务聚类结果
基于各任务的安全等级和资源属性数据,利用2.1 节任务聚类方法,聚类中心通过SAE 实现任务聚类,对到达待处理任务进行“高安全等级、低资源消耗”和“低安全等级、高资源消耗”的标签标记。
密码任务聚类结果如附录A 图A3 所示,类型A任务的CPU 需求为185~384 MIPS(MIPS 为单字长定点指令平均执行速度),内存需求为0.8~4.4 MB,密码卡I/O 吞吐 量为0.1~0.3 MB,SAL 数值为2、3、4。因此,设定类型A“高安全等级、低资源消耗”任务标签,在PCM 中执行。类型B 任务CPU 资源需求为360~649 MIPS,内存需求为3.8~9.4 MB,密码I/O 吞吐量为0.02~0.13 MB,SAL 数值为1、2、3。因此,设定类型B 为“低安全等级、高资源消耗”任务标签,在VCM 中执行。同时,可知类型A 的任务数占总任务数的33.68%,类型B 的任务数占66.32%。通过以上结果可知,类型A 与类型B 任务部分属性存在重叠情况,导致任务的分配决策不定,通过本文聚类算法将任务属性之间的重要性进行放大,更利于确定任务执行场景。
3.2.2 任务安全保障系数
电力业务安全服务任务在不同类型运算节点中执行,系统安全性反馈不同。安全性能表现可用TSF 量化表示。TSF 等于所有任务的安全保证等级系数乘以对应的运算节点安全性能决策量并求和,如式(28)所示。
不同调度算法计算系统安全性能的表现如图3所示。TSF 指标随着任务数量的增多而增加,当任务数为15 000 时,CMS 算法的TSF 指标为18 343,然而TSS 算法的TSF 指标为11 578,NSGA Ⅱ的TSF 指标为15 575。与TSS 算法和NSGA Ⅱ相比,CMS 算法的系统安全系数分别提高了58.4% 和17.8%。这是由于CMS 算法在任务调度过程中使用了任务聚类算法,考虑任务的安全等级和资源需求完成了任务的自适应聚类,提升了任务对安全需求的响应能力,而另外2 种调度算法的任务调度序列则通过随机分配的方式被分配到PCM 和VCM计算资源中。
图3 TSF 指标计算结果Fig.3 Calculation results of TSF index
3.2.3 总完成时间
任务序列的总完成时间也是计算系统重点关注的性能指标之一,本文采用任务的总完成时间量化评估各调度算法的时效性,如图4 所示。总完成时间越短,密码任务调度策略的服务质量越高。
TM=max(ETIME(TPCMexit),ETIME(TVCMexit) ) (29)
由图4 可知,当待执行任务总数n超过7 500时,3 种任务调度算法对应的总完成时间随着n的增加而大幅增长,其中,本文提出的CMS 算法所消耗的TM始终保持最小;当任务数小于3 000 时,3 种调度算法的TM差异很小,但随着任务数的增多,CMS算法的优越性得到了体现,证明本文算法更适用于面向电力物联网海量信息安全服务的任务调度。当任务数等于15 000 时,CMS 算法的TM为13.55 s,较TSS 算法降低了22.24%,较NSGA Ⅱ降低了14.59%。这是因为CMS 算法中DEC 能将高计算资源消耗的任务分配到计算能力更强的VCM 中执行,同时采用朴素贝叶斯降低了任务匹配复杂度,QPSO 算法优化了任务序列完成时间。因此,本文所提方法时效性显著优于上述2 种算法,在电力新型混合异构安全计算资源环境中可以充分保障海量任务完成速率。
3.2.4 服务等级协议违约率
电力物联网信息安全服务过程中,终端和用户期望运算系统提供安全且高效的服务质量。然而,在新型混合计算资源体系中,提高系统安全性的代价是降低系统的时效性。本文采用服务等级协议(service level agreement,SLA)[24]的违约率评价3 种调度算法下系统的安全性和时效性的平衡程度。SLA 的违约率DSLA可表示为:
式中:αTSFi为第i个任务的安全保障系数需求量;αMakespani为第i个任务的完成时间需求量;βTSFi为第i个任务的安全保障实际值;βMakespani为第i个任务的完成时间实际值。
如附录A 图A4 所示,随着任务数由3 000 递增至15 000,SLA 违约率整体呈增长趋势。相较于TSS 算法和NSGA Ⅱ,本文所提CMS 算法对应的SLA 违约率始终保持最低。当任务总数为15 000时,CMS 算法对应的SLA 违约率为12.7%,较TSS算法降低了48.2%,较NSGA Ⅱ降低了33.9%。这是因为CMS 算法可实现高安全等级、低资源消耗和低安全等级、高资源消耗2 类任务优化聚类。因此,系统可将不同类型的任务适宜地分派到高安全性的PCM 和高时效性的VCM 中,进而平衡任务高安全性和高时效性的安全服务需求。
3.2.5 运算节点负载率
运算节点负载率是衡量密码运算节点承载能力的重要指标,其值表示为PCM 型运算节点和各类VCM 运算节点的任务执行时间与总完成时间的比值,可反映服务器执行任务的负载均衡程度。
式中:Qb为b类运算节点对应的负载率;Texecuteb为b类运算节点中任务总执行时间。
3 种调度算法各类运算节点的负载率分布图如附录A 图A5 所示。当n=1 000 时,3 种任务映射方法均有良好的负载均衡效果,标准差均小于0.12;当n=8 000 时,本文方法各类型节点负载率的标准差为0.19,TSS 算法的标准差为0.28,NSGA Ⅱ算法的标准差为0.22;当n=15 000 时,本文方法中5 类运算节点的标准差仍保持在0.21,而TSS 算法与NSGA Ⅱ对应的标准差均超过0.30,各类型运算节点负载差异较大。由此说明,在大量计算资源需求下,本文所提多任务调度方法能更好地实现计算资源的均衡分配。这是由于CMS 算法应用朴素贝叶斯原理完成了任务与运算节点的适度匹配,均衡了混合异构计算系统的工作负载,避免长时过载导致服务能力下降。
3.2.6 密码卡I/O 资源利用率
密码卡I/O 资源利用率可以反映系统密码运算的能力,其值为密码卡I/O 吞吐量与最大吞吐带宽的比值,且为单位时间内所有I/O 口流量均值。该比值越大,则说明密码卡I/O 利用效率越高。密码卡I/O 吞吐量包括加解密吞吐量、签名验签吞吐量和杂凑吞吐量等。
式 中:UResource为 密 码 卡I/O 资 源 利 用 率;TThroughput为密码卡I/O 吞吐量;Bmax为最大吞吐带宽。
图5 为密码卡I/O 资源利用率变化情况[25]。
图5 密码卡I/O 资源利用率变化曲线Fig.5 Changing curves of cryptographic I/O resource utilization rate
由图5 可知,当任务总数n=1 000 时,3 种任务映射方法密码资源利用率之间的差值不超过3%;当n=5 203 时,本文方法对应的利用率提高至70%,且随着任务数的增加仍然保持在85%以下。TSS 算法的利用率在任务数小于9 950 时始终低于70%,NSGA Ⅱ的利用率在任务数大于7 601 后超过了85%,出现资源使用过载的情况。这是由于本文调度算法在任务调度的过程中考虑任务与运算节点所有计算资源的匹配度,均衡了任务对各种计算资源的需求,使得计算效率得到提高。
4 结语
本文提出面向电力物联网异构信息安全服务的多任务调度方法,该方法利用PCM 高安全性和VCM 高效率的计算特性,优化了任务到运算节点的映射过程,提高了任务执行的安全性和效率,具体包括:以任务ID、安全等级和资源消耗为特征,基于信息熵加权的DEC 算法对任务进行聚类,确定任务执行场景,充分利用异构安全服务运算节点优势;提出采用朴素贝叶斯原理和QPSO 算法实现任务到最小运算单元的映射,降低任务匹配的复杂度,提高任务运算的执行效率。基于4 台S-9 型PCM 和S-1型VCM 搭建半实物仿真平台,模拟新型混合异构安全计算资源,采用典型电力物联网多业务密码任务数据对本文所提CMS 算法进行性能测试。实验结果表明,与传统任务计算方式相比,本文所提算法可保障任务的安全性需求,还可提高任务的运算效率。
随着电力高级安全服务微应用的开展,集中式异构计算服务将持续承受更大的运行压力。因此,后续将重点关注边缘侧分布式电力物联网安全计算资源的轻量服务研究。
附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。