TrueCryptは、PBKDF2機能で疑似ランダムキーに変換されるパスワードを使用してディスクを暗号化および復号化します。
他のFDEプログラムは、ディスクに保存されているランダムキーを使用します。これらのランダムキーは正確にどこに保存されますか?ディスクを復号化するには、コンピューターの起動後、OSがロードされる前にアクセスできる必要があります。
ランダムキーは暗号化されており、ユーザーが選択したパスワードで復号化できます。 FDEにランダムキーが使用されるのはなぜですか?誰かがパスワードを取得できれば、ハッカーはとにかく暗号鍵を取得します。ランダムキーと疑似ランダムキーの間に違いはありません。
フルディスク暗号化では、通常、キー階層があります。キー暗号化キー(KEK)は、ユーザーパスワードから取得されます。これは、PBKDF2を使用して行われることがよくあります(または、最近ではscryptがより好まれています)。次に、KEKは、ストレージメディアの暗号化に実際に使用されるディスク暗号化キー(DEK)の暗号化に使用されます。
TrueCryptが本当にパスワードから派生したキーを使用してディスクを暗号化するかどうかは完全にはわかりません。ただし、最初の質問になります。これらのランダムキーは正確にどこに保存されますか?すべてのFDEソリューションには、暗号化されていないディスクの小さな部分が1つあり、DEKは安全な方法で保存されます(暗号化され、上記のプロセスを参照してください)。これが、Evil-Maidなどの攻撃が機能する理由です。起動時に、システムはユーザーにパスワードの入力を求める最小限の環境を開始し、KEKを導出し、DEKを復号化する必要があります。次に、DEKが実際に正しいかどうかをチェックします(おそらく、固定された既知のパターンを復号化することによって)。その場合、ディスクの復号化が開始され、システムは起動手順を続行します。
次の質問:FDEにランダムキーが使用されるのはなぜですか?ランダムキーを使用せず、代わりに、たとえば時間ベースの固定パターンキーを使用するとします。攻撃者は適切なセットアップ時間を特定するだけでよく、ブルートフォースするキーの量を大幅に減らすことができます。
誰かがパスワードを取得できれば、ハッカーはとにかく暗号鍵を取得します。
確かに、これが、強力なパスワード、それらからキーを取得するための強力な暗号化プリミティブ、およびディスクを暗号化する強力なキーが必要な理由です。最初の2つは、基本的に、KEKにブルートフォース攻撃をできるだけ長くすることです。結局のところ、攻撃者はブルートフォースであるため、最終的には成功します。ただし、時間がかかりすぎて、そこに保存されている情報が古くて価値がない可能性があるため、彼に試してはいけません。または、ペナルティアクション、つまり、誤ったパスワード入力時のタイムアウトの増加、または特定の回数の試行後の強制ワイプを含めます。
メディアを暗号化するキーはランダムであり、ブルートフォース攻撃が難しい必要があります。そうしないと、攻撃者は、低速になるように設計されたKEK派生プロセスの代わりに、そのキーを簡単に標的にする可能性があります。