VeraCrypt 容器对磁盘错误(位腐烂)的鲁棒性如何?

信息安全 正直 备份 真密码 比特腐烂
2021-08-13 08:45:57

我计划使用 VeraCrypt 加密备份数据。生成的容器有多安全?我担心的不是加密,而是随着时间的推移硬盘介质退化(位腐烂)导致的潜在数据丢失。

目前我有一个外部USB硬盘,并将每组备份数据存储两次,分别在单独的文件夹A和B中。我不时在A和B之间进行逐位比较以证明数据完整性。

我计划将这些备份数据文件夹 A 和 B 加密到单独的容器中。以下是我的问题:

  • 创建的容器仍然可以按位进行比较吗?
  • 容器对数据丢失的鲁棒性如何,例如,当每个容器中的(不同)扇区发生故障时,其余数据是否仍可提取?
  • 我可以故意在容器中添加一些额外的冗余吗?(我知道这可能会在某种程度上降低加密,但正如所说,这可能不是主要问题)。

注意:我喜欢有单独的容器,而不是对整个驱动器进行加密,以便能够单独处理备份数据集。

1个回答

创建的容器仍然可以按位进行比较吗?

不会。即使您使用相同的密码,Veracrypt 也会使用不同的加密密钥存储不同的容器。所以容器不会按位相同。您需要打开容器并比较文件,而不是比较容器。

容器对数据丢失的鲁棒性如何,例如,当每个容器中的(不同)扇区发生故障时,其余数据是否仍可提取?

Veracrypt 存储卷元数据的两份副本,一份在前面,一份在卷尾。此外,您可以备份卷标头,以便在两个嵌入元数据都损坏时恢复卷。

Veracrypt 在 XTS 模式下加密,这意味着一个块中的数据损坏只会影响该块

但是,您应该考虑到现代硬盘非常擅长检测和自我纠正错误。他们通过以这样的方式对数据进行编码,即有冗余信息以允许硬盘重新计算损坏的位,一般技术称为纠错码

此外,如果您在主机系统中使用现代文件系统,例如 btrfs 或 zfs,现代文件系统会添加额外的校验和以自动检测错误,并且它们还可以在 RAID 配置上进行配置,以便在存储文件时自动制作冗余副本,以便它们可以自动修复错误以防止介质退化。由于他们的设计,您几乎不可能因为现代文件系统的媒体退化而获得无声的损坏数据。

现代文件系统唯一实际的故障场景是文件系统实现中的错误和用户错误。你有更大的可能性意外 - rm -f container.tcing 你的数据。对于整个硬盘刚刚停止工作的灾难性物理磁盘故障,同一设备上的备份将无法为您提供帮助。为了防止这些,您可能希望在多个设备上制作数据的备份副本,并可能每 5-7 年迁移一次新的存储介质。