4

シナリオは次のとおりです。アプリケーションの複数のインスタンスが(順次に)アクセスできるように、暗号化キーを一時的に保存する必要があります。もちろん、使用後はシステムからキーを削除する必要があります。ただし、これには問題があります。キーが保存されている限り、システムは脆弱であることを認めますが、キーが保存される前後のシステムを安全に保ちたいと思います。

キーをファイルに書き込んで後で上書きするだけでは、すべての場合に機能するわけではありません。一部のファイルシステムは、同じ場所ではなく、ディスクの異なる部分に変更を書き込みます。その場合でも、後でキーを取得できます。フルディスク暗号化を使用しているユーザーに頼ることはできません。

その場合、最も論理的なオプションは、キーをメモリに保持する他のプロセスを使用しているように見えますが、オペレーティングシステムが特定の時点でメモリをディスクに書き込む可能性があり、上記と同じ問題が発生します。

キーを暗号化することは可能ですが、これはより安全ではありません。キーを一時的に保存することの重要な点は、ユーザーがプログラムを実行するたびにキーを入力する必要がないことです。つまり、キーの暗号化に使用されるキーもどこかに保存するか、既知のデータに基づいている必要があります。キーが保存されている場合、もちろん、このキーを安全に保存するという問題が発生します。既知のデータに基づいている場合は、必要に応じてキーを再度生成できるため、暗号化はほとんど役に立ちません。

一部のオペレーティングシステムがデータを保護するためのAPIを提供していることは知っていますが、これは通常、ユーザーアカウント情報に基づいて暗号化キーを生成することに依存しています。これがセッション固有であっても、セッションが終了するまでデータは保護されません(キーが消去されるまでに時間がかかる場合があります)。

この問題の解決策はありますか(特別なハードウェアに依存しない、フルディスク暗号化を必要としないなど)?ない場合、この場合に私ができる最善のことは何ですか?

明確にするために編集:キーがメモリに保存されている場合、キーは安全である必要はありません。この時点で、ユーザーは物理的なアクセスが不可能であり、システムにウイルスがないことを保証する必要があります。キーを使用した後は、システムから消去する必要があります。これにより、物理的にアクセスできる人やプログラムを使用して、すべてのメモリとディスクを検査し、キーの単一の(使用可能な)トレースを見つけることができなくなります。

4

1 に答える 1

5

RAMディスクを使用できます(tmpfsではありません)。http://www.kernel.org/doc/Documentation/filesystems/tmpfs.txtを参照してください:

「もう1つの同様のものはRAMディスク(/ dev/ram *)です。これは物理RAMの固定サイズのハードディスクをシミュレートし、その上に通常のファイルシステムを作成する必要があります。Ramdiskはスワップできず、サイズを変更する可能性はありません彼ら。"

したがって、基本的には /dev/ram* にファイルシステムを作成し、それをどこかにマウントする必要があります。ただし、このマウント ポイントには、特定のプロセスだけでなく、すべてのプロセスがアクセスできます。

于 2012-07-15T10:07:28.867 に答える