ecryptfs - 手动挂载时用户输入的密码与FEKEK的关系

时间:2015-01-05 21:55:28

标签: encryption ecryptfs

我一直在尝试按照https://wiki.archlinux.org/index.php/ECryptfs#Without_ecryptfs-utils中的说明设置加密文件夹。在这种情况下,手动创建安装密码并使用所选密码(在该示例中为“Arch”)进行包装。这是按预期工作的。

还有另一种可能性如何手动设置。即使用简单的安装例如: mount -t ecryptfs~ / .Private /〜/ Private -o key = passphrase,ecryptfs_cipher = aes,ecryptfs_key_bytes = 32,ecryptfs_passthrough = n,ecryptfs_enable_filename_crypto = y

在这种情况下,我被提示输入[密码],然后安装该文件夹。

我的问题是:第二个例子中隐藏了挂载密码?在这种情况下,我输入的[密码]如何与它和FEKEK相关。

有人可以解释一下吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为输入的密码短语成为"文件加密密钥,加密密钥或FEKEK" 本身,并暂时存储在内核密钥环中(root'密钥环)如果您需要在安装文件夹时使用sudo安装。你可以在之前和之前看到钥匙圈。安装后&使用sudo keyctl show卸载。

它没有将密码/ FEKEK存储在磁盘上的任何地方,这与方法"没有ecryptfs-utils"在您喜欢的ArchWiki中,以及下面的ecryptfs-utils中的那个。


仅供参考,使用ecryptfs-utils工具,如果您没有指定自己的密码,它将创建一个随机(16字节)密码短语,它显然是文件加密密钥(FEKEK)/ FNEK。

ecryptfs-migrate-home内查看几个ecryptfs-utils工具(多个是shell脚本),它收集一些数据并调用ecryptfs-setup-private,它具有此函数以生成更安全的16字节随机密码/ FEKEK / FNEK(然后用你的登录密码包装" /加密并存储在磁盘上):

random_passphrase () {
        bytes=$1
        # Pull $1 of random data from /dev/urandom,
        # and convert to a string of hex digits
        od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"
}