web-dev-qa-db-ja.com

ラップトップの「セキュアスリープ」モードは理論的に可能ですか?

フルディスク暗号化またはホームフォルダー暗号化を備えたラップトップの場合、スリープモード中に盗まれた場合のリスクの1つは、暗号化キーがメモリに保存され、攻撃者がその方法を知っている場合に読み取られる可能性があることです。私には、理論的には、オペレーティングシステムは、キーがスリープモードの前にメモリから消去される「安全なスリープ」オプションを備えているべきであり、再開時に、ユーザーは暗号化キーのロックを解除するためのパスワードを提供する必要があるようです、コールドブートの場合と同様です。ロック画面を除くすべてのプロセスは、暗号化キーがメモリに復元されるまで続行できなくなります。

これは、コンピューターがスリープモードでスケジュールされたタスクを実行できないことを意味しますが、ほとんどのユーザーはおそらくそれを気にしません。そして、おそらくドライバーや他の障害がこれを現実的にすることを妨げるでしょう。

「安全なスリープ」オプションを簡単に実装できない理由はありますか?

47
Peter Rankin

はい。カーネルのサポートがこれを適切に行う必要があるが、それは簡単に達成可能かもしれない。

サスペンドからRAMの場合、キーはRAMから削除し、サスペンドからディスクの場合は、RAMおよびディスクから削除する必要があります(または、暗号化されてディスクに保存されます)。

ブート/ウェイクアップの初期段階でキー/再認証の資格情報を取得するために、最小限の入力も提供する必要があります。

技術的な障害はありません。それが今まで開発されなかったと考えられる理由は、関心の欠如でした。動作中のラップトップへの直接アクセスRAM=アクセスが実際のセキュリティリスクであるシナリオは非常にまれです。

これは、スリープよりも休止状態オプションを選択する場合に当てはまります。スリープはメモリをアクティブに保つ必要があるため、すばやく起動できます。スリープモードでは、マシンは完全にオフではありません。

ハイバネートでは、メモリをディスクに書き込んで、コンピュータの電源を切ることができます。これにより、暗号化キーも削除されます。このため、休止状態では、起動復号化キーを入力する必要があります。

スリープでの「起動」の速度よりもセキュリティの方が重要な場合は、休止状態を使用してください。

スリープモード中に盗まれた場合のリスクの1つは、暗号化キーがメモリに格納されており、攻撃者がその方法を知っている場合に読み取られる可能性があることです。

攻撃者が暗号化キーを復元する手間をかけない可能性が高くなります。彼らがあなたのデータを盗もうとした場合、彼らはこの時点でOSレベルのアクセスを取得しようとします。

18
ISMSDEV

安全な機密データ(表示された電子メールのテキストなど)はRAMのどこにでも置くことができます。暗号化キーを保存するだけでは不十分です(すでにこの方向に進んでいる場合)。

RAMを暗号化することは可能ですが、ハードウェア層での開発が必要になります。 RAMはランダムアクセスです。どのセルもいつでも読み取ることができる必要があります。これにより、暗号の選択が制限されます。ただし、選択した暗号を使用して、スリープ中に暗号化される非常に大きな鍵を使用することが可能になる場合があります。

6
h22

Enc/decキーの取得方法によって異なります。たとえば、キーがTPMに保存されており、キーが開封されてOSによって読み取られると、NVRAMの読み取りがロックされている場合、次の再起動まで再度読み取る方法はありません。この場合、スリープモードをハードまたはソフトリブートと見なすことはできません。

別の暗号化ソフトウェアがユーザーパスワードを使用して、ディスクに格納されているenc/decキーストアを開き、そこからenc/decキーを取得できるため、このような場合でも問題はありません。

3
Fis

@ h22が指摘するように の場合、暗号化する必要がありますRAMサスペンド時。実際には、それか、機密情報がメモリにロードされている可能性のあるプログラムを終了するand解放されたメモリのクリアおよび機密情報を含むファイルシステムのマウント解除(およびクリアすべてのキャッシュが関係している可能性があります。どのような種類のワークフローが中断され、一時停止がRAMせいぜい問題点(快適に)。

したがって、安全な側になりたい場合は、ディスクにサスペンドする必要があります。この場合の暗号化は解決済みの問題です。別の方法は、一時停止時にRAMを暗号化し、再開時に復号化することです。それでも、ディスクへの一時停止の順序がわかります(時間的および電力的に)。

1
peterph