これは最近閉じられた質問 サーバールームの邪悪なメイド[閉じられた] と密接に関連していますが、もっと答えやすいと思います。
BusyBoxでinitramfsを使用し、SSHサーバーとしてDropbearを使用して、リモートでホストされているサーバー上のLUKSボリュームのロックを解除したいと思います。上記のクローズド質問への回答で、paj28は次のように述べています。
Remote boot techniques like dropbear are vulnerable to a remote variant of
the evil maid attack. For example, someone with physical access could tamper
with the dropbear partition, and have it leak the key on the next reboot.
攻撃は リモートロック解除のLUKS人魚 でも説明されています。
BusyBox initramfs環境で、LUKSのロックを解除するためのパスフレーズを送信する前に、リモートサーバーの整合性を確認したいと思います。ローカルリストに対してsha256チェックサムをチェックすることで、ファイルの整合性を確認できます。しかし、パスフレーズを取得するためのinitramfsの変更を検出するでしょうか?
Eth0のMACを簡単に取得でき、tracerouteを使用してネットワーク環境の変化を検出できます。おそらく、ハードウェア環境を確認するために、initramfsにhwinfoを追加できます。これらのテストで検出されない変更はありますか?
私は解決策を求めているわけではありませんが、私が見逃しているエレガントなものがある場合は、私に知らせてください。
あなたはしません。できません。
できる最善の方法は、パーティションロック解除プロセスの一部を構成するTPMを使用した信頼できるブートパスです。しかし、ハードウェアが個人の署名鍵(おそらくそうではない)にロックされていない限り、それさえも破壊される可能性があります。
それでも、TPMはおそらく最も近いものです。これを実装するのは簡単なことではありません。また、このための既成のソリューションを見つけることはほとんどありません。
[〜#〜] srtm [〜#〜] を使用して、TPMによって提供されるリモート認証を使用できます。
TPMが本物であることの確認
@tylerlが言っていることにかかわらず、TPMが証明書を提供するために自分の署名鍵を信頼する必要はありません。正規のTPMは Endorsement Key 、またはEKを使用します。これは、製造時にTPMに焼き付けられるキーであり、対応する秘密キーが公開されることはありません(WebのPKIと同様)動作します)。偽のTPMが提示される唯一の方法(ソフトウェアでエミュレートされるなど)は、承認キーが秘密でない場合です。データセンターのEKが盗まれた場合、心配することがたくさんあります。 TPMは、HTTPSが悪意のあるCAから保護する以上に、そのような敵から保護することはありません。
メジャードブート
TPMはmeasured bootと呼ばれる機能を提供します。その詳細は次のとおりです alloverthisウェブサイト 。その要点は、CRTMと呼ばれる、BIOSの安全な読み取り専用コンポーネントが連鎖反応を開始し、システムのさまざまなコンポーネントがハッシュされてTPMに送信されることです。すべてのハッシュが正常な状態と一致しない限り、TPMはロックされたままになるか、密封されます。封印を解除できる唯一の方法は、システムが既知の状態にあるときです。封印する正確なデータは任意です。たとえば、暗号化キーの封印に使用できるため、システムが改ざんされていない場合にのみシステムを起動できます。また、悪意のあるハードウェアがこの値が何であるかを予測して提示できないように、あなただけが知っている秘密の値を保存するために使用することもできます。それが表示された場合にのみ、TPMが正規品であり、システムが正常な状態にあることがわかります。これは、Joanna Rutkowskaの Anti-EvilMaid の基礎です。
TPMがジョブを実行した後の整合性
TPMのジョブは、カーネルを起動すると終了します。 BIOSからオプションROM、ブートローダー、NVRAMまで、システムの残りすべてが測定されていることを確認しますが、カーネルを測定した後、そのジョブは完了です。カーネルは測定されていますが、システムの他の部分は測定されていません。この時点で、カーネルは何らかの測定を提供する必要があります。 Linuxの1つの機能は 整合性測定アーキテクチャ 、またはIMAです。 IMAは、システム上のすべてのファイルのハッシュを拡張属性に保持することで機能します。これらのハッシュは、TPMに格納されているマスタールートハッシュを使用して比較検証されます。カーネルは、ハッシュのないファイルの読み取りを拒否するか、ハッシュが正当なものであると確認できません。この時点で、測定ブートが正常に行われ、信頼できる実行環境になっています。
注意事項