APP下载

高级加密标准算法在智能电网数据保护中的应用分析

2021-07-02冯瑞珏曾献煜刘飘杨树丰李轩东

广东电力 2021年6期
关键词:加解密明文密钥

冯瑞珏,曾献煜,刘飘,杨树丰,李轩东

(1.广州城市理工学院 电气工程学院,广东 广州 510800;2.广东电网有限责任公司东莞供电局,广东 东莞 523008)

随着智能电网的深入推进,大量智能电力监测装置(intelligent electronic device,IED)被广泛接入。智能电网通过将移动互联、人工智能等现代通信技术融入到电力系统各环节中,更有效地实现了电网基础设施多维信息数据的采集。精确到每个/每类设备的数据有助于电力公司优化电网规划和运行,但此类数据包含的敏感信息和用户隐私数据也存在着泄露的风险。在智能电网家域网内,电力用户智能电表与智能家居相连,智能家居提取用户大量的个人隐私信息,缺乏安全保障的智能电表成为黑客获悉用户行为等隐私数据的重要“后门”[1-4]。据腾讯安全威胁情报中心发布的《2020年公有云安全报告》,物联网设备生成流量而发起的大型分布式拒绝服务(distributed denial of service,DDOS)攻击事件呈上升趋势,是现今最为流行的安全事件之一,保护智能电网信息安全成为亟待解决的问题。

我国十分重视数据隐私保护的相关研究,并通过了政策法规等形式进行安全保障。2017年6月,《中华人民共和国网络安全法》正式实施,这一法律的颁布为关键基础设施重要数据和公民个人隐私信息的保护提供了法律保障。同年,国家互联网信息办公室发布《数字中国建设发展报告》,提出加强信息基础设施的网络安全防护,同时严厉打击侵犯公民个人隐私等违法犯罪行为。除政策法规外,也采用技术防护措施对数据进行安全保护。文献[3]针对非侵入式负荷监测技术面临着用电信息泄露的可能,基于国际经典密码算法提出了一种混合密码保护方案。文献[5]基于可信计算中心的远程匿名认证技术,提出可信智能电表概念,以保护用户的隐私信息不受影响。文献[6]基于混合密码算法,提出一种新的身份验证和密钥协议方案,以保证信息的安全运行。文献[7]针对智能电网调度控制系统中的数据加解密算法进行了优化,以提高数据保护的安全性和时效性。物联网网关中可信计算平台模块[8-9]的信息安全保护算法方案,采用SHA-1算法和高级加密标准(advanced encryption standard,AES)算法对网关操作系统和节点信息采集进行验证加密等一系列操作步骤,应用到智能设备的保护上,可实现一套完整的物联网网关可信计算平台模块。

基于对智能电网数据隐私的保护,本文分析电力数据所面临的用户隐私泄露问题及信息泄露的途径,并对国际经典密码算法进行讨论,最后对AES算法在信息安全防护领域中的应用开展研究。将AES算法移植入STM32单片机中,并利用Visio Studio2017+Qt软件开发测试界面对AES算法进行性能测试,分析AES各加密模式和3种密钥长度对加解密计算耗时的情况,为今后相关问题研究提供一种方向与思路。

1 数据信息泄露的途径和面临的威胁

随着智能IED的广泛应用,电力用户与信息世界更加紧密地联系在一起。智能电网能够在电力用户与智能IED信息流之间实现更好的人机交互。如智能家电的信息多数使用“云端存储”技术,采用智能化和网络化的信息交互一体化模式,能实时记录用户使用家电时的运行情况,根据用户的使用习惯,提前制订相应的计划[10-11]。国外的“亚马逊”语音助手,能将收到的每一条语音指令信息收集起来,更好地提升用户体验。但随着这种“跟踪式”的信息收集技术的普及,再加上如今市场上还没有行业标准的管制,各运营商产品质量参差不齐,黑客可利用网关的漏洞绕过监管就能对电力用户进行各种攻击,如图1所示。

图1 用户信息面临的威胁和泄露的途径Fig.1 Threat of user information and the way of leakage

黑客可能攻击智能电表来获取电力用户的个人隐私信息,主要表现在以下3个方面:

a)窃听攻击。黑客利用网络技术对智能电表实施大规模的攻击,攻破其中的保护程序,从数据库中截获用户具体到每日或每时的各类用电数据[12],并通过对所窃取的数据加以分析和整合,推算出用户各种家电的具体工作模式,如正在开启状态还是待机模式,从而获取家中是否有人等信息。

b)篡改攻击。黑客可能攻入服务后台,从大量数据中筛选出电表的核心数据加以篡改,侵入用户相关智能设备,配对接管相关联的设备,使电视机自动播放频道、照明灯不受控制地亮灭,带来极差的用户体验[13]。美国东北大学的网络安全研究员丹尼斯·吉斯就曾谈到类似的事件,在芬兰的2栋公寓内曾发生黑客通过DDOS攻击用户的中央供暖系统,致使公寓整个周末无法供暖,对于芬兰这种高纬度寒冷天气的城市,黑客的行为无疑给用户的正常生活造成较大影响

c)伪装攻击。黑客在截取得用户信息后,以私人信息为媒介,伪装成合作伙伴对用户进行诈骗,损害用户的财产和信誉[14-15]。

2 数据密码技术

为了防止黑客攻击,保护电力数据的信息安全,常采用密码技术,以保证即使数据被劫持也不会泄露有效信息。密码技术作为最基本的安全技术,是保护电力数据安全存储和传输的有效途经。数据加密的基本过程就是对明文进行处理,使其成为一段不可读的密文形式,只有输入相应的密钥之后才能输出原明文,通过这种方式防止数据被不法分子窃取、阅读。应用于智能电网的国际经典加密算法有哈希算法、非对称算法和对称算法,各算法定义如图2所示。

图2 密码算法的分类Fig.2 Classification of cryptographic algorithms

哈希算法即散列函数,是一种单向密码体制,只有对电力数据进行加密的过程,没有解密过程,可用作对电力数据的完整性校验。

非对称算法为双密钥体制,密钥分为公钥和私钥,只有掌握匹配的一对公钥和私钥才能完成对数据的加解密。若公钥被截取,没有与之匹配的私钥也不能完成对数据的解密,而且对密文或密钥加密的密钥值和对密文或密钥解密的密钥值是不同的,从而对信息的安全起到了很好的保障作用。非对称加密算法有RSA算法、SM2算法。RSA算法是目前最有影响力的非对称加密算法,被普遍认为是最优秀的公钥方案之一。RSA算法是第一个能同时用于加密和数字签名的算法,能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。SM2算法是我国具有自主知识产权的国产密码算法之一,在我国商用密码体系中用来替换RSA算法。RSA算法与SM2算法都具有很高的安全性,但其加密原理及构造复杂,因此加解密速度较慢,仅适用较少的数据流,可用于需要进行密钥管理和ID认证的应用场合。

对称加密算法又称为共享密钥加密,其加解密效率高,并且使用长密钥时难以被破解,因此在智能电网中常用于加密敏感大数据。对称加密算法共享密钥,因此密钥的保管是数据安全的关键。若能解决密钥管理上的安全问题,对称加密算法便能成为智能电网数据保护的“贴身保镖”。智能电网中包含海量的数据,需要较快的处理速度,综合考虑信息安全和加解密效率,对称加密算法是较优的选择。对称加密算法有SM4算法、AES算法,SM4算法是我国采用的一种分组密码标准,AES算法是美国技术机构的电子数据加密标准。为了适应不同的需求和不同的情况,AES算法提供5种不同的工作模式,分别是电码本(electronic code book,ECB)模式、密码分组链接(cipher block chaining,CBC)模式、计算器(counter,CTR)模式、密码反馈(cipher feed back,CFB)模式和输出反馈(output feed back,OFB)模式。AES算法已成为电力行业中最流行的算法,基于对数据保密性和效率的要求,本文选择对称加密的AES算法进行分析与应用。

3 AES算法

采用密码算法对数据进行加密是一种主动的安全防护策略,智能电网常使用AES算法对敏感数据进行保护。AES算法具有高效且安全性能较好等特点,能够抵御各种侵入式攻击,如差分攻击和线性攻击等[16]。AES算法在数据保护方面既阻断了不法分子企图利用智能IED在使用过程中存在的漏洞进行程序攻击,又确保用电数据在传输和调用过程中的安全性,为数据保护提供一层强有力的屏障[17-18]。

AES算法的密钥支持3种长度——AES-128、AES-192、AES-256,密钥长度越长,加密轮数越多。随着加密轮数增加,加密过程更复杂,破解难度也更高,较长的密钥长度可保证算法的安全性[19-20]。AES算法的处理单元是分组,分组的128 bit数据(16字节)会按照顺序赋值到4×4的状态矩阵(state)中,所有变换都是基于状态矩阵完成的。AES变换是通过多轮迭代的轮变换实现的,迭代次数与密钥长度有关。以AES-128为例,轮变换包括4步变换:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。加解密中每轮的密钥分别由种子密钥经过密钥扩展算法得到。通过非线性变换、混合函数变换,将字节替代运算产生的非线性扩散,达到重复混合,使得加密完成后的分组扩散更均匀。轮密钥扩展将原始密码扩展成11组,每轮迭代使用不同的密钥。

为了适应不同的需求和不同的情况,AES算法提供了ECB、CBC、CTR、CFB、OFB 5种加密模式[21],各模式性能分析如图3所示。CBC模式的安全性高于ECB模式,但在分组加密的过程中会发生误差传送。OFB模式和CFB模式加密速度快,安全性高,两者均会发生误差传送,1个明文单元损坏会影响多个单元。CTR模式加密是没有误差的,解密可能存在误差。因为密文需要经过网络传输传送到接收方,黑客攻击或网络传输问题的存在会造成密文数据失真。在这种情况下,根据CTR模式的特点,解密结果只会在有失真数据的分组存在误差,对于没有失真数据的分组,解密结果与明文一致,即密文的某一处数据失真不会影响到整个密文的解密结果[22]。

4 AES算法性能测试分析

智能电网数据相对于信息领域的其他普通数据而言,对实时性有一定要求,尤其是IED普遍采用嵌入式设备,其运算能力和存储能力远低于信息领域的服务器,如何在有限的条件下实现高效的数据加密是关键问题之一。AES算法对用电数据加解密需要消耗一定的计算时间,且AES算法涉及5种工作模式和3种密钥长度,因此必须优选出一种最佳的运行模式。本文以经济有效的STM32单片机为载体运行AES算法进行测试分析[23],试验平台如图4所示。

图4 试验平台Fig.4 Test platform

试验平台由PC上位机和下位机单片机硬件平台组成。

a)PC上位机界面利用Visual Studio 2017+Qt5工具开发,其功能为通过串口发送命令到下位机以接收从单片机反馈回的信息,发送的命令包括AES算法模式、密钥长度和智能电网数据,接收的信息则是在设定条件下各种算法模式在单片机运行中所需测试性能。

b)下位机单片机平台采用STM32H743IIT6型号ARM芯片搭建,该芯片为高性能的32位ARM Cortex-M7MCU,工作频率可达480 MHz。从OpenSSL函数库中单独抽取AES算法并移植到单片机中,下位机根据上位机发送的指令运行加解密算法,并通过串口与上位机软件进行通信。

图5为自行开发的AES算法测试界面图,从图中可直接读出明文、密文、加解密耗时、AES算法的模式选择等信息,并设置加密和解密2种方式来验证测试的准确性。

图5 AES算法测试界面Fig.5 AES algorithm test interface

4.1 密钥长度对加解密耗时的影响

AES算法采用分组密码体制,每个加密块大小为128 bit,允许的密钥长度为128 bit、192 bit和256 bit。为探究密钥长度对耗时的影响,本测试选取AES算法的CTR模式测试在128 bit、192 bit、256 bit密钥长度下的加解密耗时趋势,如图6所示。

图6 密钥长度对AES-CTR模式加解密耗时的影响Fig.6 Influence of key length on encryption and decryption time in AES-CTR mode

由图6可知:128 bit、192 bit、256 bit密钥长度下,加解密耗时均随明文长度的增加而增加,呈线性关系;在同一明文长度下,随着密钥长度增加,即加解密安全性提升,加解密效率明显降低。

经测试,AES算法其他模式的加解密时间与CTR模式表现一致,与明文长度呈线性关系,各模式的加解密时间在同一密钥长度下的时间差分析见表1。由表1可得,CTR模式的加解密时间几乎一致,而CBC模式与OFB模式加密和解密耗时差值波动较大。

表1 加密和解密耗时差值分析Tab.1 Encryption and decryption time difference analysis

4.2 不同加密模式加密计算耗时分析

图7为192 bit密钥长度下,AES算法不同加密模式的加密耗时趋势。在密钥长度一定的情况下,各模式加密耗时随着数据量的增加而增加,加密时间均呈完全线性增长,其中:ECB、CBC、CFB和OFB这4种模式加密耗时相近,均值绝对值相差小于0.1 ms;CTR模式较前4种模式加密耗时较长,在明文长度36 000 bit时差值约为0.87 ms。CTR模式的加密原理是将明文分为N个模块,在N个时钟脉冲下将N个计数器转化为N条密钥流,在一定条件下将N个明文模块和N条密钥流整合为N个密文模块,能完成一次一密。CTR在处理数据传输的过程中能将误差降到最低,保证数据传输的安全性。CTR模式在40 000 bit明文长度下较前4种模式计算耗时高出约1 ms,可近似看作当数据量较少时,AES算法的5种加密模式计算耗时相等。因此,可认为CTR模式的均衡性较好。

图7 192 bit密钥长度下AES算法各加密模式的加密耗时趋势Fig.7 Time consuming trend of AES encryption modes with 192 bit key length

5 结论

智能电网实现了信息流和电力流的双向融合,但随着智能电网不断提升的开放性,电力数据也面临着日益严峻的安全和隐私问题。本文通过分析电力数据面临的安全威胁,从保护数据机密性出发,对AES算法进行了性能测试。结论如下:

a)分别在密钥长度128 bit、192 bit、256 bit下,对AES算法进行测试,结果显示在2 000~40 000 bit明文长度时,3种密钥长度加解密耗时均随明文长度的增加而增加,呈完全线性关系。

b)在同一明文长度下,密钥长度越长,加解密耗时越长。

c)AES算法各种模式的加密时间均随明文长度的增加而增加,ECB、CBC、CFB和OFB这4种模式的加密时间基本重合。

d)在数据量较少时,可认为AES算法5种模式的计算耗时相同,且CTR模式在处理数据过程中的误差程度会降到最低,高效率保证数据传输的安全性;因此,CTR模式的均衡性较好。

猜你喜欢

加解密明文密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
奇怪的处罚
PDF中隐私数据的保护方法
电子取证中常见数据加解密理论与方法研究
奇怪的处罚
基于FPGA的LFSR异步加解密系统
四部委明文反对垃圾焚烧低价竞争