当备份服务器不受信任时,双重加密有多强大?

信息安全 加密 密码学 磁盘加密 真加密 备份
2021-08-29 23:32:43

这个问题的最佳答案和它引用的文章解释说,当攻击者随着时间的推移可以看到 Truecrypt 容器的快照时,加密会被削弱。同样的答案表明,重复性可能是解决在远程服务器上存储加密数据问题的更好解决方案。

我想问是否有人可以更详细地解释这一点。重复备份模型使用完整备份,然后是增量更改的备份。从安全的角度来看,这对备份连续快照有明显的改进吗?重复模型是否还有其他弱点?(我的意思是严格从加密安全的角度来看:不包括恢复备份的时间、存储空间、带宽等)

1个回答

从严格的密码学意义上讲,Duplicity 模型没有任何弱点。

Duplicity 专为目标服务器不受信任时的威胁模型设计。它极大地改进了增量备份,因为它不是传输已加密数据的差异,而是使用新密钥发送的加密文件。没有办法说一个给定的增量快照和另一个来自以后的日期有任何相似之处。每个快照都是固定大小(默认为 25 MiB)。从攻击者的角度来看,一个新快照可以保存 25 MiB 的全新文件、25 MiB 的增量更改,甚至 25 MiB 的元数据(文件删除记录等)。这与使用 XTS 模式的块设备形成对比,后者在可以监控随时间的变化时往往会泄漏信息。

Duplicity 还使用提供完整性保证的 GnuPG 对文件进行签名。XTS 模式通常被认为是“穷人的延展性阻力”,但它确实很差,允许以 16 字节精度进行修改。Duplicity 的数字签名确保即使在使用 CBC 模式时也能检测到单个更改的位。

Duplicity 的备份分几个阶段完成:

  • rsync 用于比较文件缓存记录和文件系统之间的差异
  • tar 用于将 25 MiB 的增量更改归档到单个文件中
  • gpg 用于对 tarball 进行加密和签名
  • 加密的 tarball 一次性发送到目标服务器

虽然 XTS 模式在观察到随时间的变化时提供了大量信息,但目标服务器可以看到的所有重复性都是更改的数据量。假设您获取一个 50 MiB 的文件,将其备份,然后在再次增量备份之前修改其中的一半。如果这是使用 XTS 完成的,则已修改的精确区域是可见的。通过重复性,您看到的是 2 个加密的 25 MiB 文件,然后是另一个加密的 25 MiB 文件。您无法将第一个备份与第二个增量备份进行比较以查看更改了哪些数据。你所能看到的只是改变了多少。

不受信任的服务器可以通过重复观察到的精确信息非常有限:

  • 存储的数据总量
  • 每个备份中传输的数据量(大致对应于更改的数量)
  • 总存储数据的大致大小(由于定期的非增量完整备份)