我有一个由 创建的标准设置ecryptfs-setup-private
。我试图弄清楚(解开的)包装密码 [UWP] 是否是我唯一需要担心的事情(除了加密文件本身)。
我的理解是,eCryptfs 使用的任何密钥(fnek 或 fekek)都是通过对 UWP 进行加盐和哈希处理而得出的。这是否意味着 eCryptfs 代码中存在一些硬编码的盐,或者如果我想在另一台计算机上解密数据,UWP 不是唯一需要记住的东西?
答案1
好的,我想我知道答案了。
在我卸载私人文件夹并删除文件夹后~/.ecryptfs
,我能够使用该ecryptfs-recover-private
命令恢复数据。它只要求输入安装密码,然后它就可以解密数据和文件名。
现在,为了 99.99% 确定没有任何问题,我还检查了 eCryptfs 的源代码。
Ecryptfs-挂载-私有调用类似脚本这个或者那个它们都共享以下一段代码:
rc = ecryptfs_read_salt_hex_from_rc(salt_hex);
if (rc) {
from_hex(salt, ECRYPTFS_DEFAULT_SALT_HEX, ECRYPTFS_SALT_SIZE);
} else
from_hex(salt, salt_hex, ECRYPTFS_SALT_SIZE);
}
- 在哪里ecryptfs_read_salt_hex_from_rc()调用rcryptfs_parse_rc_file()然后尝试从某个.ecryptfsrc
文件中读取盐。
如果该文件不存在或读取尝试失败,则默认值为ECRYPTFS_DEFAULT_SALT_HEX被使用。顺便说一下,在头文件的后续行中,有一个 ECRYPTFS_DEFAULT_SALT_FNEK_HEX 常量,它用于ecryptfs_insert_wrapped_passphrase_into_keyring()作为硬编码盐值发挥作用。
案子结了?
编辑:我发现了这个:https://bugs.launchpad.net/ecryptfs/+bug/376580/comments/3