Passwörter
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:
| Benutzer | Passwort |
|---|---|
| Peter | Passwort123 |
| Markus | 12345 |
| Susanne | Pa$$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:
| System | Beispiel |
|---|---|
| Windows | SAM, 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:
- Angreifer hört eine Anmeldung mit.
- Angreifer sendet dieselbe Nachricht später erneut.
- Der Server akzeptiert sie möglicherweise.
Das nennt man Replay-Angriff.
Challenge-Response
Challenge-Response-Verfahren vermeiden wiederverwendbare Login-Nachrichten.
Grundidee:
- Server sendet eine zufällige Challenge.
- Client berechnet eine Antwort mit einem Geheimnis.
- Server prüft die Antwort.
- 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