Schützt 2 Faktor vor Passwort hash Diebstahl

Moe.Joe

Lt. Junior Grade
Registriert
Dez. 2011
Beiträge
265
Heyho zusammen,

ich habe mal eine Frage rein aus Interesse.
Beispiel Website Login:
Vereinfacht gesagt wird heutzutage im idealfall das Passwort auf dem Server nicht mehr im Klartext gespeichert, sondern als Hash Wert irgendwo auf der Datenbank. Jetzt kommt ein böser Bub und stiehlt die Datenbank mit den Hashen.
Aus den Hashes kann der böse Bub ja mit viel Rechenpower das Passwort zurückrechnen, oder den Hash zumindest dafür missbrauchen, sich in der Website einzuloggen.
Soweit so gut. Meine Frage jedoch ist, wenn ich eine zwei Faktor Authentifizierung habe (Beispielsweise Push Nachricht aufs Handy oder RSA key (Yubikey)), schützt mich das dann davor, dass er sich zumindest auf der Website einloggen kann?
Oder wird aus meinem Passwort und dem Yubikey einfach ein Hash errechnet und dieser wird dann in der Datenbank abgelegt, sodass quasi Passwort+2Faktor = HashAufDerDatenbank!?
Gibt es dahinter noch einen anderen Mechanismus, sodass er zwar mein Passwort hat (bzw PasswortHash), er allerdings nichts damit anfangen kann...
Kennt jemand die genauere Funktionsweise bzw. weiß wo diese Problematik in grundzügen beschrieben ist?

Danke euch :-)

Viele Grüße
Moejoe
 
Wenn für den Hash Bcrypt, Scrypt oder PBKDF2 genommen wird, bekommst du das aktuell auch eher nicht mit roher Rechenpower zurück.
Selbst bei unsalted SHA-2 bekommst du beim reinen zurückrechnen schon Probleme.

Und ja, genau dafür ist 2fx da. Damit du ZWEI Faktoren hast. Und nicht nur einen kombinierten Hash. Benutzt wird für den zweiten Faktor zum Beispiel ganz gerne TOTP. Wenn der Secret Key dafür natürlich auch geklaut wird, dann hast du keine Möglichkeit zu unterscheiden ob die Anfrage legitim ist.

Push aufs Handy ist da etwas besser, dann muss ich noch irgendwie deine Telefonnummer kapern.
 
Wenn das Passwort und der 2. Faktor zusammen gespeichert würden bzw. in einem Hash, wäre das sehr dämlich. Genau wissen tun das leider häufig nur die Webseitebetreiber und da weiß man nicht immer, wie doll die sich um Sicherheit kümmern...

Lg, Franz
 
Zunächst einmal klingt der zweite Faktor natürlich so, als würde er genau das verhindern. Der potentielle Bösewicht klaut die Hashes aus der Datenbank und wir nehmen jetzt einfach mal an, dass er es schafft daraus das ursprüngliche Passwort abzuleiten (mit entsprechend modernen Verfahren auf Betreiberseite und starken Passwörtern auf Nutzerseite kann man diesen Schritt realistisch unmöglich machen).
Dann hat er nur das Passwort und kann sich damit allein nicht einloggen.

Bei 2-Factor Auth kommt es jetzt darauf an, wie diese realisiert wurde. Wird eine SMS ans Handy gesendet, dann hat der Angreifer keine Chance, ohne auch dieses zu übernehmen, außer er hat nicht nur lesenden sondern auch schreibenden Zugriff auf die Datenbank. In dem Fall könnte er möglicherweise die hinterlegte Telefonnummer austauschen.
Wird der zweite Faktor durch eine App oder einen Hardware Token realisiert, dann teilen sich diese einen geheimen Startwert, von dem sie den zeitabhängigen PIN alle paar Sekunden neu ableiten. Beim Google Authenticator wird dieser Wert z.B. über das Scannen eines QR Codes übertragen.
Damit der Server prüfen kann, ob der PIN des Anwenders korrekt ist, muss dieser natürlich auch den geheimen Startwert speichern. Wenn das in der gleichen Datenbank passiert, in der auch die Passworthashes enthalten sind, dann hilft der zweite Faktor hier also nicht, denn der Angreifer kann sich selbst PINs generieren.

Grundsätzlich sind 2-Factor Authentifizierungen nicht für so einen Fall entwickelt worden, sondern um vor Keyloggern, verseuchten Client-PCs oder neugierigen Blicken über die Schulter zu schützen.
 
okay soweit hab ichs verstanden, danke :-)
Falls noch jemand etwas hinzuzufügen hat, darf er das gerne machen.
 
Zurück
Oben