IEC62351变电站二次系统安全加固方案.pdf
《IEC62351变电站二次系统安全加固方案.pdf》由会员分享,可在线阅读,更多相关《IEC62351变电站二次系统安全加固方案.pdf(32页珍藏版)》请在沃文网上搜索。
1、IEC62351 变电站二次系统安全加固方案变电站二次系统安全加固方案 1.概述概述 通信协议是电力系统运行的最关键部分之一,它负责从现场设备取回信息和发送控制命令至现场设备。虽然通信协议具有关键作用,但迄今这些通信协议还很少加入任何安全措施。协议安全性的缺失使得攻击者一旦绕过外围的物理防护措施,直接进入调度中心或变电站内部,就可直接通过通信协议实现对现场设备的控制。安全性、安全防护和可靠性始终是电力行业中系统设计和运行的重要问题,随着变电站的智能化、网络化,电力系统越来越多依赖于信息基础设施,该行业中计算机安全正变得日益重要。通常情况下存在四种类型计算机安全威胁:1)未经授权访问信息;2)未
2、经授权修改或窃取信息;3)拒绝服务;4)抵赖或不可追溯。对应的,计算机用户或软件应用存在四种基本安全需求:1)机密性(Confidentiality):防止对信息的未经授权访问;2)完整性(Integrity):防止未经授权修改或窃取信息;3)可用性(Availability):防止拒绝服务和保证对信息的授权访问;4)不可抵赖性或可追溯性(Non-repudiation or Accountability):防止否认已发生的行为或伪称发生了行为(实际上并没发生)。下图展示了常见的攻击类型和安全威胁的关系:上述安全威胁和安全需求在电力通信协议中具有相应的体现,如保密性体现为数据在通过通信协议编码
3、传输的过程中不被旁路监听,完整性体现为传输数据不可篡改,等等。因此,某些具体的信息化技术手段被开发出以用于实现此类安全需求,主要包括加密、认证、授权和访问控制,以及防重放和防篡改。在本方案中,重点讨论通过针对基于 IEC61850 变电站协议进行安全改造,提供以下能力:1)提供认证以最小化中间人攻击的威胁;2)提供认证以最小化某些类型的旁路控制威胁;3)提供认证以最小化无意和恶意的人员行为威胁;4)通过数字签名,提供实体认证:a)确保对信息的唯一授权访问;b)支持实现通信访问控制;5)通过加密,提供认证密钥的机密性;6)对那些具有额外的资源,具有处理额外负载能力的通信双方,通过加密,提供消息的
4、机密性;7)篡改检测,提供完整性;8)防止重放和欺骗;现有的智能变电站通信主要包括 MMS 协议和 GOOSE/SMV 协议,从网络协议的层次化角度观察,一个完整的 MMS 数据包涉及了 OSI 7 层模型,GOOSE/SMV 数据传输则仅使用物理层、链路层及应用层三个层次。本方案的安全防护能力也通过不同的协议层次进行体现,主要集中于传输层和应用层。2.基于基于 MMS 协议的加固协议的加固 MMS 协议改造主要分为两个部分,如下图所示。一是传输层安全改造,即下图的T-Profile,在TCP/IP协议集上层增加安全协议TLS/SSL;二是应用层MMS关联认证改造,即下图的 A-Profile
5、 的 ACSE 关联时进行应用层认证。1)传输层改造)传输层改造 通过在传输层上建立具有特定配置的具有特定配置的 TLS/SSL 连接,在传输层进行两个通信实体间的消息认证和消息加密,应对未经授权访问信息、未经授权修改(即篡改)或窃取信息。通过传输层改造提供的安全能力包括:通过传输层改造提供的安全能力包括:1)通过数字签名,提供节点的双向身份认证 2)通过加密,提供传输层认证、加密密钥的机密性 3)通过加密,提供传输层及以上层次消息的机密性,防止窃听 4)通过消息鉴别码,提供传输层及以上层次消息的完整性 5)通过定义传输序列号有效性,防止传输层的重放和欺骗 不能提供的安全能力包括:不能提供的安
6、全能力包括:传输层改造不能防止拒绝服务攻击,需要其他特定措施保证可用性。传输层改造不能提供完整的应用层安全,如应用层的认证,需要由其他安全措施提供。传输层改造的应用范围:传输层改造的应用范围:传输层安全改造应当在 MMS 通信中实现,并建议应用于厂家设备间私有协议的通信防护,如双机同步或运维管理协议等。兼容性:兼容性:实现了传输层安全改造的设备和系统,应支持与未实现传输层安全改造的设备和系统的互操作,兼容性的判断建议可通过区分传输层端口实现。2)应用层改造)应用层改造 通过针对 MMS 关联过程中的请求和响应进行扩展,在应用层进行两个通信实体间的基于数字证书的身份认证,该认证信息可用来支持对访
7、问者的权限控制,并在一定程度上防止重放攻击。通过通过 MMS 应用层协议改造提供的安全能力包括:应用层协议改造提供的安全能力包括:1)通过数字签名,提供应用层的双向身份认证 2)通过消息鉴别码,提供应用层消息的完整性,防止中间人攻击 3)通过规定的专用处理状态机,防止重放攻击。不能提供的安全能力:不能提供的安全能力:如未实现传输层安全改造,则相关安全能力均不能实现。兼容性:兼容性:实现了 MMS 应用层安全改造的设备和系统,应支持与未实现安全改造的设备和系统的互操作,对于改造过的设备和系统,兼容性的判断建议可通过区分特定的应用层安全标识实现,未改造的设备和系统可忽略新增的报文内容。2.1 应用
8、层加固应用层加固 2.1.1 MMS 关联建立过程简介关联建立过程简介 MMS 协议为应用层协议,MMS 通信需建立在 MMS 环境中,MMS 环境的建立需进行 MMS 关联,关联建立成功后,方可进行数据通信。MMS 关联建立过程如下图所示。通信提供者M-ASSOCIATE.reqCalling MMS userM-ASSOCIATE.indM-ASSOCIATE.rspCalled MMS userM-ASSOCIATE.cnf MMS 关联建立通过 M-ASSOCIATE 服务原语描述,它有以下四个过程:1)MMS 呼叫用户发起 MMS 关联建立请求;2)MMS 受叫户获得 MMS 关联建
9、立指令;3)MMS 受叫用户返回 MMS 关联建立响应;4)MMS 呼叫用户确认 MMS 关联建立结果。MMS 的 M-ASSOCIATE 服务原语关联建立由支持 MMS 关联建立的 ACSE(Association Control Service Element,关联控制服务元素)层来实现。如下图所示 MMS 关联建立实际由 ACSE 层完成,AARQ 和 AARE 为 ACSE 关联建立过程的协议数据单元。根据原有规范,AARQ 和 AARE 已经预置了认证功能信息,在 IEC 61850 中作为可选项,根据调研,未发现设备厂家进行使用。MMS 协议改造即通过完善 AARQ 和 AARE
10、中的认证功能单元,来完成对 MMS 关联过程的认证。2.1.2 改造点改造点 对IEC 61850 MMS用户在进入MMS环境之前,在MMS关联建立时对MMS用户进行认证。如下图所示,MMS 关联建立时,MMS 客户端通过 Initiate(启动)服务开始建立关联,MMS关联是通过支持MMS的下层ACSE来实现的。MMS层在关联建立过程中,只可能涉及到下表的三种 MMS 层协议数据单元,且三种数据单元内容并不会受到影响。MMS PDU 描述描述 Initiate-RequestPDU 关联建立发起方的协议数据单元 Initiate-ResponsePDU 关联建立响应方的协议数据单元 Init
11、iate-ErrorPDU 关联建立过程出错协议数据单元 认证过程由 ACSE 的 AARQ 和 AARE 协议数据单元完成的。ACSE、AARQ和 AARE 介绍见附录 C。改造过程分 2 部分:一,启用 AARQ 和 AARE 数据结构的认证字段,并填充认证相关数据。二,关联双方进行互认证检查,及必要的状态切换。此外,认证过程涉及到数字证书,需要进行数字证书的配置。2.1.2.1 数据结构改造数据结构改造 ACSE 关联建立过程的认证功能单元在原有 ACSE 的数据结构 AARQ 和AARE 中已有声明,但未有具体定义。数据结构改造包括:1)启用认证功能单元标识;2)定义认证机制数据结构;
12、3)定义认证值数据结构。(1)启用认证功能单元 启用 AARQ 的 sender-ACSE-requirements 字段和 AARE 的responder-ACSE-requirements 字段,为了兼容非认证的 MMS 关联服务,应如下处理:1)若 sender-ACSE-requirements 字段和 responder-ACSE-requirements 字段值为authentication(0),则确定关联过程需要进行符合 IEC 62351-4要求的认证操作;2)若 sender-ACSE-requirements 字段和 responder-ACSE-requirements
13、 字段值不存在,则继续检查 AARQ 和 AARE 的 mechanism-name 和 authentication-value字段,若字段值存在,特别是 authentication-value 字段值存在,则关联过程同样进行关联认证操作。(2)定义鉴别功能单元数据结构 定义 STASE-MMS-Authentication-value 模块,并在模块中定义认证值数据结构 MMS-Authentication-value,用于完成认证功能。模块定义如下图所示,模块将作为鉴别机制的类型,而鉴别值,重新定义于模块中。1)AARQ 和 AARE 中的 mechanism-name 的值为STAS
14、E-MMS-Authentication-value 模块的对象标识符值;2)认证数据结构 MMS-Authentication-value 作为 AARQ 和 AARE 中的MMS-Authentication 数据结构 external 字段的引用来完成实际的认证功能。为了便于理解,列出 MMS-Authentication 数据结构,如下图所示,MMS-Authentication-value 各字段具体说明如下:1)SignatureCertificate SignatureCertificate:=OCTET STRING(size(0.8192)SignatureCertifica
15、te 为签名证书,为 0 到 8192 的八位位组。关联建立过程中,关联请求者将自己的签名证书内容赋给 AARQ 中的 SignatureCertificate,而关联响应者在确认了关联请求者后,将自己的签名证书内容赋给 AARE 的SignatureCertificate。SignatureCertificate 内容应按照基本编码规则(Basic Encoding Rule)编码的X.509 证书(在 CMIP 中规定)。证书的交换应是双向的(服务器与客户端),且应提供来自某个已配置且可信的证书机构的个体证书(根证书)。如果以上条件任何一项不符合,则连接应被适当地终止。2)SignedVa
16、lue SignedValue:=OCTET STRING(size(0.256)SignedValue(签名值)为签名信息。它的值分两步获得,a)使用 HASH 算法对字段 time 计算摘要值 b)使用签名证书 SignatureCertificate 对应的私钥计算摘要值的签名值。签名值由关联发起方计算(关联请求者和关联响应者均为发起者),关联接收方使用以下步骤对签名值进行验证,a)使用与发起方同样的 HASH 算法对字段 time 进行计算摘要值 H;b)使用签名证书 SignatureCertificate 对签名值 SignedValue 解密,获得原HASH 值 H;c)比较 H
17、和 H 是否相等,相等,验证通过,不相等,验证不通过。3)Time 该参数应是创建 authentication-value 的时间,用 GENERALIZEDTIME 格式表示的格林威治时间(GMT)值。该时间的精度是一个当地问题,但应尽可能的精确。在调用 MMS 的 Intiate.Request(启动请求)服务、Intiate.Response(启动应答)服务期间或在这些服务的 ACSE 的 PDU 编码期间,确定该时间参数值都是同等有效的。2.1.2.2 关联认证过程关联认证过程(1)关联建立请求鉴别过程 a)AARQ 的发送者应该对适当的 ACSE 的 AuthenticationM
18、echanism 和AuthenticationValue 字段进行编码,并应通过使用 Presentation-Connect(表示层-连接)服务发送 AARQ。b)AARQ-indication(AARQ-指示)原语的接收者应使用AuthenticationMechanism 和 AuthenticationValue 字段去校验签名值。如果解码后的签名值不等于 time 字段的值,则应导致接收者发出 P-ABORT(表示层-异常终止)原语;如果 time 字段值与当地时间之差大于 10 min),则也应导致接收者发出 P-ABORT 原语。c)如果该AARQ的接收者在最近10 min之内
19、已经接收到包含相同签名值的AARQ,则应导致接收者发出 P-ABORT 原语。d)如果签名值没有导致 P-ABORT,则签名值及其它的安全参数就应传送给ACSE 的用户。(2)关联建立响应鉴别过程 a)AARE 的发送者应该对适当的 ACSE 的 AuthenticationMechanism 和AuthenticationValue 字段进行编码,并应通过使用 Presentation-Connect 服务发送AARE。b)AARE-indication 原语的接收者用 AuthenticationMechanism 和AuthenticationValue 字段去校验签名值。如果解码之后的
20、签名值不等于 time 字段的值,应导致接收者发出 P-ABORT 原语;如果 time 字段值与本地时间之差大于10 min,也应导致接收者发出 P-ABORT 原语。c)如果该AARE的接收者在最近10 min 之内已经接收到包含相同签名值的AARE,则应导致接收者发出 P-ABORT 原语。d)如果签名值没有导致 P-ABORT,则应将签名值及其它安全参数传送给ACSE 的用户。2.1.2.3 关联认证步骤关联认证步骤(1)关联认证过程添加位置)关联认证过程添加位置 关联认证过程分为两部分,关联请求与关联响应。添加位置均位于 ACSE层。关联认证请求过程添加于 ACSE 的 AARQ-P
21、DU 构造之前,在构造AARQ-PDU 数据结构时,保持原有 AARQ-PDU 字段,将认证功能单元的三个字段 sender-ACSE-requirements、called-authentication-value 和 mechanism-name 内容计算完成后,赋给 AARQ-PDU 相应字段完成 AARQ-PDU 的构造。关联认证响应过程添加于 ACSE 的 AARE-PDU 构造之前,在构造AARE-PDU 数据结构时,保持原有 AARE-PDU 字段,将认证功能单元的三个字段 responder-ACSE-requirements、responding-authentication
22、-value 和mechanism-name 内容计算完成后,赋给 AARE-PDU 相应字段完成 AARE-PDU的构造。(2)关联请求认证过程)关联请求认证过程 1)关联请求发起端过程:步骤 1:为 sender-ACSE-requirements 赋值 authentication(0)值;步骤 2:为 mechanism-name 赋值为 840.0.1.0.1.1,此值为STASE-MMS-Authentication-value 模块的对象标识符;步骤 3:以 GENERALIZEDTIME 记录当前的时间值 vtime,并将 vtime 赋给MMS-Authentication-
23、value 数据结构的 certificate-base 字段中的 time 字段;注:(记录时间放在此处是为了说明尽可能的精确记录 Authentication-value的时间,如在开发过程中,能够更精确的记录时间,可将此步进行自行调整,但不能出现在使用 time 值之后);步骤 4:使用 HASH 算法计算 time 的摘要值 htime=HASH(vtime);HASH 算法应是 SHA1;步骤 4:加载申请用户的数字证书 require-user-cert;步骤 5:将 require-user-cert 赋给 MMS-Authentication-value 数据结构的certif
24、icate-base 字段中的 authentication-Certificate 字段。步骤 5:加载申请用户数字证书相对应的私钥 req-user-privatekey;步骤6:使用私钥req-user-privatekey对htime进行签名,获得签名值vsigned,vsigned=private_encrypt(strlen(req-user-privatekey),htime,req-user-privatekey),strlen(req-user-private-key)为密钥长度。应使用 RFC 3447(PKCS#1 规范 Version 2)中规定的 RSASSA-PKC
25、S1-v1_5作为签名/验签算法。步骤 7:将 vsigned 赋给 MMS-Authentication-value 数据结构的 certificate-base字段中的 signature 字段。步骤 8:将组装的 certificate-base 值 authentication-Certificate,time,signature:=require-user-cert,vtime,vsigned 赋给 AARQ 中的 called-authentication-value 字段,此时,AARQ 中的认证功能单元的值已构造完成;步骤 9:将认证相关值进行 ASN1 编码。注:编码过程可以
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IEC62351 变电站 二次 系统安全 加固 方案