LUKS 更改加密密钥

Ste*_*fke 1 luks

要更改加密密码,我可以使用命令:

cryptsetup luksChangeKey /dev/sda2
Run Code Online (Sandbox Code Playgroud)

......这有效。但是如何使用新密码再次加密 /dev/sda2 分区?

如果我的旧密码被泄露而我只更改密码,则存储的数据将使用旧密码而不是新密码进行加密。

Dub*_*ubu 5

你的假设是错误的。

存储的数据不会使用您的密码加密,而是使用存储在多个(通常为八个)密钥槽之一中的密钥进行加密。您的密码仅用于加密/解密此密钥。然后密钥对 LUKS 容器中的数据进行加密/解密。当您更改该密码短语时,密钥将使用新密码重新加密。¹

这也意味着对于同一个 LUKS 容器,您最多可以有八个(或任何数量的插槽)不同的密码短语,所有密码都同时有效。这样,您可以为不同的人设置不同的密码,并在不再需要时将其一一撤销。所有密钥槽都保存相同的密钥,但使用不同的密码进行加密。

警告:一个重要的结论是,您不仅要记住密码,还应该备份 LUKS 标头。否则,如果 LUKS 标头区域出现故障,即使您仍然知道密码,您也无法取回数据。(但无论如何您都应该备份数据。)

此处查看 LUKS 磁盘格式的详细信息。

¹好吧,正确地说:如果还有一个空闲的密钥槽,新加密的密钥会保存在那里,然后旧的槽被删除。