您现在的位置是:首页 > 行业 > 制造 >
基于C/S体系的分布式PDM系统安全性研究
摘要随着产品数据管理系统使用的日益广泛,妥善保管产品数据,防止其流失也越来越受企业的关注。在分析当前PDM系统保存数据特点及其安全隐患的前提下进行研究并提出一些解决方案。...
引言
目前,越来越多的制造企业采取了跨地域和跨国界的协同工作方式,此时,产品的形成过程分布在不同的地理位置。PDM系统不仅要可以供本企业的员工使用,也应该向协作企业开放有关的应用模块。基于客户/服务器体系结构的分布式PDM系统使得这种要求成为可能。可以根据实际需求,在不同的地点配置安装有合适客户端的局域应用服务器,其结构体系如图1所示。但这也给企业的产品数据带来更多的安全隐患。本文的目的就是在分析基于客户/服务器体系结构的分布式PDM系统特点的基础上,对适用于该结构PDM系统的安全策略和技术进行讨论。
图1. 基于客户/服务器体系结构的分布式PDM系统
1 产品数据管理安全分析
PDM系统数据的安全性可以分为数据的完整性和数据的保密性。数据的完整性指的是PDM系统必须对所有的系统用户按其任务或角色分别规定不同的访问权限(读、写、修改),并且对每一次修改数据的访问进行记录,以保证每一份文档的状态都是可追溯的。数据的保密性指的是对涉密文件加密,防止产品数据外泄。
a)基于网络式数据库原理的PDM系统数据存储特点:在基于网络式数据库原理的PDM系统中,每个当地的PDM系统都是独立的(图2),具有各自的数据库。每个PDM系统都对其他地点的PDM系统的用户可以对哪些业务对象和数据对象进行怎样的处理作了明确的规定。企业与企业,部门与部门之间实现一定信息共享。在每个当地的PDM系统中,建立有个人工作区、共享数据仓库和归档数据仓库作为不同状态的数据的存储位置。
图2. 基于网络式数据库原理的PDM系统数据存储
处于编制、设计和修改过程中的产品数据通常存放在个人工作区。个人工作区属于用户的私有空间,一般位于用户本机。
共享数据仓库用于存放企业用户共享的未正式发布的产品数据。处于校对、审核、批准流程中或工艺会签、标准化审查阶段等不同状态的产品数据都存放在共享数据仓库中。
处于批准后发布状态或更改完成状态的产品数据存放在归档数据仓库。归档数据仓库是企业中正式发布的产品数据最终归档存储位置,如经过审批用于指导生产的图档、设计文件、工艺文件及相关的标准、规范等。
b)分布式PDM系统数据存储安全隐患:从PDM系统数据的存储和信息系统网络安全角度考虑,目前PDM系统中存在的安全隐患如图3所示。
图3. PDM系统中安全隐患
图3中标明的数字表示产品数据管理系统中可能出现的安全隐患。分别是:
1)非法用户通过网络侵入数据库窃取信息;2)非法用户通过侦听合法用户之间的通信,窃取或篡改信息;3)非法用户通过侦听合法用户与数据库之间的通信,窃取或篡改信息;4)非法用户通过网络侵入合法用户计算机,盗取数据;5)通过直接访问数据库利用移动存储设备等方法,盗取数据;6)用户本人或他人利用移动存储设备等方法盗取个人工作区中的数据。
上述PDM系统中的数据安全性隐患可以归纳为以下3个方面:服务器端安全隐患、客户端安全隐患、网络传输安全隐患。网络传输安全在这里不做讨论。下面将从前两个方面对产品数据管理系统中的数据安全性进行讨论。
2 产品数据管理系统的安全方案
a)服务器端的数据安全方案:服务器中存储着大量的企业产品信息,所以服务器的数据安全犹为重要。通常PDM系统将元数据存放在数据库中,而物理数据则被存放在文件系统中,通过严格的权限管理,保证数据库中数据的安全。但往往存在这样的问题,用户可能避开数据库的权限管理,直接侵入文件系统,将文件系统中保存的物理数据取走。虽然可以通过文件系统进行简单的数据加密,但不足以保证数据的安全。
文件目录所能达到的安全级别要远低于数据库产品所提供的加密安全技术,现在有一种新的PDM系统设计方案采用了“数据库文件柜”管理模式——也就是在文件入库时直接将本地文件压缩加密成二进制代码,然后将文档作为一个扩展字段或多个扩展字段直接存放在文档基本记录数据表中。这样做有很多优点,最显著的优点是——用户不可能避开数据库访问物理文件。但同样也存在缺点,文件过大时,数据检Ⅳ检出的时间过长,占用物理宽带过大,服务器难以同时承受多个并发的大文件访问需求。
利用文件分割技术,在文件入库时将文件分割成若干块,随机存放在多台文件服务器或者一台服务器中的不同位置,在数据库中记录文件存放的位置。这样做的好处是由于文件是被分割保存,且保存的位置是随机的,即使用户侵入文件系统,也很难得到完整的文件。文件在检出的时候,可以将相关的文件块下载到客户端,再合并成完整的文件。大文件被分割成若干小文件,在数据传输时,文件可以被分段分时下载,可以降低网络的拥堵状况,提高网络的利用率。
b)客户端的数据安全方案:前面提到,客户端中的数据主要指的是PDM个人工作区中存储的数据。客户端安装在用户本机上,传统的保障客户端数据安全的方法是人为的对涉密文件进行加密;禁止所有复制,剪切和粘贴等操作;禁用打印和USB端口。这样虽然在一定程度上也能保证数据的安全,但却是以牺牲工作的灵活性为代价的。
透明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开。从而起来保护文件内容的效果。
本文采用的是对透明加密技术一种改进方法,将透明加密技术糅合进PDM系统的客户端。在未进入PDM客户端时,用户本机上的所有应用软件不受监控。在进入PDM客户端时,此时事先定义的涉密软件(如Word,AutoCAD等应用软件)将接受监控。涉密软件在打开或保存文档时,系统会对其进行自动的加解密,使用者不会察觉其加解密过程。当涉密软件(如Word)向非涉密软件(如记事本)拷贝文本时,系统将进行加密,此时复制到非涉密软件中的文本将以密文形式显示。而涉密软件之间或非涉密软件向涉密软件拷贝文本时则不受限制。
凡是涉密软件(如Word)保存的文档,不论格式(如DOC,TXT等)均以密文的形式保存在磁盘上。而非涉密软件在保存时,不论格式均不与加密。
对于打印应加以控制,在进入PDM客户端后,凡非涉密应用软件,打印不受限制。而涉密应用软件在打印时应向PDM系统控制端发送申请,并在控制端上留下日志,以备责任查询。
在PDM系统开启后,应禁止所有软件的截屏功能。在退出PDM系统时,系统将开启的涉密应用软件强制保存退出。避免在PDM系统退出后,涉密应用软件不受监控,此时若再保存文档,则保存在磁盘上的文档为明文,起不到保密的作用。
c)技术支持:在Windows操作系统下,进程的操作往往伴随着Windows API的调用,例如软件在保存文本时会调用WriteFile这一函数。所谓挂钩API技术(HOOK API)是指截获特定进程或系统对某个API函数的调用,使得API的执行流程转向指定的代码。Windows下应用程序有自己的地址空间,它们只能调用自己地址空间中的函数,所以在挂钩API之前,可以利用目标进程加载包含有要注入代码的DLL将一个可以代替API执行函数的执行代码注入到目标进程,然后再将目标进程对该API的调用改为对注入到目标进程中自定义函数的调用。由进程的进程号可以得到进程的主线程号,由此可以对目标进程实行监控。以Word软件为例,当PDM系统客户端启动后,客户端每隔一定时间会给当前系统内执行的进程拍快照(Snapshot),得到一个进程列表,如果发现Word软件在运行则对其进行挂钩。在执行保存时,WriteFile这一函数被截获,指向WriteFile的指针将指向在DLL中定义好的替代函数,这个替代函数的功能是将要保存的内容进行加密,然后再调用WriteFile将加密后的文本存入磁盘,这一过程没有人为的干预,实现透明加密。其他功能的实现也可以采取类似的方法。
3 结语
作为产品数据的管理平台,PDM的安全性日益得到企业的重视。而软件的安全性往往与灵活性相矛盾。在考虑了软件使用灵活与方便的前提下,针对PDM中的安全隐患提出一些构思,对其他系统也有一定的指导意义。由于篇幅有限,所采用的技术也是较为成熟的技术,所以对具体的技术并未进行深入讨论。
(本文不涉密)
责任编辑: