基于Web的MES系统安全架构设计及分析
MES系统的信息安全直接关系到企业的正常生产和管理。下面对基于Web环境的MES系统的安全体系进行了分析,设计了系统的安全架构,基于该架构开发的SciMES产品,已经成功应用到了多个工业企业,持续为企业提供着安全、稳定、可靠的信息化服务。
1 引言
MES(Manufacturing Execution System),即制造执行系统,位于企业上层业务规划系统(BPS,Business Planning System)和工业控制系统(PCS,Process Control System)之间,应用于企业生产执行管理,是面向车间层的生产技术管理信息系统。MES系统已经成为企业信息化系统的重要组成部分。
随着计算机和网络技术的发展和我国信息化进程不断推进,特别是信息化与工业化深度融合以及物联网技术的快速发展,对MES系统的远程接入和移动互联应用也提出了更多需求,尤其是集团式应用,分布在各个地区生产基地MES系统以各种方式与互联网等公共网络连接,实现互联和信息集成,以及企业管理者的移动办公,因此基于Web的MES系统迅猛发展。图1是基于Web的MES系统的典型应用。
2 MES系统信息安全需求分析
MES系统连通企业业务管理及办公网络,集成生产基础自动化网络,构成了企业生产管理网络,是企业生产管理的关键设施。一旦实现企业生产网络互连并接入互联网,将面临着来自互联网病毒侵扰、黑客攻击等严重威胁,在向工业控制系统扩散,不仅涉及系统本身的信息安全,甚至影响控制系统的安全运行,导致生产系统的瘫痪。由此,作为企业BPS和PCS之间的桥梁,MES系统信息安全问题日益突出,保障MES系统的安全稳定可靠运行是企业信息化过程中需要充分重视的问题,需要进行风险评估,采取适当的防范措施。
MES系统的安全性是一个复杂的系统工程,包括计算机系统安全、网络安全、数据库系统安全、数据平台系统安全和MES软件的缺陷造成的安全隐患,以及用户参与带来的不安全因素等。
MES系统的信息安全主要体现在几个方面:一是确保信息在需要的时间、地点和方式下可用,同时保证系统信息的完整性、一致性、正确性;二是保证信息在传输的过程中的机密性,防止信息泄露和篡改;三是在信息存储方面,保证系统运行的稳定性和安全性,并使延迟和故障达到最小。具体可以细化为几个安全需求。
1) 有效性需求:要求系统能够持续有效的提供系统资源,包括系统业务功能和业务数据,使合法授权用户能够随时随地地利用系统及资源完成自己的业务工作。同时对于非法用户的入侵能够有效识别和拒绝。
2) 保密性需求:能够防止窃取系统内部信息,防止数据在网络传输过程中的泄露与篡改。
3) 完整性需求:能够保证数据的正确性、有效性,防止系统程序、数据的非法删改和破坏,保证系统的正确运行和数据的完整性。
4) 故障恢复需求:系统在发生软件或硬件故障时,能在最短时间内迅速恢复运行,提供正常的系统服务。
5) 可追溯性需求:能够随时对系统状态、用户操作进行追溯,系统的关键执行动作要留有记录,合法用户的所有操作以及非法用户的入侵,所有行踪都要留下证据,并且满足不可抵赖性。
随着Web技术广泛应用于MES系统,其开放性在增加应用灵活度的同时,也使应用系统面临着来自Internet的安全威胁。当网站遭受应用层面的攻击时,传统的入侵防御系统、防火墙等防御产品往往显得力不从心,这就给我们提出了更多应用层面的安全需求。
为保证MES系统的整体安全,需采取全方位防护,包括从设备到网络、从技术到管理等各层面,而MES应用层是安全防护的短板,本文对此设计了MES的安全架构,来提高系统整体的防护效果和安全等级。
3 基于B/S架构的MES系统安全架构设计
实施MES后,企业的生产运作管理完全依赖于MES系统的正确运行。GB 17859把计算机系统安全保护能力划分为五个等级,用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级。目前我国尚没有关于MES系统应达到的安全保护等级要求的法规和标准。据调查,目前市场应用的MES系统一般能够达到第一级安全标准。为了满足企业MES系统的信息安全需求,同时又要应对系统业务功能的扩展,依据MES系统安全隐患的分析,根据国标《GB/T 20271信息安全技术 信息系统安全通用技术要求》和《GB 17859计算机信息系统安全保护等级划分准则》第二级系统审计保护级的要求,设计了一套MES的安全架构,其逻辑结构如图2所示。
3.1 身份验证与访问控制
为保证系统信息安全和数据完整性,采取了非法访问假设和合法取证原则,即假设所有从客户端发过来的请求均是非法用户的请求,首先要对用户身份进行验证,对请求的各种操作,包括数据的查询、添加、修改、删除等操作,都要进行合法性取证,只有通过验证的请求,才进行处理,从而最大限度地保证数据安全。本架构设计了四个层次的验证与防护,如图3所示。
登录验证:验证用户名、密码,通过验证的才能够进入系统,同时系统在服务器端记录用户的身份证明。
将数据库的超级用户口令封装在服务器端软件内,用户登录时在客户端将口令加密生成摘要,同保存在数据库内的摘要进行对比,完成用户身份确认。
访问验证:用户通过登录验证后,系统根据用户的访问控制列表,生成用户访问权限内的系统导航菜单,返回给客户端。当用户按照菜单提交菜单访问请求时,系统再次进行访问验证,通过验证的返回相应系统页面。以此防止用户伪造权限外的菜单地址直接访问。
操作验证:根据用户的数据操作能力,控制生成用户数据操作能力内的业务操作按钮。当用户提交操作请求时,系统再次进行操作能力验证,防止非法操作的发生。
数据验证:对用户所提交操作数据进行合法性检查,防止非法数据的侵入。
3.2 访问控制策略
3.2.1菜单与功能矩阵
对于企业的不同业务管理流程,MES系统有不同的业务操作功能。为了适应系统的扩展性要求,设计了动态、多级的菜单结构,每级菜单对应系统的一个业务功能或者子功能,最终对应系统的一个操作界面。系统界面上每一种功能操作或其组合完成一种业务的处理,构成了菜单和功能的矩阵。