数据删除标准
我想编写一个从硬盘驱动器中删除数据的应用程序。我需要遵守哪些标准来确保我的软件至少删除了最低限度的内容,或者我应该使用现成的软件?如果有的话有什么建议吗?
I want to write an application that removes data from a hard drive. Are there any standards that I need to adhere to which will ensure that my software removes at least the bare minimum, or should I just use off the shelf software? If so any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为你可能遇到的任何“标准”都不会比你自己想出的任何东西更少科幻小说或科学神秘主义。基本上,只要您物理覆盖数据(即使只是一次),就没有任何商业取证服务 - 即使您向他们投入任何金额 - 都会声称能够恢复您的数据。
(任何“用旋转位模式覆盖 35 次”的建议对于 20 世纪 70 年代的粗间距磁带来说可能是正确的,但它与当代硬盘完全无关)。
您必须解决的更重要的问题是如何物理覆盖数据。通过任何类型的应用程序甚至操作系统编程,这基本上都是不可能的,您必须找到一种方法与硬件正确对话,并获得可靠的确认,确认您打算写入的位置确实已被写入,并且没有将相关集群重新定位到可能泄漏数据的磁盘其他部分。
因此,从本质上讲,这是一个非常低级的问题,如果您想要真正的解决方案,可能需要您仔细阅读硬盘制造商的手册。
I think any "standard" you may encounter won't be any less science fiction or science mysticism than anything you come up with yourself. Basically, as long as you physically overwrite the data (even just once), there's no commercial forensic service that - even in the face of any amount of money you throw at them - will claim to be able to recover your data.
(Any "overwrite 35 times with rotating bit patterns" advice may have been true for coarsely spaced magnetic tapes in the 1970s, but it is entirely irrelevant for contemporary hard disks).
The far more important problem you have to solve is how to overwrite data physically. This is essentially impossible through any sort of application or even OS programming, and you'll have to find a way to talk to the hardware properly and get a reliable confirmation that the location you intended to write to has indeed be written to, and that there aren't any relocations of the clusters in question to other parts of the disk that might leak the data.
So in essence this is a very low-level question that'll probably have you pouring over your hard disk manufacturer's manuals quite a bit if you want a genuine solution.
请定义“数据删除”。这种擦洗是为了使取消删除变得不可能吗?或者只是删除数据?
如果想确保文件无法恢复,通常会使用随机位模式对文件进行多次写入。由于磁性位模式的模拟性质,在某些情况下可以恢复被覆盖的数据。
在任何情况下,正常的文件系统删除操作在大多数情况下都是可恢复的。当您删除文件时(使用正常的文件系统删除操作),您将删除文件分配表条目,而不是数据。
Please define "data removal". Is this scrubbing in order to make undeletions impossible; or simply deletion of data ?
It is common to write over a file several times with a random bitpattern, if one wants to make sure it cannot be recovered. Due to the analog nature of the magnetic bit patterns, it might be possible to recover overwritten data in some circumstances.
Under all circumstances a normal file system delete operation will be revertable in most cases. When you delete a file (using a normal file system delete operation), you remove the file allocation table entry, not the data.
有标准...请参阅http://en.wikipedia.org/wiki/Data_erasure
不要提供任何细节,因此很难判断它们是否适用于您的情况...使用操作系统内置文件删除功能删除文件几乎总是可以恢复...OTOH 格式化驱动器(不是快速格式化)通常是好的,除非你处理敏感数据(比如来自客户、患者、财务等的数据或一些安全相关的东西)然后上述标准通常使用不同的数量/轮次/模式来覆盖数据,因此几乎不可能恢复删除......真的真的敏感情况下,您首先使用这些方法中最好的方法,然后格式化驱动器,然后再次使用该方法,然后物理破坏驱动器(这实际上意味着真正的破坏,而不仅仅是删除电子设备或类似的!)。
避免所有这些麻烦的最佳方法是为此类事情做好计划,并使用经过验证的强大全盘加密(密钥不存储在驱动器电子设备或介质上!)...这样您就可以轻松格式化驱动器(不快),然后将其出售,例如......因为任何强加密看起来都像“随机数据”(如果正确实施)在没有密钥的情况下绝对无用。
There are standards... see http://en.wikipedia.org/wiki/Data_erasure
You don't give any details so it is hard to tell whether they apply to your situation... Deleting a file with OS built-in file deletion can be almost always reverted... OTOH formatting a drive (NOT quick format) is usually ok except when you deal with sensitive data (like data from clients, patients, finance etc. or some security relevant stuff) then the above mentioned standards which usually use differents amounts/rounds/patterns of overwriting the data so make it nearly impossible to revert the deletion... in really really sensitive cases you first use the best of these methods, then format the drive, then use that method again and then destroy the drive physically (which in fact means real destruction, not only removing the electronics or similar!).
The best way to avoid all this hassle is to plan for this kind of thing and to use strong proven full-disk-encryption (with a key NOT stored on the drive electronics or media!)... this way you can easily just format the drive (NOT quick) and then sell it for example... since any strong encryption will look like "random data" is (if implemented correctly) absolutely useless without the key(s).