Java KeyStoreパスワードを保存するにはどうすればよいですか?
-
27-09-2019 - |
質問
Webアプリケーションで、JavaKeyStoreに格納されている秘密鍵にアクセスします。KeyStoreのパスワードと秘密鍵を保存するための最良の/推奨される方法を知りたいのですが。
プロパティファイルの使用を検討しましたが、実稼働環境での使用にはあまり安全ではないようです(パスワードをプレーンテキストファイルに保存する)。また、パスワードをコードにハードコーディングすることは、私が喜んで受け入れるオプションではありません。
ありがとうございます。
解決
セキュリティを強化するためにパスワードをハッシュするだけで、プロパティファイルを使用できます。これにより、パスワードをプレーンテキストで保持する必要があるという問題が回避されます。次に、MD5またはSHA1パスワードを使用して、個人的な選択でハッシュすることができます。
他のヒント
これはトリッキーなブートストラップの問題です。いくつかのオプション:
-
アプリでユーザーにキーストアのロックを解除するように促します(あまり友好的ではありませんが、可能です)
- パスワードを所有者の読み取り専用ファイル(0400)に保存し、それを使用してキーストアのロックを解除します。攻撃者はファイルを読み取るためにサーバーに侵入する必要があります。これは最も広く使用されている手法のようです
- HSMを使用する
- Hashicorp Vaultのようなものを使用します(ただし、ブートストラップの問題もあります)。
所属していません StackOverflow