Passwörter hashen: Sicherer mit Salt and Pepper

Passwörter hashen: Sicherer mit Salt and Pepper

– Reposting –

Mittlerweile gibt es viele Möglichkeiten, um Passwörter zu knacken und somit an die geschützten Daten zu kommen. Umso wichtiger ist es, zusätzlich zur Einrichtung von Passwortrichtlinien, Maßnahmen zur Steigerung der Sicherheit zu treffen. Wie diese aussehen können und was Salt und Pepper mit dem Schützen Ihrer Daten zu tun haben, verrät der folgende Beitrag.

Passwörter beschäftigen die Datenschutzaufsichtsbehörden

In seinem letzten Tätigkeitsbericht informierte das bayrische Landesamt für Datenschutzaufsicht (BayLDA), dass man aufgrund vermehrter Meldungen von Datenpannen Websitebetreiber kontrollierte, inwieweit diese angemessen mit den Passwörtern ihrer Nutzer umgehen.

„Obwohl wir ausschließlich Websites von größeren Unternehmen, zum Teil börsennotierte Großkonzerne, hinsichtlich längst bekannter Sicherheitsanforderungen untersuchten, mussten wir feststellen, dass zahlreiche Defizite vorhanden waren. Die getroffenen Sicherheitsmaßnahmen mussten oft als unzureichend eingestuft werden. [….] Da das Ergebnis so ernüchternd ausfiel, werden wir auch weiter aktive Kontrollen im Cybersicherheitsumfeld durchführen und bei Verstößen unser Potential aus dem Maßnahmenkatalog ausschöpfen.“

Und auch das erste Bußgeld einer deutsche Aufsichtsbehörde in Höhe von 20.000 € erging, weil unverschlüsselt und ungehashte Passwörter bei einem Hackerangriff entwendet wurden und später im Netz auftauchten. Unternehmen können daher sogar rechtlich verpflichte sein, Maßnahmen zur Steigerung der Sicherheit von Passwörter zu treffen. Aufgrund des risikobasierten Ansatzes des Art. 32 DSGVO ist dies immer eine Frage des Einzelfalls. Dafür sollte dem Verantwortlichen aber auch bekannt sein, welche Risiken bestehen.

Wie werden Passwörter verschlüsselt?

Passwörter werden mit kryptografischen Hashfunktionen verschlüsselt. Häufig bekannte Beispielalgorithmen sind MD5, SHA-1 und SHA-256. Hashfunktionen reduzieren zunächst nur Zeichenketten beliebiger Länge (unterschiedliche Passwörter) auf Zeichen fester Länge. (z.B. 128 Bit bei MD5 = 32 Zeichen)

Der Hashwert ist das Ergebnis, welches durch eine Hashfunktion berechnet wurde. Oft wird der Hashwert als eine hexadezimale Zeichenkette codiert d.h. der Hashwert besteht aus einer Zahlen- und Buchstaben-Kombination zwischen 0 und 9 sowie A bis F. Ein Beispiel für einen MD5 Hash könnte wie folgt aussehen:

a3cba2e1ba1e3b5c3b5aad87a4329075

Ein winzig kleiner Unterschied in einer Zeichenfolge erzeugt einen völlig unterschiedlichen Hashwert. Zum Beispiel, wenn ein Buchstabe klein- anstatt großgeschrieben wird. Das ist enorm wichtig, da man sonst leicht auf Passwörter schließen könnte, wenn ein festgelegtes Zeichen für einen bestimmten Buchstaben steht, wie es bei der klassischen monoalphabetischen Verschlüsselung der Fall ist.

Am Beispiel des Windows-Logins

Die Datenbank speichert Passwörter nicht direkt, sondern hasht sie beim Anlegen eines Kontos. Dabei speichert sie diesen Hash mit den Benutzerdaten zusammen. Bei Anmeldung eines Benutzers wird sein dabei eingegebenes Passwort gehasht und mit dem gespeicherten Hash verglichen, um den Benutzer zu authentifizieren. Der Systemdienst lsass.exe (Local Security Authority Subsystem Service) ist für das Durchsetzen der Sicherheitsrichtlinien auf den Windows-Systemen zuständig. Er überprüft die Benutzerinformation sowohl bei einer lokalen Anmeldung an einer Workstation als auch bei einer Anmeldung an einem Server. Nun stellt sich allerdings die Frage: Ist das absolut sicher?

Nein, denn…

Brute Force, Passwort-Wörterbücher und Rainbowtables

Ein Brute-Force-Angriff versucht durch wahlloses Ausprobieren von Zeichenkombinationen Passwörter oder Schlüssel herauszufinden. Dabei ist dieser Vorgang meistens vollständig automatisiert, sodass der Rechner mehrere Passwortkombinationen pro Sekunde durchprobiert. Dies geht allerdings nur, wenn im System keine feste Anzahl an möglichen Fehlversuchen festgelegt ist. Je höher die Rechengeschwindigkeit, desto mehr Passwörter pro Sekunde probiert der Rechner aus. So schaffen moderne, schnelle Rechner bis zu 2 Billionen Passwörter pro Sekunde. Je länger die Passwörter sind, desto länger braucht eine Brute Force-Attacke für das Knacken.

Bei einem Wörterbuchangriff versucht der Angreifer mit Hilfe von elektronischen Wörterbüchern Passwörter zu erraten. Das ist häufig mit Erfolg gekrönt, weil viele User bekannte Wörter für ihre Passwörter verwenden. Um Wörterbuchangriffe zu erschweren, wurden Passwort-Policies eingeführt, die zusätzlich Sonderzeichen und Zahlen bei der Festlegung von Passwörtern verlangen.

Die Rainbowtable, zu Deutsch Regenbogentabelle, ermöglicht die Suche nach der ursprünglichen Zeichenfolge (in der Regel ein Passwort) für einen gegebenen Hashwert. Genau wie Passwortwörterbücher, findet man diese vorgefertigten Tabellen im Internet. In diesen, teilweise mehrere Hundert Gigabyte großen Dateien, liegen passend zum verwendeten Verschlüsselungsalgorithmus Passwörter zusammen mit ihren Hashwerten. Allerdings nicht komplett: Stattdessen erzeugt man Ketten, sog. Chains, aus der sich die eigentlichen Werte leicht berechnen lassen und reduziert so den Speicherbedarf der immer noch sehr großen Tabellen.

Möchte man nun ein Passwort anhand eines bekannten Hashwertes ermitteln, durchsucht man zunächst die Liste nach dem vorliegenden Hashwert. Findet man ihn im Anfang oder im Ende einer Kette, ist das Passwort relativ schnell gefunden, denn nun braucht man nur die Wiederholungen der Kette nachzuvollziehen. Ist der Hashwert nicht vorzufinden, folgt eine sogenannte Reduktionsfunktion. Nun reduziert und hasht man den zu knackenden Hashwert immer wieder nach den gleichen Regeln. Durch dieses Verfahren sind alte Algorithmen wie MD5 und SH1 unbrauchbar geworden.

Hier kommt Salt und Pepper ins Spiel

Durch eine Hinzugabe von Salt und Pepper lassen sich Daten schützen. Das Salt erschwert das Entschlüsselns durch Regenbogentabellen. Wenn ein Nutzer ein Passwort festlegt, erstellt das System zusätzlich dazu einen zufälligen Wert, das Salt. Dieser Wert fließt zusammen mit dem Passwort in die Hashfunktion und erzeugt einen anderen Wert. Das Salt und der Hashwert liegen gemeinsam in der Datenbank. Der zufällig vergebene Hashwert des Salts ist nicht in den Regenbogentabellen eingetragen und erschwert somit die Suche nach dem ursprünglichen Passwort erheblich.

Der Pepper erschwert wiederum den Angriff mit Brute Force oder Passwort-Wörterbüchern. Auch Pepper ist eine zufällige Zeichenfolge, die zusammen mit dem Passwort in den Hashwert einfließt. Anders als beim Salt, speichert die Datenbank den Pepper nicht zusammen mit den Login-Daten. Den Pepper bewahrt man getrennt und an einem möglichst sicheren Ort auf. Salt und Pepper haben somit viel mit dem Schützen Ihrer Daten zu tun – sie verhindern das Knacken von Passwörter zwar nicht, erschweren es jedoch erheblich.

Passwortsicherheit: Ein Thema für IT-Sicherheit und Datenschutz

Beim Thema Passwortsicherheit ist sich das BSI einig – als erster Grundsatz zur Steigerung der Sicherheit gilt immer noch: Komplexe Passwörter verwenden! Daneben gibt das BayLDA die folgende Empfehlung als Best-Practice:

  • Mindestlänge von 10 Zeichen bei hoher Zeichenkomplexität
  • Bei geringerer Passwortkomplexität Erhöhung der Mindestlänge (20 Zeichen)
  • Speicherung mit geeigneten gesalzenen Hashverfahren

Zudem sollte die Verifizierung mittels Zwei-Faktor-Authentifizierung in Betracht gezogen werden. Unternehmen sollten regelmäßig ihren Umgang mit Passwörtern überprüfen und das Risiko evaluieren. So wurde bspw. kürzlich das Gesetz gegen Hass im Netz verabschiedet, welches es Sicherheitsbehörden erlaubt, sich von Telemedienanbieter die Passwörter von Nutzern herausgeben zu lassen. Es ist daher nicht unwahrscheinlich, dass die Datenschutzaufsichtsbehörden hier in Zukunft noch genauer hinschauen werden.


Gefällt Ihnen der Beitrag?
Dann unterstützen Sie uns doch mit einer Empfehlung per:
TWITTER   FACEBOOK   E-MAIL   XING
Oder schreiben Sie uns Ihre Meinung zum Beitrag:
HIER KOMMENTIEREN


© www.intersoft-consulting.de

HINWEIS / ENDE ZITAT:
Diesen Artikel finde ich sehr interessant und lesenswert, allerdings stammt der Text nicht von mir / diesem Projekt. Dieser Post stammt ursprünglich von: Dr. Datenschutz (Info leider im Original-Beitrag ggf. nicht enthalten) und natürlich liegen alle Rechte beim Verfasser / Rechteinhaber. Hier geht’s zum Original: Passwörter hashen: Sicherer mit Salt and Pepper.