10.9 销毁信息
在大多数的计算机上删除一个文件时,该文件并不会真的被删除。删除掉的唯一东西就是磁盘索引文件中的入口,磁盘索引文件用来告诉机器磁盘上的数据在哪里。许多软件供应商不失时机的出售文件恢复软件,它们可以在文件被删除后将其恢复。
还有别的方面的担忧:虚拟内存意味着你的计算机可以随时将内存读写到你的磁盘。即使你没有保存它,你永远也不知道你正在运行的一个敏感的文件是什么时候写到磁盘上的。这就是说,即使你从来未保存过的明文,计算机也可以替你做了。并且如Stacker和DoubleSpace这样的驱动器级的压缩程序会使得预测数据是怎样存到磁盘上,且存到哪里更加困难。
为了删除某个文件,让文件恢复软件都不能读,必须对磁盘上文件的所有比特进行物理写覆盖。根据国家计算机安全中心[1148]:
写覆盖就是将不涉及安全的数据写到以前曾存放敏感数据的储存位置……为了彻底清除……储存介质,DoD要求先用一种格式进行写覆盖,然后用该格式的补码,最后用另一种格式。例如,先用0011 0101,接着用1100 1010,在接着用1001 0111。写覆盖的次数根据储存介质而定,有时依赖信息的敏感程度,有时对不同的DoD部分要求。无论怎样,在最后没有用不涉及安全的数据写覆盖之前,彻底清除就没有完成。
你可能必须删除某个文件或清除整个驱动器,你也应当清除磁盘上所有没有用的空间。
大多数商用程序声称实现了DoD标准覆盖三次:首先用全1;接着用全0;最后用1-0格式重复进行。按照我的一般的偏执狂级别,我建议覆盖一个被删除的文件需要7次:首先全1;其次全0;其余5次用密码学安全的伪随机序列。最近国家标准和技术研究所对电子隧道显微镜的研究表明即使这样也是不够的。说实话,如果你的数据的确有足够大的价值,还是相信从磁性介质上完全清除数据是不可能的吧!将介质烧掉或切碎;买张新磁盘要比丢失你的秘密便宜得多。