论文部分内容阅读
数据采集与监控系统(Supervisory Control and Data Acquisition,SCADA)作为一种工业控制系统,被广泛部署于电力、冶金、石油化工等国家重要行业。分布式网络协议(Distributed Network Protocol,DNP3)因其灵活性和开放性,被广泛应用于SCADA系统设备之间的通信。随着SCADA系统与传统信息网络的融合,同时DNP3协议缺乏认证和加密保护机制,使得SCADA系统面临严重的安全威胁。为了保障SCADA系统通信安全,本文针对DNP3协议存在的消息泄漏、消息篡改、缺乏认证和授权等安全问题,结合SCADA系统结构稳定、计算资源有限、强实时性的特点,通过对DNP3链路层数据进行修改,提出了一种基于Bump-In-The-Wire模型的安全分布式网络协议(Secure Distributed Network Protocol,S-DNP3)。该协议能够在无需修改系统设备的基础上,提供可靠性保障,兼容原有系统,满足了SCADA系统的可用性需求;能够在基本不影响SCADA系统性能的情况下,保证通信数据的机密性、完整性以及对系统设备进行认证,满足了SCADA系统的安全性需求。基于S-DNP3协议设计并实现了适用于SCADA的安全通信系统,在系统的部署中,为了存储会话密钥和设备状态等敏感信息,提出了基于内存的安全Key-Value存储方法,实现数据在时间内的快速存取;针对SCADA系统计算资源有限的特点,设计了可配置的轻量级密钥管理与分发协议,在满足安全性的前提下,实现设备资源的自适应高效利用;为了保证SCADA系统的兼容性,设计了DNP3和S-DNP3协议转换方法。通过对S-DNP3协议的安全性进行分析,得出S-DNP3协议能够提供加密和认证机制,抵御伪装攻击、窃听攻击和中间人攻击。通过对S-DNP3协议的性能进行分析,并在基于S-DNP3协议的通信系统上进行性能测试,得出使用S-DNP3协议仅增加了4.3%的通信延迟,仅造成了4.1%的系统吞吐量下降,基本不影响系统性能,能够满足SCADA系统可用性需求。