我希望在 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 腳本。