运行 python 来解锁 luks 全盘加密

运行 python 来解锁 luks 全盘加密

我希望在 ubuntu 14.04 上使用 Luks 进行全盘加密。但是,我希望使用自己的 python 脚本在设备启动期间执行生成解密密钥的功能,然后将其发送给 lukes 以允许其解密。

理想情况下,我希望“python 脚本的结果”+“用户输入解密密钥”,然后将其传递给 lukes 以允许设备解密。然后我可以在 python 中实现自己的功能,以创建“第二个因素”以允许设备解密。

我搜索了好多地方,但还是没找到问题的答案。你能帮忙或提供一些建议吗?

谢谢。

答案1

如果您对根文件系统使用全盘加密,则必须解决 Python 解释器通常在启动初期不可用的问题。您将需要几兆字节的额外未加密磁盘空间来存储例如/usr/bin/python2.7一堆必需的东西,/usr/lib/python2.7并且您必须对您的系统进行一些修改/boot/initrd才能使其正常工作。

启动过程/scripts/local-top/cryptroot从 initrd 根目录调用。这通常会调用工具plymouth ask-for-password --prompt。它用于在启动图形用户界面之前要求用户输入密码。此密码依次通过管道传输到 cryptsetup。

如果您仍然想继续使用这种方法,您可以/应该使用配置目录中的配置文件/etc/initramfs-tools/为自己配置一个新值,cryptkeyscript而不是直接破解脚本/usr/share/initramfs-tools/scripts/local-top/cryptroot。这将使以后安装操作系统分发更新变得不那么麻烦。

有关更多信息,请参阅 initramfs-tools、cryptsetup 和 plymouth 软件包的文档,并查看cryptroot我上面提到的 shell 脚本。

相关内容