尤博,李丹,彭辉
(工业和信息化部电子第五研究所,广东 广州 511370)
随着工业化和信息化的深度融合,工业控制系统开始向数字化、网络化和智能化方向发展,远程监控、远程维护和远程健康管理已经在工业企业中得到广泛的应用,极大地提升了工业活动的生产效率和管理效率。与此同时,工业控制系统面临的网络安全问题也日益突出。2010年以来, “震网”“毒区” “火焰”和“黑暗力量”等针对工业控制系统的网络安全攻击事件席卷了多个国家和地区,严重地威胁着工业控制系统的正常运转和生产安全,对人民生命财产安全和国家安全造成了严重的危害[1-3]。
数据采集与监视控制(SCADA:Supervisory Control And Data Acquisition)系统是一类重要的工业控制系统,被广泛地应用于电力、水利、冶金、石油、化工、燃气和铁路等诸多领域的数据采集、监视控制和过程控制等工业场景中。SCADA系统以计算机技术为基础,综合地利用控制技术、通信技术和网络技术,对测控点的设备进行实时数据采集和自动控制,对生产过程进行全面监控,并为安全生产、调度管理、流程优化和故障诊断提供数据及技术支撑[4]。网络化的趋势,增强了SCADA系统的开放性、互操作性和经济性,拓展了系统的应用空间。同时,身份假冒、身份窃取、非授权访问、数据篡改和数据窃取等互联网中常见的网络安全问题也迅速地涌入[5],打破了SCADA系统原有的相对物理独立的安全体系,使得SCADA系统面临着前所未有的网络安全风险。
密码是保障网络与信息安全的核心技术和基础支撑,是解决网络与信息安全问题最有效、最可靠、最经济的手段,在维护国家网络空间安全、经济安全和信息安全等方面发挥着重要作用。在SCADA系统中,可以使用密码技术保证实体身份的真实性,以及各类信息的机密性和完整性,防止人员或设备的非授权访问,防止信息被窃取、伪造和篡改,从而保障SCADA系统的网络和信息安全。然而,目前我国的大部分SCADA系统,尤其是关键的核心应用被国外产品垄断,核心组件国产化率较低,国外厂商对这些关键设备与技术实行严格的技术封锁,使得我们无法掌握其安全风险,严重地威胁着我国国家安全和公共利益。本文按照密码相关国家政策和标准要求,从SCADA系统的技术架构出发,研究SCADA系统密码应用技术体系,通过分析SCADA系统的密码应用需求,构建了SCADA系统密码应用框架,并在此基础上提出了SCADA系统密码应用技术要求。
SCADA系统通常由3个层次构成[6],包括上位机层、下位机层和网络层。上位机层是过程监控和管理系统,主要实现监控和管理功能;下位机层是分布式数据采集系统,主要实现数据采集和现场控制功能;网络层主要是工业SCADA系统通信网络,包括上位机网络、下位机网络和实现上、下位机系统连接的通信网络,主要实现SCADA系统中的数据交换。
SCADA系统分层技术架构如图1所示。
图1 SCADA系统分层技术架构
上位机层主要由SCADA应用服务器、工程师站、操作员站、通信服务器和数据库等组成,通过以太网进行组网。
上位机接收并处理下位机采集的现场测控数据,然后将处理后的数据传输至不同的监控平台,并将设备的报警、正常或报警恢复等运行状态告知用户,最后将相关数据存储至数据库中。另一方面,上位机负责接收操作人员的指示,将相关控制信号发送至下位机,实现对现场设备的远程控制。
上位机层主要实现数据采集和状态显示、远程监控、报警和报警处理、事故追忆和趋势分析等功能。
a)数据采集和状态显示
数据采集是SCADA系统的主要功能之一,数据采集的流程为下位机采集现场测控数据,然后通过网络将下位机采集的数据进行收集,最后通过上位机进行数据汇总、数据记录、数据显示和数据的保持,为数据的分析和应用提供支撑。
b)远程监控
上位机汇集了工业现场的各种测控数据,采集数据具有全面性和完整性,使得监控中心的控制管理也具有全局性,能够实现更加精准的远程监视和远程控制,为安全生产提供了重要保障。
c)报警和报警处理
上位机具有报警和报警处理功能,支持以多种形式显示名称、等级、位置和时间等故障信息,以及报警信息的处理和应答情况,可以处理和显示多点同时报警,对报警应答进行记录。上位机的报警和报警处理功能对于尽早发现和排除测控现场的各种故障,保证系统正常运行起着重要的作用。
d)事故追忆和趋势分析
上位机收集的运行记录数据,如报警与报警处理记录、用户管理记录、设备操作记录、重要参数记录和过程数据记录等数据是评价生产设备的运转情况和预测系统故障的重要依据,通过对数据的综合分析,上位机可以对生产设备的事故进行追忆并分析事件的发展趋势,从而达到事故溯源和快速恢复生产的目的。
下位机层包括可编程逻辑控制器(PLC)、远程终端单元(RTU:Remote Terminal Unit)、可编程自动化控制器(PAC)和智能仪表等智能采集与控制设备,这些智能采集设备与生产过程中的各种检测与控制设备结合,实时地感知设备的状态,将状态信号转换成数字信号,并通过工业以太网、现场总线和各种设备级总线等多种通信方式将设备状态数据传递至上位机中。另一方面,下位机需要接收上位机的监控指令。
a)可编程逻辑控制器(PLC)
PLC是一种用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行,通过数字式或模拟式的输入输出来控制机械设备或生产过程。PLC由CPU、指令及数据内存、输入/输出接口、电源和数字模拟转换等功能单元组成,通过输入采样、用户程序执行和输出刷新3个过程完成对设备或生产过程的控制。PLC产品可靠性高、编程可操作性强,在工业控制系统中应用广泛。
b)远程终端单元(RTU)
RTU是安装在需要远程控制的工业现场的电子设备,用来监视和测量工业现场的传感器和工业设备,并将测量的状态或信号转换成适合通信网络传输的数据格式,通过通信网络将数据传输给上位机。另一方面,RTU通过将上位机发送来的数据转换成命令,以实现对设备的远程监控。RTU的主要作用是进行数据采集及本地控制,进行数据采集时作为一个远程数据通信单元,完成本站与上位机或其他站的通信和遥控任务;进行本地控制时作为系统的工作站,可以独立地完成连锁控制、前馈控制和反馈控制等工业上常用的调节控制功能。
c)可编程自动化控制器(PAC)
PAC是一种多功能控制器平台,是控制引擎的集中,涵盖PLC用户的多种需要,也可以满足制造业厂商对信息的多样化需求。
d)智能仪表
智能仪表是以单片机为主体,有机地融合计算机技术和检测技术而形成的“智能化仪表”。在数据采集和信息集中管理要求较高,而在远程控制功能要求较低的应用中,大量地使用现场智能仪表作为下位机,如智能流量计量表、冷量热量表和智能巡检仪等。
通信网络层实现SCADA系统的数据通信,是SCADA系统的重要组成部分,包括上位机网络、下位机网络和实现上、下位机系统连接的通信网络。上位机网络主要是连接上位机、服务器、通信设备和打印设备的局域网。下位机网络包括连接I/O设备与控制器的现场总线,以及各种设备级总线。实现上、下位机系统连接的通信网络涵盖多种通信方式,包括有线网络、GPRS、电台和卫星通信等,满足了SCADA系统对地理位置分散、分布区域广阔等工业控制场景的监控需求。
随着工业化和信息化的融合,SCADA系统逐渐地向智能化、网联化方向发展,运行环境变得越来越开放,随之带来的网络安全挑战也越来越严峻。密码技术作为保障网络安全最经济、最有效的手段,可以保障SCADA系统用户的真实性、数据的机密性和完整性,以及操作行为的不可否认性,有效地降低SCADA系统的网络安全风险,保证系统安全、稳定地运行。根据SCADA系统技术架构、业务功能及网络安全保护需求进行分析,SCADA系统的密码应用需求主要有如下3个方面。
SCADA系统的身份认证主要包括两个方面。
a)设备的身份认证
包括SCADA应用服务器、工程师站、操作员站、通信服务器和数据库服务器等上位机层设备,以及RTU、PLC、PAC和智能仪表等下位机层设备。
b)用户的身份认证
包括管理员、操作员和审计员等系统用户类型。现阶段,SCADA系统没有对设备进行身份认证,在智能制造场景下,下位机层设备的接入和退出会变得较为频繁,设备接入身份认证的缺失,将会引入非法设备访问、设备身份伪造等安全风险,造成控制指令执行失常、测控数据收集失真等安全生产事故。用户身份认证方面,大多数的SCADA系统采用了简单的用户名和静态口令方式进行身份识别认证,管理员、操作员和审计员等不同角色的用户存在口令混用、口令简单和口令更换周期长等行为,不能有效地保证系统用户身份的真实性,存在非授权访问、系统用户身份伪造等安全风险,造成非法人员入侵、非法人员控制SCADA系统等安全生产事故。使用密码技术对接入的设备或登录的用户进行身份标识和鉴别,可以实现身份鉴别信息的防截获、防假冒和防重用,保证设备或用户的真实性。
SCADA系统的传输安全主要包括上位机网络、下位机网络以及连接上、下位机系统之间的通信网络的安全。现阶段,上述通信链路大多没有防护措施,存在通信数据的安全传输风险,可以使用密码技术来保证数据传输的机密性和完整性。具体的密码应用需求主要包括如下两个方面:1)使用密码技术实现系统控制指令数据、监测数据和鉴别数据在上位机网络、下位机网络和通信网络中传输的机密性,防止传输的数据被攻击者非授权地截取;2)使用密码技术实现系统控制指令数据、管理数据和鉴别数据在上位机网络、下位机网络和通信网络中传输的完整性,防止传输的数据被攻击者非授权地篡改。
SCADA系统的重要数据主要包括控制指令数据、监测数据、鉴别数据和配置数据等,需要保证重要数据在传输和存储过程中的安全性。现阶段,SCADA系统中未对此类重要数据进行安全保护,存在重要数据泄露、被篡改和被窃取等风险,可以使用密码技术来保证重要数据的机密性和完整性,从而保证数据安全。
依据SCADA系统的架构,提出了满足下位机层、网络层和上位机层安全防护需求的密码应用技术框架,如图2所示。
图2 SCADA系统密码应用技术体系框架
a)上位机层密码应用
上位机层所处的网络环境、设备类型、业务应用形态等与普通信息系统差别较小,适用于GB/T 39786-2021《信息安全技术 信息系统密码应用基本要求》,需要满足物理和环境安全、网络和通信安全、设备和计算安全、应用和数据安全、安全管理等密码应用基本要求,本文不再进行论述。
b)网络层密码应用
结合工业SCADA系统通信网络特性,利用国产密码实现对现场终端控制设备的安全认证、通信双方身份鉴别、通信数据机密性和完整性保护,以保证接入网络设备的可信及通信数据的安全性。
c)下位机层密码应用
下位机设备是SCADA系统的关键部件,具有现场数据采集和执行控制指令两个方面的作用:一方面采集相关数据上传到上位机;另一方面执行SCADA系统的控制指令。结合下位机层设备灵活接入、资源受限等特性,利用国产密码实现对现场智能控制终端的安全认证和对重要数据传输的机密性和完整性保护。
a)采用密码技术对连接到工业SCADA系统通信网络的现场终端控制设备进行安全认证,确保接入网络的设备真实、可信。
可以通过基于国产密码算法的认证装置为接入工业SCADA系统通信网络的现场终端控制设备提供认证保护,防止非授权控制设备接入网络,保证授权设备的正常运行。
b)采用密码技术对工业SCADA系统通信网络中通信的双方身份进行认证,使用密码技术的机密性和真实性功能来实现防截获、防假冒和防重用,保证传输过程中鉴别信息的机密性和网络实体身份的真实性。
可以基于国密算法对Modbus TCP、DNP3和IEC 60870-5-104等典型的工控协议进行升级改造,通过优化的工控协议实现通信双方的身份鉴别。
c)采用密码技术保证通信过程中数据的完整性。
可以通过基于国产密码算法的加密装置为利用工业SCADA系统通信网络(有线及无线链路)传输的控制指令和重要数据提供传输完整性保护,保证重要数据传输和远程控制指令的安全,实现数据传输的完整性保护,避免数据在传输过程中被篡改。根据系统可用性要求,控制指令传输建议选用轻量级密码。
d)采用密码技术保证通信过程中重要数据字段或整个报文的机密性。
可以通过基于国产密码算法的加密装置为利用工业SCADA系统通信网络(有线及无线链路)传输的控制指令、重要数据或整个报文提供传输机密性保护,保证重要数据传输和远程控制指令的安全,实现数据传输的机密性保护,避免数据传输过程中的泄露。根据系统可用性要求,控制指令传输建议选用轻量级密码。
通信网络密码的应用技术架构如图3所示。
图3 通信网络密码应用技术架构
3.2.1 安全认证密码应用技术要求
a)采用基于协议的密码技术对接入的现场智能控制终端进行安全认证,确保现场智能控制终端的真实可信,防止智能控制终端被假冒。
可以基于国密算法对PROFINET等典型工控协议进行升级改造,通过优化的工控协议对接入的现场智能控制终端(RTU、PLC、IDE、PAC和其他智能控制终端等)进行安全认证,防止智能控制终端被假冒,保证授权的现场智能控制终端对其管理的工业现场设备的有效控制。
b)采用基于认证装置的密码技术对连接到工业SCADA系统通信网络的现场智能控制终端进行安全认证,确保接入网络的现场智能控制终端真实可信。
可以通过基于国产密码算法的认证装置为接入工业SCADA系统通信网络的现场智能控制终端提供认证保护,防止非授权控制设备接入网络,保证授权设备的正常运行。
下位机层安全认证密码的应用技术架构如图4所示。
图4 下位机层安全认证密码应用技术架构
3.2.2 数据安全密码应用技术要求
a)采用密码技术保证重要数据在传输过程中的完整性,包括但不限于监测数据、指令数据和配置数据等。
1)可以通过现场智能控制终端(RTU、PLC、IDE、PAC和其他智能控制终端等)中基于国产密码算法的内嵌密码模块和上位机层部署的加密装置对重要数据进行传输完整性保护。重要数据包括但不限于智能控制终端收集到的监测数据、SCADA应用服务器发出的指令数据和智能控制终端的配置数据等。根据系统可用性要求,指令数据传输完整性保护建议选用轻量级密码。
2)可以通过现场智能控制终端(RTU、PLC、IDE、PAC和其他智能控制终端等)连接的加密装置和上位机层部署的加密装置对重要数据进行传输完整性保护。重要数据包括但不限于智能控制终端收集到的监测数据、SCADA应用服务器发出的指令数据和智能控制终端的配置数据等。根据系统可用性要求,指令数据传输完整性保护建议选用轻量级密码。
b)采用密码技术保证重要数据在传输过程中的机密性,包括但不限于监测数据、指令数据和配置数据等。
1)可以通过现场智能控制终端(RTU、PLC、IDE、PAC和其他智能控制终端等)中基于国产密码算法的内嵌密码模块和上位机区部署的加密装置对重要数据进行传输机密性保护。重要数据包括但不限于智能控制终端收集到的监测数据、SCADA应用服务器发出的指令数据和智能控制终端的配置数据等。根据系统可用性要求,指令数据传输机密性保护建议选用轻量级密码。
2)可以通过现场智能控制终端(RTU、PLC、IDE、PAC和其他智能控制终端等)连接的加密装置和上位机区部署的加密装置对重要数据进行传输机密性保护。重要数据包括但不限于智能控制终端收集到的监测数据、SCADA应用服务器发出的指令数据和智能控制终端的配置数据等。根据系统可用性要求,指令数据传输机密性保护建议选用轻量级密码。
下位机层数据安全密码的应用技术架构如图5所示。
图5 下位机层数据安全密码应用技术架构
随着工业化和信息化的深度融合,工业控制系统面临着越来越多的网络安全威胁,作为一类重要的工业控制系统,SCADA系统面临的网络安全问题也日益凸显,密码作为保障网络安全的最经济、最有效的手段,在保证SCADA系统安全稳定的运行中将发挥着越来越重要的作用。本文从SCADA系统的技术架构出发,深入地分析了SCADA系统的密码应用需求,构建了SCADA系统密码应用技术架构,在此基础上提出了SCADA系统密码应用技术要求,建立了SCADA系统密码应用技术体系。