Zum Hauptinhalt springen

Blog/Das ABC der Online-SicherheitBusiness/

Passwort-Salting: Verbesserung der Passwortsicherheit durch Salting

Ruta Tamosaityte

Werbetexter

an image with the NordPass branding and the headline saying "Password Salt"

Ein sicheres Passwort ist ein guter Anfang, aber es ist nur so sicher wie die Art, wie der Dienst es speichert. Die meisten Anbieter speichern Ihr Passwort nicht als reinen Text, sondern verwenden ein Verfahren namens Hashing, um Ihr Passwort in eine Zeichenkette zu verwandeln, die als Passwort-Hash bekannt ist. Das Problem ist, dass dasselbe Passwort immer genau denselben Hash erzeugt. Dies erleichtert es Angreifern, die mit Listen gestohlener Passwort-Hashes arbeiten, diese in großen Mengen zu knacken.

An dieser Stelle kommt das Password Salting ins Spiel. Es handelt sich dabei um eine Sicherheitsmaßnahme, die jedem Passwort einen eindeutigen Wert hinzufügt, bevor es gehasht wird, wodurch sichergestellt wird, dass selbst identische Passwörter völlig unterschiedliche Hashes haben. Wie funktioniert also Passwort-Salting, und wie erhöht es Ihre Sicherheit? Finden wir es heraus.

Was ist ein Passwort-Salt?

Ein Passwort-Salting ist ein zufälliges Datenbit, das dem Passwort hinzugefügt wird, bevor es den Algorithmus Passwort-Hashing durchläuft. Es ist für jeden Benutzer unterschiedlich, wodurch die den einzelnen Passwörtern zugewiesenen Hashes ebenfalls einzigartig sind. Der Hauptzweck des Salting besteht also darin, sicherzustellen, dass selbst identische Passwörter völlig unterschiedliche Hash-Werte haben.

Wie funktioniert das Passwort-Salting?

Stellen Sie sich vor, zwei verschiedene Personen wählen beide eines der häufigsten Passwörter, z. B. „gelb“. Ohne Salting würde das System für beide Konten genau denselben kryptografischen Hash, d. h. denselben Hash-Wert, generieren, was für die Sicherheit nicht ideal ist.

Das Passwort-Salting löst dieses Problem, indem es eine einzigartige, zufällige Zeichenfolge, das „Salt“, zu jedem Passwort hinzufügt, bevor es gehasht wird. So wird das Passwort des einen Benutzers etwa zu „yellow#1Gn%“, während das des anderen zu „yellow9j?L“wird. Das Ergebnis ist, dass selbst bei identischen Kennwörtern die endgültigen Hash-Werte völlig unterschiedlich sind. Anschließend speichert das System sowohl den Hash als auch das eindeutige Salz zusammen in seiner Datenbank, die mit dem Konto des Benutzers verknüpft ist.

Wenn der Benutzer versucht, sich anzumelden, gibt er wie gewohnt sein Passwort ein. Das System ruft den entsprechenden Salt für diesen Benutzer aus der Datenbank ab, kombiniert ihn mit dem soeben eingegebenen Passwort und überprüft, ob der resultierende Hash-Wert mit dem in der Datei gespeicherten übereinstimmt. Dieser einfache Schritt erschwert es Angreifern erheblich, Passwörter zu knacken, selbst wenn es ihnen gelingt, auf die Datenbank zuzugreifen.

hashing-scheme

Welche Arten von Angriffen können durch Passwort-Salting abgewehrt werden?

Das Knacken eines Passworts ist im Wesentlichen ein schnelles Ratespiel. Um die richtige Kombination herauszufinden, verwenden die Angreifer leistungsstarke Computer und spezielle Techniken. Hier sind die drei häufigsten Methoden, wie sie das tun:

Brute-Force

Brute-Force ist sozusagen die simpelste Methode zum Knacken von gehashten Passwörtern. Dabei werden alle möglichen Passwortkombinationen erraten und dann durch ein Computerprogramm laufen gelassen, das die fast unendlichen Kombinationen ausprobiert. Sobald eine Übereinstimmung gefunden wird, kennen Sie das ursprüngliche Passwort. Ein Hauptgrund, warum Ihre Passwörter mindestens 12 Zeichen enthalten sollten, ist Brute Force. Außerdem funktionieren diese Angriffe in der Regel am besten bei kürzeren Passwörtern. Je länger die Passwörter sind, desto mehr Rechenleistung ist nötig, um sie zu knacken.

Wörterbuchangriffe

Ein Wörterbuchangriff ist eine ausgefeiltere Version der Brute-Force-Methode. Anstatt zufällig zu raten, probiert der Computer die häufigsten Wörter und Zeichenkombinationen. Deswegen werden Wörterbuchangriffe mit jedem Datenschutzverstoß besser – jedes Mal erfahren Kriminelle mehr darüber, wie wir unsere Passwörter erstellen.

Rainbow Tables

Ein Rainbow-Table-Angriff ist eine Variante eines Brute-Force-Angriffs, bei dem Hacker sogenannte Rainbow-Tables (Regenbogentabellen) – vorberechnete Datenbanken mit entschlüsselten Hash-Passwörtern – verwenden, um die Passwort-Hashes in der Datenbank zu knacken. Die Hacker durchsuchen ihre Rainbow-Tabellen, um den gewünschten Hash zu finden. Genau wie bei Wörterbuchangriffen werden auch Rainbow Tables mit jedem Datenleck erfolgreicher.

Wie das Salting Ihre Passwörter schützt

Passwort-Salting wirkt den oben genannten Angriffen direkt entgegen, insbesondere der sehr effektiven Rainbow-Table-Methode. Doch Salting ist nicht gleich Salting:

Statisches Salting: eine begrenzte Verteidigung

Bei diesem Ansatz wird jedem Passwort im System ein festes Salt hinzugefügt. Das ist zwar besser als gar kein Salt, aber es schafft einen einzigen Fehlerpunkt. Wenn ein Angreifer den statischen Salt entdeckt, kann er eine neue Rainbow-Tabelle speziell für diesen Salt erstellen und so die gesamte Datenbank mit gespeicherten Passwörtern wieder angreifbar machen.

Dynamisches Salting: der Goldstandard

Dynamisches Salting, die Methode, die in modernen, sichereren Systemen verwendet wird, generiert ein einzigartiges, zufälliges Salt für jeden einzelnen Benutzer. Dieses Salting wird zusammen mit dem gehashten Passwort des Benutzers gespeichert.

Dieser Ansatz macht Regenbogentabellen nutzlos, da jeder Benutzer einen eindeutigen Salt hat. Daher haben zwei Personen mit genau demselben Passwort völlig unterschiedliche Hash-Werte in der Datenbank. Eine vorberechnete Tabelle ist wertlos, wenn keine zwei Hashes jemals übereinstimmen werden. Außerdem zwingt es die Angreifer dazu, auf langsamere Methoden zurückzugreifen. Ohne ihr Cheatsheet für die Rainbow Table müssen sie versuchen, jedes gespeicherte Passwort einzeln zu knacken, was ein viel langsamerer und schwierigerer Prozess ist.

Bewährte Verfahren für das Passwort-Salting

Ein sicheres Passwort-Salt ist einem starken Passwort sehr ähnlich: Es sollte einzigartig, lang, komplex und nicht vorhersehbar sein. So stellen Sie sicher, dass Ihr Passwort-Salting zuverlässig ist:

  1. Achten Sie darauf, dass es zufällig ist: Verwenden Sie niemals Wörter aus dem Wörterbuch oder Namen von Benutzern als Passwort-Salting.

  2. Achten Sie auf Komplexität: Mischen Sie Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen wie & @ #.

  3. Achten Sie auf die Länge: Im Idealfall sollte die Länge eines Passwort-Salts der Hash-Ausgabe entsprechen.

  4. Vermeiden Sie die Wiederverwendung von Salts: Ein sicheres Passwort-Salting wird nur einmal verwendet. Jedes Mal, wenn ein Benutzer ein Passwort ändert oder ein neues Konto erstellt, sollte ein neues Salt generiert werden.

  5. Bewahren Sie die Hashes sicher auf: Speichern Sie die Hashes und die entsprechenden Salts in einem sicheren, verschlüsselten Format. Es ist von größter Wichtigkeit, robuste Sicherheitsmaßnahmen einzusetzen, um die Datenbank zu schützen, in der die Salts und Hashes gespeichert sind, um einen unbefugten Zugriff zu verhindern.

Häufige Fehler, die es beim Passwort-Salting zu vermeiden gilt

Ein Passwort-Salting kann die generelle Sicherheit erheblich verbessern. Allerdings darf nicht vergessen werden, dass es typische Stolperfallen gibt, die den Erfolg dieser Strategie untergraben können. Diese Fehler zu kennen ist entscheidend, um eine funktionierende Salting-Strategie umzusetzen. Hier sind einige der häufigsten Fehler, die es beim Passwort-Salting zu vermeiden gilt.

Kurze, vorhersehbare Hashes

Obwohl das Salting eine zusätzliche Sicherheitsebene schafft, ist die Stärke des endgültigen Hashes immer noch sehr wichtig. Ist der Hash zu kurz oder zu einfach, so wird die Sicherheit des gespeicherten Passworts insgesamt geschwächt. Denn ein kurzer Hash schränkt die Anzahl der möglichen Hash-Werte ein, was es wiederum für böswillige Akteure einfacher macht, mithilfe von Brute-Force-Methoden Passwörter zu knacken. Die gleiche Logik gilt für einfache und vorhersehbare Hashes. Beim Salting ist also darauf zu achten, dass der gewählte Hash-Algorithmus eine lange und komplexe Ausgabe erzeugt.

Wiederverwendete Hashes

Eines der grundlegenden Prinzipien für den effektiven Einsatz von Passwort-Salts ist die Einzigartigkeit; jedes Passwort sollte sein eigenes, einzigartiges Salt haben. Die Wiederverwendung von Hashes in verschiedenen Datensätzen ist im Grunde dasselbe wie die Verwendung desselben Passworts auf mehreren Websites und bei verschiedenen Diensten. Die Wiederverwendung von Hashes erlaubt es böswilligen Akteuren, Techniken wie Rainbow-Table-Angriffe auf sehr effiziente Weise einzusetzen.

Open-Source-Datenbank

Der Einsatz einer Open-Source-Datenbank für die Speicherung von Passwörtern kann zwar seine Vorteile haben, aber Sie müssen sich darüber im Klaren sein, dass eine solche Datenbank ohne weitere Sicherheitskonfigurationen eine Fundgrube für Cyberkriminelle sein kann. Böswillige Akteure sind in den meisten Fällen mit den gängigen Konfigurationen von Open-Source-Datenbanken vertraut und können bekannte Sicherheitslücken leicht ausnutzen. Wenn Sie also eine Open-Source-Datenbank verwenden oder dies planen, achten Sie darauf, dass Sie starke Sicherheitsmaßnahmen implementieren, die Standardeinstellungen individuell verändern und die Software immer auf dem neuesten Stand halten.

Bewährte Verfahren für die Passwortsicherheit

  • Erstellen von starken und einzigartigen Passwörtern

Die Grundlage für eine hohe Passwortsicherheit ist das Erstellen starker Passwörter für jedes Konto. Ein sicheres Passwort sollte mindestens 12 Zeichen lang sein und eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Symbolen enthalten. Eindeutige Kennwörter sind wichtig, denn auch wenn ein Kennwort kompromittiert werden sollte, bleiben die anderen Konten sicher.

  • Die Aktivierung von Multi-Faktor-Authentifizierung erhöht die Passwortsicherheit

Multi-Faktor-Authentifizierung (MFA) zusätzlich, weil die Nutzer zwei oder mehr Verifizierungsfaktoren angeben müssen, um auf ihre Konten zugreifen zu können. In den meisten Fällen kombiniert MFA etwas, das Sie wissen (Ihre Passwörter), mit etwas, das Sie besitzen (Ihr Smartphone, ein Tablet usw.), sowie in einigen Fällen mit etwas, das Sie ausmacht (biometrische Daten wie Ihr Fingerabdruck oder Gesicht). MFA reduziert das Risiko eines unbefugten Zugriffs deutlich, selbst wenn das Passwort kompromittiert wurde.

  • Die Aufklärung der Nutzer über Passworthygiene

Nutzer müssen sich der Risiken bewusst sein, die schwache Passwörter verursachen, und diese genau verstehen. Sie sollten auch verstehen, wie bewährte Sicherheitsverfahren wie das Vermeiden der Wiederverwendung von Passwörtern auf verschiedenen Websites und die Verwendung eines Passwortmanagers für ihre sensiblen Daten sie entlasten können und für mehr Sicherheit sorgen. Aufklärungsaktionen können dazu beitragen, die Bedeutung einer guten Passworthygiene zu vermitteln.

  • Integration von Passwort-Salting in die Sicherheitsrichtlinien von Unternehmen

Password-Salting sollte Teil der breiteren Sicherheitsstrategie Ihres Unternehmens sein. Unternehmen sollten die nötigen Maßnahmen ergreifen und Richtlinien einführen, die vorschreiben, dass Passwort-Salts für jeden Benutzer eindeutig sein müssen, und dafür sorgen, dass sie sicher gespeichert werden.

  • Verwendung eines zuverlässigen Passwortmanagers

Ein zuverlässiger Passwort-Manager wie NordPass kann Ihnen das Online-Leben erheblich erleichtern. Tools wie NordPass bieten  einen sicheren Speicher für Ihre Passwörter und andere sensible Daten wie persönliche Informationen, Kreditkarten und Dateien. Für Unternehmen kann ein Passwort-Manager wie NordPass Business die allgemeine Sicherheitslage erheblich verbessern, die Einhaltung von Vorschriften erleichtern und generell das Risiko eines unbefugten Zugriffs verringern.

Häufig gestellte Fragen (FAQ)