質問

私のWebアプリケーションはコンテナ管理のセキュリティに依存しており、ソルトパスワードを使用できるかどうか疑問に思っています。 JDBCまたはDataSourceレルムを設定するだけで、ダイジェストされたパスワードをデータベースに保存するのは簡単ですが、これらのダイジェストにソルトを追加する方法はありません。

提案はありますか

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

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

役に立ちましたか?

解決

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

あなたの認証テーブルには .... pwdDigest varchar(64)、-またはint256(ある場合) hashSalt int64、 ....

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

あなたが話しているデータベースアクセステクノロジーに慣れていないので、ポイントを逃し、答えを単純化しすぎてしまったことをおIびします。

他のヒント

Tomcat 5.5および6.0は、JDBCRealmsおよびDataSourceRealmsでソルトパスワードをサポートしていません。これは既知のバグであり、推奨されるパッチは正常に機能するようですが、まだ受け入れられていません。

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

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

JCEでのPassordベースの暗号化では、PKCS#5に従ってsaltが使用されます。 http://java.sunを参照してください。 .com / j2se / 1.4.2 / docs / guide / security / jce / JCERefGuide.html#PBEEx を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top