カスタムログインプログラムを介してクライアントにキーを安全に送信するサーバーがあります。キーはその後、さらなるクライアント要求を暗号化するために使用されます。そのキーはCookieのようにクライアントのディスクに保持され、クライアントがログアウトしてキーを廃止することを決定する前に複数回開始および停止される可能性のあるプログラムによって使用されます(したがって、キーはディスクに保存されます。プログラムが実行されていない場合、ログインからログアウトまでに長い時間がかかる場合があります)。
キーをディスクではなくメモリにのみ保持する方が少し安全なようです(クラッシュまたは再起動によってキーが失われ、その後新しいログインが強制されても問題ありません)。
Windowsでは、プログラムを別々に実行する間、キーをメモリにのみ保持する(メモリが仮想でディスクにページングされる可能性があることを無視する)ための最良の方法は何ですか?
考えられる解決策の1つは、キーを受け入れ、サービスのメモリに保持し、要求に応じて返す(または同じことを行う同等の簡単なDDEサーバーを使用する)簡単なWindowsサービスをクライアントで実行したままにすることです。非.netソリューションが推奨されます。
この機能をすでに提供している、通常実行されている標準のWindowsサービスはありますか?
より良いアプローチはありますか?