Ich entwerfe einen Dienst, der unter anderem vertrauliche Informationen speichert. Um keinen unbefugten Zugriff auf diese Informationen zu gewährleisten, werden sie mit einem Schlüssel verschlüsselt, der von ihrem Kennwort (PBKDF2) abgeleitet ist. Das Passwort wird in einem BCrypt-Hash + Salted-Format in der Datenbank gespeichert. Es wird niemals im Klartext gespeichert.
Die gespeicherten Informationen sind so beschaffen, dass ein sicheres Kennwort erforderlich ist. Einige Websites zwingen ihre Benutzer, Passwörter mit großer Entropie zu erstellen, indem sie strenge Zeichenrichtlinien durchsetzen. Diese komplexen Passwörter können zur Wiederverwendung von Passwörtern auf verschiedenen Websites führen [1]. Dies ist A Bad Thing ™ [2].
Ich möchte lieber, dass meine Benutzer ein Kennwort auswählen, das sowohl sicher ist als auch nicht sehr wahrscheinlich wiederverwendet wird oder bereits in einem anderen, weniger sicheren Webdienst verwendet wird. Aus diesem Grund habe ich darüber nachgedacht, ein XKCD-ähnliches [3] Kennwortschema für meine Benutzer in ihrer Muttersprache zu verwenden.
Dem Benutzer werden 4-5 verschiedene Wörter aus einer großen Wortliste mit mehr als 6 Zeichen angezeigt (keine Wörter mit Sonderzeichen, nur ASCII). Der Passworteingabedialog würde mit 4-5 Feldern anstelle des normalen Einzelfelds formatiert, um das Passphrasenparadigma zu verstärken. Bei der Registrierung kann das Passwort nach Belieben neu generiert werden, um dem Benutzer die Möglichkeit zu geben, eine Passphrase auszuwählen, die aus Wörtern besteht, an die er sich leicht erinnern kann. Der Benutzer kann keine eigenen Wörter eingeben.
Ich weiß aus eigener Erfahrung, dass CreeperHost [4] diese Methode bereits verwendet, allerdings mit einem einzigen Kennwortfeld mit vier verketteten englischen Wörtern.
Meine Fragen lauten wie folgt:
- Wäre diese Methode sicherer / effektiver, als es Benutzern zu ermöglichen, ihre eigenen auszuwählen?
- Hat jemand Erfahrung mit der Implementierung eines ähnlichen Schemas? War es effektiv?
- Ist das Teilen des Kennwortfelds in mehr als ein bestimmtes Feld von Vorteil oder werden zu viele Informationen angezeigt?
Ich suche speziell nach Antworten im Zusammenhang mit der praktischen Anwendung dieser speziellen Methode, falls es welche gibt. Ich bin mit den theoretischen Stärken und Schwächen dieser Methode zur Passwortgenerierung vertraut.
- Das Wirrwarr der Wiederverwendung von Passwörtern - http: //www.jbonneau .com / doc / DBCBW14-NDSS-tangled_web.pdf
- Wiederverwendung von Passwörtern - http://xkcd.com/792/
- Kennwortstärke - http://xkcd.com/936/
- Creeperhost - http://www.creeperhost.net/ ol>