如何修改现有 luks 分区上的 -iter-time

pro*_*eur 4 grub debian grub2 luks cryptsetup

首先,我已经阅读了这个主题: How to change the hash-spec and iter-time of an existing dm-crypt LUKS device?

其中建议是以下命令:

cryptsetup-reencrypt --keep-key
Run Code Online (Sandbox Code Playgroud)

然而,这个答案是 7 年前的,并且被认为是实验性的。就我而言,我在安装过程中从加密磁盘上的实时 USB 滴答声安装了 Debian 。因此,当我启动设备时,我必须直接从 grub 解密。解密时间太长,因为--iter-time即使我的密码正确,似乎默认也在 30 秒左右,因此有人建议减少--iter-time300.

这就是为什么我还有其他问题:

  1. cryptsetup-reencrypt --keep-key -iter-time DEVICE今天的代码准确吗?
  2. 上面有 Luks 的分区是/dev/nvme0n1p2,luks 分区是/dev/mapper/luks-xxxx,交换分区也一样。选择哪个设备:cryptsetup-reencrypt --keep-key -iter-time /dev/nvme0n1p2cryptsetup-reencrypt --keep-key -iter-time /dev/mapper/luks-xxxx
  3. 我应该从 grub 菜单中的命令还是从实时 USB 中使用它?
  4. 它会格式化我的数据吗?(最好问两遍)

非常感谢。

供参考 :

  • 操作系统: Debian
  • 安装Luks的方式:通过live USB(只需勾选“加密磁盘”)
  • 卢克斯版本:卢克斯 1
  • SLOTS:启用键槽 0 和 1,禁用键槽 2 至 7

Voj*_*fny 5

如果您只想更改,则无需重新加密设备--iter-time。当您想要更改磁盘上数据的加密方式(因此不同的密钥、算法,或者在链接问题的情况下,哈希函数)时,请使用重新加密。迭代时间是密钥槽的一个“属性”——它告诉PBKDF2从您的密码派生密钥时应该花费多长时间。要更改它,您只需更改键槽属性

cryptsetup luksChangeKey /dev/nvme0n1p2 --iter-time <time in ms>
Run Code Online (Sandbox Code Playgroud)

它将要求输入密码并使用该密码更改密钥槽的属性,可以选择用于操作的密钥槽--key-slot(如果多个密钥槽具有相同的密码)。如果您想更改两个键槽的迭代时间,则需要重复此操作。

(这还会要求您更改密码,您可以重复使用旧密码,luksConvertKey这只会更改参数,不适用于 LUKS 1。)

您可以检查结果,cryptsetup luksDump /dev/nvme0n1p2您应该看到 PBKDF 迭代次数减少了。