1、Microcomputer Applications Vol.39,No.11,2023文章编号:10 0 7-7 5 7 X(2 0 2 3)11-0 0 6 0-0 5基于隐藏分类算法的电网隐私数据多层级加密研究基金项目微型电脑应用2 0 2 3年第39 卷第11期宋永占,奚磊,崔巍,袁凌风(南瑞电力设计有限公司,江苏,南京2 1110 6摘要:为了有效解决电网隐私数据传输路径信息容易受到攻击和泄露,导致数据传输安全性下降问题,提出基于隐藏分类算法的电网隐私数据多层级加密方法。利用二态非透明谓词改变电网隐私数据传输路径形式获得相应的控制流。对所获取的控制流展开平展化处理并混淆其逻辑顺序,采
2、用分支混淆算法隐藏经混淆处理后的路径信息。在电网传输路径信息隐藏的基础上,利用k-means算法将不同传输路径上的隐私数据分为电力数据和用户数据2 个层级,采用RC6算法和Fiestel算法实现电力数据和用户数据的加密处理,结合多级身份验证方案实现电网隐私数据的多层级加密。实验结果表明,这种方法的电网隐私数据加解密效率高、空间占用低、能耗低、安全性高,电网隐私数据加密效果好。关键词:电网隐私数据;多层级加密;分支混淆算法;k-means算法;数据加密中图分类号:TP393文献标志码:AResearch on Multi-level Encryption of Power Grid Privac
3、y DataBased on Hidden Classification AlgorithmSONG Yongzhan,XI Lei,CUI Wei,YUAN Lingfeng(Nanri Electric Power Design Co.,Ltd.,Nanjing 211106,China)Abstract:To effectively solve the problem that the transmission path information of private data in the power grid is prone toattacks and leaks,leading t
4、o a decrease in data transmission security,a multi-level encryption method for power grid privacydata based on hidden classification algorithm is studied,Binary non-transparent predicates are used to change the transmissionpath of private data in the power grid to obtain the corresponding control fl
5、ow.It expands and flattens the obtained control flowand obfuscates its logical order,and a branch obfuscation algorithm is used to hide the path information after obfuscation pro-cessing.On the basis of information hiding of power grid transmission path,k-means algorithm is used to divide the privat
6、e da-ta on different transmission paths into two levels:power data and user data.RC6 algorithm and Fiestel algorithm are used toencrypt power data and user data,and multi-level encryption of power grid private data is realized by combining multi-level au-thentication scheme.The experimental results
7、show that this method has high efficiency in encrypting and decrypting powergrid privacy data,low space occupation,low energy consumption,and high security.The encryption effect of power grid priva-cy data is good.Key words:grid privacy data;multi-level encryption;branch obfuscation algorithm;k-mean
8、s algorithm;data encryption0引言双向通信网络作为一种基础技术,是智能电网发展的基础 17。在智能电网中,存在不同形式的发电,通过实时分析和处理用户的用电信息,可以满足用户各种用电需求。同时也伴随着用户隐私数据泄露的风险。如果无法有效保护电网电力数据,非法分子可以窃取数据以获取利益,电网在运行过程中也可能遭受恶意攻击,威胁到隐私数据 2 。因此,在此背景下,呕须一种有效的隐私数据加密方法。赵丙镇等3 利用区块链技术建立了隐私数据保护模型,基金项目:国网电力科学研究院(南瑞集团有限公司)科技项目(5 2 46 4C220003)作者简介:宋永占(198 5 一),男,硕
9、士,高级工程师,研究方向为水利电力工程总承包项目管理、机电安装工程及电气二次系统专业工程项目实施;奚磊(198 5 一),男,硕士,高级工程师,研究方向为机电安装工程类总承包项目管理、电力系统及其自动化相关工程项目实施;崔巍(196 9一),男,本科,高级工程师,研究方向为机电安装工程类总承包项目管理、电力系统及其自动化二次系统项目实施;袁凌风(1992 一),男,硕士,工程师,研究方向为市政工程类总承包项目管理、机电安装工程及电气二次系统专业工程项目实施。引人概率公钥加密算法用于隐藏用户真实身份,结合零知识证明技术和承诺方案保护交易金额,并设计了身份加密机制来保护隐私数据。然而,该方法加解密
10、数据所需的时间较长,存在加解密效率低和空间占用高的问题。王姝妤等采用IDMAKE2协议在双线性对的基础上验证用户的身份信息,并通过同态加密算法对电网中的用户隐私数据展开加密处理。但该方法能耗高且无法抵御网络中的攻击,安全性较差。为了解决上述方法中存在的问题,本文提出基于隐藏分类算法的电网隐私数据层级加密方法。60.Microcomputer Applications Vol.39,No.11,20231电网传输路径信息隐藏电网系统执行相关程序时容易泄露路径信息,为了提高数据在路径中传输的安全性,采用分支混淆算法对电网路径信息展开隐藏处理,主要思路:利用二态非透明谓词改变路径形式,获得相应的控制
11、流;对控制流展开平展化处理,混淆其原本的逻辑顺序;采用分支混淆算法隐藏经混淆处理后控制流中存在的路径信息。具体过程如下。针对电网路径中控制流的单一形式,将二态非透明谓词穿插在路径和节点中,以此改变路径形式,提高路径复杂度。在电网程序中,二态非透明谓词A的本质是布尔表达式,根据输出结果可将二态非透明谓词A分为以下几类:(1)当A在电网程序中的输出始终为真时,记为AT;(2)当A在电网程序中的输出始终为假时,记为AF;(3)当A在电网程序中的输出存在真、假2 种情况时,记为A。根据后继基本块的唯一特性在电网原始的控制流图中确定插入非透明谓词的位置,通过随机插人混淆策略在确定位置处插入上述类型的非透
12、明谓词,非透明谓词在控制流中具有混淆作用,改变了路径形式。采用平展化处理上述插入非透明谓词后的控制流,消除其中存在的嵌套结构和分支结构以及基本块之间的差异,使基本块在电网路径中均处于并列位置。通过平展化处理可以混淆控制流之间原本的逻辑关系 5 。控制流平展化流程如图1所示。将电网程序拆分成若干个基本块获得块与块之间的跳转关系,建立有向边利用基本块与有向边构成分支路径基本块存储和封装获取分支路径在电网中的准确位置将分支变量作为路径引导,控制逻辑顺序隐藏控制流中存在的路径信息,实现控制流平展化结束图1控制流平展化流程(1)拆分电网程序,获得若干个基本块。(2)根据基本块的转移指令获得块与块之间存在
13、的跳转关系,以此为依据建立有向边。(3)利用基本块和步骤(2)中建立的有向边构成分支路径。(4)将层级不同的基本块存储在相同层级中。(5)封装基本块,获取分支路径在电网中的准确位置。(6)针对电网运行过程中处于执行状态的分支路径,设置分支变量S,用于该路径的引导,以此控制其逻辑顺序。通过上述过程打乱控制流在电网中的逻辑关系,可以提高控制流的安全性,在此基础上采用分支混淆算法隐藏控制流中存在的路径信息,具体过程如图2 所示。基金项目运行调用函数动态赋值算法实现电网传输路径信息隐藏结束图2 基于分支混淆算法的控制流路径信息隐藏流程(1)在不相关基本块中插入信息A,破坏电网程序原始的控制流信息,根据
14、插入位置的上下文,在混淆过程中随机选择2 个控制流信息AT、A F。(2)用O、M 标记基本块的类型,其中,O为插人非透明谓词混淆过程中相关度为零的基本块,M为原始电网程序混淆前控制流图中存在的基本块。(3)利用后继基本块BN、前驱基本块BP和自身基本块BS组件基本块的三元组。(4)将控制流图输人switch-case分发器中,对其展开平展化操作。电网中存在的分支路径S,可用基本块表示,电网程序对目前分支路径S.的参数值展开分析,根据分析结果选择下一个运行的分支路径。(5)建立调度函数G(S,)=(A,B,b,S,,c),函数参数开始C、b 分别为基本块在当前时刻下对应的分支变量S,和BN布尔
15、值,下一个S,分支路径值的计算可参考当前基本块的类型属性、S,和b。(6)运行调用函数动态赋值算法实现信息隐藏。运行调用函数动态赋值算法实现电网传输路径信息隐藏的具体流程如图3所示。开始设置分支变量,生成新的基本块是否执行基本块是基本块赋值文基本块属于类型M?香基本块属于否类型0?是利用随机函数生成随机数1或0是将基本块的分支-0?变量值赋给厂香是将基本块的下一=1?个分值变量赋给厂路径厂结束香图3电网传输路径信息隐藏流程步骤1设置分支变量f,根据S,值和B布尔值调用函数生成新的基本块BB。61.微型电脑应用2 0 2 3年第39 卷第11期开始将信息插入基本块在混淆过程中随机选择两个控制流信
16、息基本块类型标记立构建基本块三元组建立调度函数是将基本块的分支隐藏变量值赋给厂结束)路径隐藏路径结束隐藏Microcomputer Applications Vol.39,No.11,2023步骤2:根据BB的类型属性Atr值判断是否执行该基本块,并将基本块BB的S,值赋给f。步骤3:当BB属于M类时,存在BB-Atr=M。此时将BB的分支变量值赋给f,存在f=BB一 St。步骤4:当BB属于O类时,存在BB一 Atr=O。利用随机函数rand()生成随机数1或0。在r=0条件下,将BB的分支变量直接赋给f,此时执行0。当r=1时,采用调度函数动态幅值算法将BB的下一个分值变量值赋给于,此时不
17、执行O。步骤5:返回f,执行f在电网中的分支路径,并将该条路径隐藏,通过不断迭代,直至所有数据传输路径均被隐藏。2电网隐私数据多层级加密2.1电网隐私数据分层级电网隐私数据可以分为以下2 个层级。(1)电力数据。电力数据包括电力消耗数据、电力质量数据、供电质量数据等,这些数据主要反映了用电设备的使用情况和电力供应的质量。(2)用户数据。用户数据包括用户基本信息、用户行为数据、使用惯量数据、生活习惯数据等,这些数据主要反映了用户的个人隐私和使用习惯。对于这2 个层级的电网隐私数据,都需要得到妥善的保护和处理,避免泄漏、污染或者恶意利用对用户隐私和权益造成危害。电网系统需要采取专业的隐私保护措施,
18、例如数据安全加密、数据权限管理、数据访问日志等技术手段,确保系统安全、数据隐私和用户利益的双重保障。k-means可将数据集划分为k类,属于一种无监督的聚类算法 6-8 。该算法的原理是随机生成数据的k个聚类中心,划分数据时遵循最近邻原则,使其归类到最近的聚类中心内。最小化各类误差平方和esse是k-means聚类算法的目标 9,建立电网隐私数据聚类目标函数:esE-221-mi112=1pEC式中,p代表第i个聚类C中存在的电网隐私数据,m.代表C,的聚类中心,k代表聚类中心总量。结合最小二乘法原理和拉格朗日定理 10-11确定误差平方和:a2211p-m:1I2aesSEi=1pEc,e=
19、ami通过上述过程将电网隐私数据划分为电力数据和用户数据,数据分类结果如下:2=2nipec.式中,ni代表聚类C,中存在的电网隐私数据总量。2.2数据加密将电网隐私数据中的电力数据D,划分为用电负荷数据和电力质量数据两个部分,用Di、D a 表示。分别采用Fies-tel加密算法和RC6加密算法 12 展开数据加密。(1)用电负荷数据Dia加密过程:Dia通常存储在4个w为RC6寄存器中,即A、B、C、D。预白化处理寄存器B、D,基金项目控制A、B、C、D 展开内循环,Dia经过上述处理后,转变为密文。(2)电力质量数据Di加密过程:设F代表Fiestel加密过程中的轮函数,Lo,Li,,L
20、代表子密钥,等量划分数据Da获得DaL、D a r,通过式(4)对DaL、D a 展开加密处理 13:DibL(t+1)=Dar(t)(4)(D#r(t+1)=DbL(t)?F(DaR,L,)式中,t代表轮数,Dir(t)代表第t轮的D#r加密密文,Dir(t+1)代表第t+1轮的D加密密文,D(t)代表第t轮的D,加密密文,D(t+1)代表第t+1轮的Da,加密密文,F(Dir,L,)代表Fiestel加密的轮函数。通过上述过程获得密文DiL、D i R。通过SM4算法完成用户数据的加密处理。SM4算法的结构如图4所示。128位密钥立密钥扩展立基本轮函数128位密文图 4SM4 算法采用SM
21、4算法对用户数据加密的过程如下:将加密数据和原始电网数据分成等分的12 8 位,在此基础上等量划分每个包。设置轮密钥H,EZ2,i=0,1,2,3,反变换符合(Ro,Ri,R2,R)=(R3,R2,Ri,R.),其中 R,EZ2。用 W。,Wi,Wz,W:表示明文组,其加密过程为Wi+4=f(W,Wi+1,Wi+2,Wi+3,H,)。用户在注册阶段需要在信任机构中注册相关凭据,完成身份验证 14。验证通过后,可以在电网中访问数据。用户将指纹、视网膜等生物特征和ID/密码提供给信任机构,接收到凭证后,电网的信任机构会为用户分发伪ID。用户经过身份验证后,可以读取电网中存在的信息和数据,以确保电网
22、(1)隐私数据的安全性。多级身份验证流程如图5 所示。用户电网信任机构公共云请求用户ID授予访问权限公共云请求(2)用户生物特征ami授予访问权限(3)私有云请求用户ID、生物特征授予访问权限图5 多级身份验证流程图3实验与分析为了验证基于分支混淆算法的电网隐私数据多层级加62.微型电脑应用2 0 2 3年第39 卷第11期128位明文工选代控制公共云读取电网数据下载电网数据读取、下载电网数据私有云Microcomputer Applications Vol.39,No.11,2023密方法的整体有效性,需要对其展开测试。利用数据爬虫技术采集电网中的电力数据、用户数据,将这2 个数据进行合并处
23、理,得到电网隐私数据集,以此对不同方法的有效性进行检验。实验环境如下:操作系统为LinuxMint19.3(6 4位);加密算法库为OpenSSL1.1.1g;编程语言为Python3.7.6;数据库为MySQL8.0.19。实验参数如下:钥匙位数为2 0 48 位;对称密钥算法为AES-256;数据分片数为4个;新生成的AES密钥的数量为2 个;新生成的RSA密钥的数量为4个;RSA算法加密的AES密钥每个分片的大小为12 8 位;起始对称密钥的生成方式为随机生成。在该实验环境下,可以使用Python调用OpenSSL库来实现RSA和AES加密算法,将加密后的数据存储在MySQL数据库中。通
24、过改变实验中的参数值,例如钥匙位数、数据分片数、生成新的AES和RSA密钥的数量和加密方式等,来探究不同参数值对加密算法的性能和安全性的影响。从数据加解密时间、空间占用、能耗以及安全性方面测试基于分支混淆算法的电网隐私数据多层加密方法、文献3方法和文献 4 方法的有效性。(1)数据加解密时间采用本文方法、文献 3 方法和文献 4 方法对电网隐私数据展开加解密测试,比较不同方法的加解密时间。不同方法数据加密实验数据如表1所示。表1数据加密实验数据加密时间/ms数据量/MB本文方法100172200185300368400387500452数据加密时间测试结果如图6 所示。分析表1与图6 可知,随
25、着实验数据量的增加,3种方法的数据加密时间均呈现波动上升趋势。当数据量为30 0 MB,本文方法的数据加密时间为36 8 ms,文献 3 方法的数据加密时间为5 16 ms,文献 4 方法的数据加密时间为5 6 8 ms;当数据量为5 0 0 MB,本文方法的数据加密时间为45 2 ms,文献 3 方法的数据加密时间为6 9 2 ms,文献 4 方法的数据加密时间为6 5 5 ms从整体上来看,本文方法的数据加密时间更短,效率更高。不同方法数据解密实验数据如表2 所示。数据解密时间测试结果如图7 所示。分析表2 与图7 可知,随着实验数据量的增加,3种方法的数据解密时间均呈现波动上升趋势,但本
26、文方法的解密时间曲线波动更为稳定,时间更短。与文献3 方法、文献4方法相比,本文方法的数据解密时间最大值为30 1ms,文献基金项目数据量/MB100200文献 3 方法文献 4方法226136419571516568629618692655微型电脑应用2 0 2 3年第39 卷第11期8006004002000100(a)本文方法800Su/回6004002000100(b)文献 3 方法8006004002000100(c)文献 4 方法图6数据加密时间表2数据解密实验数据加密时间/ms本文方法文献 3 方法441911353523001214001325003013方法的数据解密时间最大
27、值为6 6 8 ms,文献 4 方法的数据解密时间最大值为5 2 6 ms。本文方法的解密时间更短,效率更高。(2)空间占用上述方法在加密数据的过程中会占用一定的字节数。不同方法的空间占用实验数据如表3所示。表3空间占用实验数据空间占用/Byte时间/s本文方法00517801023.9015251020245025241030234063200数据量/MB200300数据量/MB200300数据量/MB478552668文献 3 方法0262031203360398045904050300400400400500500500文献 4方法220372268544526文献 方法02210441
28、03890486043404130Microcomputer Applications Vol.39,No.11,2023500数据量/MB(a)本文方法800SU/回6004002000100(b)文献 3 方法8006004002000100(c)文献 4 方法图7 数据解密时间不同方法的空间占用情况如图8 所示。10 0008000600040002000010.00080006000400020000(b)文献 3 方法1000080006000400020000(c)文献 4 方法图:不同方法的空间占用情况基金项目800元由表3和图8 可知,本文方法对数据展开加密时的空间Su/回60
29、04002001005101520时间/s(a)本文方法51015202530时间/s51015 202530时间/s微型电脑应用2 0 2 3年第39 卷第11期占用一直控制在30 0 0 Byte以内,不会影响电网系统的正常运行。文献3方法和文献4方法的空间占用分别高达5800Byte和7 2 0 0 Byte,对数据加密的空间占用较高,会影响电网系统的数据传输性能。(3)能耗200300200300数据量/MB200300数据量/MB40040040025一30不同方法的能耗测试结果如图9所示。100一本文方法80-文献 3 方法文献 4 方法6040205000图9不同方法的能耗测试结
30、果由图9可知,数据量与能耗之间成正比,在相同数据量下本文方法的能耗始终在46 mJ以下,是3种方法中最低的,表明本文方法适用于大规模的隐私数据加密。(4)安全性在电网数据传输过程中,引人不同类型的攻击并测试其500安全性,以评估方法的抵御能力。表4中,V表示成功抵御攻击,X表示无法抵御攻击。根据表4可知,针对引人的攻击,本文方法均可成功抵御。这是因为本文方法设计了多层级加密,利用分支混淆算法对电网数据传输路径展开了隐藏处理,在此基础上加密数据,并设置了身份验证机制,因此本文方法可成功抵御多种类型的攻击,具有较高的安全性。表4不同方法的安全性攻击类型本文方法文献 3 方法拒绝服务攻击中间人攻击冒
31、充攻击字典攻击重放攻击4总结针对目前电网隐私数据存在加解密效率低、空间占用高、能耗高、安全性差等问题,本文提出基于分支混淆算法的电网隐私数据多层级加密方法。该方法不仅对数据展开了加密处理,同时隐藏了电网的数据传输路径信息,并增设了身份验证机制,以此保护电网隐私数据的安全。经验证,当数据量为5 0 0 MB,本文方法的数据加密时间为45 2 ms,数据解密时间最大值为30 1ms对数据展开加密时的空间占用一直控制在 30 0 0 Byte以内,能耗始终在46 mJ以下,能够抵御拒绝服务攻击、中间人攻击、冒充攻击、字典攻击、重放攻击。综合来看,该方法加解密数据所需的时间较短,且占用空间少、能耗低,
32、而且多层级的加密可抵御多种类型的网络攻击,提高了电网隐私数据的安全性。(下转第6 8 页)64100200300400500 600数据量/MB文献 4方法XMicrocomputer Applications Vol.39,No.11,2023模块名称模拟订阅方对消息进行订阅,对消息优先发消息发送送级别进行设置后发送通过对系统的各个模块进行集成测试可知,该系统的覆盖率高达10 0%,可满足设计的预期值,并且系统内90%的功能均可正常使用,全部测试用例均已运行 7-8 。5总结本文主要对机房设备信息监控采集分发系统的逻辑架构、消息流动流程、模块功能划分、硬件以及软件等部分进行设计,对逻辑架构进
33、行设计时,主要采用JMS以及CORBA作为核心规范,并为系统引人成熟可靠的Java技术,按照系统功能进行层次划分,使系统功能具有易实现、易扩充等优势。为实现系统的软件功能,对驱动程序进行设计,采用7 24h的方式对系统进行不间断监控,该软件程序可持续到系统硬性关闭后方停止,有利于对系统的设备状态进行精准控制。参考文献1李玮琳,李学彪,王鹤.基于单片机的蔬菜大棚温湿度监控系统设计 J.信息与电脑(理论版),2 0 2 0(1):72-73.(上接第6 4页)【1李元诚,杨珊珊.基于改进自注意力机制生成对抗网络的智能电网GPS欺骗攻击防御方法 JI.电力自动化设备,2 0 2 1,41(11):1
34、0 0-10 6.2 王德庆,许建,一种基于矩阵补全的智能电网数据隐私保护方案 J.南京邮电大学学报(自然科学版),2022,42(2):103-110.3赵丙镇,陈智雨,闫龙川,等.基于区块链架构的电力业务交易数据隐私保护 J.电力系统自动化,2 0 2 1,45(17):20-26.4王姝好,陈建伟,张桢萍.智能电网中轻量级隐私保护数据聚合方案 J.福建师范大学学报(自然科学版),2022,38(3):24-34.5乐德广,赵杰,龚声蓉.基于模式切换的ARM汇编代码混淆算法 J.计算机工程与应用,2 0 2 1,5 7(18):122-129.6 马宏忠,严岩.基于混沌理论和GOA-k-m
35、eans算法的有载分接开关状态特征分析计算方法 J.电工技术学报,2 0 2 1,36(7):139 9-140 6.7张亚迪,孙悦,刘锋,等.结合密度参数与中心替换的改进k-means算法及新聚类有效性指标研究 J.计基金项目表3消息发送模块测试操作方法预期效果1.正常发送2.根据优先级别发送2 罗珊珊,冷佳基于数字李生机房的三维可视化监控系统的设计与实现 J.计算技术与自动化,2 0 2 1(1):135-139.3罗兰溪,王良之,王云飞,等.机房温湿度监控系统研究 J.中国新通信,2 0 17,19(8):18-19.4陈雪梅,雷振新,李海娜.基于单片机的温湿度监控系统设计与实现 J.电
36、子世界,2 0 16(10):18 2.5 兰鸽,李川江,徐磊.实验室智能温湿度监控系统设计J.电子测试,2 0 2 1(8):18-19.6朱维娜,滕华,苏智华.基于ZigBee的网络机房无线数据采集系统设计J.微型电脑应用,2 0 2 0,36(3):75-77.7 陈琳,赵江,种景,等.基于Arduino 的分布式网络温湿度监控系统设计与实现 J.电子设计工程,2 0 18,26(4):66-69.8 陈旭光.基于云计算虚拟化的机房设备自动化管理系统设计 J.自动化与仪器仪表,2 0 2 2(9):16 5-16 8.(收稿日期:2 0 2 1-10-2 1)算机科学,2 0 2 2,4
37、9(1):12 1-132.8江兵,李国荣,孙赵盟,等.基于长短期记忆神经网络参考文献和改进型k-means聚类算法的居民峰谷时段划分模型 J.现代电力,2 0 2 1,38(6):6 2 0-6 2 9.9刘明群,何鑫,覃日升,等.基于改进k-means 聚类 k值选择算法的配网电压数据异常检测J.电力科学与技术学报,2 0 2 2,37(6):91-99.10 李雪,张琳玮,姜涛,等.基于拉格朗日乘子的电力系统安全域边界通用搜索方法 J.中国电机工程学报,2021,41(15):5139-5153.11王尚长,杨格,吴斌,等.基于内点法和拉格朗日乘子法的混合试验允余作动器控制方法.振动与冲
38、击,2021,40(12):23-30.12葛仕杰,汪烈军,李永明.基于混沌的无线传感器网络分组加密算法J.计算机工程与设计,2 0 2 2,43(9):2456-2463.13任天宇,王小虎,郭广鑫,等.基于多级身份验证和轻量级加密的电力物联网数据安全系统设计 J.南京邮电大学学报(自然科学版),2 0 2 0,40(6):12-19.14詹泽怡,陈晶,何琨,等.云环境下去中心化跨域身份认证方案 J.武汉大学学报(理学版),2 0 2 1,6 7(3):205-212.微型电脑应用2 0 2 3年第39 卷第11期实际效果1.符合预期效果2.符合预期效果(收稿日期:2 0 2 3-0 6-2 0)结果合格68.