Seite 1 von 1

(Wie) Werden Passwörter sicher gespeichert?

Verfasst: 21.05.2019 15:01:50
von RobertDebiannutzer
- Wie werden Passwörter eigentlich sicher auf der Festplatte gespeichert ("sicher" selbstverständlich im Sinne von "ausreichend sicher")?
Hintergrund: Ich schreibe gerade einen kleinen IMAP-Mail-Client in Perl (mit Debianlibmail-imapclient-perl) und würde gerne verhindern, jedesmal das/die Mailbox-Passwörter einzugeben. Also möchte ich die Passwörter (wie es Thunderbird auch macht) auf meiner Festplatte speichern. Die soll natürlich nicht in Klartext geschehen. Ich habe mir überlegt, das Perl-eigene crypt() (https://perldoc.perl.org/functions/crypt.html) zu nutzen. Das Salz könnte dabei ein kleines Master-Passwort sein, welches ich bei Programmstart eingeben würde. Was meint ihr?

- In diesem Zusammenhang interessiert mich: Werden Passwörter üblicherweise eigentlich sicher auf der Festplatte gespeichert?
Wenn ich z.B. bei Thunderbird kein Master-Passwort angebe, dann kann ja die Sicherheit nicht sehr hoch sein, oder? Denn dann müsste man ja nur im Thunderbird-Quellcode nachsehen, welches Verfahren zum Speichern der Passwörter auf der Festplatte verwendet wird, und dieses dann rückwärts anwenden. Ansonsten werden lokale Computer-Passwörter ja immer in /etc/shadow gespeichert, was laut manpage "shadow" mittels der C-eigenen crypt()-Funktion geschieht - diese Datei ist dann allerdings auch nur für root lesbar. Bei Mail-Providern stelle ich mir vor, dass das Mailbox-Passwort wahrscheinlich gar nicht auf deren Servern gespeichert wird, sondern nur als "Salz" für die Verschlüsselung der ganzen Mailbox dient?

Würde mich freuen, wenn mir jemand was dazu sagen möchte!

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 21.05.2019 15:35:06
von MSfree
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
21.05.2019 15:01:50
Das Salz könnte dabei ein kleines Master-Passwort sein, welches ich bei Programmstart eingeben würde. Was meint ihr?
Das Salz ist dafür nicht gedacht. Als Masterpaßwort ist es jedenfalls nicht geeignet.
- In diesem Zusammenhang interessiert mich: Werden Passwörter üblicherweise eigentlich sicher auf der Festplatte gespeichert?
Jein.

Programme, wie Browser, die ohne Masterpaßwort Anmeldedaten (verschlüsselt) speichern, sind keine sicheren Paßwortspeicher. Wie man Paßörter zurückrechnet, hast du ja selbst schon erkannt.

Die Logindaten unter Linux stehen zwar in der Datei /etc/shadow und sind nur root-lesbar, das ist jedoch nicht der Grund, warum hier ein hoher Sicherheitsstandard herrscht. Die Paßwörter hier sind nicht rechnerisch entschlüsselbar, sondern nur mit roher Gewalt. Sie müssen auch gar nicht entschlüsselbar sein, denn beim Login wird das vom Nutzer getippte Paßwort verschlüsselt und mit dem verschlüsselten Paßwort aus /ect/shadow verglichen.

Bei einem Client, der sein Paßwort im Klartext an den Server übermitteln muß, damit dieser das übertragene Paßwort verschlüsseln kann und mit /etc/shadow vergleichen kann, muß das Paßwort beim Client in einer Datei symmetrisch verschlüsselt werden. Und das sollte man wirklich nur mit einem sicheren Masterpaßwort machen.

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 21.05.2019 16:23:27
von whisper
Lies mal hier: https://www.datenschutzbeauftragter-inf ... -erklaert/
und hier
https://de.wikipedia.org/wiki/Hashfunktion
Nach dem Verdauen geht es hier dann endlich zu dem, was du wissen möchtest.
https://de.wikipedia.org/wiki/Kryptogra ... shfunktion

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 21.05.2019 16:35:44
von uname
@whisper
Und nachdem er alles gelesen hat wird er feststellen, dass es ihm nichts geholfen hat. Das Problem ist, dass sein IMAP-Server bzw. genauer der IMAP-Client das Passwort des Benutzer im Original benötigt, um es dem IMAP-Server Im Original bereitzustellen. Das ganze Hashen bringt somit auf dem Client herzlich wenig.

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 21.05.2019 16:40:34
von schorsch_76
Für Passwortspeicher bzw. Passwort Hashes gibt es spezielle Algorithmen wie bcrypt [1] welche extra so entwickelt worden sind, dass sie nicht schnell per Brute/Force gerechnet werden können.

[1] https://de.wikipedia.org/wiki/Bcrypt

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 25.05.2019 12:24:53
von RobertDebiannutzer
Sorry, dass ich mich jetzt erst melde...
Also brauche ich doch ein richtiges Master-Passwort und AES. Denn wie schon von @MSfree und @uname gesagt, muss ich das Passwort ja unverschlüsselt an den IMAP-Server übermitteln (wenigstens kann ich das über SSL machen, ansonsten würde ich mich schon fragen, was man sich bei dieser Konstruktion gedacht hat).

Re: (Wie) Werden Passwörter sicher gespeichert?

Verfasst: 25.05.2019 14:38:32
von whisper
uname hat geschrieben: ↑ zum Beitrag ↑
21.05.2019 16:35:44
@whisper
Und nachdem er alles gelesen hat wird er feststellen, dass es ihm nichts geholfen hat. Das Problem ist, dass sein IMAP-Server bzw. genauer der IMAP-Client das Passwort des Benutzer im Original benötigt, um es dem IMAP-Server Im Original bereitzustellen. Das ganze Hashen bringt somit auf dem Client herzlich wenig.
Ja, Imap habe ich übersehen. Hast Recht