Überspringen und zum Hauptinhalt gehen

Was versteht man unter Passwort-Hashing?

  |  W. Perry Wortman

Vor einigen Jahren sorgten Tech-Giganten wie Facebook und Google für Schlagzeilen, indem sie gestanden, Passwörter im Klartext zu speichern. Daher kann jeder, der Zugriff auf ihre Datenbank hat, diese Klartext-Passwörter leicht einsehen, was sensible Daten gefährdet.

Viele Unternehmen verwenden Passwort-Hashing, um Passwörter sicher zu speichern und damit diese Bedenken zu erfüllen und die Sicherheit zu erhöhen. In diesem Blogbeitrag gehen wir darauf ein, was Passwort-Hashing ist, wie Entwickler Passwörter hashen, welche Algorithmen sie verwenden und welche Grenzen das Verfahren hat.

Möchten Sie mehr darüber erfahren, wie Sie den Passwort-Manager von Dashlane zu Hause oder bei der Arbeit verwenden können?

Sehen Sie sich unsere privaten Passwort-Manager-Tarife an oder legen Sie los mit einer kostenlosen Business-Testversion.

Was versteht man unter Passwort-Hashing?

Beim Passwort-Hashing werden Passwörter mithilfe spezieller Algorithmen in eine alphanumerische Zeichenfolge umgewandelt.

Ihr Benutzername und Ihr Passwort werden oft Hashing unterzogen, wenn Sie sich für ein neues Konto auf einer Website oder Anwendung anmelden. Anstatt das Passwort als Klartext zu speichern, wandelt ein mathematischer Algorithmus Ihr Passwort in einen einzigartigen Code um.

Eine grafische Darstellung des Passwort-Hashings. Links wird das Passwort des Benutzers angezeigt. In der Mitte wird die Argon2-Hash-Funktion angezeigt. Auf der rechten Seite wurde das Passwort des Benutzers in einen einzigartigen Code umgewandelt.

Wie unterscheidet sich Hashing von Verschlüsselung?

Auf den ersten Blick mögen Passwort-Hashing und Verschlüsselung ziemlich ähnlich erscheinen. In beiden Fällen werden Daten in einen komplexen Code umgewandelt, um sie vor Hackern zu schützen. Es gibt jedoch einige entscheidende Unterschiede zwischen den beiden.

Verschlüsselung ist eine Zwei-Wege-Straße

Durch das Verschlüsseln von Passwörtern wird eine zufällige alphanumerische Zeichenfolge erstellt, aber es gibt einen Haken. Verschlüsselung ist eine Zwei-Wege-Funktion, die eine Entschlüsselung oder Dekodierung verschlüsselter Werte zurück in ihre ursprüngliche Klartextform ermöglicht.

Die Verschlüsselung ist reversibel, was bedeutet, dass der Verschlüsselungsschlüssel die Passwörter wieder in Klartext entschlüsseln kann. Wenn also Hacker Ihre Datenbank verletzen oder ein böswilliger Mitarbeiter mit privilegiertem Zugriff die Schlüssel erhält, werden Ihre verschlüsselten Passwörter anfällig.

Hashing ist nicht reversibel

Passwort-Hashing ist eine Einwegfunktion. Sie können den Prozess nicht rückgängig machen und das ursprüngliche Passwort aus seinem Hash-Formular abrufen oder darauf zurückverfolgen.

Hashing ist irreversibel und stellt sicher, dass, selbst wenn jemand Zugriff auf die gehashten Passwörter erhält, er/sie nicht in der Lage ist, sie in die ursprünglichen Passwörter zurückzuführen.

Datenschutz vs. Verifizierung der Datenintegration

Verschlüsselung spielt eine entscheidende Rolle beim Datenschutz. Sie konvertiert Daten mit einem Verschlüsselungsschlüssel in ein unlesbares Format, um sicherzustellen, dass nur autorisierte Personen mit dem entsprechenden Schlüssel die Daten entschlüsseln und darauf zugreifen können.

Hashing wird hauptsächlich bei der Verifizierung der Datenintegrität verwendet. Das gehashte Passwort dient als einzigartiger digitaler Fingerabdruck für die Daten, sodass die Datenintegrität verifiziert werden kann. Alle Änderungen oder Manipulationen können erkannt werden, indem der Hash-Wert der empfangenen Daten mit dem ursprünglich generierten Hash-Wert verglichen wird.

Wie funktioniert Passwort-Hashing?

Wenn ein Benutzer ein Passwort festlegt, verwendet eine Passwort-Hashing-Anwendung einen Hashing-Algorithmus, um eine einzigartige Zeichenfolge zu generieren und in der Datenbank zu speichern. Die Größe dieser Zeichenfolge wird in „Bits“ (kurz für binäre Ziffern) gemessen, was die kleinste Dateneinheit ist, die ein Computer verarbeiten und speichern kann.

Wenn der Benutzer versucht, sich anzumelden, wendet die Anwendung denselben Hashing-Algorithmus auf das eingegebene Passwort an und vergleicht die resultierende Zeichenfolge mit dem in der Datenbank gespeicherten Wert, um den Benutzer zu authentifizieren.

Sehen wir uns das Ganze anhand eines Beispiels an.

Wenn Sie das Passwort „hAsh! nGisC00L“ einrichten und es einem MD5 Hashing-Algorithmus unterziehen, wird der Hash „5d640ca634edfaa17813cab1492208f2“ erzeugt, der nicht dem ursprünglichen Passwort ähnelt.

Die geringste Änderung am Passwort wird auch das gehashte Passwort vollständig ändern. Wenn Sie beispielsweise das ‚!‘ in ein ‚i‘ ändern und das geänderte Passwort erneut über die Hashing-Anwendung ausführen, könnte der Hash „1c70088b4b9c650d49fd3ee04349dfb9“ erzeugt werden, der sich vollständig vom ersten gehashten Wert unterscheidet.

Was bedeutet ein Passwort oder einen Hash mit einem Salt zu versehen?

Da Cyberkriminelle mit fortschrittlichen Tools kreativer werden, reicht Hashing allein nicht aus, um Ihre Passwörter zu schützen. Sie können Ihre Passwörter mit einem Salt versehen, bevor Sie sie für einen besseren Schutz hashen.

Während es wie ein Rezept für Hash Browns klingen mag, bezieht sich der Begriff „einem Hash ein Salt hinzufügen“ in der Kryptografie auf das Hinzufügen einer zufälligen und einzigartigen Zeichenfolge zum ursprünglichen Passwort, bevor es gehasht wird. Diese zusätzlichen Zeichenfolgen, die dem ursprünglichen Passwort hinzugefügt wurden (Salts), tragen dazu bei, die Passwortkomplexität zu erhöhen, ohne den Komfort der Benutzer zu beeinträchtigen.

Eine grafische Darstellung des Vorgangs, ein Passwort mit einem Salt zu versehen. Links wird das Passwort des Benutzers als „Dash“ und nach dem Hinzufügen des Salt als „Dashx6Rf2“ angezeigt. Anschließend wandelt der Hashing-Algorithmus das mit einem Salt versehene Passwort in einen einzigartigen Code um.

Durch das Hinzufügen eines Salt wird nicht nur die Komplexität von Passwort-Hashes verbessert, sondern auch das Problem doppelter Passwörter gelöst. Die Verwendung einzigartiger Salze für jedes Passwort stellt sicher, dass sich, selbst wenn zwei Benutzer identische Passwörter haben, ihre gehashten Versionen aufgrund der einzigartigen Salts unterscheiden werden. Diese Praxis macht es für Angreifer schwieriger, mehrere Passwörter gleichzeitig zu knacken. 

Gängige Hash-Algorithmen

Wie bereits erwähnt, wird die Methode des Passwort-Hashings mithilfe mathematischer Algorithmen durchgeführt. Einige der gängigsten Hash-Algorithmen umfassen:

Argon2

Argon2 ist eine fortschrittliche und sichere Hash-Funktion, die in Kryptografie und Passwort-Hashing verwendet wird. Sie ist so konzipiert, dass sie verschiedenen Angriffen standhält und einen starken Schutz für die sichere Speicherung von Passwörtern bietet. Durch die Nutzung einer Kombination aus Arbeitsspeicher und Rechenleistung macht Argon2 es für Angreifer deutlich schwieriger, gehashte Passwörter zu knacken. Seit seinem Sieg beim Passwort-Hashing-Wettbewerb im Juli 2015 hat sich Argon2 als erstklassiger Algorithmus für Passwortverschlüsselung etabliert und bietet robuste Sicherheit für gespeicherte Daten.

MD5

Der im Jahr 1991 von Ronald Rivest entwickelte Message-Digest Algorithm 5 (oder MD5) ist einer der frühesten Hash-Algorithmen, der aus einer beliebig langen Zeichenfolge einen 128-Bit-Hash-Wert erzeugt.

Während der Algorithmus damals höchste Sicherheit bot, gilt er heute aufgrund seiner Anfälligkeit für Kollisionsangriffe (wenn es Hacker auf Eingaben abzielen, die identische Hash-Werte erzeugen) als unsicher für Passwort-Hashing. Hacker haben jetzt Zugriff auf Maschinen mit hoher Rechengeschwindigkeit, sodass sie viele potenzielle Eingaben schnell generieren und testen und den korrekten identischen Hash-Wert erraten können.        

SHA (1 und 2)

SHA steht für Secure Hashing Algorithm; SHA-1 und SHA-2 sind verschiedene Versionen desselben Algorithmus. Sie variieren hauptsächlich in ihrer Konstruktion und der Länge des resultierenden Hashs. SHA-1 erzeugt einen 160-Bit-Hash-Wert und wird für die sichere Passwortspeicherung nicht mehr empfohlen, da er anfällig für Kollisionsangriffe ist.

SHA-2 hingegen ist eine Familie von Hashing-Algorithmen, einschließlich SHA-256 und SHA-512, die Hash-Werte von 256 Bit bzw. 512 Bit erzeugen. SHA-2 ist sicherer als SHA-1 und wird sogar für mehrere kryptografische Zwecke verwendet, nicht nur für Passwort-Hashing. Bitcoin verwendet beispielsweise den SHA-256-Hashing-Algorithmus

Scrypt

Scrypt ist ein spezieller Algorithmus, der speicherintensive gehashte Passwörter erstellt und ihn resistenter gegen Brute-Force-Angriffe macht. Er wurde speziell entwickelt, um die Risiken zu mindern, die mit Hardware-Fortschritten beim Knacken von Passwörtern verbunden sind. 

Es erfordert eine erhebliche Menge an Speicher, um speicherintensive Hashes zu knacken. Das macht es für Angreifer schwieriger, Aufgaben gleichzeitig auf mehreren Prozessoren auszuführen, wodurch die Kosten und der Zeitaufwand zum Knacken von Passwörtern erhöht werden. Daher wird er oft für Passwort-Hashing in Fällen, die robustere Sicherheit erfordern, verwendet.

Whirlpool

Whirlpool wurde im Jahr 2000 entwickelt und ist eine kryptografische Hash-Funktion, die einen Hash-Wert von 512 Bit erzeugt. Er verwendet eine komplexe interne Struktur mit mehreren Runden von gemischten Vorgängen, was ihn rechenintensiv und für Anwendungen geeignet macht, die hohe Sicherheitsstufen erfordern. Da Whirlpool eine größere Hash-Größe als andere Algorithmen bietet, bietet er einen größeren Ausgangsraum, der die Wahrscheinlichkeit von Kollisionen reduziert.

RIPEMD

RIPEMD (RACE Integrity Primitives Evaluation Message Digest) ist eine Familie von Hashing-Algorithmen, die darauf ausgelegt sind, höhere Sicherheit und Resistenz gegen potenzielle Angriffe zu bieten. Er erzeugt Hash-Werte verschiedener Bitlängen, wobei RIPEMD-160 einen 160-Bit-Hash-Wert generiert. Außerdem verwendet er eine Kompressionsfunktion, die eine Eingabe einer beliebigen zufälligen Länge nimmt und einen Hash fester Größe erzeugt, was die Sicherheit des Algorithmus erhöht. 

Einschränkungen des Passwort-Hashings

Trotz des robusten Schutzes ist Passwort-Hashing ein speicherintensiver Prozess. Und es ist nicht ganz unmöglich, Passwort-Hashes zu knacken.

Einige Nachteile des Passwort-Hashings sind:

Verschlechterung der Datenbanken

Passwort-Hashing kann sich negativ auf die Leistung von Datenbankvorgängen auswirken. Da der Hashing-Prozess rechenintensiv sein kann, kann er die gesamte Datenbankleistung verlangsamen, insbesondere, wenn es viele Passwörter gibt, die gehasht und verifiziert werden müssen. Wenn keine geeigneten Optimierungstechniken und Hardware-Überlegungen implementiert werden, können solche Auswirkungen Datenbanken verschlechtern.

Schnelle Hashing-Algorithmen können gehackt werden

Schnelle Hashing-Algorithmen wie MD5 oder SHA-1 können anfällig für Wörterbuchangriffe und Regenbogen-Tabellen sein.

  • Wörterbuchangriffe: Bei einem Wörterbuchangriff verwendet ein Angreifer eine vorberechnete Liste von gehashten Passwörtern (häufig verwendete Passwörter oder Wörterbuchwörter) und vergleicht sie mit den gehashten Passwörtern in der Datenbank, um Übereinstimmungen zu finden.
  • Regenbogentabellenangriffe: Regenbogentabellen sind vorberechnete Nachschlagetabellen, die viele mögliche Passwörter und ihre entsprechenden Hash-Werte enthalten. Hacker verwenden diese Tabellen, um Passwörter schnell zu knacken, indem sie die Hash-Werte gestohlener oder verschlüsselter Passwörter mit den Einträgen in der Tabelle vergleichen. Regenbogentabellen helfen Hackern, die ursprünglichen Klartext-Passwörter zu finden, ohne die üblichen zeitaufwendigen Berechnungen durchzugehen. Durch die Verwendung von Regenbogentabellen können Angreifer den Prozess der Passwortwiederherstellung beschleunigen und die standardmäßigen Sicherheitsmaßnahmen umgehen.

Hash-Kollisionen

Hash-Kollisionen finden statt, wenn zwei verschiedene Eingänge dieselbe Hash-Ausgabe erzeugen. Obwohl sie eher selten sind, stellen Hash-Kollisionen ein Sicherheitsrisiko dar, da ein Angreifer absichtlich ein anderes Passwort erstellen könnte, das denselben Hash wie das ursprüngliche Passwort generiert, sodass er sich unbefugten Zugriff verschaffen kann.

Moderne Hashing-Algorithmen wie SHA-2 oder Argon2 sind so konzipiert, dass sie eine deutlich geringere Kollisionswahrscheinlichkeit haben, was sie zu sichereren Alternativen für das Passwort-Hashing macht.

Dashlane verwendet den robustesten Verschlüsselungsstandard

Eine Darstellung von Dashlane-Anwendungen auf allen Arten von Geräten (Smartphone, Desktop-Computer, Laptop und Tablet).

Dashlane verwendet den robusten Argon2-Algorithmus, um einen Advanced Encryption Standard (AES)-256-Bit-Schlüssel zu generieren, der als der robusteste Verschlüsselungsstandard der Welt anerkannt ist. Dieser Schlüssel, der aus Ihrem Master-Passwort abgeleitet wird, verschlüsselt und entschlüsselt Ihre personenbezogenen Daten lokal auf Ihrem Gerät, bevor er an und von unseren Servern gesendet wird. Das bedeutet, dass Ihr Verschlüsselungsschlüssel niemals über das Internet gesendet wird, um sicherzustellen, dass im unwahrscheinlichen Fall eines Abfangens von Daten die Verschlüsselung Ihre Daten davor schützt, von unbefugten Parteien entschlüsselt zu werden.

Argon2 ist nur ein Teil des Puzzles. Entdecken Sie die verschiedenen Datenschutzebenen von Dashlane, um Ihre Sicherheit über alles andere zu priorisieren.


Referenzen

  1. Authgear, „Password Hashing and Salting Explained“, November 2022.
  2. PCMag, „Facebook Stored Up to 600M User Passwords in Plain Text“, März 2019.
  3. Wired, „Google Has Stored Some Passwords in Plaintext Since 2005“, Mai 2019.
  4. Dashlane, „Was ist Verschlüsselung?“, März 2019.
  5. Wikipedia, „Argon2.“.
  6. Password-Hashing, „Password Hashing Competition“, April 2019.
  7. Wikipedia, „MD5.“
  8. Wikipedia, „Secure Hash Algorithms“.
  9. Bit2me Academy, „How does SHA-256 work?“, Juli 2018.
  10. Wikipedia, „scrypt.“
  11. Wikipedia, „Whirlpool (hash function)“.
  12. Wikipedia, „RIPEMD.“
  13. Simplilearn, „Message-Digest Algorithm 5: Overview and How Does it Work?“, Februar 2023.
  14. Auth0, „Adding Salt to Hashing: A Better Way to Store Passwords“, Februar 2021.
  15. Okta, „Hashing Algorithm Overview: Types, Methodologies & Usage“, Februar 2023.
  16. Dashlane, „Putting Security First: How Dashlane Protects Your Data“, Januar 2023.
  17. Dashlane, „What Is a Good Password? 5 Tips for Increasing Password Strength“, November 2022.
  18. Dashlane, „Dashlane’s Password Generator“.
  19. Dashlane, „Putting Security First: How Dashlane Protects Your Data“, Januar 2023.
  20. CSO, „What is a dictionary attack? And how you can easily stop them“, August 2020.
  21. Beyond Identity, „Rainbow Table Attack“. 

Melden Sie sich an, um Neuigkeiten und Updates zu Dashlane zu erhalten