Frage

Als erstes ist meine Frage nicht über Passwort-Hashing, aber Passwort-Verschlüsselung. Ich baue eine Desktop-Anwendung, die den Benutzer auf einen Dritten Service authentifizieren muss. Um den Login-Prozess zu beschleunigen, ich möchte dem Benutzer die Möglichkeit geben, seine Anmeldeinformationen zu speichern. Da ich das Passwort brauchen, um ihn in den Dienst zu authentifizieren, ist es nicht gehasht werden kann.

Ich dachte an das PyCrypto Modul und seine Blowfish oder AES-Implementierung mit den Anmeldeinformationen zu verschlüsseln. Das Problem ist, wo der Schlüssel zu speichern. Ich weiß, dass einige Anwendungen den Schlüssel speichern, direkt im Quellcode, aber da ich eine Open-Source-Anwendung bin Codierung, dies scheint nicht wie eine sehr effiziente Lösung.

Also ich frage mich, wie, auf Linux, würden Sie benutzerspezifische oder systemspezifischen Schlüssel implementieren, um Passwort-Speichersicherheit zu erhöhen.

Wenn Sie eine bessere Lösung für dieses Problem haben als die Verwendung von PyCrypto und System- / benutzerspezifischen Schlüssel, zögern Sie nicht, es zu teilen. Wie ich schon sagte, ist Hashing keine Lösung und ich weiß, Passwort-Verschlüsselung anfällig ist, aber ich möchte die Möglichkeit für den Benutzer geben. Verwenden von Gnome-Keyring ist keine Option, entweder, weil eine Menge Leute (mich eingeschlossen) verwenden Sie es nicht.

War es hilfreich?

Lösung

die Passwörter verschlüsseln wirklich nicht kaufen Sie eine ganze Menge mehr Schutz als in Klartext zu speichern. Wer fähig ist, die Datenbank wahrscheinlich auch vollen Zugriff auf Ihre Webserver Maschine Zugriff hat.

Wenn jedoch der Verlust an Sicherheit akzeptabel ist, und Sie das wirklich brauchen, würde ich eine neue Schlüsseldatei (aus einer guten Quelle für Zufallsdaten) als Teil des Installationsprozesses generieren und diese verwenden. Offensichtlich speichern Sie diese Taste so sicher wie möglich (gesperrte Dateiberechtigungen usw.). einen Schlüssel in der Quelle eingebettet zu verwenden ist keine gute Idee -. es gibt keinen Grund, warum separate Installationen sollten die gleichen Tasten

Andere Tipps

Versuchen Sie PAM verwenden. Sie können ein Modul machen, die den Schlüssel automatisch un-verschlüsselt, wenn sich der Benutzer anmeldet. Diese intern ist, wie GNOME-Keyring funktioniert (wenn möglich). Sie können auch PAM-Module in Python mit pam_python schreiben.

Password Safe wird von Bruce Schneier und Open Source entwickelt. Es ist für Windows, aber Sie sollten in der Lage sein zu sehen, was sie tun und möglicherweise es wieder verwenden.

http://www.schneier.com/passsafe.html

http://passwordsafe.sourceforge.net/

Lesen Sie diese: Wenn Sie AES in Ihren Code eingeben, werden Sie es falsch zu machen.

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