Linuxブートローダはフルディスク暗号化をサポートしていますか?

Linuxブートローダはフルディスク暗号化をサポートしていますか?

フルディスク暗号化(a la)をサポートするLinuxブートローダはありますか?真の秘密)。誰かがGRUB2に暗号化サポートを追加する作業をしていることを知っていますが、まだ準備ができていないようです。他のオプションがありますか?

(ここで実際に意味するのはフルディスク暗号化 - 含む/boot

ほとんどの回答は暗号化されていない設定を説明し/boot、一部の回答は暗号化され/bootていないのがなぜ良いのかを説明したいと思います。

実際に暗号化するために/bootが必要な理由を説明せず、以下は、必要なものを正確に説明するGRUB2の修正版に基づいた記事です。

問題は、これらの修正が現在GRUB2コードベースでサポートされていないようです(または私が見落としている可能性があります)。

答え1

GRUB2の現在のバージョンは、デフォルトでLUKSパーティションのマウントと復号化をサポートしていないようです(一部のパスワードは含まれていますが、パスワードのサポートにのみ使用されているようです)。実験的な開発ブランチを確認することはできませんが、GRUBページにいくつかのヒントがあり、必要なタスクを達成するためのいくつかのタスクが計画されています。

更新済み(2015年):最新バージョンのGRUB2(2.00)には、すでにLUKSおよびGELI暗号化パーティションにアクセスするコードが含まれています。 (OPが提供するxercesch.comリンクには最初のパッチが記載されていますが、現在は最新バージョンに統合されました。)

ただし、セキュリティ上の理由からディスク全体を暗号化したい場合、暗号化されていないブートローダ(TrueCrypt、BitLocker、または変更されたGRUBなど)は、暗号化されていないパーティション(上記の/bootJVなど)よりも多くの保護を提供しない点に注意してください。コメントに記載されています)。コンピュータに物理的にアクセスできる人なら誰でもコンピュータをカスタマイズされたバージョンに簡単に交換できます。これはあなたがリンクしたxercestech.comの記事でも言及されています。

明らかに、これは何らかの方法でシステムがオフライン攻撃に対して脆弱ではないということです。攻撃者がブートローダーを自分のブートローダーに置き換えるか、独自のコードをブートするようにブートプロセスをリダイレクトすると、システムがまだ破損する可能性があります。

この脆弱性は、暗号化されていないブートローダまたは暗号化されていないブート/プレブートパーティションを使用しているかにかかわらず、すべてのソフトウェアベースのフルディスク暗号化製品に存在します。 BitLockerなどの信頼できるプラットフォームモジュール(TPM)チップをサポートする製品も、ハードウェアを変更せずにルーティングできます。

より良いアプローチは次のとおりです。

  1. BIOSレベルでの復号化(TPMチップの有無にかかわらず、マザーボード、ディスクアダプタ、または外部ハードウェア[スマートカード])または
  2. /bootスマートカードやUSBスティックなどのリムーバブルデバイスにPBA(Preboot Authorization)コード(この場合はパーティション)を持ちます。

2番目のアプローチをとるには、次の場所でLinuxフルディスク暗号化(LFDE)プロジェクトを確認してください。http://lfde.org//bootGPG暗号化キーを使用してそれをUSBに保存して、パーティションを外部USBドライブに移動するインストール後のスクリプトを提供します。これにより、ブートパスの弱い部分(暗号化されていない/bootパーティション)が常にユーザーと一緒になります(復号化コードとキーに物理的にアクセスできる唯一の人はユーザーになります)。 (ノート:ホームページがなくなり、作家のブログも消えたが、以前のファイルは以下で見つけることができます。https://github.com/mv-code/lfde最後の開発は6年前に行われました。)より簡単な選択肢として、オペレーティングシステムをインストールするときにUSBスティックに暗号化されていないブートパーティションをインストールできます。

こんにちは、MV

答え2

初期RAMdiskおよび/bootフォルダを暗号化されていない状態にします。

これにより、「実際の」ルートファイルシステムに切り替えるためのドライバとサポートを含む「最小」カーネルが実行されます。はい暗号化されました。

「これはハッキングだ」と主張する前に覚えておいてください。現在、ほとんどのLinuxディストリビューションはデフォルトでこの方法で起動します。これにより、システムがファイルシステムからロードする必要があるモジュールを使用してルートファイルシステムを起動してロードできます。 (鶏肉や卵の問題と少し似ています)。たとえば、ルートファイルシステムがハードウェアRAIDボリュームにあり、ルートFSをマウントする前にそのドライバをロードする必要があるとします。

答え3

あなたが投稿したリンクを見ました。ブートパーティションはありませんが、ハードドライブにはまだ暗号化されていないブートローダがあり、悪意のあるメイド攻撃を介してアクセスして破損する可能性があります。私はハードドライブに暗号化されていないデータを持たない同様の設定をしてきましたが、これまではリムーバブルドライブでブートローダを実行する方法だけを思いつきました。

答え4

いいえ、私の考えではそうではありません。

暗号化/起動は本当に必要ですか?そうではないと思います。ファイルシステムの残りの部分は、/bootのinitramfsにあり、それに応じてユーザーにメッセージを表示する通常のLinuxソフトウェアで暗号化できます。

関連情報