Speichern eigentlich große Firmen wie Googlemail,Gmx,Microsoft,Web.de oder Amazon usw.. Passwörter in der datenbank server?

4 Antworten

Die Passwörter werden gehasht und dann der Hash gespeichert. Deswegen kannst du dein Passwort auch nicht "auslesen lassen" falls du es vergessen hast, sondern musst ein neues angeben.


AmicoFavore 
Beitragsersteller
 23.01.2024, 21:21

Interesant hab von Hash davon gehört.

Theoretisch können Genies das dekodieren und das passwort herausfinden

Wenn es richtig programmiert ist (sicherer Hash-Algorithmus) dann nicht. Hash-Algorithmen sind Einwegfunktionen, die sich nicht umkehren lassen. D.h. beim Prüfen des Passwortes wird auch der Hash gebildet und gegen den gespeicherten vergleichen, aus dem Hash lässt sich das Passwort nicht mehr herstellen.

Gute Hash-Algorithmen wie Argon 2 sind darauf optimiert, Brute-Force Attacken zu verhindern, indem diese einfach aufwendig zu berechnen sind. Gegen Wörterbuchattacken werden Zufallswerte (Salt) benutzt, die zusammen mit dem Passwort gespeichert und mit gehasht werden. Dadurch gibt auch das Gleiche Passwort bei verschiedenen Zufallswerten einen komplett anderen Hash.

oder der Server benutzt keine Codierung und das Passwort wird angezeigt.

Das wäre, zumindest in Europa, unzulässig und könnte für den Anbieter teuer werden (Verstoß gegen DSGVO).

Als ich anfing zu programmieren sah ich mir ein Beginner video an wo am anfang passwörter angezeigt werden in phpmyadmin Datenbanken erst mit einen anderen befehl script konnte man es so einstellen das er das in einen code umwandelt. Java programmierung mit phpmyadmin.

Man kann natürlich rein technisch das Passwort auch im Klartext speichern oder einen kaputten Hash-Algorithmus wie MD5 nutzen. Nur wenn es rauskommt wird es teuer.

Die Seite kenne ich nicht, keine Ahnung, was da schief gegangen ist.


AmicoFavore 
Beitragsersteller
 23.01.2024, 21:22

Ah interessant auch.

Das kommt natürlich drauf an, wie die jeweilige Firma die Passwörter speichert. Ich hab letztens gelesen, dass die Passwörter bei einem Bereich von Sony sogar in Klartext gespeichert wurden, was schon sehr fahrlässig ist.

So weit ich weiß, ist die Reihenfolge von sicher nach unsicher ungefähr so:

  1. Ein Algorithmus, der für Passwörter konzipiert ist, z.B. BCrypt. Der generiert für jedes Passwort ein zufälliges Salt und man kann einstellen, wie oft der Algorithmus seinen generierten Hashwert neu hashen soll, bis er auf ein endgültiges Ergebnis kommt. Ziel davon ist, dass der Server etwa 0,1 Sekunden braucht, um zu prüfen, ob das Passwort stimmt. Dadurch kann ein Angreifer aber eben auch nur 10 Passwörter pro Sekunde probieren und nicht mehrere Millionen, wie bei einfachen Hash-Algorithmen.
  2. Sicherer Hash-Algorithmus (z.B. SHA-256) + konstantes Salt: Hier können PCs halt viele Millionen Passwörter pro Sekunde durchprobieren. Wenn man das Salt rausgefunden hat, sind z.B. 8-stellige Passwörter, die nur aus Zahlen oder Kleinbuchstaben bestehen, innerhalb von ein paar Minuten geknackt. Wenn sie in einer Passwortliste auftauchen, sogar innerhalb von ein paar Sekunden.
  3. Symmetrische Verschlüsselung: Wenn es nicht grade ein Algorithmus ist, bei dem man mit einer "Known-Plaintext-Attack" den Schlüssel berechnen kann, sind die recht sicher. Es gab aber auch schon Angriffe, bei denen Teile des RAMs ausgelesen werden konnten. Wenn man so an den Schlüssel kommt, mit dem die Passwörter verschlüsselt wurden, kann man sie alle auf einen Schlag entschlüsseln.
  4. Sicherer Hash-Algorithmus ohne Salt: Man kann zwar aus dem Hash kein Passwort errechnen, aber es gibt sogenannte "Rainbow-Tables" mit Milliarden von Passwörtern + Hashes, wo man nur nach dem jeweiligen Hash suchen muss. Ist also für die Passwörter mit einem Eintrag in so einer Tabelle in weniger als einer Sekunde geknackt
  5. Unsicherer Hash-Algorithmus (z.B. MD5): Hier lassen sich mittlerweile sogenannte "Kollisionen" berechnen, also man kann Passwörter berechnen, die den gesuchten Hash bilden, auch wenn es vielleicht nicht mal das gesuchte Passwort war.
  6. Klartext: Sollte klar sein, dass das keine gute Idee ist

AmicoFavore 
Beitragsersteller
 23.01.2024, 21:22

Interessant intetessant Microsoft benutzt bestimmt den sichersten Hash den es gibt. Zumindest ein sicheres Hash.

daCypher  24.01.2024, 07:49
@AmicoFavore

Ich hoffe mal, dass die sowas wie BCrypt verwenden. Zumindest in den Schulungen machen die eigentlich immer einen kompetenten Eindruck.

Theoretisch können Genies das dekodieren und das passwort herausfinden oder der Server benutzt keine Codierung und das Passwort wird angezeigt.

Passwörter werden - zumindest bei den seriösen Firmen - als Hash-Wert hinterlegt.
Es gibt keine "1:1-Rückabwicklung" von einem Hashwert zum Passwort.

Dennoch gibt es die Möglichkeit eines Brute-Force-Anngriffs mit/und/oder einer "Wörterbuch-Attacke" bekannter Hash-Werte.

...und jetzt sollte auch klar sein, warum eine 2-Faktor-Auth. keine so blöde Idee darstellt. 😉