信息安全事件越来越多,网络犯罪已经上升到了国家层面。确实,有时候就是这样讽刺,个人做一件事,那叫犯罪,国家做一件事,那叫为了国家利益,叫爱国。
降低泄密信息安全事件发生的根本方法只有一条:数据加密。加密是信息安全的基础。
虽然我相信所有的加密软件最后肯定能被破解(大不了一个国家组织全国的力量来破解,就看值得不值得了)。
但我更确信:
现在已经不是选择不选择加密软件的时候,而是选择什么样加密软件的时候了。
整理了几项选择加密软件需要考查的方面,抛砖引玉。
一、 加密软件是否自动透明加密?
何谓“透明”?“透明”应该就是指加密的动作不需要人工干预,是软件自动完成的。比如:用WORD建立一个文档的时候,软件应该能自动把这个新建的文件加密,对用户完全透明,不影响用户的操作习惯。
大部分加密软件都是透明加密的,但是也有区别。很多应用软件在编辑数据文件时,都会生成临时文件。比如Word在编辑文档时,会在同目录下出现以“~$”开头的文件和一个以“~”开头并以tmp为后缀的文件。这些临时文件在相应的数据文件被正常关闭后,会自动被删除。由于这些临时文件也存储有企业的机密数据,因而这些临时文件也应该是要能自动加密的。
在测试的时候要特别注意。有些品牌的加密软件,为了给自己图方便,放弃对中间过程的文件进行加密。例如,业界有一个老牌的厂商便采取了这样一种做法:①拦截程序对文件的打开操作;② 把打开的文件隐蔽地解密到一个“秘密”的地方;③ 在后台把应用程序对数据文件操作指针指向位于“秘密”之处的明文;④ 在关闭数据文件时,把隐藏的明文加密并替换原有的文件。这样的设计,让用户看起来是能够打开编辑密文,编辑保存后得到的还是密文。但是实际上应用软件真实编辑的对象是一个不加密的明文文件。如果这个“秘密的地方”被知道了,完全可以打开密文时到那个“秘密的地方”去获得明文。
经过了多年的发展,加密软件的透明加密技术已经有了明确的历史阶段划分,一般认为,加密1.0技术是环境加密技术,其特点是并不进行文件内容的加密,只是对硬盘引导区(扇区)进行加密和提供部分网络加密功能;加密2.0技术是格式加密技术,其特点是对管理人员设置的部分特定格式文件进行加密,未设置或者忘记设置的则无法进行加密,随着应用软件的升级,格式加密需同步升级;加密3.0技术是多模加密,其特点是根据设置策略不同,可以实现全盘加密,目录加密,格式加密,手动加密,空加密等等功能,多模加密是下一带加密技术的发展方向。一般集团型公司为了满足内部加密策略根据部门、人员不同而设置不同,已经将多模加密作为选择加密软件的必要条件。
一般来讲,多模加密至少可以实现:
全盘加密,目录加密,格式加密,反格式加密,手动加密,空加密,网络加密,静态加密等多种加密;
不管采用哪种加密模式,注意临时文件也需要是加密的,这一点也非常要命,别让使用人员简简单单将临时文件复制出来就解密了,那就没有丝毫的安全性可言了。
二、 加密的算法及密钥的安全性
对于一个脱离了企业环境的密文来说,安全完全由算法和密钥来决定。所以选择加密软件的时候,对其采用的算法和密钥的安全性一定要了解。一般来说,加密算法基本都采用国际流行的算法:比如RSA、DES、RC、AES等,这些算法虽然是公开的,但根据现代密码学的理论,加密算法的公开与否并不影响其安全性,一个好的加密算法的安全性只依赖于密钥。因此对于脱离了企业环境的密文来说,密文的安全主要靠密钥的安全来保证。
一个加密软件的密钥是否安全应该主要要解决如下几个问题:
1,加密软件的厂家如果获取到企业的密文,厂家应该是不能解密的。很多加密软件,密钥是根据计算机的某些特征值由程序生成的,企业自己无法设置,这样只要知道了硬件的特征码,厂家就能轻松获取到用户的密钥,那么企业的文件对厂家来说就是没有保密可言了;还有些加密软件的密钥就是系统固定的,这样厂家只要拿到密文,就能解密;
2,企业内部的密文,拿到另外一个企业里面,应该是不能解密的:现在很多加密软件的控制端都由企业的网络管理人员在使用,那么一旦网管人员离职,重新安装相同的加密软件,应该保证原单位的文档即使拷贝过去也不能阅读。也就是要保证不同企业能有不同的加密密钥。
3,在使用过程中,如果密钥泄露,应该要有补救措施:比如说密钥能支持更改,这样密钥泄露了,企业可以方便的更换,但是,更换密钥的前提是采用老密钥对原来的密文全部解密,这个实在是一个浩瀚的工程。因此,选择更换密钥恐怕只能说对后续的文件安全性有帮助。
目前,在我们国家,对加密产品采用的算法执行的是强制管理政策。也就是说,加密算法采用国家有关部门制定的才是合法产品。
关于加密产品中加密算法密钥的安全性,也了历史整理的必要了:
就加密软件加密算法密钥的强度:
第一个阶段,采用单密钥的产品,这种产品的特点是,进行加密时候,全公司采用一个密钥进行,它的缺陷是一旦这个密钥被攻陷,等于这个加密产品就失效了;在加密1.0技术环境加密技术一般采用这个方案;
第二个阶段,采用多密钥的产品,这种产品的特点是,可能公司里面一些部门采用不同的加密密钥进行,适当的增加了系统的安全性,但是一旦用户往其他部门进行数据交换的时候,就必须有一个将文件采用前一个密钥解密采用后一个密钥加密的动作,这个大大降低了系统的安全性;同时,采用多密钥产品,一旦这几个密钥被破解,系统的安全性也将不复存在;而且,多密钥产品的密钥就存在服务器上,还存在被管理人员盗取的风险;
第三个阶段,采用一文一密钥的产品,这种产品的最大特点是每个文件的密钥均不一样,完全跳开了单密钥多密钥的臼束,创造性的引入对称加密和非对称加密相相结合的技术,实现了一个文件一个随机密钥的程度,在不增加系统负荷的前提下,基本上实现了一次一密的安全需求。
一文一密钥是选择加密软件的第二个必要条件。
国际上提供一文一密钥的产品比较多。国内能提供一文一密钥的产品虽然不多,但大部分的厂家正在向这个方面前进。2014年再选择加密软件,这一条应该是硬性要求了。
一文一密钥的测试验证方法:
在加密系统中,生成一文密文,将该密文文件复制生成其他多个格式、内容一模一样的密文,将该系统退出加密环境,在非加密环境里面看刚才的所有文件,看他们的乱码是否一样。因为格式、内容都一样,如果打开时候发现乱码都不一样,说明采用的就是一文一密钥加密技术。
三、 泄密途径
没有通过授权,就可以获取密文中的内容的方法,称之为泄密途径。加密软件中如果不对这些途径加以控制,那么加密软件就形同虚设。泄密途径众多,每种途径的控制是加密软件的一个重要功能。泄密途径控制的好坏,也是选择加密软件的一个重要考查点。
但是,最优秀的加密软件应该是和加密后文件的流通途径无关,即:应该是加密后的文件,未经任何允许,通过任何途径外发的都是密文,而不是仅仅将文件流转的途径进行限制。
在加密1.0技术中,因为是采用部分网络协议对数据进行加密,但其无法支持多种协议,一旦采用了未实现的协议,则数据发送后就100%解密了,这一点需要特别关注。
网络发送
使用QQ、Foxmail、Outlook等网络软件把一个密文发送到没有安装加密软件的电脑上,查看是否可以看到文件的内容。如果可以查看,说明存在泄密危险。
其他能进行的发送途径比较多,每个公司可以整理自己的文件发送方式进行测试。
剪贴板
查看是否可以使用Windows提供的复制-粘贴功能把密文内容发送出去。测试方法:用WORD打开一个密文,用鼠标选择一些文字,复制(或CTRL+C),切换到QQ聊天窗口中,粘贴(或者CTRL+V),查看是否可以粘贴出明文。
剪贴板是个非常常用的功能,禁止使用剪贴板会使客户端的使用者受到很多限制。加密软件不应该只使用禁止的方法来控制剪贴板。比较好的处理办法是将剪贴板的内容加密,使得复制的内容在受控程序(如WORD)上可以粘贴出明文,而在非受控程序(如QQ)上无法贴出明文。
屏幕拷贝
查看是否可以通过屏幕拷贝的方法将文档内容泄露。屏幕拷贝有两种常用方法,一种是使用Windows快捷键PrtScr或者ALT+PrtScr,另一种是使用一些可以捕捉屏幕的软件,比如QQ。测试方法:
针对第一种方法:用WORD打开一个密文,打开看到明文后,按一次PrtScr键,打开Windows自带的画图软件(开始?所有程序?附件?画图),按CTRL+V,查看是否可以贴出带有文件内容的图片。
针对第二种方法:使用QQ作为测试软件,查看QQ屏幕截图功能是否可以使用。另外,QQ也是360保险箱默认保护的软件之一,所以应该测试一下,用360保险箱保护QQ的情况下,禁止截屏是否生效。
OLE插入
OLE插入是打开密文的另一种方法。支持OLE插入技术的软件有很多,比如Windows自带的写字板(可执行文件名为wordpad.exe)。测试方法:打开一个写字板,将一个加密的WORD文档用鼠标拖动到写字板内(或者在写字板菜单“插入”?“对象”,并选择“由文件创建”,选择加密的WORD文档),如果有此创建的写字板文件是明文而不加密,则说明存在OLE漏洞。
拖拽
用WORD打开一个密文,拖动鼠标左键选中一些文字,在选中的文字上用鼠标拖动数据,查看是否可以将这些文件拖动到QQ聊天窗口上。如果可以,就存在拖拽泄密的风险。
进程识别
大多加密软件都是根据程序名和文件的后缀(扩展名)来决定哪个文件需要加密的。比如使用WORD生成的扩展名为“.DOC”的文档会被自动加密,而用WORD打开密文可以自动解密。如果有其他程序可以冒充是WORD,那么就可以打开加密的Doc文档了。所以,加密软件都需要有一套机制来识别受控程序,防止非受控程序假冒。
非受控程序冒充受控程序最简单的办法就是修改可执行文件名。比如把FoxMail的文件名(foxmail.exe)修改成winword.exe,就用Foxmail冒充了WORD。把Foxmail.exe修改成Winword.exe,然后执行,写邮件并选择一个加密的WORD文件作为附件,从另一个没有安装加密软件的电脑接收下这个邮件,如果可以看到明文,那么说明进程识别上存在漏洞。
进程识别的另一个问题是,将可信进程冒充不可信进程。比如WORD生成的文档是需要加密的,如果把Winword.exe修改成111.exe,执行这个111.exe可以创建明文的文档的话,那么存在漏加密的情况。极端情况下,所有安装了加密系统的人把电脑上的Winword.exe都修改成111.exe,那么所有人的DOC文档都不会被加密了,那么加密软件就跟没有安装一样了。
在进程识别上,大部分加密软件都解决的不是很好。有些用文件指纹库;有些用可执行文件名+窗口标题结合来识别进程;还有些厂家干脆就禁止修改受控程序的文件名,甚至有些厂家不仅禁止修改受控程序名,也禁止拷贝新建与受控程序文件名一样的文件。但采用禁止改名的方法本身也存在很大的漏洞,比如先把受控程序的可执行文件改名,然后再安装受控程序,或者从网络共享执行运行改名后的假冒程序,都可能导致密文的泄露。
打印
使用WORD打开密文后,使用打印机可以把文档打印出来,这就存在泄密的危险。所以加密系统都应提供可以控制打印的功能,应该可以控制那些人可以打印,哪些人不能打印。
以上这些方法都是只需要简单操作就有可能导致密文泄露的途径,选择加密软件的时候,这些途径都应该有效的被阻止。
四、 离线策略
服务器电脑故障,或者网络故障的处理方法
服务器电脑故障或者网络故障,此时所有的客户端电脑或者网络故障的客户机都处于离线状态,而且是不可预知的,被迫处于离线状态。加密系统应提供一种措施,在突发这种情况时,客户机应可以像正常离线一样工作一段时间,以等待服务器或者网络的恢复。
笔记本电脑脱机的处理方法
一些企业的员工上班时使用的是笔记本电脑,尤其中高层管理者。这部分员工大多晚上或者周末需要把电脑带回家,有时要在家里加班。加密软件应该有办法让这些电脑可以在离开网络的情况下依然能使用被加密的文档。
这种情况非常经常发生,基本上每天都发生,所以在选择加密软件的时候也应该考虑加密软件在处理这种情况的方法应该非常便捷才行。最好可以做到客户机不需要任何操作,和平常一样,拔下电脑网线直接带走,回家后开机即可使用。
另外使用公司电脑出差的员工,首先出差离开公司前,肯定要设置好出差天数等。出差的天数一般是由出差者的上级直接指定。所以出差应该可以向直接上级申请,直接上级同意后可以转向系统管理人员,由专门的系统管理人员设置具体的天数。
其次应该考虑出差有可能会超过预定天数。比如出差前设置离线15天,结果15天后发现还不能回来,还要继续呆一段时间。这个时候应该有一种措施,能在不把电脑搬回公司设置的情况下,延长出差的天数。
离线策略有些厂家采用USBKey的方式,有些采用导入离线文件的方式。相比之下,USBKey安全性更好,但使用比较不方便,而且需要在采购加密软件的同时还需要额外采购USBKey。多数厂家已经能同时支持这两种模式了。
五、 解密文件的方法
由于企业运转大部分都难免与其他关联企业有文档交互(比如报价单、项目投标书等),而这些关联企业没有安装加密软件或者没有安装相同的加密软件,这就意味着密文需要解密才能外发。
解密管理上,加密软件必须同时支持如下几种解密方式:
需要解密的文件,要拷贝到特定的电脑上,使用特定的解密工具进行解密; 需要解密的文件,拷贝给特定的用户,特定用户具有解密权限进行解密; 可以向自己部门的管理人员申请解密,在审批得到批准后即可得到解密。 企业都有数据存储在服务器上,为了全部依赖服务器,一般建议在服务器上的数据以明文形式存在,因此,加密软件解密还需要有一种从服务器上下载下来的文件自动加密,上传到服务器上的文件自动解密的功能,这种功能显然是不应该改变网络结构,带来单点故障风险的。
六、 解密审批的流程
为了应对企业组织架构的多样化,用于满足审批的流程至少需要包含如下设置方式:
并行审批; 串行审批; 自动审批; 提审; 审批信息提示:消息框,短信,Mail
平行审批:可同时设置两条或者以上平级审批人
此功能可以同时设置两个或者以上平级一审批人,当其中一条线的审批人不在公司时,另外一条线可以审批文件,这样就可以将文件传递下去,进行接下来的第二、第三人审批。同样的,我们也可以同时设置第二、第三审批人也为两人。
单线审批:当某一层的审批人不在时,可设置此功能
两条不同的审批线,但最后的审批结果是一样的,是一个审批通道。单线效果:当其中一条线中的某个审批人不在时,第二条线的审批人就可以进行审批。例如,谁先看到有审批的文件就可以审批。当其中一条线审批不通过审批时,另外一条审批线还是可以根据自己的决定批准或者拒绝,即第二线审批人审批通过,那么文件就能进行使用,无需两条线同时进行审批。
全线审批:根据文件的机密性来进行设置
全线也分为两条线进行审批,全线的重点在于审批的文件一定要全部审批人都通过审批才能使用。反之,如果其中一个人没有审批通过,那么就无法使用这个文件。这就是全线审批与单线审批的区别。单线是其中一条不通过审批,另外一条线可以通过审批。全线更能反映出企业机密文件的重要性。
全线审批,可以设置所有的审批人为并行,这个时候就是无顺序的会审效果,谁先拿到谁审批,全部审批才算通过。
提审:根据需审批的文件的紧急程度来设置
高级权限的拥有者是整个公司的高机领导人员。当文件已经审批的情况下,此时最高领导人员看到了这个文件的紧急程度,可以把文件提前出来,进行审批通过。在高级领导人员审批通过的同时,无论是单线审批还是全线审批的审批成员都会收到消息,告知其他审批成员此文件已经审批通过,无需再次审批。
七、 文件权限
文件权限指可以指定加密文档谁可以阅读,谁不能阅读等。文件权限的设置有可能会给内部的文档交流带来一些不便,所以该设置应该具有很高的灵活性。加密软件起码应该可以实现相同部门的人编写的文档可以无障碍交流;部门与部门之间的文档交流可以通过一些权限的设置了进行受控的交流。
八、 日志记录
日志记录是一个必不可少的功能,无论哪个应用系统都有一套自己的日志记录功能。对于加密软件而言,包含两种日志:(1)操作员的文件操作日志,比如新建文件、删除文件、编辑文件、解密文件、外发文件等;(2)管理员的日志审计,比如什么时间设置了什么规则等。日志应该能准确无误地记录哪个管理员什么时候做了什么操作。
日志记录上,不同加密软件各不相同,根据自己需要进行选择。
九、 扩展功能:文件备份
由于透明加密需要涉及文件的读写操作,这样就带来一个基本问题:就是加密文件时有可能导致文件的损坏,虽然一个成熟的软件,损坏文件的概率会极低,但对这种极端情况的处理也是应该考虑的。导致这种极端情况出现的原因还是有很多,比如操作系统受到干扰、内存数据被篡改,这些可能并不是加密软件本身的问题,但这种情况一旦发生,加密软件应该要有应对措施。
一个解决的办法就是文件备份。理想的备份,是在文件保存为密文后,将备份副本存放到一个安全的地方。对于有这种措施的加密软件,在选择的时候要考虑的是:
什么时候会进行文件的备份操作? 备份时对网络和机器的负载会不会很大? 大量的备份副本在将来如何方便地检索出来? 同一个文件,能够保留多少份副本?
文件备份功能不仅仅用来防止文件的损坏,还可以防止客户机恶意删除,员工的离职有可能导致文件的丢失,或者某次误操作导致文件的丢失,都可以通过文件备份的机制来挽救。
十、 其他需要注意的
除了产品的考查,对厂家提供的服务及出现问题后的响应速度也是应该考虑的。没有没有缺陷的产品,每个产品在使用过程中或多或少都会碰到问题,有软件的问题,有环境的问题,也有可能是用户理解上的问题。用户碰到这些问题的时候,是否能很好的获取厂家的支持,在选择的时候都是需要考虑的。
最后,要选择“能用、好用、耐用”的产品!
能用:就是指软件的功能满足自己的要求,不同软件提供的功能不同,有多有少,所以首先要考虑能满足自己要求的软件;
好用:软件虽然用用就习惯了,但用户化也是要考虑的一个方面,有些软件需要专业的人士才能安装配置。
耐用:加密软件对稳定性上要求比较高,很多软件都采用了内核驱动的技术,驱动程序一旦出错,会导致计算机蓝屏或者自动重启。而且加密的是企业的资料,如果软件不稳定,会严重影响工作。所以这里提出两点建议
选择有多年发展经验的产品,加密厂家的开发经验不应该少于十年。千万不要买一些看起来来头很大,实际上是OEM其他厂家产品。 选择具有完全自主知识产权厂家的产品,尤其是技术在国内国际范围内领先的厂家。加密产品的开发厂家和原来一些信息安全厂家在国内不重叠,在国际上大的安全厂商往往通过并购已经将加密软件厂家收到麾下。 国内一方面存在并购市场的不成熟,一方面存在国内的信息安全厂家都不太大,这给了国内一批已经生存超过10年的加密厂家自我独立发展的机会,这个现象是国内的一个独特现象,应该会对国内信息安全市场格局产生特别的影响。