文章快速检索     高级检索
  浙江大学学报(工学版)  2018, Vol. 52 Issue (6): 1177-1184  DOI:10.3785/j.issn.1008-973X.2018.06.017
0

引用本文 [复制中英文]

卢昕, 程雨诗, 张天晨, 徐文渊. 面向配电网分布式控制的轻量级身份认证技术[J]. 浙江大学学报(工学版), 2018, 52(6): 1177-1184.
dx.doi.org/10.3785/j.issn.1008-973X.2018.06.017
[复制中文]
LU Xin, CHENG Yu-shi, ZHANG Tian-chen, XU Wen-yuan. Light weight authentication technique for distributed control of power distribution network[J]. Journal of Zhejiang University(Engineering Science), 2018, 52(6): 1177-1184.
dx.doi.org/10.3785/j.issn.1008-973X.2018.06.017
[复制英文]

基金项目

国家“863”高技术研究发展计划资助项目(2015AA050202)

作者简介

作者简介:卢昕(1993-), 男, 硕士生, 从事智能电网信息安全的研究.
orcid.org/0000-0003-1287-4701.
Email: luxin1993@zju.edu.cn

通信联系人

徐文渊, 女, 教授.
orcid.org/0000-0002-2428-973X.
Email: wyxu@zju.edu.cn

文章历史

收稿日期:2017-03-23
面向配电网分布式控制的轻量级身份认证技术
卢昕, 程雨诗, 张天晨, 徐文渊     
浙江大学 电气工程学院, 浙江 杭州 310027
摘要: 提出基于一次性签名(OTS)的轻量级身份认证算法.考虑到常规一次性签名算法存储开销巨大,结合配电网分布式控制的特点对一次性签名的参数进行优化,设计可扩展为认证多个终端的密钥管理方案.在计算机和嵌入式平台上实现该算法并进行相关的实验.嵌入式平台实验结果表明:该算法实用高效,可以满足配电网分布式控制对于关键报文传输性能的要求,解决了配电网分布式控制的身份认证存在数据传输实时性要求高、终端计算能力有限、传统数字签名算法计算开销大等问题.
关键词: 配电网    分布式控制    身份认证    一次性签名(OTS)    密钥管理    
Light weight authentication technique for distributed control of power distribution network
LU Xin , CHENG Yu-shi , ZHANG Tian-chen , XU Wen-yuan     
College of Electrical Engineering, Zhejiang University, Hangzhou 310027, China
Abstract: A lightweight authentication algorithm utilizing one-time signature (OTS) was proposed. The parameters of OTS were optimized combined with the mechanism of the distributed control of distribution networks to significantly reduce the storage cost and design a key management scheme that can be applied to multi-terminal authentication. The proposed algorithm was verified both on the PC and embedded platform. Results show that the algorithm is efficient and satisfies the time-critical requirements of data transmission. The algorithm has achieved balance between security and overhead of the distributed control in power distribution networks.
Key words: power distribution network    distributed control    authentication    one-time signature (OTS)    key management    

信息通信技术在配电网中的广泛应用, 促使现代配电网逐渐演变成为信息空间和电力空间高度融合的配电网信息物理系统(cyber-physical systems, CPS).配电网CPS具有自愈性和互动性的特点, 强调通过快速故障定位隔离、网络重构等技术提高配网的供电可靠性.配电网分布式控制是一种基于智能终端(smart terminal unit, STU)测控信息对等交换的控制技术, 可以利用多个站点的测量信息提高保护控制性能, 同时改善主站集中控制响应速度, 是实现上述目标的关键支撑技术[1-3].配电网分布式控制的安全防护在正常运行中具有重要地位.由于STU具有地理位置分散、人员看守率低以及计算能力有限等特点, 因此相较于配电主站, STU更容易遭受来自黑客的攻击.在2015年12月23日发生的乌克兰大停电事件中, 黑客通过获取控制权限并下达恶意停电指令方式攻击乌克兰电力网络, 直接导致数十万用户停电[4].根据前文分析可知, 一旦黑客再次利用类似手段攻击电网, 安全防护更加薄弱的STU极有可能成为影响配电网安全稳定运行的重大隐患.从提高分布式STU安全性角度入手, 研究针对配电网分布式控制的安全防护技术, 将有望为提高配电网安全防护水平, 综合提升电力系统运行可靠性作出贡献.

配电网分布式控制安全防护的首要问题是保障数据来源的可靠性, 即对数据来源进行身份认证.关于配电网分布式控制的身份认证, 国内外相关机构尚未建立起完善的行业标准.电力国家电网调(2011)168号文件《中低压配电网自动化安全防护补充规定》[5]和国家发改委(2014)第14号令《电力监控系统安全防护规定》[6]对配电主站内部、配电主站和配电终端之间的通信制定了详细的安全防护规定, 但是未覆盖配电终端之间的信息交互部分.IEC62351[7]和IEC61850-90-5[8]建议设计电力通信的安全防护措施时,应优先对数据的来源进行认证并校验数据的完整性, 推荐HMAC作为标准算法.尽管标准提出在满足数据传输实时性的前提下, 敏感信息(如:遥控数据)可以采取更高等级的安全防护措施, 但是由于STU的计算能力有限, 传统的基于非对称加密的数字签名算法(RSA、ECC、SM2等)耗时巨大, 难以应用于配电网分布式控制.

关于电力通信中的轻量级身份认证技术, 国内外学者均开展了相关的研究.王智东等[9-10]结合IEC61850报文的特点对传统方法进行改进, 设计轻量级的加解密算法和HMAC认证算法.由于配电网分布式控制的通讯模式是STU间“一对一组”的组播, 上述基于对称密钥的算法只能用于校验数据来源是否为组内STU, 无法校验是否来自于特定的STU, 因此不适用于配电网分布式控制中敏感信息来源的身份认证.

研究配电网分布式控制的身份认证技术, 挑战主要源于以下两方面.1)兼顾身份认证算法的安全性和高效性.IEC61850对电力通信报文的实时性进行严格的规定, 徐丙垠等[1]建议配电网分布式控制的报文传输时间应小于10 ms.STU的计算能力相对有限, 难以执行传统的基于非对称加密的数字签名算法.结合配电网分布式控制的特点, 设计轻量级签名算法,以降低身份认证对通信延时的影响.2)针对STU节点规模庞大、地理位置分散等问题, 应在尽量不改动现有电力通信架构的前提下, 设计可扩展的密钥管理方案.

为了实现轻量级签名算法, Lamport[11]提出一次性签名算法的最初架构, 核心思想是将多个初始密钥进行多轮哈希运算的结果构成一组密钥序列, 将同一轮生成的所有密钥组成签名, 使用密钥序列的末端校验该签名.该算法的计算开销远小于传统的数字签名算法, 但产生的一轮密钥仅能使用一次, 因此被称为一次性签名.尽管Reyzin等[12-16]尝试对算法效率和存储开销进行改进, 但存在总体存储开销巨大的缺陷.另外, 上述研究均未涉及一次性签名算法的密钥管理, 导致一次性签名难以进行实际应用.

本文分析配电网分布式控制的工作机制, 结合其特点,设计有针对性的一次性签名算法参数和可扩展为认证多个STU的密钥管理方案.搭建试验平台,对该算法的计算开销进行实验测试和仿真测试.

1 总体框架 1.1 攻击者模型

针对配电网分布式控制的防护对象, 对攻击者作了如下假设.

1) 不考虑攻击者攻击主站的情形, 即攻击者的主要目标是攻击安全性和计算能力较弱的终端.

2) 假定系统具有足够安全的认证算法, 因此攻击者在密钥有效期内无法通过暴力破解或者字典攻击获取密钥.

3) 假设密钥分发中心具备大量安全防护措施, 攻击者不能通过攻击密钥分发中心获取密钥.

4) 攻击者可能攻破少量终端, 获得存于这些终端的密钥.

1.2 身份认证工作框架

图 1所示, 提出的配电网分布式控制身份认证的工作流程主要分为以下几个步骤:1)密钥分发中心(key distribution center, KDC)进行密钥分发;2)发送方(STU1)判断报文是否为敏感信息;3)发送方(STU1)产生一次性签名;4)接收方(STU2)校验一次性签名;5)KDC进行密钥更新.该工作框架分为身份认证模块和密钥管理模块, 其中身份认证模块负责产生和校验一次性签名, 密钥管理模块负责密钥分发和密钥更新.

图 1 配电网分布式控制身份认证工作框架 Fig. 1 Architecture of authentication for distributed control of distribution networks

身份认证模块的作用是校验敏感信息的数据来源并保障数据完整性.由于STU的计算能力相对有限, 难以执行传统的基于非对称加密的数字签名算法, 采用一次性签名算法作为轻量级身份认证算法.

密钥管理模块的作用是生成、管理、维护和分发一次性签名的密钥.其中, 需发送敏感信息的STU1会被分配一次性签名的私钥, 产生具有敏感信息的GOOSE报文后,STU1会用私钥对GOOSE报文进行一次性签名, 并将GOOSE报文和一次性签名通过组播的方式发送到局域网;其余STU被分配该私钥对应的公钥, 若某个STU在组播通信网络中订阅了来自STU1的信息, 则使用公钥对一次性签名进行校验.

2 一次性签名 2.1 单向哈希链

一次性签名是基于单向哈希链(one-way hash chains)[11]的数学性质进行签名和校验的轻量级签名算法, 安全性、计算开销和存储开销受单向哈希链的影响, 因此首先介绍单向哈希链的基本概念.单向哈希链的生成过程如下:对初始密钥进行多次哈希运算, 把每次哈希运算的结果组成一个密钥序列, 即单向哈希链, 机制如图 2所示.

图 2 单向哈希链机制 Fig. 2 Mechanism of one-way Hash chains

对于同一条单向哈希链中的密钥kxky(x>y), kxky之间存在以下关系:

$ {k_y} = {H^{x - y}}\left( {{k_x}} \right). $ (1)

式中:ki0≤(il)为某一条单向哈希链中的密钥, xy为密钥在单向哈希链中的序号, Hx-y表示进行x-y次哈希运算.

根据哈希函数的不可逆性, 在已知kx的情况下,可以通过式(1)推算出ky;反之, 已知ky无法推算出kx.为了防止密钥的泄露, 密钥的使用顺序与密钥生成顺序相反, 即序号i越小, 密钥ki越先被使用.单向哈希链的密钥具有“逆向生成、正向使用”的特点.

2.2 基于哈希随机子集的一次性签名

一次性签名的基本思想是从1组数量较大的私钥中挑选少量私钥作为数字签名, 同时将所有私钥通过单向哈希链生成的密钥作为公钥, 利用单向哈希链的机制对该签名进行校验.哈希随机子集(Hash obtain random subset, HORS)算法被认为是目前密钥利用效率最高的签名生成算法, 基于HORS的一次性签名算法具体如下, 算法中涉及的变量如表 1所示.

表 1 HORS算法的变量说明 Table 1 Notation table for HORS

1) 密钥生成.首先随机产生私钥组{s0, s1, …,sN}, 然后通过单向链生成函数产生对应的公钥{p0, p1, …,pN}.

2) 签名.首先利用哈希函数产生Message的MAC, 然后将MAC打散成t个子块{b1, b2, …,bt}.设数组{i1, i2, …,it}为子块{b1, b2, …,bt}对应的十进制取值, 得到如下签名:signature=si1si2‖…‖sit, 其中‖为字符拼接函数.

3) 校验.根据收到的Message和待校验的签名, 校验数据来源及数据的完整性.首先利用和签名相同的方法,产生MAC'和数组{i'1, i'2, …, i't};然后计算用来校验的公钥:public=pi'1pi'2‖…, pi't, 其中‖为字符拼接函数.最后, 用单向哈希链生成函数校验签名:pi'u=f(siu), 1≤ut.

2.3 参数说明

根据2.2节的介绍可以发现,影响HORS算法性能和安全性的主要参数为rNwltn和哈希函数(见表 1).下面将作具体分析.

1) 哈希函数:HORS的安全性和计算速度均依赖于哈希函数.常用的哈希函数(如MD5、SHA-1、SHA-256)安全性越高, 对应的计算速度越慢.

2) l与哈希函数:MAC的长度由哈希函数决定, 例如SHA-1和SHA-256对应的l取值分别为160 bit和256 bit.签名需公开的私钥个数和单向哈希链的校验次数与l成正比, 即l越大, 私钥暴露的风险越大, 对应的计算速度越慢.

3) Nltn:根据2.2节的有关内容可见:l=nt.为了防止签名的下标越界, 应满足:N≥2n-1.参数Ntn对存储开销、安全性、计算速度的影响如下:1)N越大, 密钥所需的存储空间越大;2)t/N越小, 则公开私钥所占比例越小, 私钥泄露的可能性越低;3)t越小, 所发送的私钥个数即所需校验的私钥个数越少, 校验所需的计算量越少.HORS算法为了保证安全性和计算速度, 必然需要消耗大量的存储空间.

4) r:由于HORS每次签名均会公开一部分的私钥, 为了保证私钥不泄露, 当签名超过一定次数后, 需要将私钥更换为单向哈希链中的下一轮私钥或者进行密钥更新.密钥更新周期越长, 所需的单向哈希链越长.由于单向哈希链“逆向生成、正向使用”的特点, 随着签名次数的增加, 当前私钥在单向哈希链的位置越靠后, 校验所需的哈希运算次数越多.

5) w:为了防止哈希碰撞和私钥的重合, 需要将w设置为较大的整数.w越大, 所需的存储开销越大.

2.4 配电网分布式控制与参数选择

用户对供电质量要求的提高以及分布式电源的大量接入对配电网的保护控制技术提出更高的要求.分布式控制凭借其仅依靠局部信息交换,即能使智能终端STU自适应地实现控制目标的特性以及对通信故障鲁棒、可实现分布式电源即插即用等优点, 相较于集中式控制方式具有更广阔的应用前景[1-3].

配电网分布式控制任务涉及的配电网站点称为相关站点;相关节点所覆盖的范围称为分布式控制任务作用域, 简称任务控制域.控制域一般位于1条放射式馈线或者有联络关系的1组馈线内, 最大不会超过以1个或多个变电站母线为边界的独立供电区域, 包含的控制站点(节点)一般不超过20个.分布式控制的实现通常要求同个控制域内的STU相互通信, 通信报文为GOOSE.

配电网分布式控制实现方式分为分布式协同控制和分布式代理控制[1].分布式协同控制指多个STU各自决策, 协同完成配电线路的故障定位、隔离以及恢复供电.一般由相邻开关的STU交换故障检测信息实现故障区段的定位与隔离;由指定的STU进行故障点下游非故障区段的供电恢复决策与控制.分布式代理控制指故障定位、隔离与恢复供电的决策均由1个STU完成.该终端被称为代理终端, 其作用与集中控制型配电主站的作用是类似的, 故障隔离、供电恢复操作的方法与步骤与集中控制型主站类似.

虽然分布式协同控制与分布式代理控制的工作机制略有不同, 但是二者有以下共同点.

1) 两种分布式控制的实现都依赖于对等通信网络交换测控信息(通信报文为GOOSE报文)进行控制决策.

2) 需要对敏感信息(如故障隔离指令和供电恢复指令)的数据来源进行身份认证.

通过分析X市某地区2015年度的故障停电数据发现, 单条馈线在长时间尺度内的故障概率较低, 因此STU在大部分时间都处于空闲状态, 只在故障定位、故障隔离、供电恢复等阶段需要执行大量的通信和计算.设置单向哈希链的长度r=1, 同时设置STU以较短的密钥更新周期在空闲状态更新密钥, 以平衡算法的安全性、计算开销和存储开销, 从而保证STU能够高效且安全实现故障定位、故障隔离、供电恢复.选择的参数如下:r=1, N=1 023, t=16, n=10, w=40, 哈希函数为SHA-1(l=160).

2.5 HORS的安全性

分析HORS的算法原理可以发现,HORS的安全性依赖于单向哈希链的安全性, 单向哈希链的安全性依赖于哈希函数的安全性.由于假设攻击者在密钥有效期无法通过暴力破解或者字典攻击获取密钥(目前破解SHA-1函数所需的计算时间为110 GPU年[17])且不考虑攻击者攻击密钥分发中心获取密钥的情形, 针对HORS的攻击有以下2种:1)攻击者通过嗅探收集一定数量的遥控报文, 从中恢复出所有的私钥;2)攻击者通过嗅探获取一定数量的报文后, 用如下方式进行哈希碰撞——篡改报文并通过对已公开签名中的私钥进行排列组合的方式产生新签名.

针对第1)种攻击, Reyzin等[12]证明在使用次数较小的情况下, 哈希随机子集为独立重复事件.由于配电网分布式控制中遥控指令间隔长(私钥使用频率低), 只要设置合理的密钥更新周期(如1 h), 即可满足文献[12]的假设, 保证HORS的安全性.

针对第2)种攻击, GOOSE报文的机制可以有效地抵御此类攻击.根据范开俊等[2]给出的配电网分布式控制使用的GOOSE报文采用的配置:事件发生后, GOOSE报文应连续发送4次, 分别设置5、10、20 ms作为传输时间间隔.另外, GOOSE报文含有时间戳并通过StNum和SqNum参数对报文的发送进行计数.攻击者所能收集到的报文为只改变有限位数的GOOSE报文且在密钥更新周期内的报文数目十分有限, 只要设置防重放机制, 即可有效抵御此类攻击.

3 密钥管理方案 3.1 密钥分发中心

密钥分发是密钥管理的核心问题, 目前常用的密钥分发方式是设立密钥分发中心(key distribution center, KDC), 由KDC负责密钥的生成、管理、分发.在配电网分布式控制的通信网络中, KDC有2种选择:1)主站;2)每个控制域设置一个KDC.

如果选择主站作为KDC, 由于STU规模庞大且地理位置分散, 存在系统开销很大、难以维护、数据传输速度慢等缺点.现有的配电网通信网络采用的101/104规约未包含密钥管理的内容, 需要对101/104规约进行相关的扩展才能满足主站作为KDC的需求.国家电网公司针对主站和终端间通信制定了详细的规定, 扩展了KDC内容的101/104规约难以通过规约一致性测试以及相关的产品测试.主站不适合作为KDC.

如果通信采用GOOSE over MAC等不能直接跨路由器的通信方式, 不同控制域的STU之间可能无法相互通信, 因此需要在每个控制域设置一个KDC.

如果每个控制域选择某个或某几个STU作为KDC, 由于STU的计算能力有限且一次性签名的密钥需要消耗大量的储存空间, 密钥生成、管理、分发的开销较大.考虑到STU执行常规的监测、通信、控制需要消耗大量的计算资源, 选择某个或某几个STU作为KDC是不合适的.选择每个控制域增设1个节点作为KDC, 该方案有以下优点.

1) 每个控制域的节点数目较少, 便于密钥管理, 系统开销小.

2) KDC不执行STU的日常工作, 有充足的计算资源执行密钥生成、分发、管理的任务.

3) 增设的节点除了执行KDC的功能外, 可扩展接入控制功能, 防止控制域内非法接入未授权节点.

3.2 密钥分配情况

本文用到3种密钥:主密钥、辅助密钥和会话密钥.主密钥是KDC为每个STU分配的一个与其身份唯一对应的密钥, 用作私钥的更新.辅助密钥是KDC为组内的STU分配的共享密钥, 用作公钥的更新.会话密钥是KDC用来签名、校验报文的密钥, 即一次性签名的私钥与公钥.

图 3所示, 密钥分配情况如下.

图 3 密钥分配结构图 Fig. 3 Structure of key distribution

1) 每个STU拥有1个主密钥, 主密钥为对称密钥, 用作KDC与STU之间的身份认证(任意2个STU的主密钥均不同).

2) 控制域内共享1个辅助密钥, 辅助密钥为对称密钥, 用作控制域内的合法性认证.

3) 每个STU拥有自身会话密钥的私钥部分, 用于生成一次性签名(任意两个STU的私钥均不同).每个STU的主密钥和自身会话密钥的私钥部分是唯一对应的, 任意2个STU的主密钥/会话密钥的私钥部分均不同.

4) 每个STU拥有所有STU的会话密钥的公钥部分, 用于校验来自其余STU的一次性签名.

3.3 密钥更新

针对每个控制域的STU之间、KDC与STU之间的通信只有组播1种方式, 设计专门的密钥更新策略, 分成以下几个部分.

1) 密钥管理.

密钥更新采用定时更新和不定时更新并存的方式.定时更新主要针对正常状态, 更新时间可以设置为30 min到48 h[8].

不定时更新主要针对突发事件, 当KDC统计的密钥使用次数超过上限(主要是会话密钥)时, 在STU的空闲时段进行密钥更新, 过程如下. a)对每个密钥进行编号, KDC建立1个密钥表负责密钥的维护;b)STU每使用密钥1次,向KDC发送已使用的密钥编号;c)KDC统计同一密钥的使用次数, 超过上限即在STU的空闲时间更新密钥.

2) 会话密钥私钥部分的更新.

私钥更新设置专门的报文格式, 每个STU分配一个私钥, 用STU对应的主密钥对报文产生HMAC, 然后对报文和认证码AES加密后发送给STU.如果STU用主密钥解密后的报文格式为私钥更新的报文, 且认证码通过校验, 则更新私钥;否则拒绝更新私钥.

3) 会话密钥公钥部分的更新.

公钥更新的报文设置专门的报文格式.以控制域内共享的辅助密钥对报文产生HMAC.STU利用控制域内共享的辅助密钥对认证码进行校验, 若报文格式为公钥更新的报文, 且认证码通过校验, 则更新密钥;否则拒绝更新密钥.

4) 主密钥和辅助密钥的更新.

主密钥/辅助密钥的更新分别设置专门的报文格式, 以旧主密钥/辅助密钥作为密钥对报文产生HMAC; 然后对报文和认证码AES加密后发送给STU, STU用自身的旧主密钥/辅助密钥解析报文并对认证码进行校验.若格式为主密钥/辅助密钥的更新报文且认证码通过校验, 则更新密钥;否则拒绝更新.

4 验证分析 4.1 仿真验证

在计算机上编写测试程序, 测试一次性签名算法的性能.计算机主要配置为CPU i54670T(主频2.3 GHz), 8 GB内存, win7 64位操作系统, 编译环境为Visual Studio 2015.测试程序采用C++编写, 测试程序所用的哈希函数为SHA-1, SHA-1的源码来自CSHA1开源算法库.

首先测试不同组Ntn参数对一次性签名性能的影响, 每组参数测试10 000次.由于实际工程应用中的GOOSE报文一般不会超过300 B, 最大为752 B, 因此测试报文的长度取为752 B.测试程序采用QueryPerformanceCounter()函数统计耗时, 测得3组参数的签名、校验的平均耗时如表 2所示, 密钥生成的平均耗时如表 3所示.表中, tsign为签名耗时平均值, tver为校验耗时平均值, Lkey为密钥长度, tgen为密钥生成平均耗时.

表 2 OTS的签名和校验耗时(仿真) Table 2 Time consumption of signing and verifying for OTS (simulation)
表 3 OTS的密钥生成耗时(仿真) Table 3 Time consumption of key generating for OTS (simulation)

然后测试报文长度对OTS的签名和校验耗时的影响.由于密钥的组数(正比于密钥生成耗时)不受报文长度的影响, 未测试报文长度密钥生成耗时的影响.测试结果如表 4所示.表中,Lmes为报文长度.

表 4 报文长度不同时OTS的耗时(仿真) Table 4 Time consumption under different message lengths (simulation)

分析表 23可以发现:增大参数N, 有利于减小校验耗时, 但是会导致密钥长度和密钥生成耗时的增加.增大参数N是通过减少所需校验的私钥的个数(参数t), 即减少校验所需哈希运算的次数, 而参数N的增大会导致密钥组数增加, 这验证了一次性签名算法的核心思想是以存储空间换计算速度.另外, 签名耗时几乎不受参数N的关系, 这是由于签名过程只需要一次哈希运算用于获得MAC和少量的位运算, 上述计算开销几乎不受参数N的影响.可见,哈希运算是一次性签名算法最主要的计算开销.综合考虑算法的计算开销、存储开销和安全性, 固定参数(N=1 023, t=16, n=10),开展后续的实验.

分析表 4可以发现:随着报文长度的增加, 签名耗时和校验耗时均会随之增加, 校验耗时与签名耗时的差值变化不大.这是由于SHA-1函数将原始消息分成多个512 bit(64 B)的数据块, 分别处理每个数据块得到消息摘要.报文长度会影响由原始报文获取MAC的哈希运算耗时.由于密钥的长度为固定值(40 bit), 校验所需的哈希运算耗时几乎不受报文长度的影响.

4.2 实验验证

在国电南瑞科技股份有限公司的PDZ-800智能配电终端(见图 4)上测试算法的耗时.PDZ-800终端以主频为400 MHz的高速双核DSP作为核心元器件, 操作系统为基于linux2.6版本的uClinux.一次性签名的测试程序与3.1节相同, 采用Linux系统sys/time.h库的gettimeofday()函数,统计算法耗时.

图 4 PDZ800智能配电终端 Fig. 4 PDZ800 Smart distribution terminal

选择参数(N=1 023, t=16, n=10), 测试不同报文长度下的OTS签名和校验耗时之和, 每组测试200次.测试结果如表 5所示.表中,tOTS为OTS的签名和校验总耗时.

表 5 报文长度不同时OTS的耗时(实验) Table 5 Time consumption under different message lengths (experiment)

表 5可知, 当报文长度为752 B时,一次性签名算法的签名和校验总耗时约为0.743 ms.考虑一次性签名在GOOSE报文的基础上增加了长度为80 B的签名(报文总长度为832 B), 总传输延时为

$ {t_{{\rm{trans}}}} + {t_{{\rm{OTS}}}} = 0.767 + 0.743 = 1.51\;\left( {{\rm{ms}}} \right). $ (2)

式中:ttrans为报文的数据传输延时, 当报文采用GOOSE over UDP传输且报文总长度为832 B时, 传输延时约为0.767 ms[2].

通信方式采用GOOSE over UDP, GOOSE报文为752 B时的总传输延时约为1.51 ms, 可以满足实时通信数据的传输延时小于10 ms的要求.

4.3 应用前景和可行性分析

基于一次性签名的身份认证技术对提高配电网安全防护水平, 综合提升电力系统运行可靠性有重要意义.随着配电网信息化的程度不断提高和外部网络安全态势的恶化, 网络空间安全与配电网可靠性逐渐相关.由于STU具有地理位置分散、人员看守率低以及计算能力有限等特点, 相较于配电主站, STU更容易遭受来自黑客的攻击.在2015年12月23日发生的乌克兰大停电事件中, 黑客通过获取控制权限并下达恶意停电指令方式攻击乌克兰电力网络, 直接导致数十万用户停电[4], 并造成巨大的经济损失.一旦黑客采取类似的方式攻击STU, 在STU不具备任何防护措施的情况下极有可能造成类似的停电损失.基于一次性签名的身份认证算法有以下2个作用.1)该算法可以校验数据的来源和数据的完整性, 防止恶意的第三方假冒具有特殊权限的STU或发送经篡改的恶意信息;2)工作人员可以通过签名快速定位被攻击的STU, 采取相关措施排除安全风险.在STU增加基于一次性签名的身份认证措施, 有助于提高配电网的供电可靠性.

基于一次性签名的身份认证算法应用于配电网分布式控制, 需要考虑的问题包括算法造成的数据传输延时和密钥的存储开销.

从算法造成数据传输延时的角度来看, 传统的数字签名算法计算开销大, 无法满足数据传输实时性的要求.例如, ADI公司的BF537开发板执行RSA算法的签名和校验总耗时约为172.4 ms[18].相比之下, 一次性签名算法签名和校验总耗时仅为0.743 ms, 对数据传输延时的影响很小.

从密钥消耗的存储空间来看, 由于一个控制域的节点数一般不超过20个, 一个控制域中的STU最多需存储的密钥包括其余STU的会话密钥的公钥部分、自身会话密钥的私钥部分(主密钥和辅助密钥的密钥长度很小, 可以忽略不计), 共计:

$ 19 \times 5.12\;{\rm{kB}} + 5.12\;{\rm{kB}} = 102.4\;{\rm{kB}}{\rm{.}} $ (3)

事实上, 分布式控制算法通常只要求STU接受相邻的STU和领导节点的信息, 因此实际的密钥存储开销约为20 KB.尽管和基于非对称密钥的数字签名算法相比, 一次性签名的密钥存储开销较大, 但是PDZ-800终端可扩展256 MB的RAM, 完全可以实现密钥的存储, 以换来安全性和计算速度的提升.

5 结语

配电网分布式控制的身份认证存在数据传输实时性高、终端计算能力有限和传统数字签名计算开销大等矛盾, 本文基于配电网分布式控制的特点, 设计基于一次性签名的轻量级身份认证算法和对应的密钥管理方案, 分别在计算机和嵌入式平台上实现该算法并进行相关的实验.根据嵌入式平台试验结果可知, 利用提出的一次性签名算法得到的签名和校验总耗时约为0.743 ms, 可以满足配电网分布式控制对关键报文传输性能的要求, 对提高配电网安全防护水平, 综合提升电力系统运行可靠性有重要意义.

参考文献
[1]
徐丙垠, 薛永端, 李天友, 等. 智能配电网广域测控系统及其保护控制应用技术[J]. 电力系统自动化, 2012, 36(18): 2-9.
XU Bing-yin, XUE Yong-duan, LI Tian-you, et al. A wide area measurement and control system for smart distribution grids and its protection and control applications[J]. Automation of Electric Power Systems, 2012, 36(18): 2-9.
[2]
范开俊, 徐丙垠, 陈羽, 等. 配电网分布式控制实时数据的GOOSE over UDP传输方式[J]. 电力系统自动化, 2016(4): 115-120.
FAN Kai-jun, XU Bing-yin, CHEN Yu, et al. GOOSE over UDP transmission mode for real-time data of distributed control applications in distribution networks[J]. Automation of Electric Power Systems, 2016(4): 115-120. DOI:10.7500/AEPS20150615006
[3]
陈晓杰, 徐丙垠, 陈羽, 等. 配电网分布式控制实时数据快速传输技术[J]. 电力系统保护与控制, 2016, 44(17): 151-158.
CHEN Xiao-jie, XU Bing-yin, CHEN Yu, et al. Real-time data fast transmission technology for distributed control of distribution network[J]. Power System Protection and Control, 2016, 44(17): 151-158. DOI:10.7667/PSPC151594
[4]
LIANG G, WELLER S R, ZHAO J, et al. The 2015 Ukraine blackout:implications for false data injection attacks[J]. IEEE Transactions on Power Systems, 2017, 32(4): 3317-3318. DOI:10.1109/TPWRS.2016.2631891
[5]
国家电网调[2011] 168号. 中低压配电网自动化系统安全防护补充规定(试行)[S]. 2011.
[6]
国家发展改革委员会. 发改委14号令: 电力监控系统安全防护规定[S]. 2014.
[7]
IEC 62351, Power systems management and associated information exchange: data and communication security[S]. Geneva: IEEE, 2007: 51-56.
[8]
IEC/TR 61850, Communication networks and systems for power utility automation part 90-5: use of IEC 61850 to transmit synchrophasor information according to IEEE C37. 118[S]. Geneva: IEEE, 2010: 321-328.
[9]
王智东, 王钢, 黎永昌, 等. 基于微型加密算法的IEC 61850-9-2LE报文加密方法[J]. 电力系统自动化, 2016(4): 121-127.
WANG Zhi-dong, WANG Gang, LI Yong-chang, et al. An encryption method for IEC 61850-9-2LE packet based on tiny encryption algorithm[J]. Automation of Electric Power Systems, 2016(4): 121-127. DOI:10.7500/AEPS20150616017
[10]
王智东, 王钢, 童晋方, 等. 一种高效的GOOSE报文完整性认证方法[J]. 电力系统自动化, 2017(2): 173-177.
WANG Zhi-dong, WANG Gang, TONG Jin-fang, et al. Efficient integrity authenticati-on method for GOOSE packet[J]. Automation of Electric Power Systems, 2017(2): 173-177. DOI:10.7500/AEPS20160518002
[11]
LAMPORT L. Constructing digital signatures from a one-way function[R]. Palo Alto: SRI International, 1979.
[12]
REYZIN L, REYZIN N. Better than BiBa: short one-time signatures with fast signing and verifying[C]//Australasian Conference on Information Security and Privacy. Australia: Springer, 2002: 144-153. http://www.springerlink.com/content/u5l9t4uk4n9vuux6
[13]
HU Y C, JAKOBSSON M, PERRIG A. Efficient constructions for one-way hash chains[C]//International Conference on Applied Cryptography and Network Security. New York: Springer, 2005: 423-441. http://link.springer.com/chapter/10.1007/11496137_29
[14]
WANG Q, KHURANA H, HUANG Y, et al. Time valid one-time signature for time-critical multicast data authentication[C]//Proceedings of IEEE INFOCOM. Rio de Janeiro, Brazil: IEEE, 2009: 1233-1241. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5062037
[15]
LI Q, CAO G. Multicast authentication in the smart grid with one-time signature[J]. IEEE Transactions on Smart Grid, 2011, 2(4): 686-696. DOI:10.1109/TSG.2011.2138172
[16]
CAIRNS K, GAMAGE T, HAUSER C. Efficient targeted key subset retrieval in fractal hash sequences[C]//Proceedings of the 2013 ACM SIGSAC Conference on Computer and Communications Security. Berlin: ACM, 2013: 1273-1284. http://dl.acm.org/citation.cfm?id=2516739
[17]
STEVENS M, BURSZTEIN E, KARPMAN P, et al. Announcing the first SHA1 collision[EB/OL]. [2017-02-23]. https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html.
[18]
ANALOG DEVICES. Crypto++ library benchmark re-sults for Blackfin 537[EB/OL]. [2009-03-17]. https://docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:libs:crypto&s[]=sha&s[]=1.