Brancheneinblicke & Neuigkeiten

Was ist Passwort-Hashing und Salting?

Passwort-Hashing und Salting
252x252_arthur_heydata_882dfef0fd_c07468184b.webp
Arthur
30.01.2023

Worum geht es dabei?

Erfahre mehr über die komplexe Welt der Datensicherheit mit einem klaren Verständnis von zwei entscheidenden Techniken: Passwort-Hashing und Salting: Warum diese Methoden mehr als nur technisches Kauderwelsch sind, sondern wichtige Bausteine für die Sicherung deiner Online-Konten. 

In einer zunehmend vernetzten Welt reicht es nicht mehr aus, Passwörter einfach nur zu speichern oder zu verschlüsseln. Cyberkriminelle entwickeln ständig neue Methoden, um sensible Daten abzugreifen – deshalb braucht es stärkere Schutzmechanismen. Passwort-Hashing und Salting gehören zu den effektivsten Verfahren, um eure Zugangsdaten wirksam vor Missbrauch zu schützen. In diesem Artikel erklären wir euch, wie diese Technologien funktionieren – und warum sie heute zum Standard jeder sicheren IT-Infrastruktur gehören sollten.

Inhaltsverzeichnis:

Was ist Passwort-Hashing?

Beim Passwort Hashing handelt es sich um einen Prozess, bei dem ein Passwort mithilfe einer sogenannten Hashfunktion in eine Zeichenkette fester Länge umgewandelt wird. Diese Zeichenkette – der sogenannte Hashwert – sieht völlig anders aus als das ursprüngliche Passwort und lässt sich (theoretisch) nicht zurückrechnen. Typische Algorithmen dafür sind z. B. bcrypt, scrypt oder Argon2.

Warum ist Passwort Hashing notwendig?

‍1. Schutz bei Datenlecks

Wenn eine Datenbank komprimitiert wird und die Passwörter im Klartext gespeichert sind, kann jeder Angreifer sofort auf die Konten zugreifen. Hashes hingegen sind unlesbar – und durch zusätzliche Sicherheitsmechanismen wie Salting sogar individuell unterschiedlich, selbst bei identischen Passwörtern.

‍2. Einwegfunktion

Hashfunktionen sind nicht umkehrbar – das heißt, selbst der Betreiber der Plattform kann das Originalpasswort nicht rekonstruieren. Das ist ein wichtiges Prinzip des „Zero Knowledge“-Prinzips in der IT-Sicherheit.

‍1. Standart in der IT-Sicherheit

Das Hashing (in Kombination mit Salt und einem sicheren Algorithmus) ist ein anerkannter Best Practice-Standard und wird u. a. in der DSGVO und in Sicherheitsstandards wie ISO 27001 indirekt gefordert 

 

Hashing vs. Verschlüsselung: Der Unterschied erklärt

Hashing und Verschlüsselung werden oft verwechselt, erfüllen aber unterschiedliche Zwecke. Verschlüsselung ist ein reversibler Prozess – das bedeutet, dass ein Passwort oder eine Nachricht mit einem Schlüssel verschlüsselt und später mit dem passenden Schlüssel wieder entschlüsselt werden kann. Das Ziel ist die Vertraulichkeit der Information über eine bestimmte Zeit hinweg.

Hashing dagegen ist nicht umkehrbar. Ein gehashter Wert kann nicht sinnvoll in das ursprüngliche Passwort zurückgewandelt werden. Deshalb eignet sich Hashing ideal zur Verifizierung von Passwörtern: Beim Login wird das eingegebene Passwort erneut gehasht und mit dem gespeicherten Hash verglichen – ohne das Passwort selbst jemals speichern zu müssen.

Kurz:

  • Verschlüsselung = wiederherstellbar (z. B. für Datenübertragung)
  • Hashing = Einweg-Funktion (z. B. für Passwortverifikation)

Eigenschaften sicherer Hashfunktionen

Eine sichere Hashfunktion für Passwörter muss spezifische Anforderungen erfüllen:

  • Langsamkeit (Rechenintensität): Um Brute-Force-Angriffe zu erschweren
  • Salt-Unterstützung: Um Rainbow-Table-Angriffe zu verhindern
  • Resistenz gegen parallele Verarbeitung: Verhindert effiziente GPU- oder ASIC-Angriffe
  • Zukunftssicherheit: Algorithmus sollte aktiv gepflegt und sicherheitsgeprüft sein
  • Speicherhärtung (bei Argon2): Erschwert Angriffe mit dedizierter Hardware

Was ist ein Salt – und wofür wird es gebraucht?

Ein Salt ist eine zufällig generierte Zeichenfolge, die zusätzlich zum Passwort in den Hash einfließt. Dadurch wird sichergestellt, dass auch identische Passwörter unterschiedliche Hashes erzeugen. Ohne Salt könnte ein Angreifer vorberechnete Hash-Wörterbuchtabellen (sogenannte Rainbow Tables) verwenden, um Passwörter sofort zu erkennen. Der Salt macht diese Methode praktisch nutzlos, da der Angreifer für jeden Hash und jeden Salt neu rechnen müsste.

Beispiel:

  • Nutzer A & B verwenden beide „Passwort123“
  • Ohne Salt: gleicher Hash → leicht angreifbar
  • Mit Salt: völlig unterschiedliche Hashes → sicherer

Empfohlene Algorithmen fürs Passwort-Hashing

Für sicheres Passwort-Hashing gelten heute insbesondere folgende Algorithmen als Best Practices:

  • bcrypt: Weit verbreitet, gut getestet, unterstützt Salting und ist konfigurierbar in der Rechenzeit
  • scrypt: Zusätzlich speicherintensiv → erschwert Angriffe mit spezialisierter Hardware
  • Argon2: Gewinner des Password Hashing Competition (PHC), gilt aktuell als modernster Standard (besonders Argon2id)

Diese Algorithmen bieten Schutz gegen moderne Angriffe und können in der Konfiguration an Sicherheitsanforderungen angepasst werden.

Warum MD5 & SHA-1 unsicher sind

MD5 und SHA-1 wurden ursprünglich nicht für Passwortsicherheit, sondern für schnelle Integritätsprüfungen konzipiert. Genau das ist ihr Problem: Sie sind viel zu schnell und damit ideal für Brute-Force- oder Dictionary-Attacken geeignet. Zudem sind beide Algorithmen heute kryptografisch gebrochen – das bedeutet, es gibt reale Methoden, um gezielt Kollisionen zu erzeugen, also zwei verschiedene Eingaben mit identischem Hash. Das macht sie nicht nur unsicher, sondern ist für Passwörter völlig ungeeignet.

So funktioniert die Passwortprüfung mit Hashes

Beim Login läuft die Überprüfung wie folgt ab:

  1. Der Benutzer gibt sein Passwort ein.
  2. Das System entnimmt aus der Datenbank den zugehörigen Salt und Hash.
  3. Es hasht das eingegebene Passwort mit demselben Salt.
  4. Das Ergebnis wird mit dem gespeicherten Hash verglichen.
  5. Stimmen die Werte überein, ist die Authentifizierung erfolgreich.

Das eigentliche Passwort wird dabei nie gespeichert oder direkt verglichen – nur die Hashwerte entscheiden.

Warum Rechenintensität entscheidend ist

Rechenintensität (auch Work Factor genannt) ist ein Sicherheitsmerkmal: Je mehr Rechenzeit ein Hash benötigt, desto schwieriger ist es für Angreifer*innen, Millionen Hashes pro Sekunde auszuprobieren. Moderne Algorithmen wie bcrypt oder Argon2 lassen sich so konfigurieren, dass ein Hashvorgang z. B. 200 Millisekunden dauert. Für legitime Nutzer ist das kein Problem – aber für Angreifer, die Milliarden Passwörter testen wollen, ist es ein massives Hindernis.

Wichtig: Der Work Factor sollte regelmäßig überprüft und ggf. angepasst werden, wenn die Rechenleistung zunimmt.

Risiken durch unsichere Passwortspeicherung

Die größten Risiken sind:

  • Kompletter Identitätsdiebstahl: Wenn Klartextpasswörter geleakt werden, können Accounts direkt übernommen werden.
  • Credential Stuffing: Die gleichen Passwörter werden oft auf mehreren Plattformen verwendet – Angreifer testen sie automatisiert auf anderen Seiten.
  • Image- und Vertrauensverlust: Ein Datenleck mit Klartextpasswörtern kann den Ruf eines Unternehmens langfristig ruinieren.
  • DSGVO-Verstöße und Bußgelder: Fehlender Schutz personenbezogener Daten kann rechtliche Konsequenzen nach sich ziehen.

So stellst du sicher auf modernes Hashing um

Die Umstellung ist technisch anspruchsvoll, aber machbar:

  1. Neue Hashmethode implementieren (z. B. bcrypt statt SHA1)
  2. Bestehende Passwörter zunächst weiter verwenden, aber:
  3. Beim nächsten Login oder Passwort-Reset den neuen Hashalgorithmus anwenden
  4. Optional: alle Nutzer zu Passwortänderung auffordern, um Migration zu beschleunigen
  5. Ggf. Versionierung der Hashes einführen (z. B. Hash mit Prefix: $2y$ bei bcrypt)

Wichtig ist, die Umstellung transparent und sicher zu gestalten – inklusive Tests, Logging und ggf. Benachrichtigung der Nutzer.

Wichtiger Hinweis: Der Inhalt dieses Artikels dient ausschließlich Informationszwecken und stellt keine Rechtsberatung dar. Die hier bereitgestellten Informationen können eine individuelle Rechtsberatung durch (je nach Anwendungsfall) einen Datenschutzbeauftragten oder Rechtsanwalt nicht ersetzen. Wir übernehmen keine Gewähr für die Aktualität, Vollständigkeit und Richtigkeit der bereitgestellten Informationen. Jegliche Handlungen, die auf Grundlage der in diesem Artikel enthaltenen Informationen vorgenommen werden, erfolgen auf eigenes Risiko. Wir empfehlen, bei rechtlichen Fragen oder Problemen stets (je nach Anwendungsfall) einen Datenschutzbeauftragten oder Rechtsanwalt zu konsultieren.