文章摘要:系统是不是全程加密?如何确定文件是否应该加密?对于透明加密来说,当然应该是全程的。也就是说,应用软件生成的临时文件也应该是密态的。很多应用软件在编辑数据文件时,都会生成临时文件。广为人知的就是MS Word在编辑doc文档时,会在同目录下出现以“~$”开头的文件和一个以“~”开头并以tmp为后缀的文件。这些临时文件在相应的数据文件被正常关闭后,会被删除。由于这些临时文件也存储有企业的机密数据,因而
系统是不是全程加密?如何确定文件是否应该加密?
对于透明加密来说,当然应该是全程的。也就是说,应用软件生成的临时文件也应该是密态的。
很多应用软件在编辑数据文件时,都会生成临时文件。广为人知的就是MS Word在编辑doc文档时,会在同目录下出现以“~$”开头的文件和一个以“~”开头并以tmp为后缀的文件。这些临时文件在相应的数据文件被正常关闭后,会被删除。由于这些临时文件也存储有企业的机密数据,因而这些临时文件的保护也就显得非常重要了。
在对供应商进行这一项考查的时候,要特别注意。有些品牌的加密系统,为了给自己图方便,放弃对中间过程的文件进行加密。例如,业界有一个老牌的厂商便采取了这样一种做法:①利用Hook技术拦截程序对文件的打开操作;②把打开的文件隐蔽地解密到一个“秘密”的地方;③在后台把应用程序对数据文件操作指针指向位于“秘密”之处的明文;④在关闭数据文件时,把隐藏的明文加密并替换原有的文件。这样的设计,让用户看起来是能够打开编辑密文,编辑保存后得到的还是密文。但是实际上应用软件真实编辑的对象是一个不加密的明文文件。这种做法,从原理上来说也是可以“忽悠”住一些客户的。但是毕竟纸包不住火,那个“秘密的地方”其实很容易被发现。如果授信节点的User知道了这个“秘密的地方”,完全可以打开密文时到那个“秘密的地方”去获得明文。
透明加密应该只是针对数据文件,操作系统的文件和应用软件的文件肯定不能够被加密。而且,不同的用户,甚至同一个用户的不同部门,所要加密的数据文件也不尽相同。例如产品设计部门理应对产品图纸进行加密,而Photoshop的*.psd文件则无需加密。但是对于宣传策划部门可能正好相反,他们的脑力劳动成果是创意文案,而文案恰恰是用*.psd文件来承载的。简言之,*.psd文件在技术部门是不敏感的,而在宣传策划部门则是敏感的。所以,程序如何判断某个文件是否应该加密,也是透明加密系统极其重要考查指标。这个问题也可以换一种说法:管理员应该如何设定加密规则。
面对这种问题,加密厂商们有三种选择方式。
第一,指定路径方式,即保存在指定路径中的文件一律加密。系统管理员可以为每一个授信节点指定一个或多个“涉密路径”。用户如果将文件保存到这个路径下,那么文件就会被加密。由于透明加密的特点是“强制地、自动地加密”,所以用户有可能将机密文件保存到非涉密路径下。厂商们为了应对这个问题,通常会向用户提供这样的解决方案:①将所有的应用软件全部安装在C盘,然后对C盘做一个镜像,其他盘(无论是逻辑盘还是物理盘)都只允许存放数据文件;②将除C盘以外的所有盘符都设定为“涉密路径”,以确保所有的数据文件都是密态存储;③每次Windows启动时,或者Windows关闭前,都会对C盘进行自动还原(这一点很像网吧和部分企业中采用的还原技术)。
第二,指定应用方式,即由指定的应用软件生成的文件一律加密。系统管理员可以为每一个授信节点指定一个或多个“涉密应用”。普通用户如果用这些涉密应用软件保存文件,那么文件就会被加密。例如,前文所列举的例子,系统管理员就可以将AutoCAD设置为技术部门的涉密应用,将Photoshop设置为策划部门的涉密应用。
第三,指定后缀方式,即保存的文件只要是指定的后缀,文件就一律被加密。系统管理员可以为每一个授信节点指定一个或多个“涉密后缀”。普通用户如果将数据保存为这种后缀的文件,那么文件就会被加密。继续承上例,系统管理员可以将*.dwg和*.psd分别设置为技术部门和策划部门的“涉密后缀”。
这三种方式,各有优缺点。
第一种方式的优点是易于实现,且不关心应用软件是什么。但是弊端也非常明显。主要表现为:①给日常的IT维护工作造成了很大的不便:杀毒软件的特征库升级、安装新的应用软件等工作,都会随着C盘的还原而还原,除非先解除对C盘的保护,升级或者安装结束后再恢复保护;②有着明显的安全漏洞:普通用户完全可以将文件先保存到C盘,然后关闭Windows,甚至强行突然断电,使得C盘的还原机制还没有来得及发挥作用就将硬盘拆卸带走,从而将文件的明态数据带走了。由于明显地弊大于利,所以这种方式只被少数的厂商所采用;③不从文件本身来区分,会产生过度加密(所谓过度加密,就是不该加密的也加密了,“眉毛胡子一把抓”)。
第二种方式的优点是非常好贴近用户,非常符合用户的思维方式,因为用户最关心的还是“由特定应用软件生成的文件”。这种方式易于用户制定和维护规则。一般来说,采用了这种方式的加密系统都会限定:只有涉密应用软件才可以打开密文,非涉密应用软件是不允许打开密文的。(这一限制很容易理解:如果非涉密应用也能够打开密文,那么它再将文件另存,密文就变成了明文了。)这样就带来了该方式的一个弊病,即可能会导致过度加密。例如,软件行业就相当明显。他们通常是要对程序的源代码进行加密,也就是说*.c、*.h等源代码文件通常是密文。编译程序需要读取这些密态的源代码文件,照理说编译程序应该是涉密程序。但同时编译程序又要生成目标文件,而目标文件是不应该被加密的。类似的矛盾在其他各个行业都存在。例如,在制造行业中的机加工编程软件,一方面要读取密态的dwg文件,另一方面要生成明态的机加工代码文件;在建筑行业中的结构分析软件,一方面要读取密态的dwg文件,另一方面要生成明态的报告文件等等。
第三种方式的优点也是比较贴近用户,比较符合用户的思维方式。缺点是很难通过穷举的办法来指定所有的“涉密后缀”。
一般推荐用户选择采用“涉密程序”和/或“涉密后缀”方式的加密系统。有些品牌的透明加密系统,同时采用了第二种方式和第三种方式,并主要针对第二种方式的弊病采取了一些修正措施(例如针对某个涉密程序可以设置例外后缀)。对于用户而言,这样的设计是最可接受的。