Hier ist die Schnittstelle eines typischen Passwortgenerators :

Achten Sie auf den Schieberegler Länge: Hier kann die Kennwortlänge von 8 auf 100 Zeichen geändert werden, in anderen Tools kann sie viel mehr sein. Was ist der beste Wert für Passwörter?
Ein gutes Passwort ist alles, was Sie haben, wenn Sie gehackt werden
Um zu verstehen, was ein gutes Passwort ist, wollen wir sehen, was im Lager des Feindes passiert!
Wenn Sie ein Konto erstellen, speichert der Dienst Ihr Passwort in einem von zahlreichen Formaten. Der Dienst kann das Kennwort direkt in die Datenbank einfügen (im Klartext) oder mithilfe eines von vielen Algorithmen einen Hash daraus generieren . Am beliebtesten:
- MD5
- SHA-1
- Bcrypt
- Scrypt
- Argon2
Der Vorteil des Speicherns von Hashes anstelle der Kennwörter selbst besteht darin, dass die Datenbank keine Kennwörter enthält . Und das ist richtig, denn Sie müssen nur nachweisen, dass Sie Ihr Passwort kennen, aber das spielt keine Rolle. Wenn Sie sich anmelden, wird das eingegebene Kennwort mit demselben Algorithmus gehasht. Wenn das Ergebnis mit dem in der Datenbank aufgezeichneten Wert übereinstimmt, haben Sie nachgewiesen, dass Sie das Kennwort kennen. Und wenn die Datenbank gehackt wird, ist es nicht möglich, Passwörter wiederherzustellen.

Hashes speichern.
Passwort knacken
Das Knacken von Passwörtern erfolgt, wenn ein Angreifer versucht, eine Hash-Funktion umzukehren und ein Passwort aus dem Hash wiederherzustellen. Dies ist mit einem guten Hashing-Algorithmus nicht möglich. Nichts hindert einen Angreifer jedoch daran, unterschiedliche Werte einzugeben, in der Hoffnung, denselben Hash zu erhalten. Wenn eine Übereinstimmung auftritt, wurde das Kennwort aus dem Hash wiederhergestellt.

Ein Passwort knacken.
Und hier ist die Wahl eines guten Algorithmus wichtig . SHA-1 wurde mit Blick auf schnelles Hashing entwickelt, um Angreifern das Leben zu erleichtern. Bcrypt, Scrypt und Argon2 wurden mit Blick auf hohe Rechenkosten entwickelt, um das Cracken insbesondere auf dedizierten Maschinen so weit wie möglich zu verlangsamen. Und das ist ein sehr wichtiger Aspekt.
Wenn Sie sich nur auf die Geschwindigkeit konzentrieren, lautet das Passwort SHA-1, das nicht zu knacken ist, wie folgt :
0OVTrv62y2dLJahXjd4FVg81.
Ein sicheres Kennwort, das Sie mit einem ordnungsgemäß konfigurierten Argon2 erstellt haben, sieht folgendermaßen aus :
Pa$$w0Rd1992.
Wie Sie sehen können, verwandelt die Auswahl des richtigen Hashing-Algorithmus ein schwaches Passwort in ein unzerbrechliches.
Und vergiss das nichtDies hängt nur von der Implementierung des Dienstes ab, bei dem Sie sich registrieren . Und Sie können die Qualität der Implementierung nicht kennen . Sie können fragen, aber entweder werden sie Ihnen nicht antworten oder sie werden abbestellen, dass "wir die Sicherheit ernst nehmen".
Denken Sie, dass Unternehmen die Sicherheit ernst nehmen und gute Hashing-Algorithmen verwenden? Schauen Sie sich die Liste der gefährdeten Datenbanken an, insbesondere die darin verwendeten Hashes. In vielen Fällen wurde MD5 verwendet, meistens SHA-1, und an einigen Stellen wurde bcrypt verwendet. Einige gespeicherte Passwörter im Klartext . Dies ist die zu berücksichtigende Realität.
Darüber hinaus wissen wir nur, welche Hashes in den gefährdeten Datenbanken verwendet wurden, und es ist sehr wahrscheinlich, dass Unternehmen, die schwache Algorithmen verwendeten, auch ihre Infrastruktur nicht schützen konnten. Schauen Sie sich die Liste an, ich bin sicher, Sie werden bekannte Namen finden. Nur weil ein Unternehmen groß und respektabel aussieht, heißt das nicht, dass es alles richtig macht.
Sie wählen das Passwort
Was können Sie als Benutzer tun? Wenn Passwörter im Klartext gespeichert sind, ist nichts zu tun. Sobald die Datenbank gestohlen wurde, spielt die Komplexität Ihres Passworts keine Rolle mehr.
Bei richtig konfigurierten Algorithmen ist die Komplexität Ihres Passworts ebenfalls nicht wichtig, es kann
12345oder sein asdf.
In Zwischenfällen , insbesondere bei Verwendung von SHA-1, ist jedoch die Komplexität des Kennworts von Bedeutung . Hashing-Funktionen sind im Allgemeinen nicht für Kennwörter konzipiert. Wenn Sie jedoch ein komplexes Kennwort verwenden, werden die Schwachstellen der Algorithmen ausgeglichen.

Hängt von der Konfiguration ab. Diese Algorithmen haben verschiedene Sicherheitskomponenten und können bei richtiger Konfiguration Hacking verhindern.
Fazit: Mit einem starken Passwort sind Sie vor mehr Hacks geschützt als mit einem schwachen Passwort. Und da Sie nicht wissen, wie sicher der Kennwortspeicher ist, können Sie nicht wissen, wie "sicher genug" der Dienst sein wird. Nehmen Sie also das Schlimmste an, wenn Ihre Wahl des Passworts immer noch wichtig ist.
Die Eindeutigkeit des Passworts reicht nicht aus
Okay, aber warum um alles in der Welt sollten Sie darüber nachdenken, einen Passwort-Manager zu verwenden und für jede Site ein eindeutiges Passwort zu generieren? In diesem Fall sind Sie für das Ausfüllen von Anmeldeinformationen unverwundbar, wenn ein bekanntes Paar aus Postfach und Kennwort auf verschiedenen Diensten überprüft wird, in der Hoffnung, dass die Person diese Daten an verschiedenen Orten verwendet hat. Dies ist eine ernsthafte Bedrohung, da die Wiederverwendung von Passwörtern eines der wichtigsten Sicherheitsbedenken ist. Sie werden davor geschützt, indem Sie für jede Site ein eindeutiges Passwort generieren.

Ausweisfüllung.
Und wenn die Datenbank gestohlen wird und alle Inhalte Hackern bekannt werden, warum sollten Sie dann Ihr Passwort trotzdem schützen?
Tatsache ist, dass Sie nicht wissen, ob die Datenbank gehackt wurde, und den Dienst weiterhin nutzen. Dann haben Hacker Zugriff auf alle Ihre zukünftigen Aktivitäten auf dieser Site. Sie können Ihre Bankkartendaten später hinzufügen und sie werden davon erfahren. Ein sicheres Passwort bedeutet, dass sich Hacker nicht unter Ihrem Konto anmelden und Ihre zukünftigen Aktionen nicht gefährden können.

Nutzung des Dienstes nach dem Hacken.
So bewerten Sie die Kennwortstärke mithilfe von Entropie
Die Stärke eines Passworts ist durch Entropie gekennzeichnet, eine numerische Darstellung des Zufallsbetrags, der im Passwort enthalten ist. Da es sich um große Zahlen handelt,
1 099 511 627 776 (2^40)fällt es uns leichter, stattdessen „40 Bit Entropie“ zu sagen. Und da das Knacken eines Passworts eine Aufzählung von Optionen ist, müssen Sie umso mehr Zeit für das Knacken aufwenden, je mehr es gibt.
Für den Passwort-Manager mit zufälligen Zeichen wird die Entropie nach folgender Formel berechnet :
log2(< > ^ <>).
Es ist klar mit der Länge, aber wie viele verschiedene Zeichen gibt es? Dies hängt von den im Kennwort enthaltenen Zeichenklassen ab.

Zum Beispiel hat ein Passwort mit 10 zufälligen Groß- und Kleinbuchstaben
log2(52 ^ 10) = 57 etwas Entropie.
Um die spezifische Entropie (ihre Menge in einem Symbol einer bestimmten Klasse) zu berechnen, können Sie die Gleichung verwenden
log2(n ^ m) = m * log2(n). Wir erhalten:, <> * log2(< >)wobei der zweite Teil die spezifische Entropie ist. Berechnen wir die vorherige Tabelle mit dieser Formel neu:

Um die Stärke eines Kennworts zu berechnen, müssen Sie die im Kennwort enthaltenen Zeichenklassen verwenden, die Entropiewerte für diese Klassen verwenden und mit der Länge multiplizieren. Für das obige Beispiel haben wir ein Passwort in 10 Groß- und Kleinbuchstaben erhalten
5.7 * 10 = 57 . Wenn Sie jedoch die Länge auf 14 erhöhen, springt die Entropie auf 79,8 Bit. Wenn Sie 10 Zeichen belassen, aber eine Klasse von Sonderzeichen hinzufügen, beträgt die Gesamtentropie 64 Bit.
Mit der obigen Gleichung können Sie die Entropie des Passworts schnell berechnen, aber es gibt einen Haken. Die Formel ist nur dann korrekt, wenn die Symbole unabhängig voneinander sind . Dies gilt nur für generierte Passwörter. Die Kombination
H8QavhV2guerfüllt dieses Kriterium und hat 57 Entropiebits.
Aber wenn Sie leichter zu merkende Passwörter wie verwenden
Pa$$word11dann ist ihre Entropie bei gleicher Anzahl von Symbolen viel geringer. Der Cracker muss nicht alle möglichen Kombinationen durchgehen, er muss nur die Wörter aus dem Wörterbuch mit einigen Änderungen durchgehen.
Somit gelten alle Berechnungen mit Multiplikation der Länge mit der spezifischen Entropie nur für die generierten Passwörter .
Entropie-Leitfaden
Je mehr Entropie ein Passwort hat, desto schwieriger ist es, es zu knacken. Aber wie viel Entropie reicht aus? Im Allgemeinen befinden sich ungefähr 16 Zeichen hinter den Augen. Ein solches Kennwort weist je nach Zeichenklasse 95 bis 102 Entropiebits auf. Was ist die Mindestschwelle? 80 Bit? 60? Oder sind sogar 102 Bits zu klein?
Es gibt einen Algorithmus, der in seiner Geschwindigkeit mit einem schlechten Hashing-Algorithmus mithalten kann, aber er ist viel besser untersucht: Dies ist AES.
Es wird in allen Regierungs- und Militärorganisationen eingesetzt, was bedeutet, dass seine Haltbarkeit ausreichend ist. Und es funktioniert schnell. Wenn also ein AES-Schlüssel mit einer bestimmten Entropie nicht geknackt werden kann, ist ein Kennwort mit einem schlechten (aber nicht geknackten) Hash von Vorteil.
Das Nationale Institut für Standards und Technologie hat die Schlüsselgrößen festgelegt, die auf absehbare Zeit ausreichen werden. Dortempfehlen die Verwendung von AES-128 während des Zeitraums "2019-2030 und höher". Wie der Name schon sagt, handelt es sich um 128 Entropiebits.

Eine andere Empfehlung empfiehlt, Schlüssel mit einer Größe von mindestens 112 Bit zu erstellen:
Um die kryptografische Stärke für die Bedürfnisse der Bundesregierung bereitzustellen, werden heute mindestens 112 Bit benötigt (zum Beispiel zum Verschlüsseln oder Signieren von Daten).
Um 128 Bit Entropie mit Groß- und Kleinbuchstaben und Zahlen zu erhalten, benötigen Sie eine Kennwortlänge
22 ((5.95 * 22 = 131 ).
Andere Überlegungen
Warum nicht Sonderzeichen verwenden? Ich versuche sie nicht zu benutzen, weil sie die Grenzen des Wortes überschreiten. Das heißt, es dauert drei Klicks, um ein Sonderzeichen anstelle von zwei auszuwählen. Dies kann zu einem Fehler führen, wenn ich den Rest des Passworts nicht versehentlich in das Feld einfüge.
Wenn Sie nur Buchstaben und Zahlen verwenden, wird mit einem Doppelklick das gesamte Passwort hervorgehoben.
Was ist, wenn es eine Längenbeschränkung gibt? Auf einigen Websites darf das Kennwort nicht länger als 22 Zeichen sein. Manchmal können Passwörter nur sehr kurz sein, zum Beispiel nicht mehr als 5 Stellen. Dann müssen Sie nur noch das Passwort so lange wie möglich verwenden.
Es gibt auch Richtlinien für Websites zum Arbeiten mit Kennwörtern, und die Längenbeschränkung widerspricht eindeutig diesen Richtlinien. Hier ist was sagt Nationales Institut für Standards und Technologie:
Sie müssen Kennwörter mit einer Länge von mindestens 64 Zeichen unterstützen. Ermutigen Sie die Benutzer, leicht zu merkende Geheimnisse beliebiger Länge zu erstellen, indem Sie Zeichen (einschließlich Leerzeichen) verwenden, um sich zu erinnern.
Und denken Sie daran, dass der Passwortschutz der Websites von schrecklich bis ausgezeichnet reicht und Ihnen nicht sagt, wie die tatsächliche Situation ist. Wenn die maximal zulässige Kennwortlänge klein ist, scheint sich eine solche Site am schlechten Ende der Skala zu befinden.
Fazit
Passwörter sollten sicher sein, auch wenn Sie nicht an verschiedenen Stellen dieselben Kombinationen verwenden. Die Stärke eines Passworts wird durch Entropie gemessen, und Sie müssen einen Wert von 128 Bit anstreben. Hierfür reichen Passwörter mit einer Länge von 22 Zeichen aus, die aus Groß- und Kleinbuchstaben und Zahlen bestehen.
Dies schützt Sie, wenn der Dienst gehackt wird und ein schwacher, aber nicht gehackter Hashing-Algorithmus verwendet wird.