Encryption ZFS顶部的ENCF

Encryption ZFS顶部的ENCF,encryption,freebsd,fuse,zfs,Encryption,Freebsd,Fuse,Zfs,我想切换到ZFS,但仍然想加密我的数据。ZFS的本机加密是在“”中添加的,但我在版本为28的FreeBSD上使用ZFS。我的问题是encfs(fuse encryption)将如何影响ZFS的特定功能,如数据完整性和重复数据消除功能?encfs对文件/目录名长度的限制比ZFS短。我记不起来了,但每个对象可能少于255个字符。如果您碰巧有任何文件/目录的名称超过了该限制,那么在复制到已装载的encfs资源的过程中会出现i/o错误,并且不会创建有问题的文件/目录,仅此而已 我不使用重复数据消除(遗憾

我想切换到ZFS,但仍然想加密我的数据。ZFS的本机加密是在“”中添加的,但我在版本为28的FreeBSD上使用ZFS。我的问题是encfs(fuse encryption)将如何影响ZFS的特定功能,如数据完整性和重复数据消除功能?

encfs对文件/目录名长度的限制比ZFS短。我记不起来了,但每个对象可能少于255个字符。如果您碰巧有任何文件/目录的名称超过了该限制,那么在复制到已装载的encfs资源的过程中会出现i/o错误,并且不会创建有问题的文件/目录,仅此而已

我不使用重复数据消除(遗憾的是RAM太少),但由于ENCF使用ECB模式对文件名进行加密,因此在加密端自然会看到类似的文件名(文件属性也保持不变),这对于rsync之类的工具来说是幸运的。不幸的是,对于重复数据消除,ENCF使用数据签名(hmac)进行初始化向量,从而使相同内容的副本完全不同。找到阻止这种行为的方法可能是可行的,但数据完整性取决于此,所以我不建议这样做

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


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

您可以帮助将最新的ZFS移植到FreeBSD;我不知道这是否容易。你在这个问题上的论坛不对。StackOverflow仅用于编程问题。因为ZFS Pool即使在Illumos上也是v28,所以我不希望它很快在FreeBSD中实现。