Pythonを実行してluksのフルディスク暗号化を解除する

Pythonを実行してluksのフルディスク暗号化を解除する

Ubuntu 14.04 で Luks を使用してフルディスク暗号化を利用したいと思います。ただし、デバイスの起動時に復号化キーを生成する機能を実行するために独自の Python スクリプトを使用し、その後、そのキーを lukes に送信して復号化できるようにしたいと考えています。

理想的には、「Python スクリプトからの結果」+「ユーザーが復号化キーを入力」し、それが lukes に渡されてデバイスが復号化できるようにします。その後、Python で独自の機能を実装して、「2 番目の要素」を作成し、デバイスが復号化できるようにします。

いろいろ検索してみましたが、質問に対する答えが見つかりません。助けていただいたり、アドバイスをいただけませんか?

ありがとう。

答え1

ルート ファイルシステムにフル ディスク暗号化を使用する場合、通常は起動時に Python インタープリターが利用できないという問題を解決する必要があります。たとえば、/usr/bin/python2.7一連の重要なものを保存するために、暗号化されていないディスク領域が数メガバイト必要になり/usr/lib/python2.7、これを機能させるには、いくつかの変更を加える必要があります/boot/initrd

ブート プロセスは/scripts/local-top/cryptrootinitrd ルートから呼び出されます。これは通常、ツールを呼び出しますplymouth ask-for-password --prompt。これは、グラフィカル ユーザー インターフェイスが起動される前にユーザーにパスフレーズを要求するために使用されます。このパスフレーズは、cryptsetup にパイプされます。

それでもこのアプローチを継続したい場合は、スクリプトを直接ハッキングするのではなく、構成ディレクトリ内の構成ファイルを使用し/etc/initramfs-tools/て独自の新しい値を構成できます。これにより、後で OS ディストリビューションの更新をインストールする際の煩わしさが軽減されます。cryptkeyscript/usr/share/initramfs-tools/scripts/local-top/cryptroot

詳細については、initramfs-tools、cryptsetup、plymouth パッケージのドキュメントを参照し、cryptroot前述のシェル スクリプトを確認してください。

関連情報