1、前言
产品全生命周期管理系统(PLM)通过应用一系列面向产品不同生命周期的解决方案,解决了企业在需求管理、项目管理、bom管理、文档管理、更改管理、异地协同、数字化样机、制造协同、售后维护等诸多方面的问题。PLM系统支持产品定义信息的协同化生成、管理、分发和使用,从地域上横跨整个企业和供应链,从时间上覆盖从产品的概念阶段一直到产品结束它的使命的全生命周期。从数据上说,PLM包含完整的产品定义信息,包括所有产品相关的机械、电子、软件等的研发数据、工艺数据、制造数据、管理数据、过程数据、标准化数据等等。在PLM系统推行的过程中,用户往往会对PLM系统的安全性提出疑问。尤其是PLM系统更关注于企业研发的管理,所以,事关企业生命和发展的研发数据的保密性和安全性更是得到越来越多企业的关注。
作为世界上使用最广泛的PLM产品——ugs公司的teamcenter enterprise系统,毫无疑问受到更多来自安全性方面问题的挑战。本文下面就teamcenter enterprise的安全控制体系进行简要介绍,并对一些关键的安全控制功能及其应用进行解释。
2、teamcenter enterprise 的安全控制体系
1.1外围环境
teamcenter enterprise作为横跨整个企业和供应链的PLM系统,需要支持在产品生命周期中的所有授权用户可以在全球各处随时随地地访问产品信息,这就不仅要考虑企业内部连接的安全性问题,还要考虑来自企业外部的安全连接问题,比如异地的子公司或者外协单位等等,如下图所示。信息系统的安全取决于很多方面的因素,teamcenter enterprise系统也不例外。要建立一套完整、可靠、自内而外的安全控制体系,首先需要在teamcenter enterprise系统外围形成完备的硬软件基础环境的安全控制机制。一般来说,外围环境需要提供的安全控制主要包括:
?
网络安全:在物理层、链路层、网络层采取各种安全措施来保障系统的安全。如建立防火墙、应用入侵检测系统等等。
?
操作系统安全:建立域用户控制、访问控制列表等
?
数据库安全:设置数据库访问的权限和角色
teamcenter enterprise系统的外围环境示意图:
除了依靠其他外围环境,teamcenter enterprise还提供了对https(安全的超文本传输协议)的支持。https是对http的扩充,其基于ssl(安全槽层)技术增加了数据传递的安全性。ssl协议通过在应用程序进行数据交换前交换ssl初始握手信息来实现有关安全特性的审查,该协议向www的应用提供完整性、鉴别、不可抵赖性及机密性等安全措施。
1.2系统内部
teamcenter enterprise控制并管理来自企业中分散和异构的应用系统中的产品信息,其内部采用了多层次的安全控制体系,如下图所示。主要包括:
?
密码控制和验证
?
静态权限
?
对象访问控制列表——针对单个对象定义访问控制列表
?
消息访问规则——通过给单个用户、角色、团队、工作组以及部门单位的授权和安全验证来控制用户对各种信息的访问
?
授权数据访问——对保密数据或受控数据及其相关数据进行控制
?
流程中的动态控制
?
动态权限——在流程节点中自动动态赋予和收回权限
?
流程签发身份验证——验证签发人员的身份
?
访问审计——系统关键事件自动记录
具体每一个层次对应的功能及其应用在下一节进行阐述。
teamcenter enterprise系统内的安全控制层次
3、teamcenter enterprise安全控制功能及其应用
3.1密码控制和验证
用途:
?控制密码设定规则
?强制定期密码更换
?防止密码被反复猜测盗取
teamcenter enterprise通过设置以下内容进行用户密码的控制和验证:
?登录重试次数限制
?密码失效期
?唯一密码数量——指定一个密码在被重用前需要设定的密码数量
?最小密码长度
?是否必须包含大小写字母
?必须包含的数字数量
?必须包含的字母数量
?必须包含的标点符号数量
?可以包含的标点符号
?密码是否可以和用户名相同
?密码过期前多少天进行提醒
3.2规则控制
用途:
?
通过消息访问规则(mar)控制谁可以在什么条件下可以对哪些对象进行哪些操作,控制用户对对象和操作的访问。mar可以控制对用户、角色、团队、工作组以及部门单位等进行针对某个消息或者消息组的授权。mar是最基本的权限控制方式。用户默认是没有权限的,除非经过授权。
通过位置选取规则(lsr)控制决定什么对象在什么条件下该放在什么地方。如保密文件不能存放在密级低的服务器上。
通过通知规则(ntr)控制当某个特定事件发生后谁被通知。如有人浏览了绝密的文档等,保密委员会得到通知。
3.3对象访问控制列表(acl)
用途:
?
用于超越mar的限制单独对某个对象进行权限设置。
?
可以管理由用户自行设置自己管理下的对象的权限
?
可以限制规则权限高的人在特定对象上的操作。acl设置的排除列表(即不运行访问的人员或部门清单)将覆盖规则权限,即时mar授予了权限也无效。
3.4动态权限
用途:
?
用于在流程节点中动态赋予权限,例如,在流程的审批节点中,审批人员被授权可以查看图纸并进行批阅,但审批结束后,同样的操作就被拒绝。动态权限和mar一样可以授予流程参与者以指定的消息组。
?
可以用户在流程某个节点执行某一个特定的业务操作,例如,在变更流程中,授予变更分析人员可以填写变更对象分析意见属性的权限,分析意见存入变更对象的属性中。
?
可以实现流程中分步由不同人员填写对象不同属性的控制,类似于lotus notes中的文档域控制能力。
3.5流程签发身份验证
用途:
?
可以将流程中的某些步骤设置为需要密码验证的,这样,处于此步骤的审批人员需要输入密码才能进行任务的签发。这一功能经常用于一些对签发操作有安全性要求,或者需要慎重的关键性流程节点。
3.6授权数据访问(ada)
用途:
?
授权数据访问(authorized data access, ada)是对前面所述的mar和acl的补充。主要用于:
?
解决出口保密审核,防止受控文档的泄密;
?
多单位协同情况下的数据保密,防止内部信息外流
?
内部保密数据的控制,防止保密信息被不够权限的人员访问。
?
ada可以将用户区分为受限用户(restricted access users)和不受限用户(full access users)。不受限用户的权限只受系统原有的mar和acl等控制,不受ada授权的控制。例如,在协同情况下,如果外协单位访问内部系统,可以将这些外协人员设置为受限用户,并对不同的数据进行授权访问。或者在一个军工企业内,受限用户只能访问授权密级的数据。如下图所示。
ada可以基于授权控制文档(authorizing document)对不同人员或组织进行不同数据的授权,如下图所示。授权控制文档用来记录和区分不同用户或者组织的分类集合。