web-dev-qa-db-ja.com

緊急時にLUKSキーを忘れる方法は?

ある日、アリスがボブズサーバーから写真をダウンロードしている間に、アラームが鳴ります。 Trudyがすべてのデータを盗むようになりました。

幸い、サーバーはサーバールームのアラーム時にシャットダウンするように設定されており、完全なディスク暗号化を解除しています。残念ながら、サーバーがAliceでビジー状態のため、シャットダウンはかなりゆっくりと行われています。さらに悪いことに、トルディはいくらかの液体窒素を持ってきました。

これで、Trudyがラボに戻り、盗まれたサーバーのRAMから暗号化キーを抽出します。まもなくトルディはアリスとボブスの秘密の活動について知るでしょう。

Q:Cryptsetupはシステムルートを含むデバイスを閉じることを意図していません。Linuxシステムでの法医学的な努力のコストをecho b > /proc/sysrq-trigger増加させるよりも速い他の解決策はありますか?

編集:はい、この質問は、cryptsetupを介したLUKSコンテナーの管理に関連する有限の準備時間と実装の詳細を想定することを意図的に制限しています。その他のより一般的な質問が存在します。

11
user88348

LUKSが使用するパスワード/キーはヘッダーに格納されているマスターキーを暗号化するだけで、そのマスターキーが実際にデータを暗号化するため、LUKSヘッダーをワイプすると、後でパスワード/暗号化キーが見つかったとしても、データを完全に回復できなくなります。

そのため、最初に、LUKSボリュームが存在するデバイスの最初の2MBを削除すると、パスワードが後で取得された場合でも(たとえば、ゴムホース暗号解読によって)さらなる復号化が不可能になります。バッファーがフラッシュされるのを待たずにコンピューターを再起動するため、書き込みが最終的にバッファーに入れられて破棄されないように、ヘッダーを同期的に上書きしてください。

次に、RAMをワイプする必要があります。コンピュータのシャットダウンが1つの可能性ですが、データがRAMに浸かるのに十分な時間、液体に浸かる可能性があります窒素とデータ残留期間をさらに延長します。Tailsが使用する別のアプローチは、RAMを上書きする特別なカーネルをkexecすることにより、ソフトウェアからRAMを消去することです。コールドブート攻撃を無効にする必要があります。

10
André Borie

データにアクセスしたい程度に応じて、これに取り組む2つの方法があります。

データへのアクセスを回復するためにLUKSパスフレーズの知識を要求するだけの場合(多かれ少なかれ通常のケースですが、エクスペディア化されています)、dm-cryptデバイス名にcryptsetup luksSuspendを使用できます。マニュアルページによると、これは:

アクティブなデバイスを一時停止し(IO操作はブロックされ、デバイスへのアクセスは無期限に待機します)、暗号化キーをカーネルメモリからワイプします。

LuksSuspendから回復するには、luksResumeを実行します。


注:以下ではLUKS 1形式を想定しています。新しいLUKS 2形式は異なります。

Trudyができないがデータにアクセスできないようにしたい場合は、もっと抜本的なものが必要です。簡単なケースでは、TrudyにLUKSヘッダーのバックアップがないと想定しています。この場合、LUKSヘッダーを上書きするだけで十分です。ヘッダーを正確に上書きし、それ以外は何も上書きしない(ヘッダーのサイズは「ペイロードオフセット」(cryptsetup luksDumpによって報告される)×512バイトであり、デバイスの先頭から開始する)か、安全に再生することができます。さらに上書きします。回転HDDの最初の100 MBの上書きには、主にドライブの回転速度に応じて、約1〜3秒かかります(7200 rpmのドライブは100〜120 MB/sを達成できる傾向があり、低速のドライブは明らかに低速です) ):

警告:必要なことがわかっている場合を除き、これを行わないでください。

dd if=/dev/urandom of=/dev/sdb1 bs=1M count=100 conv=sync

警告:上記の危険なコマンド

ヘッダーを上書きした後は、必ずカーネルメモリからキーをワイプして、残りのデータを復号化できないようにしてください。これはcryptsetup luksSuspend dm-nameまたはcryptsetup remove dm-nameと同じくらい簡単です。それを行った後、コンテナーにはランダムに見えるデータのみが含まれます(使用される暗号化アルゴリズムを壊すことはできません)。復号化キーがない場合、適切な暗号化アルゴリズムの出力は、統計的にランダムノイズと区別できません。

後者の場合、本当にでTrudyの動作を困難にしたい場合は、基礎となるストレージデバイスに ATA Secure Eraseを発行 できます。ドライブにセキュア消去が適切に実装されていると仮定すると、ドライブが終了すると(非暗号化回転HDDでは数時間かかる可能性がありますが、通常、起動後に中断することはできません)、以前は no 保存されたデータにアクセスできます。ただし、ほとんどの脅威モデルでは、それはやり過ぎになる可能性があります。 LUKSヘッダーを上書きし、RAMでキーをクリアすると、ほぼ確実に、適切な敵によるデータへのアクセスを防ぐのに十分です。安全な消去 may ただし、 ウェアレベリング が原因で、SSDに主要な素材の残りがないことを確認する必要があります。

4
a CVn