web-dev-qa-db-ja.com

GRUBおよびTPMを使用した復号化

新しいLinuxインストールのセキュリティルーチンを計画していますが、自分のニーズを満たすソリューションを探しているときにいくつかの質問が出てきました。

  1. GRUB=)でTPMの秘密鍵を使用して、外部ストレージにある/ bootパーティションを復号化することはできますか?
  2. GRUBを使用して、外部ストレージにあるパーティションをパスワードを入力してキーファイルで復号化することは可能ですか?
  3. これらのキーファイルを使用して内部ハードドライブを復号化することは可能ですか?
4
Matthew

現在、TPMサポートは非​​常に初歩的です。信頼の連鎖を拡張できるブートローダーが必要になります。TPM関連の機能が追加されたかなり古いバージョンのGRUB)であるTrustedGRUBしか知りません。

一方、TPMはBitlockerに関連するすべての誇大広告であり、実際にはセキュリティがほとんど提供されていません(多分、3文字の機関を満足させるための設計によるのでしょうか?)。他の秘密のないコンテンツ。マシンを盗んだ(オフであっても)攻撃者がそれを起動し、DMAまたはコールドブート攻撃で攻撃して、キーを取得することを許可します。TPMは保護しませんまた、私が常に考えている理論的な攻撃は、TPMが接続されている低速シリアルバスを単純に探り、暗号化キーが送信されるのを待つことです。高価な設備は必要ありません。

USBフラッシュドライブ+キーファイル/パスワードは、マシンのロックを解除するために必要な材料がそれから分離されているため、はるかに安全です。コンピューターが盗まれた場合、それは本質的に役に立たないレンガであり、マシンにキーを保持するものはまったくありません。

ここで、特定の質問に答えます。

1)いいえ。暗号化されたパーティションを復号化してマウントする前に、暗号化されていないコードを実行する必要があるため、/bootは、それがどこにあっても、暗号化しないでください。ファームウェア(BIOS/UEFI)自体は、暗号化されたファイルシステムをサポートしていません。また、ディスク暗号化の場合は対称暗号を使用しているため、公開鍵の概念はなく、TPMはデータが提供されているかどうかを確認するだけです(これまでに実行されたすべてのコンポーネントのハッシュとその構成、したがってファームウェア、その構成、ブートローダーなど)。TPMが「封印」されたときにハッシュが一致した場合、データブロックを返します。このデータブロックは、復号化キーです。

2)最初に、GRUBは暗号化を行いません。Linuxカーネルは暗号化を処理します。つまり、カーネルの暗号化を解除する前のすべてのことを意味します。最後に、パスワードとキーファイルの両方を要求する方法はありません。 LUKS、ただし(暗号化されていない)initrdにバンドルするプログラム(GPG?)でキーファイルを暗号化し、(復号化された)キーファイルをLUKSに渡して起動を続ける前にそれを呼び出すことができます。

3)はい。 LUKSでは、暗号化されていないバージョンを個別のデバイスノードとして公開することにより、ブロックデバイスを透過的に暗号化できるため、システムは、暗号化されたデータを含む実際のブロックデバイスの代わりにそれを使用します。それが内部デバイス、外部、またはLUKSを上にしてループデバイスとしてマウントされたNFSサーバーからのディスクイメージファイルのようなブードゥーマジックであるかどうかにかかわらず、それは同様に機能します(ただし、最後のデバイスのパフォーマンスは保証されません)。キーファイルとパスワードのどちらを使用しても、何も変わりません。

1
Anonymous