TGTGInsighttelegram intelligenceLIVE / telegram public index
← The 2ndDim: That was I talking about!
The 2ndDim: That was I talking about! avatar

TGINSIGHT POST

Post #1742

@The2ndDim

The 2ndDim: That was I talking about!

Views629帖子阅读量
发布9月18日2022/09/18 13:22
Post content

帖子内容

#工具#折腾#WTF#CanoKey 新买了个CanoKey,想用FIDO2做完整的全盘加密开机,正好CanoKey的文档里面提到了可以这么做。 1. khefin,作者停止维护了。因为有 systemd-cryptsetup实现了功能。 2. systemd-cryptsetup: 一位systemd开发者的blog写了如何使用这个功能: http://0pointer.net/blog/unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html ———————— 操作系统的选择: 1. 首先排除Debian 11,因为Debian 11的systemd版本是247,此功能需要248. 2. Arch用户基本上应该立刻就能用。 3. Fedora 35+应该也能用。 4. Ubuntu 22.04 使用的systemd是249,应该可以使用。 准备用Ubuntu 22.04来测试。 ———————— 1. 首先尝试运行FIDO2的enroll动作,得到报错:fido2 tokens not supported on this build 检索错误消息找到:https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1937019 得到的信息是,Ubuntu 22.04锁定发布版本时,Debian 在 systemd 250时才做了相应的支持。 最后一个消息提到 Ubuntu 22.04 上面已经发布了支持FIDO2的 systemd-cryptsetup: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1969375 可以看到相关软件包进入 jammy-proposed 仓库,需要开启预发布软件分支。 开启jammy-proposed后更新系统,重新执行FIDO2设置,能够正常完成。 ———————— 2. 尝试update-initramfs使得加密卷的信息更改在开机的initrd里生效,得到警告消息: ignoring unknown option fido2-device 检索错误消息找到:https://forums.debian.net/viewtopic.php?p=750216 Debian/Ubuntu默认管理initrd的工具使用的是传统的cryptsetup,不支持FIDO2解锁,需要换成systemd-cryptsetup。(Fedora应该就没有这个破事,因为Fedora本身就是用dracut。) 因此需要把initrd生成换成dracut。不过因为Debian是动态链接这些FIDO/TPM支持的,如果initrd里面没有对应的依赖,那么对应功能就不能使用。 这位作者最后给出了一套完整的解决方案:https://www.guyrutenberg.com/2022/02/17/unlock-luks-volume-with-a-yubikey/ ———————— 3. 最终成功实现,效果很棒。 ———————— Update: 1. TPM 2.0的解锁也可以按照这个流程。不过不知道为什么,TPM 2.0在更新 jammy-proposed 之前就能正常开始流程。因此配置TPM的时候可以不安装预发布软件包,但dracut很有可能是仍然是需要的。 2. Debian 11 可以开启 Backports 仓库使用高版本的systemd,当前可用版本 systemd==251.3-1~bpo11+1 ( #投稿 by iLemonrain)