2

JavaWebアプリケーションにはTomcatを使用します。WEB-INFフォルダの下にプロパティファイルがあります。

AES暗号化は、キーの生成とパスワードの暗号化に使用されます。暗号化されたパスワードはプロパティファイルに保存されます。暗号化キーはどこに保存する必要がありますか?キーと暗号化されたパスワードを同じプロパティファイルに入れるのは良い考えですか?または、キーを「webapps」ディレクトリの外部に保存する必要がありますか?

4

3 に答える 3

7

Windowsでは、レジストリとDPAPIを使用できます。レジストリを使用するのは面倒ですが、絶対的なセキュリティを確保し、オペレーティングシステムを活用して貴重なデータを保存する場合は、必要な苦痛が伴います。

他のOSXでは、キーチェーンを利用できます。

Linuxでは、ファイルのパーミッションを使用してファイルを保護します。

あなたが提案していること:

キーと暗号化されたパスワードを同じプロパティファイルに入れるのは良い考えですか?

お金を金庫に保管し、その組み合わせを金庫に付箋に書いて、メモを金庫に貼り付けるようなものです。あなたがしたことは泥棒に不便をかけることだけですが、意味のあるレベルのセキュリティを追加することはできません。

プロパティファイルが暗号化キーを格納するのに十分安全である場合は、パスワードをプレーンテキストで保存できます。

于 2009-09-04T00:33:58.757 に答える
2

JavaAPIのKeyStoreクラスを検討しましたか。これは、SunのJava暗号化アーキテクチャの一部です。

于 2009-09-04T06:47:31.727 に答える
0

私は以下の提案があります、

  1. キーをWARに保存しないでください。各インストールのキーを保護する責任は私たちにあります。本番環境では、キーファイルをスマートカードに保存することで実際に保護できます。

  2. 定期的に回転できるように、キーがバージョン管理されていることを確認してください。

  3. 生のキーマテリアルの代わりに、パスフレーズを保存してキーを生成します。これにより、新しいキーを簡単に追加できます(アルゴリズムやキーサイズなどを気にする必要はありません)。また、いくつかのあいまいさを追加します。

于 2009-09-04T04:16:50.707 に答える