【问题标题】:Secure file wiping by multiple encryptions and file delete [closed]通过多重加密和文件删除安全文件擦除[关闭]
【发布时间】:2013-06-05 23:42:13
【问题描述】:

我想安全地擦除任何类型或格式的文件 - 显然 C# 中的 File.Delete 命令远不够安全。

我似乎记得这里有一篇文章(不过我再也找不到它了!)解释了现代文件系统(即比 FAT32 更新)在尝试这种删除时可能会导致问题,因为它们是一个日志文件系统并且恢复数据比过去容易得多。

在阅读了更多之后,我认为这是一个想法:

  1. 生成随机的 256 位加密密钥。
  2. 将文件 A 加密到文件 B。
  3. 生成一个新的随机 256 位加密密钥。
  4. 将 FileB 加密到 FileA。
  5. 重复此 n 次以适应您的偏执程度。
  6. 使用 File.Delete 删除 FileA 和 FileB。

这似乎是一种使用永远无法恢复或重复使用的密钥反复加密/重新加密文件中数据的合乎逻辑的方式,但这实际上是一种安全的方式吗?文件系统是否会覆盖同一位置/集群的文件(显然文件会随着内容的加密/重新加密而增长),确保覆盖原始内容?

【问题讨论】:

    标签: file-io aes encryption-symmetric


    【解决方案1】:

    您的方法不一定能解决您的问题,而且问题不仅仅存在于日志文件系统。 (旧的 DOS 取消删除工具证明了这一点。)

    现代文件系统可以随时移动文件,对当前正在运行的程序是透明的,因此处理文件内容并不能保证您不会在磁盘的某个部分留下文件的旧副本。标记为未使用。

    你最好直接使用加密,而不是相信你可以欺骗操作系统覆盖旧数据。

    【讨论】:

    • 答案是……?
    • “直接使用加密”是什么意思?文件将在磁盘上加密;但以类似的方式,如果我打开一个文件,加密它,重新保存它,FS是否仍然有可能将加密文件保存在新位置,同时将旧文件留在原处,尽管仅在FAT/期刊?
    • Sani,答案是:你不能这样做,所以不要尝试。 Jonny,我的意思是首先存储加密的数据。
    • @asmecher: a file - of any type or format 向我建议所有加密或未加密的文件都是合格的。所以你的回答仍然不适用于encrypt all。您的回答最多应该是评论。
    • 这没关系,我尽可能地这样做,但我计划发布的软件是一种“复古适合的解决方案”。我的意思是客户端已经有未加密的文件,他们想要开始保护/擦除,创建一个 VAULT 文件夹以将文件放入并自动加密。但是这样一来,如果我不能在原来的位置擦掉原件,那就是解决的一个大问题了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多