使用 LUKS2 和 FIDO2 密钥安装外部硬盘驱动器

使用 LUKS2 和 FIDO2 密钥安装外部硬盘驱动器

我已使用以下命令在运行 Fedora 34 的计算机上使用 LUKS2 加密了外部硬盘驱动器cryptsetup

当我现在插入硬盘并输入密码时,驱动器已成功解锁,我可以访问我的文件。此外,我希望能够使用 FIDO2 安全密钥解锁驱动器。我已使用以下命令添加密钥作为解锁选项:

sudo systemd-cryptenroll --fido2-device=auto /dev/sdc1

在该文件的文档中/etc/crypttab,我找到了如何在启动过程中自动解锁此类驱动器。

不幸的是,我没有找到任何有关如何使用 FIDO2 密钥手动解锁此类驱动器的文档。当我尝试使用 解锁它时cryptsetup open /dev/sdc1 myLuks,我必须输入密码。在手册中cryptsetup我找不到与--fido2-device这两者类似的参数。

有人可以解释如何使用 FIDO2 密钥手动解锁 LUKS2 加密驱动器吗?

提前致谢

答案1

您应该能够手动解锁设备systemd-cryptsetup

sudo /usr/lib/systemd/systemd-cryptsetup attach myLuks /dev/sdc1 - fido2-device=auto

您现在无法使用cryptsetupFIDO(或 TPM2)解锁 LUKS 设备,仅在 systemd 中支持这些设备(它使用 LUKS2 功能,允许将“外部”元数据添加到 LUKS 标头,但使用 FIDO/ 的代码TPM2 仅存在于 systemd 中,因此 cryptsetup 不知道如何从 FIDO/TPM2 获取密钥)。这将会改变,cryptsetup 2.4.0(尚未发布,RC0 目前在 Fedora Rawhide 和 Debian Experimental 中可用)添加了一个新的插件接口,并且将可以使用cryptsetup openFIDO/TMP2(以及其他“令牌”)自动打开设备" 将来由 systemd 支持。

答案2

在 fedora 37 cryptsetup 2.5.0 中,以下工作有效:

sudo cryptsetup open --token-only  /dev/sdb1 myLuks

相关内容