更改了 encfs 密码,但文件名没有改变

更改了 encfs 密码,但文件名没有改变

我以为使用“encfsctl passwd path/to/encrypted”更改密码会更改所有文件名。但是它不起作用。有什么想法吗?

我得到了这个,所以密码更改正确:

Enter current Encfs password
EncFS Password:
Enter new Encfs password
New Encfs Password:
Verify Encfs Password:
Volume Key successfully updated.

答案1

数据加密系统(通常)不直接用密码加密数据。这样做的问题是,当密码更改时,所有数据都需要重新加密,这是一个非常繁琐的过程。(它还阻止支持多个密码。)相反,在系统初始化时会生成一个随机密钥,并使用此随机密钥加密数据。然后用密码加密随机密钥并将其存储在磁盘上。要解密数据,首先使用密码解密随机密钥,然后使用随机密钥解密数据。更改密码仅涉及重新加密此随机密钥,而不是所有数据。

encfs 手册页提及:

用户必须提供用于(间接)加密文件名和文件内容的密码。

这意味着它使用了这个方案。

答案2

在 EncFS 中,文件名和数据具有不同的初始化向量。这可以防止攻击者加密数据(或文件名)并将其与密文进行比较。

正如默认答案中提到的,密码实际上仅用于加密密钥。密钥用于加密数据。因此,假设您更改了密码,则可以重新加密容器内的所有数据。例如,像这样(如果包含解密文件的容器是〜/十二月/

cd ~/dec/
mkdir _copy
cp -a ./ ./_copy/
mv ./_copy/* ./

相关内容