吴旦,郭志诚,何炬良,谢小瑜,尹湘源
(南方电网数字电网研究院有限公司,广东广州 510663)
电网智能化是配电网未来发展趋势,智能配电站是电能能量转换与管理的核心平台,也是配电网运营的重要节点,配电站的安全运营关系到国家电能运营安全性,直接影响国民经济与社会发展。近年来,配电网的安全事故频现,供电设施受损,配电智能终端系统的信息安全需要受到更多关注,因此对配电智能终端的加密十分必要。
对于配电智能终端数据混合加密,一些学者进行了研究。文献[1]以改进AES 和ECC 算法以及混合密码理论对变电站数据进行加密,通过AES 扩展密钥和构造S 盒,以此增强计算的稳定性,对列混淆计算也进行优化,提升计算的执行效率,但该方法可靠性和实时性低,无法满足配电智能终端数据安全的要求。文献[2]设计了一种数据分析篡改攻击下配电传输数据安全保密方法,对各种数据分析篡改攻击的类型进行研究,利用GEP 算法筛选城市配电网的各种数据,并在其中消除混入的攻击者数据包,使用ECC-AES 结合计算各种明文的密码,但数据安全性较差。为了解决传统方法中存在的问题,该文基于改进AES 提出了一种新的配电智能终端数据混合加密方法。
生成配电智能终端数据加密密钥,通过密钥来对配电智能终端数据进行加密[3-4]。对AES 算法进行改进,将明文分组,每组明文总长度为128 bit,将密钥宽度分为三种,依次是128、192、328 bit,对应的迭代轮数依次是10、12、14 AES,迭代流程如图1 所示。
图1 迭代流程
根据图1 可知,首先进行字节替换,使用S 盒进行查表,把状态矩阵中的字节转换成另一种字节;然后通过左循环实现位移操作;最后进行列混淆,通过算数列分析数据,判断是否满足生成密钥要求,如果满足则进行轮密钥,在当前分组下按位进行异或运算,如果不满足则重新返回到第一步字节替换[5-6]。
明文分组后,对初始密钥进行异或运算,其过程逐渐与迭代过程相似,初始密钥异或运算后与迭代的唯一不同为不需要经过列混淆来进行判断,其解密步骤为密钥生成的逆运算[7-8]。初始密钥由32 个bit 组成,记作wi(i=1,2,…,32),通过扩展异或运算获得所有密钥。将所有密钥排列后建立坐标系,通过建立AES 椭圆曲线方程对所有密钥进行运算,AES 椭圆曲线方程的域如式(1)所示:
其中,Y为椭圆曲线方程的域;℘为域中的代表点;a表示横向系数;b表示纵向系数。
a与b的关系满足如下公式:
其中,C表示为椭圆曲线方程常量。经过上述计算后,相邻两轮密钥以及同一轮密钥之间的关联性都会减弱,通过确定系数之间的关系提高密钥安全性,攻击者即使得到某一轮密钥,也无法得到全部的数据密钥,有效保证加密效果[9-10]。
对AES 算法改进并得到加密密钥之后,对配电智能终端数据进行加密。该文引入加密粒度对配电智能终端数据加密,加密粒度代表数据加密的最小单位,加密粒度越小,加密强度越高,加密过程就越困难。加密粒度的计算通过三个步骤完成。
第一步:将配电智能终端数据文档作为加密文件的最小单元,将加密密钥和改进后的AES 加密算法结合形成初始密文,确保加密资料的安全与完整。
第二步:通过查询配电智能终端的数据记录信息,寻找系统中存放的实体数据,由于第一步对数据文档已经生成了初始密文,在寻找到实体数据后,使用加密密钥、AES 加密算法、初始密文对实体数据进行处理,并储存在配电智能终端数据文档中[11-12]。
第三步:对实体数据完成处理后,对实体数据进行分析,将实体数据拆解成字段形式,通过计算拆解后字段的数量完成对加密粒度的计算[13-14]。加密粒度计算如式(3)所示:
其中,E表示加密粒度;i代表实体数据数量;m表示拆解后的字段数量。
完成加密粒度的计算后,进行配电智能终端数据加密,其主要通过三层加密完成,即系统加密、服务器加密和客户端加密。三层加密过程如图2 所示。
图2 三层混合加密过程
第一层:操作系统加密。操作系统无法识别配电智能终端数据文档中的数据关系,因此需要将操作系统的数据存入特定的储存器中,储存器通过加密密钥设立密文,在储存器中对操作系统的数据进行加密,如式(4)所示:
其中,U(x)代表操作系统数据储存器加密结果;x表示加密数据;u1表示操作系统数据储存器加密单元容量;u2表示储存单元容量;u3表示密钥单元容量;u4表示密文单元容量。对操作系统数据加密后,储存器系统将每个密文信息传输到配电智能终端数据文档中,需要解密时则从反方向进行解码[15-16]。
第二层:服务器加密。结合操作系统在服务器中对配电智能终端数据进行加密,形成管理端的双重加密,提升管理端的安全性。在服务器中加密需要运行配电智能终端数据管理系统,在数据文档物理储存前完成数据加密,加密文档在服务器端运行时,服务器负载加重,加密文档与配电智能终端数据管理系统耦合性下降。由于该文采用的加密算法为改进AES 后的加密算法,在加密文档与配电智能终端数据管理系统耦合性下降时可更好地加密文档数据,并在加密后可以有效提升两者的耦合性,使加密后的数据完全存放于配电智能终端数据管理系统服务器中。其加密原理由下列公式表示:
其中,a1表示操作系统横向加密参数;b1表示操作系统纵向加密参数;a2表示服务器横向加密参数;b2表示服务器纵向加密参数;a3表示加密文档横向加密参数;b3表示加密文档纵向加密参数。
第三层:客户端加密。对客户端的加密是该文提出的基于改进AES 的配电智能终端数据混合加密最后一层加密程序,前两层加密是对操作系统与管理端进行加密,防止攻击者入侵,而对于客户端的加密则是重点关注用户的配电数据安全。在客户端进行加密不会增加配电智能终端数据服务器的负荷,客户端作为配电智能终端的最外层操作系统,其运行遵照数据安全的规则,因此对于客户端的加密是通过客户端自主运行加密文件完成的。将加密密钥与加密算法写入加密文件中,当客户端运行时,加密文件自动打开,自行加密配电智能终端内部数据,并可将客户端的信息传输至管理端服务器中进行二次加密,以此实现配电智能终端数据混合加密。
为进一步验证基于改进AES 的配电智能终端数据混合加密方法的实际应用效果,进行了实验设计。选用的操作系统为Windows10,采用的编码语言为C++语言,实验操作频率为3.0 GHz,工作电压为100 V,工作电流为200 A。同时采用基于RAS 算法数据混合加密方法和基于ECC 算法的数据加密方法进行实验测试。在不同大小的数据包下,三种加密方法的密钥生成时间实验结果如表1 所示。
表1 密钥生成时间实验结果
根据表1 可知,只有该文提出的基于改进AES 的配电智能终端数据混合加密方法密钥生成时间没有受到数据包大小的影响,传统的RAS 算法和ECC 算法的密钥生成时间都随着数据包变大而逐渐增加。
对改进后的AES 加密方法和未改进前进行对比,密钥改良前后运算次数对比如图3 所示。
图3 密钥改进前后运算次数对比
根据图3 可知,改进前的密钥扩展算法使第一轮扩充密钥中需要穷举攻击的次数达到400 次,运算次数和改进后的算法相比明显减少,以此说明改进后的AES 算法具有较高的运算效率。由此可知,改进后的AES 算法具有较高的运算速度,运算过程中对客户端不造成太大的运算压力。在用户输入数据时,改进AES 的客户端应用程序直接对敏感数据进行加密,将加密后的密文直接插入到配电智能终端数据中,所以具有较高的运算效率。
同时采用木马攻击对三种方法的加密过程进行入侵,分析三种不同方法的外来入侵信息阻挡率和阻挡耗时,得到的实验结果如表2、表3 所示。
表2 外来入侵信息阻挡率
表3 外来入侵信息阻挡耗时
观察上表可知,随着入侵时间的增加,传统RAS算法和ECC 算法的加密能力都有所下降,对于外来信息的阻碍能力逐渐减弱,而该文提出的基于改进AES 加密方法由于采用三层加密的方式,因此完全满足配电智能终端对于数据安全的要求,极大地提升了用户数据的安全,在短时间内能够成功阻隔99%以上的外来入侵信息。
目前,配电智能终端数据安全问题已成为当前配电网领域的重要研究课题,改进的AES 算法具备简单、快捷、稳定性较高等特征,该文基于改进AES算法进行数据混合加密通过生成加密密钥完成对配电智能终端数据的加密,采用三层加密提高数据的安全性。