我想切换到 ZFS,但仍想加密我的数据。ZFS 的本机加密已添加到“ZFS 池版本号 30”,但我在 FreeBSD 版本 28 上使用 ZFS。我的问题是 encfs(熔丝加密)将如何影响 ZFS 的特定功能,例如数据完整性和重复数据删除?

有帮助吗?

解决方案

encfs 对文件/目录名称长度有限制,比 zfs 短。我不记得了,但每个对象可能少于 255 个字符。如果您碰巧有任何文件/目录的名称超过该限制,您将在复制到已安装的 encfs 资源期间收到 I/O 错误,并且不会创建有问题的文件/目录,仅此而已。

我不使用重复数据删除(不幸的是 RAM 太小),但由于 encfs 使用 ECB 模式来加密文件名,因此自然相似的文件名在加密端也会被视为如此(文件属性也未更改),这对于工具来说是幸运的就像rsync一样。不幸的是,对于重复数据删除,encfs 使用数据签名 (hmac) 进行初始化向量,这会导致相同内容的副本完全不同。找到一种方法来阻止这种行为可能是可行的,但数据完整性取决于它,所以我不建议这样做。

如果您需要设备级加密,请查看 cryptsetup。为此,您需要将池从 /dev/disk/by-id/ata-*/dev/disk/by-id/dm-name-* 设备。这不会禁止使用重复数据删除,只会导致轻微的性能损失。而且您必须对解密的数据进行操作才能进行备份,这可能是不可取的。

目前我正在使用这两种方法(即 cryptsetup 和 encfs)。这可能看起来有点多余,但我发现有必要避免解密备份数据以及在 .encfs.xml 文件中以纯文本形式存储加密参数,这会困扰我偏执的安全感;)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top