首先我已经读过这个主题: 如何更改现有 dm-crypt LUKS 设备的哈希规范和迭代时间?
其中建议是以下命令:
cryptsetup-reencrypt --keep-key
然而,这个答案是 7 年前的,并且被认为是实验性的。在我这边,我已经通过实时 USB 安装了 Debian加密磁盘在安装过程中。因此,当我启动设备时,我必须直接从 grub 解密。解密时间太长,因为--iter-time
即使我的密码正确,似乎默认也在 30 秒左右,因此有人建议减少--iter-time
到300
.
这就是为什么我还有其他问题:
cryptsetup-reencrypt --keep-key -iter-time DEVICE
今天的代码准确吗?- 上面有 Luks 的分区是
/dev/nvme0n1p2
,luks 分区是/dev/mapper/luks-xxxx
,交换分区也一样。选择哪个设备:cryptsetup-reencrypt --keep-key -iter-time /dev/nvme0n1p2
或cryptsetup-reencrypt --keep-key -iter-time /dev/mapper/luks-xxxx
? - 我应该从 grub 菜单中的命令还是从实时 USB 中使用它?
- 它会格式化我的数据吗? (最好问两遍)
非常感谢。
供参考 :
- 操作系统:德班
- Luks安装方式:通过实时 USB(只需勾选“加密磁盘”)
- 卢克斯版本:幸运1
- 老虎机:启用键槽 0 和 1,禁用键槽 2 至 7
答案1
如果您只想更改,则无需重新加密设备--iter-time
。当您想要更改磁盘上数据的加密方式(因此不同的密钥、算法,或者在链接问题的情况下,哈希函数)时,请使用重新加密。迭代时间是关键槽的“属性”——它告诉我们应该多长时间PBKDF2从您的密码短语派生密钥时采取。要更改它,您只需更改键槽属性
cryptsetup luksChangeKey /dev/nvme0n1p2 --iter-time <time in ms>
它将要求输入密码并使用该密码更改密钥槽的属性,可以选择用于操作的密钥槽--key-slot
(如果多个密钥槽具有相同的密码)。如果您想更改两个键槽的迭代时间,则需要重复此操作。
(这还会要求您更改密码,您可以重复使用旧密码,luksConvertKey
这只会更改参数,不适用于 LUKS 1。)
您可以检查结果,cryptsetup luksDump /dev/nvme0n1p2
您应该看到 PBKDF 迭代次数减少了。