Krypto

Passwörter

Passwortspeicherung, Hashfunktionen, Salting, Rainbow Tables, Passwortdateien, Challenge-Response und Mehrfaktor-Authentifizierung.

Passwörter

Passwörter sind eines der häufigsten Authentifizierungsverfahren. Gleichzeitig sind sie eine der häufigsten Schwachstellen.

Ein gutes Passwortsystem speichert Passwörter nicht im Klartext und schützt auch dann noch möglichst gut, wenn eine Datenbank gestohlen wird.

Klartext ist gefährlich

Ein schlechtes System speichert Passwörter so:

BenutzerPasswort
PeterPasswort123
Markus12345
SusannePa$$w0rt

Wenn diese Datei gestohlen wird, sind alle Passwörter sofort bekannt.

Hashing

Besser ist es, nicht das Passwort selbst zu speichern, sondern einen Hashwert.

h("Passwort123") = fe6fa981...

Hashfunktionen sind Einwegfunktionen. Aus dem Hashwert soll das ursprüngliche Passwort praktisch nicht berechenbar sein.

Trotzdem ist reines Hashing nicht genug.

Problem: gleiche Passwörter, gleiche Hashes

Wenn zwei Personen dasselbe Passwort verwenden, entsteht bei derselben Hashfunktion derselbe Hashwert.

Das verrät:

  • welche Personen dasselbe Passwort nutzen
  • ob ein bekanntes Passwort verwendet wurde
  • ob vorberechnete Tabellen passen könnten

Salting

Ein Salt ist ein zusätzlicher zufälliger Wert, der beim Hashen mitverwendet wird.

Statt:

hash(passwort)

verwendet man:

hash(salt + passwort)

Der Salt muss nicht geheim sein. Er sorgt dafür, dass gleiche Passwörter unterschiedliche Hashwerte bekommen.

Rainbow Tables

Rainbow Tables sind vorberechnete Tabellen, mit denen Hashwerte schneller auf mögliche Passwörter zurückgeführt werden können.

Salting hilft dagegen, weil für jeden Salt neue Tabellen nötig wären. Dadurch wird der Angriff deutlich unpraktischer.

Data Breaches

Ein Datenleck ist auch dann gefährlich, wenn Passwörter gehasht und gesalzen wurden.

Gründe:

  • schwache Passwörter können trotzdem erraten werden
  • Hashes können offline angegriffen werden
  • schnelle Hashfunktionen sind für Passwortspeicherung ungeeignet
  • wiederverwendete Passwörter gefährden andere Konten

Deshalb sind langsame, dafür ausgelegte Passwort-Hashverfahren wichtig.

Passwortdateien

Die Folien nennen typische Speicherorte:

SystemBeispiel
WindowsSAM, Security Account Manager
Linux/etc/shadow

Diese Dateien enthalten normalerweise keine Klartextpasswörter, sondern Hashwerte und Zusatzinformationen.

Weak Authentication und Replay

Bei schwacher Authentifizierung werden Nachrichten immer gleich oder wiederverwendbar übertragen.

Problem:

  1. Angreifer hört eine Anmeldung mit.
  2. Angreifer sendet dieselbe Nachricht später erneut.
  3. Der Server akzeptiert sie möglicherweise.

Das nennt man Replay-Angriff.

Challenge-Response

Challenge-Response-Verfahren vermeiden wiederverwendbare Login-Nachrichten.

Grundidee:

  1. Server sendet eine zufällige Challenge.
  2. Client berechnet eine Antwort mit einem Geheimnis.
  3. Server prüft die Antwort.
  4. Die Antwort ist nur für diese Challenge gültig.

Beispiele in den Folien sind HMAC und NTLMv2.

Gute Passwörter

Ein gutes Passwort sollte:

  • lang sein
  • nicht erratbar sein
  • nicht wiederverwendet werden
  • nicht aus persönlichen Standarddaten bestehen
  • idealerweise in einem Passwortmanager gespeichert werden

Passphrasen können praktisch sein, wenn sie lang genug und nicht zu offensichtlich sind.

Mehrfaktor-Authentifizierung

Mehrfaktor-Authentifizierung ergänzt das Passwort um weitere Faktoren.

Mögliche Faktoren:

  • Besitz: Smartphone, Hardware-Token
  • Wissen: PIN, TAN
  • Biometrie: Fingerabdruck, Gesichtserkennung

MFA ist wichtig, weil ein gestohlenes Passwort allein dann nicht mehr automatisch reicht.

Merksatz

Passwörter sind nie perfekt. Deshalb müssen sie sicher gespeichert, nicht wiederverwendet und durch weitere Schutzmaßnahmen ergänzt werden.

Zuletzt aktualisiert: 6. Juni 2026