2016-06-29 14 views
0

Ich implementiere gerade einen WebDAV FileBrowser (Backend basiert auf FlySystem) auf einer Webseite. Alles funktioniert, aber ich bin mir nicht ganz sicher, wie ich die Anmeldeinformationen der Benutzer in der Datenbank speichern soll (das Ziel ist, dass sich der Benutzer nur auf dem Portal anmelden muss) (basierend auf OpenID Connect, das von unserer WebDAV-Lösung nicht unterstützt wird))).Sicheres Speichern von WebDAV-Anmeldeinformationen in einer Datenbank

Das Speichern im Klartext ist offensichtlich keine Lösung und speichert sie als MD5-Hash, und die Digest-Authentifizierung funktioniert aufgrund der Nonce nicht.

Irgendwelche Ideen?

Antwort

0

Sie können und sollten den a1md5-Faktor aus der Digest-Spezifikation speichern. Dies ist eine sehr sichere Form des Hashing und ist kompatibel mit Digest Auth.

für Java-Code, der diese Milton webdav ‚s DigestGenerator sieht, wo Sie die encodePasswordInA1Format Methode verwenden würden:

public String encodePasswordInA1Format(String username, String realm, String password) { 
    String a1 = username + ":" + realm + ":" + password; 
    String a1Md5 = DigestUtils.md5Hex(a1); 

    return a1Md5; 
} 

https://github.com/miltonio/milton2/blob/master/milton-server-ce/src/main/java/io/milton/http/http11/auth/DigestGenerator.java

+0

Und BTW, einige Sicherheitstypen sind sniffy über MD5, weil seine anfällig für Angreifer finden Kollisionen. Obwohl dies zutrifft, handelt es sich nicht um eine Schwachstelle des MD5-Passwort-Hashing, da es einem Angreifer nicht hilft, das tatsächliche Passwort zu finden, wenn er Zugriff auf den Hash erhält. – brad