2

私の Web アプリケーションはコンテナ管理のセキュリティに依存しています。私が知る限り、JDBC または DataSource Realm を構成するだけでダイジェストされたパスワードをデータベースに保存するのは簡単ですが、それらのダイジェストにソルトを追加する方法はありません。

助言がありますか?

編集:質問する前にもう少し考える必要があるようです;-)

誰がダイジェスト計算を行うか (クライアントまたはサーバー) を選択し、それに応じて Tomcat を構成するだけです。

4

3 に答える 3

3

Tomcat 5.5 および 6.0 は、JDBCRealms および DataSourceRealms でソルト化されたパスワードをサポートしていません。これは既知のバグであり、提案されたパッチは問題なく動作するようですが、まだ受け入れられていません。

パッチを適用したくない場合は、少なくとも実装例として使用できます。

バグ 45871 - DataSourceRealm でのソルトおよびダイジェスト パッチのサポート

于 2008-11-13T20:47:59.867 に答える
3

ダイジェストを作成して保存する場合は、同時にソルトを作成して保存できます。

認証テーブルには .... pwdDigest varchar(64), -- または、1 つの hashSalt int64 がある場合は int256 が含まれます。

次に、使用している認証プロトコルに応じて、クライアント側の暗号化のユーザー名を取得するときに hashSalt をクライアントに送信するか、パスワードをクリアで受信した場合はそれを使用してパスワードをハッシュします。

私はあなたが話しているデータベース アクセス テクノロジに精通していないので、ポイントを逃して答えを単純化しすぎていたら申し訳ありません。

于 2008-10-16T20:23:11.647 に答える
0

JCE のパスワードベースの暗号化は、PKCS#5 に従ってソルトを使用します。例については、 http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#PBEExを参照してください。

于 2008-10-16T17:35:16.213 に答える