WinAPIにSecureZeroMemory()関数があります。この関数は、バッファが不要になったときにパスワード/暗号化キー/同様のものを格納するために使用されるメモリを消去するように設計されています。 ZeroMemory()との違いは、呼び出しがコンパイラによって最適化されない点です。SecureZeroMemory()を使用すると、アプリケーションをより安全にするのに本当に役立ちますか?
機密データを保存するために使用するメモリを消去することは本当に必要ですか?実際にアプリケーションをより安全にしますか?
データがスワップファイルまたはハイバネーションファイルに書き込まれ、他のプロセスがプログラムのメモリを読み取る可能性があることを理解しています。しかし、データがまだ使用されているときにも同様のことが起こる可能性があります。 を使用しているのはなぜですかよりもちょうどを使用してください。を使用しますか?
私は理解していますが、パスワードを使用中にswapfile/hibernatedにコピーすることも可能です。違いは何ですか?それをメモリに保存する期間ですか? – sharptooth
はい。あなたは攻撃面を減らしています。覚えておいてください:セキュリティはすべて、バーを上げることです。バーを上げるほど良いです。 –