如何应对极端情况的发生?
加密本身就有风险。所谓极端的情况就是指报文发生了紊乱,从用户的角度来看,就是“文件打不开了”。一个成熟的加密系统,必须考虑这种极端情况发生的应对办法。客户应该只相信加密系统有对抗极端风险的措施并重点考查这种措施,而不应该相信供应商 “绝无破坏文件的可能”的商业宣传。
虽然概率通常都很低,但是产生这种紊乱的原因还是有很多。最典型的原因是操作系统受到病毒、木马或者其他恶意软件的干扰,使得内存中的数据发生了紊乱,或者对某段内存的控制权在一段时间内被篡改。
在传统的通讯加密领域,为了解决这个问题,通常是采用报文冗余的思路。也就是说,在发报方先将报文进行冗余处理,再将冗余的密态报文发出去。收报方收取到冗余的报文后,利用冗余信息进行报文的正确性校验,校验正确则抄收报文,校验若不正确则反馈发报方要求重新发送。我们所熟悉的“校验码”,实质上就是为降低出错风险而人为补充的冗余信息。
同样的思路也可以运用到电脑文件加密领域。特殊之处在于,文件加密的校验实际是在密文下次被打开的时候进行的,而此时文件保存的动作早就过去了,无法要求再次保存。所以,这里的冗余,实际上就是数据备份。
理想的备份,是在文件保存为密文的时候,将备份副本存放到一个安全的地方(一般就是企业的文件服务器),最好可以由系统管理员选择以明文的方式备份。这一点实现起来并不难。企业考查的重点是:
(1)备份时对网络和机器的负载会不会很大?
(2)如何降低或者在时间上分摊这种负载?
(3)大量的备份副本在将来如何方便地检索出来?
(4)同一个文件,能够保留多少份副本?
除了备份以外,有些厂商推出了“快速修复工具”(或者针对某个企业的“万能解密工具”等)的功能。这些工具可以尝试修复被破坏的密文。这种工具虽然从原理上说不如备份来得稳妥,但是能够在稳妥的基础上有更多更高效的选择总是没有坏处的。当然,这种工具应该是需要授信的,绝对不能是通用的。
需要特别说明的是,除了所谓的“备份机制”、“修复工具”这种产品技术措施以外,用户必须将极端风险发生之后的厂商服务能力也列为考查重点。