论文部分内容阅读
【摘 要】随着AutoCAD在各行各业的普及推广,其DWG文件中所存贮的信息安全成为各单位一个现实问题,为此,开发了一个基于AutoCAD平台并与SQL相结合的图档安全管理系统,实现了事前防护、事中控制、事后追踪一套完整的企业DWG图形安全管理系统。
【关键词】DWG;图档;安全;管理;系统
Development of AutoCAD-based DWG files of Safety Management System
Cheng Jian-hua1, Wang Jian-ping2
(1. Ningbo University Construction Design and Research Institute Ningbo Zhejiang 315211;
2. Ningbo Jiangdong Tutai Information Technology Co., Ltd. Ningbo Zhejiang 315010)
【Abstract】With popularity of AutoCAD promotion in all walks of life, the DWG file in the storage of information security has become units of a real problem, to that end, developed a platform based on AutoCAD and the combination of SQL file security management system to achieve the pre-protection, a matter of control, after tracking a complete set of enterprise security management system DWG graphics.
【Key words】DWG files; Safety management system
1. 图档安全保护的必要性
1.1 是企业保护关键资产的需要。
随着企业信息化的加速,大量的电子图档作为承载信息的媒介成为特殊的关键资产,而电子图档的易传播、易扩散性决定了它的不安全性。现在,以电子文件为主的内部泄密正在成为企业内部数据安全的最大威胁之一。根据FBI和CSI 调查显示,据FBI和CSI对484家公司进行的专项调查显示。超过85%的安全威胁来自公司内部。在损失金额上,由于内部人员泄密导致了6056.5万美元的损失,是黑客造成损失的16倍,是病毒造成损失的12倍。信息安全的主要隐患已经从外部入侵逐渐转变为内部人员使用信息的不可控性上。作为敏感信息的载体-电子图档的安全成为信息安全领域最受关注的热点问题之一。一种合适的图档安全产品,对满足企业图档安全的迫切需求,有极其重要的作用。
1.2 解决图档使用方便性和安全可控性之间的矛盾的需要。
前文提到了图档安全的重要性,因此,很多企业希望引入图档安全管理软件来保护本单位的电子图档不泄密。但是,现有的图档安全管理软件往往会对其他应用造成不便甚至完全排斥其他业务。
例如:在AutoCAD文件保护方式上,当前国内现有的产品一般只能保护到文件一级,其方式是在使存取用过程中,自动对所有文件进行加密,结果是造成不该加密的内容也被强制加密,无法支持使用单位和其他单位或部门的正常信息交换,实质上把使用单位变成了信息孤岛;中国的全部行业和大多数企业采用矩阵式管理结构,条块之间信息交流是必须的,上述产品未能很好地解决图档使用方便性和安全可控之间的矛盾,其巨大的副作用使其不能很好地满足用户需求。图档使用方便性和安全可控之间的矛盾,成为图档安全最难解决的难点之一。
笔者认为,要根本上解决上述问题,一种有效的途径是:对AutoCAD文件实体、图层、文件三个层次的进行保护的系统,做到该保护的的部分保护、该开放的部分开放,彻底地解决了图档使用方便性和安全可控之间的矛盾。
1.3 是满足企业数字图形资源海量信息的有效梳理的需求。
在现在这个信息爆炸性增长的时代,海量信息的有效梳理利用成为一个重要的课题。同样,在巨大的数字图形资源中,传统的手工翻页式查找显然已经无法适应。以宁波市区各AutoCAD地形图电子文件的单位为例,要查找某一个区域1:500的地图,若是通过手工翻页的方式一个一个浏览文件,再逐个打开查对,效率很低。因此,建立有效的图形资源查询体制就显得异常重要。
1.4 图形资源的集中式管理的需求。
目前,在使用各种数字图形资源的各行业系统中,普遍存在文件多而杂乱、管理松散的现象。这样,既不利于图形资源的有效利用,也给图形资源的版本管理、分发共享带来困难。更为严重的是,图形资源的流向难以掌控,图形资源的无限制复制、未经授权的使用,从而造成敏感图形数据的流失、泄密和非法使用的严重后果。
1.5 国家对信息安全的要求。
随着全球信息化水平的不断提高,信息安全的重要性日趋增强。当前信息安全产业已成为对各国的国家安全、政治稳定、经济发展、社会生活、健康文化等方方面面具有生存性和保障性支撑作用的关键产业。信息安全可能会影响个人的工作、生活,甚至会影响国家经济发展、社会稳定、国防安全。因此,信息安全产业在整个产业布局乃至国家战略格局中具有举足轻重的地位和作用。因此,信息安全方面的研究是当前信息行业的研究重点。
在国际上信息安全研究已成体系,20世纪70年代就已经开始标准化。当前有多个国际组织致力于网络与信息安全方面的研究。随着信息社会对网络依赖性的不断增加以及突发事件的出现,各个国家在网络与信息安全方面都在加速研究。我国自2003年以来也在网络与信息安全方面有了较大的进展,但是总体相对落后。因此,信息安全的研究将成为当前和未来研究的热点与重点。
2.系统技术原理
2.1 系统总体架构。
分布式技术可以利用多台机器的资源及许多进程的空间,实现异构平台间系统的相互通信,可以极大地提高应用系统的扩展性。该系统产品采用三层分布式结构,按照应用程序逻辑地分为三个基本层:数据存储层、应用逻辑层、系统展现层。 三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。其结构如图1所示:
三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。通过按照这些原则对应用程序进行分层,使用基于组件的编程技术,使得访问隔离在不同层次之间,安全性的维护与管理都比较容易实现。
2.2 系统总体功能。
整个软件系统分为用户身份认证模块、软件启动模块、软件加密狗、AutoCAD图形保护模块、AutoCAD图形保护用户模块,图形身份标识模块、用户行为日志审记模块、加密解密模块。分别针对一般用户和管理员用户。
(1)用户身份认证模块。
在服务器端,支持系统管理员进行登录用户的注册、颁发、权限设置、吊销等,可以在安全级别上进行集中管理,防止由于公司人员流动带来的不安全因素。
在客户端,用户要输入正确的用户名和口令,经身份认证模块认证,才能登陆到认证服务器并访问数据服务器相应的内容。对安全要求比较高的用户,不仅要输入正确的用户名和口令,还要插入相应的硬件锁,才可以登录,这样可以防止黑客和木马工具窃取用户密码。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/jzkj/jzkj200907/jzkj20090703-1-l.jpg)
(2)软件启动模块。
启动AutoCAD并加载AutoCAD图形保护模块。
(3)软件加密狗。
不同用户采用不同系列的加密狗,可以确保用户设置的保护方式不能被其它用户修改。加密狗可以根据需要使用网络狗或单机狗,一家用户也可以同时使用网络狗和单机狗,单机狗用于外出时使用。软件狗同时可以用来防止图层形保护软件被破解。
(4)AutoCAD图形保护模块。
用于设计方根据具体情况设计不同的保护方式,可以有效地控制AutoCAD图纸的部分或全部图形的打印、拷贝、矩阵转换、分解、保存等功能,也可以通过加密DWG文件达到用户只能浏览图形的目的。该程序主要用于地图分发用户。拥有不同权限的用户可对不同图层上的不同实体进行操作。
(5)AutoCAD图形保护用户模块。
只用于根据保护方式的设定显示受保护的图形,最终用户如果没有该程序,将不能显示受保护的图形,但其它图形可以正常显示。如果设计方使用的保护方式是需要加密狗的,那就只有拥有与设计方同系列的软件加密狗的用户才能显示受保护的图元。
(6)图纸身份标识模块。
系统管理员对需要保密的图形文件、图层或实体加载一个唯一的标识码,隐藏在类中,以便于事后追踪。该代码与加密狗联合使用可形成双重保密功能。地图分发用户在发布地图时随地图将分发用户的代码与终端用户代码、用户的图层及实体操作属性一起发布。分发用户可按程序设定的规则定义终端用户代码,而分发用户的代码由系统管理员统一确定,在其购买本图形保护主程序时嵌入,分发用户及终端用户均无权对随图定义的代码进行查询及修改,只有经过系统管理员认证的管理者有权修改及查询。代码的更新须在系统管理员的认可下随程序升级时在后台进行。
模块的另一个功能是对图层中加密的标识代码进行倒算。通过识别类特征,判断图纸产权及追踪泄密者。
(7)用户行为日志审计模块。
日志审计模块包括快速方便的日志查询备份功能及完善灵活的报警机制。通过对AutoCAD打印、拷贝、修改等中断的接管,记录用户相应的操作,形成相应的日志文件。
每当在服务器端有新的日志产生时,会自动启动日志审计模块,可以由有权限的操纵者自定义告警规则,包括匹配条件、级别、报警方式等。
(8)加密解密模块。
支持对单个、多个文件或整个目录中的文件的一个或多个实体加、解密。支持第三方加密软件。
2.3 软件使用流程如下。
用户登录后,“用户登录模块”通过用户名、口令和判断属于一般用户还是管理员用户。如果是管理员用户,可以通过“日志审记模块”查询日志记录;可以通过“软件启动模块” 和“软件加密狗”获得加密解密权限,通过“加密解密模块”对需要保护的目录、文件、图层或实体进行加密;可以通过“AutoCAD图形模块”决定相关用户对目录、文件、图层或实体拥有何种权限(比如只读、打印或拷贝等)。如果是管理员用户,可以通过“身份识别模块”识别该用户有何种权限,再通过“软件加密狗”和“AUTOCAD用户保护模块”获得执行该权限的权力。示意图如图3、图4所示:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/jzkj/jzkj200907/jzkj20090703-2-l.jpg)
2.4 系统逻辑结构及实现
应用软件功能前面已经描述;主要技术和工具将在关键技术点中做说明,应用层功能如下:
(1)用户登录与权限设置。
功能:在服务器端设置图形使用者的权限与管理,只有通过了服务器认证的登录用户才能从服务器上下载加密的图形,是防止内部泄密的第一道屏障。
(2)图档管理。
功能:在服务器端进行图档的入库及出库管理,直观方便地进行对图档进行管理,可提高图档检索的速度和准确性,体现了本软件人性化操作的强大功能。
(3)保护方式设置。
功能:通过密码方式设置图形的保护方式。
A、可以设置保护的图形是否能矩阵转化(影响AutoCAD中如平移、缩放、镜像等需要有矩阵变换的命令)。
B、可以设置保护的图形是否能显示。
C、可以设置保护的图形是否能分解或炸开。
(4)保护图形。
功能:根据保护方式的设置来保护图形。
A、保护当前图中实体,可以是全部或部分图形,未受保护的图形在普通CAD里仍能正常显示修改等,受保护的那部分图形在普通CAD里不会显示。
B、保护DWG文件,可以单选或多选DWG文件,分别对各个文件生成对应的受保护图元文件。
C、保护目录下所有DWG文件,批量保护某个目录下所有的DWG文件。
(5)保护并加密图形。
功能:保护DWG文件后再加密,保护功能更加强大。
A、加密DWG文件,可以单选或多选DWG文件,分别对各个文件生成对应的受保护图元,并加密该文件。
B、加密目录下所有DWG文件,批量保护并加密某个目录下所有的DWG文件。
(6)解密文件。
功能:解密由本软件保护并加密图形功能生成的加密文件,生成相应的包含受保护图元的DWG文件。
A、解密加密文件,可以单选或多选加密文件,对这些文件解密生成相应的包含受保护图元的DWG文件。
B、解密目录文件,批量解密某个目录下所有的加密文件。
3. 开发平台
AutoCAD作为通用绘图软件,许多用户在其上进行了二次开发,如果选取外部开发工具,不仅开发效率低,而且很难支持用户自行开发的中间件。所以本软件采取嵌入方式。
AutoCAD的开放结构可以支持用户以lisp、ADS、ARX等对其进行二次开发。
Lisp是解释执行的开发工具,执行时占用内存较大复杂计算时执行速度较慢,且保护码容易被破解,造成源代码被反编译;ADS只能在实模式下运行,容易引起溢出,造成系统崩溃,在AutoCAD14版本后已停止发展,可扩展性较差。ARX采用全编译执行,反编译困难;目标代码字节少、执行速度快。ObjectARX还有以下其他优点:
ObjectARX应用程序是动态链接库(DLL),可以和AutoCAD共享地址空间,直接调用AutoCAD的内部函数。在ObjectARX应用程序中定义的命令与AutoCAD的内部命令运行方式相同,而在ObjectARX应用程序中创建的标准实体对象也和AutoCAD中创建的实体对象在显示上没有区别。所以本系统选用ObjectARX作为开发的主要工具。主要是利用了ObjectARX的下述功能:
A、直接访问AutoCAD的图形数据库。
B、在应用程序中自定义类及自定义对象,生成有可遗传的特征码的自定义类及对象,对不同的自定义类及对象可由程序指定其特定的属性。
在本系统的开发过程中,自定义对象是由 ObjectARX应用程序创建的对象类型,它具有的特定功能通常比标准 AutoCAD 对象多。除 Autodesk 外,许多软件供应商都使用 ObjectARX 编写能够创建图形自定义对象和非图形自定义对象的程序,这些对象在 AutoCAD 应用程序中很有用。当 AutoCAD 或其他宿主应用程序无法使用创建自定义对象的 ObjectARX 应用程序时,将以代理对象代替自定义对象。此后,如果 ObjectARX 应用程序对 AutoCAD 可用,代理对象将被自定义对象取代。与相应的自定义对象相比,代理对象的功能明显减少。代理对象可编辑的范围由父 ObjectARX 应用程序决定。例如,根据创建对象的应用程序,可以决定能否对代理对象进行删除、移动、打印等操作或更改对象的属性。
目前Windows应用软件开发平台主要包括.NET 与JAVA。
JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。JAVA能够夸平台运行,但是在Windows几乎一统天下的时代也没有多少实际的意义;JAVA是解释型语言,运行速度效率极低;JAVA相对复杂,软件开发效率较低,研发成本较高。
.NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。对于软件开发人员来讲,.NET的技术相对简单,入门较快。由于.NET拥有易学易用、开发迅速的特性,随着它的成熟和完善,使其受到越来越多企业的青睐。 北美一些大型企业(如加拿大Royal Bank, Scotia Bank)纷纷将应用平台迁移到.NET,从而走出了Microsoft之平台与技术只适合于中小企业的阴影。 近一年来,.NET在国内也取得了惊人的发展 - 众多企业纷纷采用.NET作为企业应用开发技术与平台,使用.NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
还有一个重要的因素,ObjectARX采用C++语法,同.NET体系结构同出一脉,便于集成开发。所以本系统选用.NET作为辅助开发工具。
本系统研发设计了通用数据库引擎,基本上同数据库选用无关,所以数据库采用SQL SERVER还是ORACLE关系都不大,考虑到SQL SERVER出自微软,.NET开发运行更加高效,所以本系统选用SQL SERVER作为数据库系统工具。
4. 产品评测
根据宁波市软件测评与服务中心2007年3月20日提供的软件测评报告,该系统指标如下:
(1)软件安装:根据产品安装说明进行操作,系统能正常安装。
(2)系统卸载:系统能正常卸载,并在卸载后部占用内存。
(3)功能模块挂接:软件界面中的功能模块能挂接,不能挂接的功能模块长总模块数的比例在5%以内。
(4)软件功能实现:基本实现软件菜单功能,关键模块的实现无错误;其他功能模块的实现无重大错误;软件相应时间在可容忍的范围之内。
(5)软件容错性:软件发生错误时有提示,并能恢复到正常状态。
(6)安全保密性:对不同用户所设置的权限能正常实现。
(7)运行稳定性:测试期间没出现数据丢失、系统紊乱或死机想象。
(8)用户界面输入:正常。
(9)用户界面显示:正常。
(10)界面文字:正常。
(11)界面中文符合性:正常。
(12)软件提示符合性:正常。
(13)字库中文符合性:正常。
(14)用户文档描述:正常。
(15)用户文档描述与文件一致性:正常。
(16)版本一致性:正常。
(17)病毒检查:正常。
5. 结语
该系统是国内唯一能同时提供对实体、图层、文件三个等级进行保护的产品;该系统产品提供了以图调图的图形索引方式;该系统产品将AutoCAD文件以实体为单位拆分成多条关联记录存储在关系数据库中,从根本上解决了AutoCAD文件保密性和可用性的问题;在系统开发过程中,采用了基于正交分类的软件缺陷跟踪系统,缺陷定位的准确性和精确性显著提高。
在普遍使用AutoCAD的各单位,使用本系统必将有效保护其知识产权,避免不必要的损失,为企业的信息安全保驾护航。
[基金项目]科技部2007年创新基金资助,资助编号:07C26213311424
[文章编号]1006-7619(2009)07-22-677
[作者简介]程建华(1969.10- ),浙江大学计算机应用工学硕士,高级工程师,长期从事CAD平台二次开发及信息安全研发。
【关键词】DWG;图档;安全;管理;系统
Development of AutoCAD-based DWG files of Safety Management System
Cheng Jian-hua1, Wang Jian-ping2
(1. Ningbo University Construction Design and Research Institute Ningbo Zhejiang 315211;
2. Ningbo Jiangdong Tutai Information Technology Co., Ltd. Ningbo Zhejiang 315010)
【Abstract】With popularity of AutoCAD promotion in all walks of life, the DWG file in the storage of information security has become units of a real problem, to that end, developed a platform based on AutoCAD and the combination of SQL file security management system to achieve the pre-protection, a matter of control, after tracking a complete set of enterprise security management system DWG graphics.
【Key words】DWG files; Safety management system
1. 图档安全保护的必要性
1.1 是企业保护关键资产的需要。
随着企业信息化的加速,大量的电子图档作为承载信息的媒介成为特殊的关键资产,而电子图档的易传播、易扩散性决定了它的不安全性。现在,以电子文件为主的内部泄密正在成为企业内部数据安全的最大威胁之一。根据FBI和CSI 调查显示,据FBI和CSI对484家公司进行的专项调查显示。超过85%的安全威胁来自公司内部。在损失金额上,由于内部人员泄密导致了6056.5万美元的损失,是黑客造成损失的16倍,是病毒造成损失的12倍。信息安全的主要隐患已经从外部入侵逐渐转变为内部人员使用信息的不可控性上。作为敏感信息的载体-电子图档的安全成为信息安全领域最受关注的热点问题之一。一种合适的图档安全产品,对满足企业图档安全的迫切需求,有极其重要的作用。
1.2 解决图档使用方便性和安全可控性之间的矛盾的需要。
前文提到了图档安全的重要性,因此,很多企业希望引入图档安全管理软件来保护本单位的电子图档不泄密。但是,现有的图档安全管理软件往往会对其他应用造成不便甚至完全排斥其他业务。
例如:在AutoCAD文件保护方式上,当前国内现有的产品一般只能保护到文件一级,其方式是在使存取用过程中,自动对所有文件进行加密,结果是造成不该加密的内容也被强制加密,无法支持使用单位和其他单位或部门的正常信息交换,实质上把使用单位变成了信息孤岛;中国的全部行业和大多数企业采用矩阵式管理结构,条块之间信息交流是必须的,上述产品未能很好地解决图档使用方便性和安全可控之间的矛盾,其巨大的副作用使其不能很好地满足用户需求。图档使用方便性和安全可控之间的矛盾,成为图档安全最难解决的难点之一。
笔者认为,要根本上解决上述问题,一种有效的途径是:对AutoCAD文件实体、图层、文件三个层次的进行保护的系统,做到该保护的的部分保护、该开放的部分开放,彻底地解决了图档使用方便性和安全可控之间的矛盾。
1.3 是满足企业数字图形资源海量信息的有效梳理的需求。
在现在这个信息爆炸性增长的时代,海量信息的有效梳理利用成为一个重要的课题。同样,在巨大的数字图形资源中,传统的手工翻页式查找显然已经无法适应。以宁波市区各AutoCAD地形图电子文件的单位为例,要查找某一个区域1:500的地图,若是通过手工翻页的方式一个一个浏览文件,再逐个打开查对,效率很低。因此,建立有效的图形资源查询体制就显得异常重要。
1.4 图形资源的集中式管理的需求。
目前,在使用各种数字图形资源的各行业系统中,普遍存在文件多而杂乱、管理松散的现象。这样,既不利于图形资源的有效利用,也给图形资源的版本管理、分发共享带来困难。更为严重的是,图形资源的流向难以掌控,图形资源的无限制复制、未经授权的使用,从而造成敏感图形数据的流失、泄密和非法使用的严重后果。
1.5 国家对信息安全的要求。
随着全球信息化水平的不断提高,信息安全的重要性日趋增强。当前信息安全产业已成为对各国的国家安全、政治稳定、经济发展、社会生活、健康文化等方方面面具有生存性和保障性支撑作用的关键产业。信息安全可能会影响个人的工作、生活,甚至会影响国家经济发展、社会稳定、国防安全。因此,信息安全产业在整个产业布局乃至国家战略格局中具有举足轻重的地位和作用。因此,信息安全方面的研究是当前信息行业的研究重点。
在国际上信息安全研究已成体系,20世纪70年代就已经开始标准化。当前有多个国际组织致力于网络与信息安全方面的研究。随着信息社会对网络依赖性的不断增加以及突发事件的出现,各个国家在网络与信息安全方面都在加速研究。我国自2003年以来也在网络与信息安全方面有了较大的进展,但是总体相对落后。因此,信息安全的研究将成为当前和未来研究的热点与重点。
2.系统技术原理
2.1 系统总体架构。
分布式技术可以利用多台机器的资源及许多进程的空间,实现异构平台间系统的相互通信,可以极大地提高应用系统的扩展性。该系统产品采用三层分布式结构,按照应用程序逻辑地分为三个基本层:数据存储层、应用逻辑层、系统展现层。 三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。其结构如图1所示:
三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。通过按照这些原则对应用程序进行分层,使用基于组件的编程技术,使得访问隔离在不同层次之间,安全性的维护与管理都比较容易实现。
2.2 系统总体功能。
整个软件系统分为用户身份认证模块、软件启动模块、软件加密狗、AutoCAD图形保护模块、AutoCAD图形保护用户模块,图形身份标识模块、用户行为日志审记模块、加密解密模块。分别针对一般用户和管理员用户。
(1)用户身份认证模块。
在服务器端,支持系统管理员进行登录用户的注册、颁发、权限设置、吊销等,可以在安全级别上进行集中管理,防止由于公司人员流动带来的不安全因素。
在客户端,用户要输入正确的用户名和口令,经身份认证模块认证,才能登陆到认证服务器并访问数据服务器相应的内容。对安全要求比较高的用户,不仅要输入正确的用户名和口令,还要插入相应的硬件锁,才可以登录,这样可以防止黑客和木马工具窃取用户密码。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/jzkj/jzkj200907/jzkj20090703-1-l.jpg)
(2)软件启动模块。
启动AutoCAD并加载AutoCAD图形保护模块。
(3)软件加密狗。
不同用户采用不同系列的加密狗,可以确保用户设置的保护方式不能被其它用户修改。加密狗可以根据需要使用网络狗或单机狗,一家用户也可以同时使用网络狗和单机狗,单机狗用于外出时使用。软件狗同时可以用来防止图层形保护软件被破解。
(4)AutoCAD图形保护模块。
用于设计方根据具体情况设计不同的保护方式,可以有效地控制AutoCAD图纸的部分或全部图形的打印、拷贝、矩阵转换、分解、保存等功能,也可以通过加密DWG文件达到用户只能浏览图形的目的。该程序主要用于地图分发用户。拥有不同权限的用户可对不同图层上的不同实体进行操作。
(5)AutoCAD图形保护用户模块。
只用于根据保护方式的设定显示受保护的图形,最终用户如果没有该程序,将不能显示受保护的图形,但其它图形可以正常显示。如果设计方使用的保护方式是需要加密狗的,那就只有拥有与设计方同系列的软件加密狗的用户才能显示受保护的图元。
(6)图纸身份标识模块。
系统管理员对需要保密的图形文件、图层或实体加载一个唯一的标识码,隐藏在类中,以便于事后追踪。该代码与加密狗联合使用可形成双重保密功能。地图分发用户在发布地图时随地图将分发用户的代码与终端用户代码、用户的图层及实体操作属性一起发布。分发用户可按程序设定的规则定义终端用户代码,而分发用户的代码由系统管理员统一确定,在其购买本图形保护主程序时嵌入,分发用户及终端用户均无权对随图定义的代码进行查询及修改,只有经过系统管理员认证的管理者有权修改及查询。代码的更新须在系统管理员的认可下随程序升级时在后台进行。
模块的另一个功能是对图层中加密的标识代码进行倒算。通过识别类特征,判断图纸产权及追踪泄密者。
(7)用户行为日志审计模块。
日志审计模块包括快速方便的日志查询备份功能及完善灵活的报警机制。通过对AutoCAD打印、拷贝、修改等中断的接管,记录用户相应的操作,形成相应的日志文件。
每当在服务器端有新的日志产生时,会自动启动日志审计模块,可以由有权限的操纵者自定义告警规则,包括匹配条件、级别、报警方式等。
(8)加密解密模块。
支持对单个、多个文件或整个目录中的文件的一个或多个实体加、解密。支持第三方加密软件。
2.3 软件使用流程如下。
用户登录后,“用户登录模块”通过用户名、口令和判断属于一般用户还是管理员用户。如果是管理员用户,可以通过“日志审记模块”查询日志记录;可以通过“软件启动模块” 和“软件加密狗”获得加密解密权限,通过“加密解密模块”对需要保护的目录、文件、图层或实体进行加密;可以通过“AutoCAD图形模块”决定相关用户对目录、文件、图层或实体拥有何种权限(比如只读、打印或拷贝等)。如果是管理员用户,可以通过“身份识别模块”识别该用户有何种权限,再通过“软件加密狗”和“AUTOCAD用户保护模块”获得执行该权限的权力。示意图如图3、图4所示:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/jzkj/jzkj200907/jzkj20090703-2-l.jpg)
2.4 系统逻辑结构及实现
应用软件功能前面已经描述;主要技术和工具将在关键技术点中做说明,应用层功能如下:
(1)用户登录与权限设置。
功能:在服务器端设置图形使用者的权限与管理,只有通过了服务器认证的登录用户才能从服务器上下载加密的图形,是防止内部泄密的第一道屏障。
(2)图档管理。
功能:在服务器端进行图档的入库及出库管理,直观方便地进行对图档进行管理,可提高图档检索的速度和准确性,体现了本软件人性化操作的强大功能。
(3)保护方式设置。
功能:通过密码方式设置图形的保护方式。
A、可以设置保护的图形是否能矩阵转化(影响AutoCAD中如平移、缩放、镜像等需要有矩阵变换的命令)。
B、可以设置保护的图形是否能显示。
C、可以设置保护的图形是否能分解或炸开。
(4)保护图形。
功能:根据保护方式的设置来保护图形。
A、保护当前图中实体,可以是全部或部分图形,未受保护的图形在普通CAD里仍能正常显示修改等,受保护的那部分图形在普通CAD里不会显示。
B、保护DWG文件,可以单选或多选DWG文件,分别对各个文件生成对应的受保护图元文件。
C、保护目录下所有DWG文件,批量保护某个目录下所有的DWG文件。
(5)保护并加密图形。
功能:保护DWG文件后再加密,保护功能更加强大。
A、加密DWG文件,可以单选或多选DWG文件,分别对各个文件生成对应的受保护图元,并加密该文件。
B、加密目录下所有DWG文件,批量保护并加密某个目录下所有的DWG文件。
(6)解密文件。
功能:解密由本软件保护并加密图形功能生成的加密文件,生成相应的包含受保护图元的DWG文件。
A、解密加密文件,可以单选或多选加密文件,对这些文件解密生成相应的包含受保护图元的DWG文件。
B、解密目录文件,批量解密某个目录下所有的加密文件。
3. 开发平台
AutoCAD作为通用绘图软件,许多用户在其上进行了二次开发,如果选取外部开发工具,不仅开发效率低,而且很难支持用户自行开发的中间件。所以本软件采取嵌入方式。
AutoCAD的开放结构可以支持用户以lisp、ADS、ARX等对其进行二次开发。
Lisp是解释执行的开发工具,执行时占用内存较大复杂计算时执行速度较慢,且保护码容易被破解,造成源代码被反编译;ADS只能在实模式下运行,容易引起溢出,造成系统崩溃,在AutoCAD14版本后已停止发展,可扩展性较差。ARX采用全编译执行,反编译困难;目标代码字节少、执行速度快。ObjectARX还有以下其他优点:
ObjectARX应用程序是动态链接库(DLL),可以和AutoCAD共享地址空间,直接调用AutoCAD的内部函数。在ObjectARX应用程序中定义的命令与AutoCAD的内部命令运行方式相同,而在ObjectARX应用程序中创建的标准实体对象也和AutoCAD中创建的实体对象在显示上没有区别。所以本系统选用ObjectARX作为开发的主要工具。主要是利用了ObjectARX的下述功能:
A、直接访问AutoCAD的图形数据库。
B、在应用程序中自定义类及自定义对象,生成有可遗传的特征码的自定义类及对象,对不同的自定义类及对象可由程序指定其特定的属性。
在本系统的开发过程中,自定义对象是由 ObjectARX应用程序创建的对象类型,它具有的特定功能通常比标准 AutoCAD 对象多。除 Autodesk 外,许多软件供应商都使用 ObjectARX 编写能够创建图形自定义对象和非图形自定义对象的程序,这些对象在 AutoCAD 应用程序中很有用。当 AutoCAD 或其他宿主应用程序无法使用创建自定义对象的 ObjectARX 应用程序时,将以代理对象代替自定义对象。此后,如果 ObjectARX 应用程序对 AutoCAD 可用,代理对象将被自定义对象取代。与相应的自定义对象相比,代理对象的功能明显减少。代理对象可编辑的范围由父 ObjectARX 应用程序决定。例如,根据创建对象的应用程序,可以决定能否对代理对象进行删除、移动、打印等操作或更改对象的属性。
目前Windows应用软件开发平台主要包括.NET 与JAVA。
JAVA语言发明已有10年历史,在IBM、SUN等公司的推动下已经比较稳定与成熟,获得了大规模企业的普遍应用。JAVA能够夸平台运行,但是在Windows几乎一统天下的时代也没有多少实际的意义;JAVA是解释型语言,运行速度效率极低;JAVA相对复杂,软件开发效率较低,研发成本较高。
.NET则是微软公司目前主推的开发平台,是微软未来操作系统以及长远战略的基础。对于软件开发人员来讲,.NET的技术相对简单,入门较快。由于.NET拥有易学易用、开发迅速的特性,随着它的成熟和完善,使其受到越来越多企业的青睐。 北美一些大型企业(如加拿大Royal Bank, Scotia Bank)纷纷将应用平台迁移到.NET,从而走出了Microsoft之平台与技术只适合于中小企业的阴影。 近一年来,.NET在国内也取得了惊人的发展 - 众多企业纷纷采用.NET作为企业应用开发技术与平台,使用.NET项目之企业数量快速增长,甚至与JAVA一样被银行业、电信业所采用。
还有一个重要的因素,ObjectARX采用C++语法,同.NET体系结构同出一脉,便于集成开发。所以本系统选用.NET作为辅助开发工具。
本系统研发设计了通用数据库引擎,基本上同数据库选用无关,所以数据库采用SQL SERVER还是ORACLE关系都不大,考虑到SQL SERVER出自微软,.NET开发运行更加高效,所以本系统选用SQL SERVER作为数据库系统工具。
4. 产品评测
根据宁波市软件测评与服务中心2007年3月20日提供的软件测评报告,该系统指标如下:
(1)软件安装:根据产品安装说明进行操作,系统能正常安装。
(2)系统卸载:系统能正常卸载,并在卸载后部占用内存。
(3)功能模块挂接:软件界面中的功能模块能挂接,不能挂接的功能模块长总模块数的比例在5%以内。
(4)软件功能实现:基本实现软件菜单功能,关键模块的实现无错误;其他功能模块的实现无重大错误;软件相应时间在可容忍的范围之内。
(5)软件容错性:软件发生错误时有提示,并能恢复到正常状态。
(6)安全保密性:对不同用户所设置的权限能正常实现。
(7)运行稳定性:测试期间没出现数据丢失、系统紊乱或死机想象。
(8)用户界面输入:正常。
(9)用户界面显示:正常。
(10)界面文字:正常。
(11)界面中文符合性:正常。
(12)软件提示符合性:正常。
(13)字库中文符合性:正常。
(14)用户文档描述:正常。
(15)用户文档描述与文件一致性:正常。
(16)版本一致性:正常。
(17)病毒检查:正常。
5. 结语
该系统是国内唯一能同时提供对实体、图层、文件三个等级进行保护的产品;该系统产品提供了以图调图的图形索引方式;该系统产品将AutoCAD文件以实体为单位拆分成多条关联记录存储在关系数据库中,从根本上解决了AutoCAD文件保密性和可用性的问题;在系统开发过程中,采用了基于正交分类的软件缺陷跟踪系统,缺陷定位的准确性和精确性显著提高。
在普遍使用AutoCAD的各单位,使用本系统必将有效保护其知识产权,避免不必要的损失,为企业的信息安全保驾护航。
[基金项目]科技部2007年创新基金资助,资助编号:07C26213311424
[文章编号]1006-7619(2009)07-22-677
[作者简介]程建华(1969.10- ),浙江大学计算机应用工学硕士,高级工程师,长期从事CAD平台二次开发及信息安全研发。