Frage

Meine Web-Anwendung setzt auf Container-Managed-Security und ich frage mich, ob es möglich ist gesalzen Passwörter überhaupt zu benutzen. Soweit ich sagen kann, es ist einfach genug, um verdaute Passwörter in einer Datenbank zu speichern, indem nur ein JDBC oder Datasource Realm konfigurieren, aber es gibt keinen Weg, um ein Salz zu jenen verdauen hinzuzufügen.

Irgendwelche Vorschläge?

Edit: es scheint, ich muss nur etwas mehr denken, bevor Fragen zu stellen; -)

Es ist nur eine Frage der Wahl, die die Digest-Berechnung (Client oder Server) tut und konfigurieren Tomcat entsprechend.

War es hilfreich?

Lösung

Wenn Sie das Erstellen und die Verdaue Speichern Sie können zur gleichen Zeit, um die Salze erstellen und speichern.

Ihre Auth-Tabelle enthalten würde .... pwdDigest varchar (64), - oder int256 wenn Sie eine haben hashSalt int64, ....

je Dann auf dem Auth-Protokoll Sie verwenden entweder Sie die hashSalt an den Client senden, wenn Sie den Benutzernamen für Client-Seite Verschlüsselung oder verwenden Sie es bekommen das Passwort Hash, wenn Sie es in klar erhalten.

Ich bin nicht vertraut mit den Datenbank-Zugangstechnologien über Sie sprechen, so dass ich entschuldige mich, wenn ich den Punkt und stark vereinfacht die Antwort verpasst haben.

Andere Tipps

Tomcat 5.5 und 6.0 unterstützen keine gesalzene Passwörter in JDBCRealms und DataSourceRealms. Es ist ein bekanntes Problem, und die vorgeschlagene Patch scheint gut zu funktionieren, aber es war noch nicht akzeptiert.

Wenn Sie nicht wollen, den Patch installieren Sie es zumindest als Implementierungsbeispiel verwenden können:

Bug 45871 - Unterstützung für gesalzen und verdaut Patches in DataSourceRealm

Passord-basierte Verschlüsselung in JCE verwendet Salz gemäß PKCS # 5. Siehe http: //java.sun .com / j2se / 1.4.2 / docs / guide / Sicherheit / JCE / JCERefGuide.html # PBEEx für ein Beispiel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top