基于标准加密算法的智能电能表通信安全方案设计

2018-10-16 01:37许金宇熊剑曹子涛
电测与仪表 2018年17期
关键词:身份验证加密算法电能表

许金宇,熊剑,曹子涛

(国电南瑞科技股份有限公司,南京 211106)

0 引 言

随着智能电网的深入建设和智慧城市的发展要求,以及“电,水,气,热四表合一”试点的快速推进[1],除具备基本的电能计量功能外,电能表正逐步向家庭能源网关发展。数据通信是电能表能够与远程主站交互,实时反馈监测用户侧电能质量及设备运行状态,远程负荷控制,采集水、气、热表数据,与户内用户终端交互,实现用户与能源企业互动的关键[2-3]。

电能表内数据除用作能源消费结算外,还能够通过分析用户消耗能源的时段分布等信息推测出用户的日常活动规律。随着电能表应用越来越广泛,如何在与多种不同设备交互的基础上,确保数据通信安全成为必须要解决的问题。

文献[4]分析了智能电能表在通信中存在的安全问题,并简要提出对应的安全策略,未深入研究具体的实现方案。

文献[5]提出了一种适用于智能电能表的多重防护安全通信协议(BIMP),BIMP主要采用国密SM1算法保证数据通信安全,SM1算法不公开,需要使用专用加密芯片,不利于多设备之间的互联互通。

在对电能表通信过程中存在的安全问题进行分析后,提出了面向多设备的身份验证和访问权限设计,经过对比分析选择满足电能表数据通信安全需求的标准公开加密算法,并通过安全方案设计保证电能表与多设备的通信安全。

1 电能表通信安全问题分析

电能表通过双向通信网络与数据集中器,水表,气表,热表,户内交互终端等设备进行信息交互。非法人士通过某些手段可以对通信网络进行攻击,获取控制权限,对计量数据进行窃听,截获,篡改或者伪造,造成计量数据紊乱和关键参数错误,甚至控制继电器误动作,引发重大安全事故[6-7]。主要从设备身份验证及访问权限和双向数据通信安全两个方面分析电能表数据通信中面临的安全问题。

1.1 设备身份验证及访问权限

随着智能电能表的发展,原先单一客户端访问电能表的模式已不能满足要求。管理员、一般用户、集中器、水表、气表、热表、户内交互终端以及其他第三方授权设备都会对电能表进行访问。不同设备应当具备不同的权限,如管理员可以对电能表参数进行设置,控制电能表继电器断合闸;一般用户则只允许获取当前数据;水气热表则只能够将各自计量数据推送给电能表。对于当前电能表,只要通信协议能够被电能表解析,则电能表都会执行相应命令,并未对访问权限做严格区分。未经授权人员可能使用电能表能够解析的通信协议通过公共客户端对电能表执行控制,参数修改,数据读取等不法操作。因此,需对客户端身份进行验证,并在电能表数据访问管理中对客户访问权限做严格区分。

1.2 双向数据通信

在电能表与其它设备的通信过程中,存在着较多的安全风险,主要面临以下三种威胁:

(1)通信数据被截获,窃听;

(2)通信数据被篡改,伪造;

(3)通信数据被录制,进行重放攻击。

相应的安全要求和应对策略如图1所示。

图1 安全风险及要求、策略

应对电能表通信中存在的安全风险,需要采取相应的安全策略应对,上述威胁分别对数据的保密性,完整性,真实性,时序性提出要求。数据加密技术可以保证窃听者无法对传输数据按照通信协议进行直接解析;消息认证结合认证密钥对传输的消息生成一串数据校验码,能够有效的保证数据的完整性和真实性;电能表与客户端设备建立通信连接后,对收发的数据帧次数进行维护,并将帧计数器作为输入参数代入到数据的加密中,可有效防护报文录制重放攻击。

2 设备身份验证及访问权限设计

电能表中的数据较为复杂,包括电量,水气热表数据,各种事件告警记录,以及费率参数、电能表拉合闸控制命等。不同类型的访问客户,应只能访问其对应权限的数据,且对应于数据的重要性,需要达到的安全访问要求也不一致。客户端与服务器进行通信时,客户端通过访问电能表的不同数据接口对象实现对特定数据的访问或控制。文中对客户端进行分类,根据不同类别的客户端进行不同级别的身份认证,授予它们不同的数据访问权限。

2.1 设备分级身份验证设计

在电能表与客户端设备建立应用层连接前,电能表需对客户端的身份进行验证。每个客户端根据安全需求对应相应级别的身份验证要求,电能表总响应比设计需求更高的身份验证访问[8]。文中设计三个级别身份验证方式:

None(最低安全访问级别),在这个安全访问级别,客户端可以直接访问电能表的相应数据,一般被公共客户端用作获取电能表的基础公开数据;

LLS(低安全级别),基于口令密码验证的低级别安全性访问,在低级别安全机制下,用户在请求连接数据帧中只要求提供一个身份验证密码。当通信信道本身具备安全性,能够有效防止报文反演和报文窃听时,结合数据访问权限要求,就可只需进行低级别的安全认证,如通信信道已对传输数据进行加密处理并对载波子节点进行身份验证的G3载波通信;

HLS(高安全级别),基于数据加密认证的高级别(HLS)安全访问,电能表与客户端设备进行双向身份验证。双向身份验证机制采用四步验证的方式。第一步,客户端设备生成一个随机数(CtoS),使用加密密钥将带有随机数及客户端信息数据(C)的信息加密,密文发给电能表;第二步,电能表内部生成一个随机数(StoC),使用加密密钥将带有随机数及电能表信息数据(S)的信息加密,密文发给客户端设备;第三步,客户端设备对第二步中收到的电能表密文信息进行解密,判断电能表信息后,使用认证密钥对随机数(StoC)进行认证并返回给电能表;第四步,电能表判断客户端设备返回的(StoC)与第二步中生成的一致后,对第一步中收到的密文信息进行解密,并对获得的(CtoS)进行认证后返回给客户端,由客户端验证电能表的身份。如通信信道为开放型网络,则推荐使用高安全级别的双向身份认证机制。双向身份认证流程如图2所示。

图2 双向身份认证

2.2 对象访问权限设计

电能表为每一种类别的客户端设备分配一个客户端ID用作对象区分,客户端类型分类如表1所示。

表1 客户端类型分类

电能表内所有可访问对象对应每一种类型的客户端都分配相应的访问权限。以电能表表号,有功电能,水表数据,过压阀值,继电器动作,密钥管理为例,举例说明如表2所示。

表2 电能表对象访问权限

3 数据传输安全方案设计

从原理上通常可以将加密算法分为两类:对称加密算法和非对称加密算法。

对称加密是一种单钥密码体制,其特点是资源消耗小、加解密速度快、加密效率高,该加密算法主要用于高效处理大量的数据。

非对称加密算法采用的是双钥密码体制,加密算法强度高,但是由于其算法复杂,非常占用资源的,对CPU消耗比较大,加密速度较慢。

电能表及其它交互设备,受限于成本等因素,处理器的计算能力和资源有限,且电能表与其他设备间交互频繁,数据量大。因此文中选择对资源要求低,能高效处理大量数据的对称加密算法进行数据传输安全方案设计。

3.1 加密算法优化选择

常用的对称加密算法有DES,AES,国密SM1等[9-10]。其中,DES运算速度快,但密钥长度只有56 bits,无法应对穷举法,且能够被差分和线性密码分析破解。AES 是美国国家和标准技术研究所(NIST)发布的公开的高级区块加密标准,密钥长度可以是128 bits,192 bits或256 bits。最短128 bits的密钥长度足以应对穷举法的攻击。针对差分和线性密码分析,AES使用宽轨迹策略能够做到有效对抗。国密SM1是非公开算法,必须集成使用专用加密芯片,不利于电能表与多设备的互联互通。

AES-128[11]是一种分组加密算法,对明文按一定长度分割后进行分组加密。AES中基本的电子密码本(ECB)模式,使用加密密钥对明文块进行加密,明文分组时的相同明文块加密后产生相同的密文,明文中数据的相同排列将会被反映在密文中。使用AES的计数器(CTR/ Counter)模式,加密密钥结合自增算子对分组后的明文块进行加密,可有效解决ECB模式中相同明文块加密得到相同密文的问题。

对数据的完整性,不带加密的单向HASH(散列函数)函数,对要保护的数据计算hash值得到固定长度的校验码。但如果攻击者对原始数据修改后,通过hash算法重新计算出hash校验码,并将新的校验码与被篡改后的数据一同发给接受方,数据的真实性无法被保证。因此需要有独立的认证密钥结合被保护数据共同生成数据的校验码。伽罗瓦消息验证码GMAC ( Galois message authentication code mode)就是利用伽罗华域乘法运算来计算消息的MAC值,输入一个独立的认证密钥和要保护的内容得到消息验证码,篡改者因为没有认证密钥将无法仿造受信的消息验证码。

GCM(Galois/Counter Mode)即是GMAC与CTR的组合,可提供对数据保密性,完整性,真实性的保护,且为公开算法。结合安全性,互操作性以及运算速度,文中设计选择AES-128-GCM作为加密算法。

3.2 数据传输安全方案设计

电能表与客户端设备通信,应当保证传输过程中数据的保密性,完整性,真实性以及时序性。采用AES-128-GCM安全算法加解密处理流程如图3所示。

图3 加解密处理过程

为便于理解,以AES-128-GCM数据加密为例,数据加密过程中的输入/输出描述见表3。

表3 加密过程输入/输出描述

其中,初始化向量IV由两部分组成:12个字节的固定部分客户端设备标识和4个字节的可变部分通信报文帧计数器。固定部分使用客户端设备的设备标识,每一个客户端设备都有唯一的设备标识,保证相同的明文信息,不同的设备加密后的密文不一样。可变部分选用通信报文帧计数器,每次信息交互后,帧计数器自动累加,由电能表与客户端设备共同维护,可有效防止重发攻击,保证信息的时序性。

EK使用16个字节的加密密钥,与IV配合对明文信息进行加密,可有效保证传输信息的保密性。

AK使用16个字节的认证密钥,对计算出的密文信息进行计算,生成12个字节的消息验证码,确保密文传输过程中不会被篡改,保证信息的完整性和真实性。

3.3 密钥更新机制

电能表在出厂时根据设备标识映射生成出厂主控密钥,主控密钥用来保护电能表加密密钥和认证密钥的更新,加密算法依旧采用AES-128-GCM。电能表为每一个客户端设备分配一组加密密钥和认证密钥,各客户端设备密钥相互独立,互不关联。电能表正式挂网运行后,首先立即更新主控密钥,用更新后的主控密钥保护各加密密钥和认证密钥的更新。

4 结束语

电能表的通信安全在智能电网和智慧城市的快速发展下成为一个非常关键的问题。在分析电能表通信中的安全需求后,通过对客户端设备分级身份验证和数据对象访问权限控制,以及数据传输安全方案设计,保证电能表被多设备访问的安全性和互操作可行性,同时为未来可能增加的客户端设备留有通信扩展接口。

参 考 文 献

[1] 华隽. “四表合一”采集实现原理及未来发展形势研究[J]. 电力与能源, 2016, 37(4): 445-447.

Hua Juan. “Four-Meter Unified” Collection Principle and Its Future Development[J]. Power & Energy, 2016, 37(4): 445-447.

[2] 胡江溢, 祝恩国, 杜新纲, 等. 用电信息采集系统应用现状及发展趋势[J]. 电力系统自动化, 2014, 38(2): 131-135.

Hu Jiangyi, Zhu Enguo, Du Xingang, et al. Application Status and Development Trend of Power Consumption Information Collection System[J]. Automation of Electric Power Systems, 2014, 38(2): 131-135.

[3] 章鹿华, 王思彤, 易忠林, 等. 面向智能用电的家庭综合能源管理系统的设计与实现[J]. 电测与仪表, 2010, 47(9): 35-38.

Zhang Luhua, Wang Sitong, Yi Zhonglin, et al. The Design and Implementation of Family Comprehensive Energy Management System Facing the Smart Power[J]. Electrical Measurement & Instrumentation, 2010, 47(9): 35-38.

[4] 张明远, 徐人恒, 张秋月, 等. 智能电能表数据通讯安全性分析[J]. 电测与仪表, 2014, 51(23): 24-27, 34.

Zhang Mingyuan, Xu Renheng, Zhang Qiuyue, et al. Data Communication Security Analysis of the Smart Electric Energy Meter[J]. Electrical Measurement & Instrumentation, 2014, 51(23): 24-27, 34.

[5] 赵兵, 翟峰, 李涛永, 李保丰, 等. 适用于智能电能表双向互动系统的安全通信协议[J]. 电力系统自动化, 2016, 40(17): 93-98.

Zhao Bing, Zhai Feng, Li Taoyong, et al. Secure Communication Protocol for Smart Meter Bidirectional Interaction System[J]. Automation of Electric Power Systems, 2016, 40(17): 93-98.

[6] 孙楠, 贺永胜, 刘剑欣. 基于DLMS/COSEM协议的集中器通信安全防护技术[J]. 电力信息与通信技术, 2015, 13(9): 120-127.

Sun Nan, He Yongsheng, Liu Jianxin. Communication Security Protective Technology of Concentrator using DLMS/COSEM[J]. Electric Power Information and Communication Technology, 2015, 13(9): 120-127.

[7] 路保辉, 马永红. 智能电网AMI通信系统及其数据安全策略研究[J]. 电网技术, 2013, 37(8): 2244-2249.

Lu Baohui, Ma Yonghong. Research on Communication System of Advanced Metering infrastructure for Smart Grid and Its Data Security Measures[J]. Power System Technology, 2013, 37(8): 2244-2249.

[8] DLMS UA 1000-2 Ed. 8.2, DLMS/COSEM Architecture and Protocols[S].

[9] 孙维东, 俞军, 沈磊. 对称加密算法AES和DES的差分错误分析[J]. 复旦学报(自然科学版), 2013, 52(3): 297-302.

Sun Weidong, Yu Jun, Shen Lei. Differential Fault Analysis on AES and DES[J]. Journal of Fudan University(Natural Science), 2013, 52(3): 297-302.

[10]闫永昭, 郑金州. 基于国密SM1算法的CPU卡应用[J]. 现代电子技术, 2013, 36(15): 82-83, 87.

Yan Yongzhao, Zheng Jinzhou. Application of CPU card based on SM1 cryptographic algorithm[J]. Modern Electronics Technique, 2013, 36(15): 82-83, 87.

[11]IEEE 802.1 AEbn-2011, Local and metropolitan area networks-Media Access Control (MAC) Security-Amendment 1: Galois Counter Mode-Advanced Encryption Standard-256 (GCM-AES-256) Cipher Suite[S].

猜你喜欢
身份验证加密算法电能表
巧数电能表
认识电能表
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
电能表自动化检定机器人可靠挂卸表方案设计与实现
基于MSP430+ATT7022B的三相三线多回路多功能电能表的研究
对称加密算法RC5的架构设计与电路实现
基于Arnold变换和Lorenz混沌系统的彩色图像加密算法
身份验证中基于主动外观模型的手形匹配