2.2 MMS改造关键点
MMS改造过程分两部分:
①启用AARQ和AARE数据结构的认证字段,并填充认证相关数据;
②关联双方进行互认证检查及必要的状态切换。
1)数据结构改造
改造IEC61850标准关联信息结构,定义STASE-MMS-Authentication-value模块,并在模块中定义认证值数据结构MMS-Authentication-value,用于完成认证功能。
2)认证检查过程
关联建立请求鉴别过程:
①AARQ的发送者应该对适当的ACSE的Authentication Mechanism和Authentication Value字段进行编码,并应通过使用表示层-连接服务发送AARQ;
②AARQ-指示原语的接收者应使用Authentication Mechanism和Authentication Value字段去校验签名值;
③如果该AARQ的接收者在最近10min之内已经接收到包含相同签名值的AARQ,则应导致接收者发出表示层-异常终止(P-ABORT)原语;
④如果签名值没有导致P-ABORT,则签名值及其它的安全参数就应传送给ACSE的用户。
关联建立响应鉴别过程:
①AARE的发送者应该对适当的ACSE的Authentication Mechanism和Authentication Value字段进行编码,并应通过使用表示层-连接服务发送AARE;
②AARE-indication原语的接收者用Authentication Mechanism和Authentication Value字段去校验签名值;
③如果该AARE的接收者在最近10min之内已经接收到包含相同签名值的AARE,则应导致接收者发出P-ABORT原语;
④如果签名值没有导致P-ABORT,则应将签名值及其它安全参数传送给ACSE的用户。
2.3 MMS实施注意点
兼容性问题。实现了MMS应用层安全改造的设备和系统,应支持与未实现安全改造的设备和系统的互操作,对于改造过的设备和系统,兼容性的判断建议可通过区分特定的应用层安全标识实现,未改造的设备和系统可忽略新增的报文内容。
数字签名算法。综合考虑安全性要求和性能的要求,数字签名算法选择使用公钥加密算法(RSA算法),散列(HASH)算法选择使用安全哈希算法1(SHA1)。密钥位数选择1024位。
3. GOOSE/SMV关键技术研究
IEC62351标准第6部分定义了GOOSE/SMV防止非法入侵及防重放攻击的方法。通过利用GOOSE/SMV报文协议格式中的保留字段和扩展协议来实现GOOSE/SMV安全改造目标,具备防止非法入侵操作攻击及防止重放攻击的能力。
3.1 GOOSE/SMV改造关键点
对基于IEC61850标准的GOOSE/SMV报文保留字段进行利用,并扩展GOOSE/SMV报文结构,通过对GOOSE/SMV报文头部分进行循环冗余校验(CRC)计算、对GOOSE/SMV报文体进行哈希摘要计算,最终在扩展部分对摘要进行签名,保护GOOSE/SMV报文的完整性,确定GOOSE/SMV报文的源,并且防重放攻击。
1)服务端在拼装GOOSE/SMV报文时,首先对GOOSE/SMV报文头部分字段进行CRC计算,以保存在GOOSE/SMV报文的保留字段中,再对GOOSE/SMV报文进行摘要计算,并对摘要进行签名,并将签名值存放于扩展字段中。
2)客户端在接收到GOOSE/SMV报文后,通过签名验证,以确定GOOSE/SMV报文的源,通过摘要验证和CRC验证,以确定内容是否被篡改。
3)通过对时间的有效性进行认证,实现GOOSE/SMV防重放攻击。对GOOSE来说直接使用报文中的时间信息;对SMV来说在原有数据结构上基础上,扩展时间戳字段。在报文具备时间信息的基础上,结合报文序号和处理逻辑,防止重放攻击。
3.2 GOOSE/SMV实施注意点
兼容性问题。GOOSE/SMV协议的安全扩展不影响原有报文数据结构,非安全GOOSE/SMV客户端可不理会安全扩展的GOOSE/SMV报文。
数字签名算法。考虑到目前过程层设备的硬件处理能力和报文的处理效率要求,如采用影响传输速率的加密或其他安全措施是不能接受的,本文的在对GOOSE/SMV进行改造时进行了充分的测试和验证,HASH算法选择使用SHA1,密钥位数选择100位,保证满足标准及应用的要求。