引言:市场有大大小小将近300家加密软件企业,其中绝大多数许多厂商并不具备生产和销售加密产品的合法资格,产品质量低劣,给用户造成巨大损失。笔者曾参与国务院外交部、解放军二炮、中国移动集团、深圳比亚迪集团、正泰集团等多家用户选型,现将选型的部分心得与大家分享。
一、国家法定资质和认证
加密软件的应用,涉及到国家关于密码和密码产品的管理,这关系到国家机关、军队和军工、公检法机关涉及国家机密和军事机密的安全。同样,企事业单位使用加密软件,也需要确保加密软件本身的安全性、可靠性。因此,国家对加密软件的研发、生产和销售都进行了明文规定并严格管理。只有具备以下资质认证的单位才有权利销售加密软件。如果不具备这些资质,其行为即为非法行为,是国家严令禁止的行为。用户购买非法销售的加密软件,随时有被政府查禁的风险。
1、“商用密码产品生产定点单位”和“商用密码产品销售许可单位”资质
“商用密码产品生产定点单位”和“商用密码产品销售许可单位”资质由国家密码管理委员会颁发。用户可到国家密码管理委员会官方网站http://www.oscca.gov.cn查询。获得“商用密码产品生产定点单位”的单位极少,而获得“商用密码产品销售许可单位”资质的加密软件厂商不到10家。
2、软件著作者权证书
根据2002年2月20日发布的《中华人民共和国国家版权局令第1号》——《计算机软件著作权登记办法》规定,独立开发或者经原著作权人许可对原有软件修改后形成的功能或者性能方面有重要改进的软件可以进行软件著作权登记申请,中国版权保护中心批准后将会发放相应的登记证书,并予以公告。此类证书包括《软件产品登记证书》和《软件著作权证书》。
如果没有这两种证书的厂家,即为OEM厂家,其产品稳定性、可靠性和安全性值得怀疑,不建议购买。用户可到国家版权局官方网站http://www.ncac.gov.cn查询。
3、安全专用产品销售许可证
根据公安部2006年2月17日发布的《计算机信息系统安全专用产品检测和销售许可证管理办法》规定,加密软件属于计算机信息系统安全专用产品,在中华人民共和国境内的安全专用产品进入市场销售,实行销售许可证制度。建议用户到公安部官方网站http://www.mps.gov.cn查询。
4、涉密信息系统产品检测证书
加密软件要销售给国家涉密单位(如:政府、涉密研究机构等)必须通过国家保密局批准的涉密信息系统产品检测并获得相关证书。建议用户到厂商所在省国家保密局官方网站查询
5、军用信息安全产品认证证书
加密软件要销售给军队或军工企业,必须通过中国人民解放军信息安全测评认证中心认证,获得《军用信息安全产品认证证书》。中国人民解放军信息安全测评认证中心联系电话: 010-67633733。二、对厂家基本状况的考察
1、公司的研发实力
国内加密企业,除了少数几个厂家具备研发实力之外,其他绝大多数厂家产品来自OEM。这些虽有OEM产品,但并没有自己的内核,也没有持续升级能力。由于这样的厂家实力比较差,研发人员很少甚至没有。公司总人数也就三五个人十来人。
根据业界专家介绍,加密软件看似非常容易成型,但是其产品的稳定性、安全性,需要大量的研发、测试、应用才能达到可以使用的基本要求。一个成熟的加密产品至少需要20余专业研发人员将近3年左右时间的研发,才能基本达到实施要求。所以考察企业实力是非常重要的一环。
2、公司的成立时间及产品应用情况
中国最早从事加密产品研究是在2002年。随后大大小小的加密软件企业如雨后春笋般冒出来。不过,这个行业很让人奇怪的是,多数企业都喜欢造假。尤其是在2006年前后成立的一些企业,都喜欢宣传自己是最早成立的的。要避免被厂家的虚假宣传蒙住眼睛,就一定要看这个企业的营业执照申请时间。
据专家介绍,一个成熟的加密软件,至少要超过10万点以上,超过3年以上的应用。所以,在选型,最好是要看看厂家成立时间有多少年,其用户有多少,有哪些典型案例,应该亲自打电话去问问这些案例是真是假。现在许多加密软件企业比较喜欢公开宣称多少个大型企业集团使用,其实业内的人都很清楚,很多是虚假宣传。
三、对产品的考察
1、驱动层技术和应用层技术
加密软件有驱动层技术和应用层技术两种不同的技术路线。应用层Hook方式虽然实现起来比较简单,属于过渡技术,已经进入淘汰阶段了,现在的主流技术是驱动层技术。在版本支持方面也会相应有所不同,驱动层技术的部分厂商已经推出能够支持Windows Vista的版本。
2、加密算法和密钥
在加密算法上,采用何种加密算法不是重点。但是在密钥处理方面,一般来说,密钥长度低于64位是不可取的。对于民用而言,128位和256位的长度都是足够的。需要注意的是,密钥长度越长,运算量越大,消耗的计算资源(包括机器性能和时间)就越多。密钥的保管也是关键问题,包括密钥的生成、传送和备份。
3、基本功能方面
主要有对应用程序更名、文件更名、文件类型更换、剪切、复制、粘贴、对象的链接与嵌入(OLE)、文档内容的拖拽、屏幕拷贝控制、截屏和打印控制等基本功能都是常见的。目前多数成熟的产品都已经有效做到以上这些功能。
4、USB端口管理
从理论上讲,这是没有必要的。因为文件本身是加密的,不担心被泄露到外部。但是根据分层的信息安全构架理论,这些功能是有必要的。5、对加密文件类型的控制
这是对文档进行等级保护的要求。目前加密软件通常是对文件类型进行强制加密,但是同一种文件类型的非密级文件也被强制加密,这通常是用户不满意的地方。因为所有同种文件类型都加密的话,会必然导致效率降低。
6、加密解密效率方面
效率与安全往往是一对相反的量,期间应该找到一个合理的均衡。在诸如三维CAD、CAE、图形图像制作等应用中,有些文件非常大,如果不能较好支持动态加解密,可能会极大地影响到用户的操作效率,表现为打开一个大文件后,每次存盘的时间过长。
8、文件自动备份
文件自动备份是一种必要的功能,是对系统风险的一种针对性的安全措施。在考察文件备份时,应关注备份时对网络和机器的负载会不会很大、 如何降低或者在时间上分摊这种负载、大量的备份副本在将来如何方便地检索、同一个文件能够保留多少份副本等问题。除了备份以外,还有些厂商推出了“快速修复工具”(或者针对某个企业的“万能解密工具”等)的功能。这些工具可以尝试修复被破坏的密文。
9、客户端管理
主要包括在实施时对客户端的策略下发,在客户端脱离服务器段与连接后,如何保证离线客户端的管理。
10、明文出口的问题
加密文件只能在局部范围内使用,一旦业务需要,确实需要把文件发往外部时,就要把明文解密成为明文。在这个时候,厂商多数采用专门的审批和解密流程来控制。也有向指定的电子信箱发送邮件,邮件中的密态附件文件就自动解密。这种功能被称为“明文收件人”或者“邮件白名单”等。
11、与管理系统的集成能力
加密系统虽然可以自成体系,但是难免会和其他一些管理系统存在着集成配合的问题。要考察是否能有效与各种认证体系如AD域、ED域等结合,还有跟ERP、CRM、PDM/PLM系统的集成。
12、临时文件和“伪加密”
很多应用软件在编辑数据文件时,都会生成临时文件。这些临时文件在相应的数据文件被正常关闭后,会被删除。由于这些临时文件也存储有企业的机密数据,因而这些临时文件的保护也就显得非常重要。
某些企业常用“伪加密“做法:① 利用Hook技术拦截程序对文件的打开操作;② 把打开的文件隐蔽地解密到一个“秘密”的地方;③ 在后台把应用程序对数据文件操作指针指向位于“秘密”之处的明文;④ 在关闭数据文件时,把隐藏的明文加密并替换原有的文件。这样的设计,让用户看起来是能够打开编辑密文,编辑保存后得到的还是密文。但是实际上应用软件真实编辑的对象是一个不加密的明文文件。那个“秘密的地方”其实很容易被发现。如果授信节点的User知道了这个“秘密的地方”,完全可以打开密文时到那个“秘密的地方”去获得明文。
13、系统的容灾管理
服务器宕机、网络出现故障,会出现什么现象?系统如何应对这种风险?系统容灾能力,是考察产品的重要指标。不能假设所有的系统运行都会正常,尤其是国内大量使用盗版软件的情况下。
14、易用性
软件的安装、升级、配置、用户权限设置、日志记录和统计、解密机等各个模块的细节上是否易用,是否有效与公司业务流程和文件管理流程配合。合理的管理,不但不会增加使用上的麻烦,相反会提高文档流转的速度,提高工作效率。