Linux カーネルは起動時に暗号化パーティションからファイルシステムをマウントしますか?

Linux カーネルは起動時に暗号化パーティションからファイルシステムをマウントしますか?

私の SD カードには 2 つのパーティションがあります。1 つはブート、もう 1 つはファイル システムです。現在、Linux ツールの cryptsetup を使用してファイル システム パーティションを暗号化していますが、ボードでブートすると、カーネルはファイル システム (暗号化) をマウントできません。私の目的はファイル システム全体を保護することです。パーティションが 3 つあれば実現できるかもしれませんが、パーティションが 2 つしかない場合は実現できますか?カーネル ソースを変更する必要がありますか?

答え1

使用しているディストリビューションをお知らせいただいていませんが、これが問題となります。Linux では 2 つのパーティションで「フル ディスク」暗号化を行うことは間違いなく可能です。Ubuntu でもそれができることはわかっています。(デフォルトのインストールでそれができるかどうかはわかりませんが、できると思います。そうでない場合は、代替ディスクを入手してそれを実行できます)。Fedora または CentOS 用の Spin もあると思います。

これを実現するために使用されるメカニズムは次のとおりです。

  1. 2 つのパーティションを作成します (または、システムに作成させます)。1 つは小さな「ブート」パーティション (通常は約 200 MB)、もう 1 つは暗号化用の大きなパーティションです (スワップ用に追加のパーティションが必要かどうか、または LVM またはファイルを使用して暗号化されたスワップをマウントするかどうかを検討する必要があります。それぞれに利点がありますが、セキュリティのためには、パフォーマンスが低下しても暗号化されたパーティションにマウントする必要があります)。

  2. OS は、起動に必要な最小限のものをブート パーティション (通常は /boot) に配置します。これは暗号化されていませんが、「ストック ファイル」のみが含まれています。

  3. 次に、インストールでは通常、パスワードの入力を要求し、システムを復号化し、ルートとして再マウントするために必要なファイルとコマンドを含む初期 RAM ディスク (initrd) が構築/再作成されます。

関連情報