Wie speichern Netzwerke Ihre Passwörter und andere Anmeldeinformationen?

Wie speichern Netzwerke Ihre Passwörter und andere Anmeldeinformationen?
Leser wie Sie unterstützen MUO. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Vor Jahren waren zufällige Passwörter mit acht Zeichen, bestehend aus Groß- und Kleinbuchstaben, Symbolen und Zahlen, wirklich schwer zu knacken. In einigen Fällen dauerte es Jahre, ein solches Passwort zu knacken.





Dank der heutigen sich ändernden Technologie und mietbaren Maschinen konnte diese Zeit auf Stunden reduziert werden. Doch wie werden diese Passwörter überhaupt gespeichert?





MAKEUSEOF-VIDEO DES TAGES Scrollen Sie, um mit dem Inhalt fortzufahren

Wie Passwörter online gespeichert werden

Systeme speichern Benutzerkennwörter nicht direkt in Dateien oder Datenbanken, da Angreifer die Datenbank übernehmen können, in der die Systeme die Kennwörter aufbewahren. Stattdessen verschlüsseln Systeme Benutzerkennwörter und Angreifer stoßen auf eine verschlüsselte Version jedes Kennworts.





Es gibt einige Algorithmen, die Systeme zum Verschlüsseln von Passwörtern verwenden. Einer dieser Algorithmen ist der symmetrische Algorithmus. Der symmetrische Algorithmus ist eine Art Verschlüsselung Dabei können Sie denselben Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwenden. Der Schlüssel, den Sie zum Verschlüsseln der Daten verwenden, ist sowohl für die Verschlüsselung als auch für die Entschlüsselung derselbe. Die Sicherheit symmetrischer Algorithmen birgt einige Risiken, da es nur einen Schlüssel zur Entschlüsselung gibt. Aus diesem Grund verwenden Systeme in der Regel keine symmetrischen Algorithmen zur Passwortverschlüsselung.

Im Allgemeinen verwenden Systeme zur Verschlüsselung Hash-Algorithmen. Hash-Algorithmen dienen der Überprüfung und Darstellung der Integrität von Daten und nicht der Verschlüsselung von Daten. Hash-Algorithmen konvertieren Daten in einen Hash fester Größe. Diese Hashes stellen normalerweise einen eindeutigen Daten-Hash dar.



Dank des Hash-Algorithmus kann ein Angreifer, wenn er die Passwortdatenbank übernommen hat, von hier aus nicht rückwärts auf das Passwort zugreifen. Es gibt eine sehr wichtige Nuance, auf die Sie hier achten sollten. Theoretisch kann ein Angreifer, der ein System kompromittiert, das für alle Passwortkombinationen denselben Hash-Algorithmus verwendet, die erhaltenen Ergebnisse vergleichen. Ergibt der Angreifer als Ergebnis dieser Vergleiche den gleichen Wert, hat er herausgefunden, wie die offene Version des Passworts lautet. Bei dieser Methode dreht sich alles um Versuch und Irrtum, und diese Form des Angriffs ist es auch wird im Allgemeinen als Brute-Force-Angriff bezeichnet .

Zu Beginn der 2000er Jahre konnte es Hunderte von Jahren dauern, alle Kombinationen für 8-stellige Passwörter auszuprobieren, die mit gängigen Hashing-Algorithmen verschlüsselt wurden. Sehr einfache Kombinationen wie „123456“ oder „mein Passwort“ sind in diesem Set natürlich nicht enthalten. Mit der Entwicklung der heutigen Software- und Hardwaretechnologien hat sich auch die Methode zum Knacken von Passwörtern stark verändert.





Die Auswirkungen neuer GPUs

  zwei RTX2080-Grafikkarten

Die parallelen Datenverarbeitungsfunktionen von Grafikprozessoren (GPUs) haben sich im Laufe der Zeit verbessert. GPUs sind nicht in der Lage, vielseitige Vorgänge wie Allzweck-CPUs auszuführen. Obwohl es also so viele Kerne und parallele Rechenleistung gibt, macht es keinen Sinn, sie für fast jedes Problem wie CPU zu verwenden.

Dennoch ist es möglich, einige für Passwörter verwendete Hash-Algorithmen recht effizient auf der GPU auszuführen. Die berechenbaren Hashes pro Sekunde, die Sie mit herkömmlichen CPUs erreichen können, sind mit neuen GPU-Plattformen enorm gestiegen.





Unerwartete Kernelmodus-Trap Windows 10 Fix

Um eine Vorstellung zu bekommen, untersuchen Sie die Hashing-Zahlen pro Sekunde von Hash-Algorithmen wie NTLM, MD5 und SHA1 in der folgenden Tabelle. Zunächst reicht es zu wissen, dass es sich bei diesen Algorithmen lediglich um Hash-Algorithmen handelt. Um diese Tabelle zu erstellen, habe ich ein Clustersystem bestehend aus 25 AMD Radeon GPUs verwendet.

Algorithmus

Hashings pro Sekunde

NTLM

350.000.000.000

MD5

180.000.000.000

SHA1

63.000.000.000

SHA512Crypt

364.000

Bcrypt

71.000

Skript

33.000

Wie Sie sehen, können Sie mit einem solchen System 350 Milliarden Mal pro Sekunde NTLM-Hashes generieren. Das bedeutet, dass Sie alle Kombinationen eines 8-stelligen Passworts in weniger als 6 Stunden ausprobieren können. Darüber hinaus ist die Hardware in diesem Beispiel Jahre alt. Stellen Sie sich die heutigen Fähigkeiten zum Knacken von Passwörtern vor.

Was sollten Softwareentwickler tun?

  Ein Entwickler, der Code schreibt

Der Weg, den Programmierer gehen sollten, ist ganz einfach: Sie sollten Algorithmen bevorzugen, die bei der Verschlüsselung von Passwörtern länger für die Berechnung von Hash-Werten benötigen. Entwickler müssen nicht nur mehr über die Leistung des Algorithmus erfahren, den sie auf der CPU verwenden, sondern auch darüber, wie widerstandsfähig er gegenüber der GPU-Welt ist.

Wenn Entwickler mit einem Software-Framework arbeiten, das auch Passwort-Verschlüsselungsverfahren wie Django, Ruby on Rails und Spring Security adressiert, sollten sie prüfen, ob innerhalb des Frameworks hinsichtlich der Sicherheit die richtigen Entscheidungen getroffen wurden.

Zum Beispiel, Entwickeln , eine der am häufigsten verwendeten Bibliotheken für Benutzeroperationen in Ruby on Rails, verwendet Bcrypt als Standard-Hash-Algorithmus. Sie können damit auch eine andere Methode als Hash-Algorithmus verwenden. Der Bcrypt-Algorithmus ist zuverlässig, da es immer noch sehr lange dauert, bis die GPU kaputt geht.

Zusammenfassend gilt: Je länger die Berechnung des Hashwerts dauert, desto sicherer sind Sie.

Wie viele Zeichen sollte Ihr Passwort haben?

Jedes zusätzliche Zeichen, das Sie verwenden, erhöht geometrisch die Anzahl der Versuche und Irrtümer, die zum Knacken Ihres Passworts erforderlich sind, und macht Ihr Passwort sicherer.

Edelstahl vs. Aluminium Apple Watch

Betrachten wir diese Situation anhand zweier verschiedener Szenarien. Betrachten Sie die Werte in der obigen Tabelle für den NTLM-Hash-Algorithmus und stellen Sie sich vor, Sie würden versuchen, das Passwort zu knacken. Stellen Sie sich vor, Sie zielen auf Passwörter mit acht oder mehr Zeichen ab.

Anzahl von Charakteren

Groß-/Kleinbuchstaben und Zahlen

Groß-/Kleinbuchstaben, Zahlen und Sonderzeichen

8

weniger als 1 Minute

2 Minuten

9

2 Minuten

2 Stunden

Wie erstelle ich eine digitale Antenne für das Fernsehen?

10

2 Stunden

1 Woche

elf

6 Tage

2 Jahre

12

1 Jahr

200 Jahre

13

mehr als 100 Jahre

mehr als 1000 Jahre

Wenn Sie die Tabelle untersuchen, können Sie erkennen, dass die Verwendung eines mindestens 12-stelligen Passworts sicher ist, wenn Sie alle Kombinationen aus Groß-/Kleinbuchstaben, Zahlen und Sonderzeichen verwenden. Wenn Sie keine Sonderzeichen verwenden, müssen Sie als sicheres Passwort eine Länge von 13 Zeichen verwenden. Wenn Sie in diesem System die Bcrypt-Hash-Methode anstelle des NTLM-Hashs verwenden würden, wären 8 Zeichen ausreichend. Sie haben jedoch nicht die Möglichkeit zu erfahren, mit welcher Hash-Methode ein System, auf das Sie über das Internet zugreifen, Ihr Passwort speichert. Deshalb sollten Sie alle Möglichkeiten in Betracht ziehen.

Das Hauptproblem für Softwareentwickler besteht darin, dass es nahezu unmöglich ist, Benutzer davon zu überzeugen, ein Passwort mit mindestens 12 Zeichen zu haben. Man kann heute davon ausgehen, dass die Nutzungsrate von Passwörtern dieser Länge gering ist. Daher muss je nach Nutzungsszenario des entwickelten Systems ein Mittelweg gefunden werden, der von den Benutzern akzeptiert wird um ihre Passwortsicherheit zu verbessern .

Ein letzter Vorschlag für Entwickler besteht darin, nicht nur die Mindestlänge, sondern auch die Maximallänge der Eingaben zu überprüfen, die über die Formulare eingehen, die Sie dem Benutzer präsentiert haben. Insbesondere wenn Sie aus Sicherheitsgründen die Verwendung eines langsam zu berechnenden Hash-Algorithmus wie Bcrypt aktivieren, können einige Risiken auftreten, wenn Sie die maximale Länge des vom Benutzer eingegebenen Passworts nicht kontrollieren. Angreifer können beispielsweise Angriffe durchführen, indem sie mit einigen speziell vorbereiteten Anfragen Dutzende Passwörter mit 100.000 Zeichen gleichzeitig ausprobieren. In einem solchen Fall ist es sehr wahrscheinlich, dass Ihr System nicht mehr auf andere Benutzer reagiert.

Hinweise für Endbenutzer

Stellen Sie sicher, dass Ihr Passwort mindestens 12 Zeichen lang ist und dass es Groß- und Kleinbuchstabenkombinationen, Zahlen und Symbole enthält. Vergessen Sie nie, dass die Systeme, in denen Ihr Passwort gespeichert ist, gehackt werden können und Ihre Daten missbraucht werden können. Sie können nicht wissen, welche Algorithmen ein System zum Verschlüsseln Ihres Passworts verwendet. Daher liegt es ganz bei Ihnen, Vorsichtsmaßnahmen zu treffen und sichere Passwörter zu erstellen.