Fedora LUKS2设置TPM2+PIN与FIDO2解锁
前言
新装了fedora,开机一直要输入luks密码解锁硬盘感觉有点麻烦,既然luks2支持tpm和fido2,这次就全给他整上
FIDO2
首先是FIDO2方式
需要FIDO2密钥支持hmac-secret扩展
我的话手里的Canokey Canary就支持
首先确定luks的分区
1 | lsblk -f |
然后确认luks分区版本,确保是luks2
1 | sudo cryptsetup luksDump /dev/nvme0n1p3 | head |
确认分区后,插入FIDO2密钥,查看状态
1 | sudo systemd-cryptenroll --fido2-device=list |
正常来说会出现下面类似输出
1 | PATH MANUFACTURER PRODUCT |
然后开始注册
1 | sudo systemd-cryptenroll \ |
接着会需要输入当前LUKS密码以及FIDO PIN,触摸两次硬件密钥完成注册
注册完后配置/etc/crypttab
1 | cat /etc/crypttab |
一般会输出
1 | luks-12345678-... UUID=12345678-... none discard |
在后面加入fido2-device=auto
例如
1 | luks-12345678-... UUID=12345678-... none discard,fido2-device=auto |
最后通过dracut把FIDO2支持加入initramfs
1 | sudo mkdir -p /etc/dracut.conf.d |
重建initramfs
1 | sudo dracut --regenerate-all --force |
验证一下
1 | lsinitrd -m /boot/initramfs-$(uname -r).img | grep fido |
一切正常的话会看到fido2字样
保持密钥插入重启,启动时就会要求输入FIDO2 PIN
输入完触摸一下安全密钥即可完成解锁。
TPM2+PIN
PC既然有TPM2,那也不能浪费了
先确认tpm设备
1 | sudo systemd-cryptenroll --tpm2-device=list |
正常会看到/dev/tpmrm0
然后开始注册
1 | sudo systemd-cryptenroll \ |
具体PCR选什么怎么组合就看你自己的需求
然后是下面流程
1 | 现有 LUKS 密码 |
另外PIN不一定只能是数字,但是连续输错TPM PIN会导致TPM暂时锁定
接着同样是修改/etc/crypttab
后面加上tpm2-device=auto
例如
1 | luks-xxxxxxxx UUID=xxxxxxxx none discard,fido2-device=auto,tpm2-device=auto |
以及加入initramfs
1 | echo 'add_dracutmodules+=" tpm2-tss "' | \ |
最后
1 | sudo dracut --regenerate-all --force |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 GoodBoyboy 's Blog|惬意小屋-点滴记忆!
Invitation
GoodBoyboy
5201314***
created:09/04/2015
Welcome to MyBlog
Use this card to join MyBlog and participate in a pleasant discussion together .
Welcome to GoodBoyboy 's Blog,wish you a nice day .
评论
FurtalkUtterances
