password generator security privacy random

Sicherer Passwort-Generator: Starke und zufällige Anmeldedaten erstellen

Schützen Sie Ihr digitales Leben mit starken, unvorhersehbaren Passwörtern. Passen Sie Länge und Komplexität mit unserem Generator an.

Einleitung: Warum Passwörter immer noch wichtig sind

Seit den frühen Tagen der Time-Sharing-Computersysteme in den 1960er Jahren sind Passwörter die primären Wächter zwischen Benutzern und ihren Daten. Fernando Corbató, der MIT-Forscher, der das Compatible Time-Sharing System (CTSS) entwickelte, führte Passwörter 1961 ein – nicht als Sicherheitsmaßnahme, sondern lediglich, um jedem Benutzer einen privaten Dateibereich zu geben. Mehr als sechs Jahrzehnte später bleiben Passwörter der am weitesten verbreitete Authentifizierungsmechanismus im Internet und schützen alles von E-Mail-Konten bis hin zu Bankensystemen.

Dennoch verwenden viele Menschen Passwörter auf Dutzenden von Websites wieder, wählen vorhersehbare Muster wie Sommer2024! und haben wenig Gespür dafür, was ein Passwort wirklich unerratbar macht. Dieser Artikel bietet einen tiefen technischen Einblick in die Passwortsicherheit: wie die Entropie berechnet wird, warum Zufälligkeit wichtig ist, was die neuesten Richtlinien besagen und wie man Gewohnheiten entwickelt, die einen tatsächlich schützen.


Entropie verstehen: Die Mathematik der Unvorhersehbarkeit

Entropie in der Informationstheorie misst die Unvorhersehbarkeit. Bei Passwörtern beantwortet sie die Frage: Wie viele Versuche bräuchte ein Angreifer im Durchschnitt, um dieses Passwort zu knacken?

Die Formel lautet:

H = L × log₂(N)

Wobei:

  • H = Entropie in Bits
  • L = Passwortlänge (Anzahl der Zeichen)
  • N = Größe des Zeichensatzes (Pool der möglichen Zeichen)

Zeichensatzgrößen

Zeichensatz Größe (N) Bits pro Zeichen
Nur Kleinbuchstaben 26 4,7 Bits
Klein- + Großbuchstaben 52 5,7 Bits
Alphanumerisch 62 5,95 Bits
Vollständiges druckbares ASCII 94 6,55 Bits
Erweitertes ASCII / Unicode 128+ 7+ Bits

Entropie-Beispiele

Passwort L N Entropie (H)
passwort 8 26 37,6 Bits
P@ssw0rt 8 94 52,4 Bits
k9$mQzLw 8 94 52,4 Bits
xK#7pL!qR2@v 12 94 78,6 Bits
correct horse battery staple 28 26 131,9 Bits

Ein Passwort mit 128+ Bits Entropie gilt mit heutiger Technologie als rechnerisch unmöglich per Brute-Force zu knacken. Zum Vergleich: Eine 256-Bit-AES-Verschlüsselung – die als unknackbar gilt – entspricht einem Schlüsselraum von 2²⁵⁶ Kombinationen.


CSPRNG vs. Math.random(): Warum die Quelle des Zufalls wichtig ist

Nicht alle Zufallszahlen sind gleich. Der Unterschied zwischen einem sicheren Passwortgenerator und einem unsicheren liegt oft in der Quelle des Zufalls.

Math.random() – Nicht für Sicherheit geeignet

Das in JavaScript integrierte Math.random() ist ein Pseudozufallszahlengenerator (PRNG). Er ist schnell und statistisch gleichmäßig, aber nicht kryptographisch sicher. Sein interner Zustand kann aus seiner Ausgabe abgeleitet werden, was bedeutet, dass ein Angreifer, der genügend Werte beobachtet, zukünftige Werte vorhersagen könnte.

// ❌ Unsicher – NICHT für die Passwortgenerierung verwenden
function unsicheresPasswort(laenge) {
  const zeichen = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  return Array.from({ length: laenge }, () => zeichen[Math.floor(Math.random() * zeichen.length)]).join('');
}

crypto.getRandomValues() – Das richtige Werkzeug

Die Web Cryptography API bietet crypto.getRandomValues(), die Entropie aus dem kryptographisch sicheren Pseudozufallszahlengenerator (CSPRNG) des Betriebssystems bezieht. Unter Linux ist dies /dev/urandom, unter Windows CryptGenRandom. Diese Quellen sammeln Entropie aus Hardware-Ereignissen (Tastenanschläge, Festplatten-I/O, Netzwerk-Timing) und gelten als kryptographisch stark.

// ✅ Sicher – verwendet CSPRNG
function generierePasswort(laenge, zeichensatz) {
  const array = new Uint32Array(laenge);
  crypto.getRandomValues(array);
  return Array.from(array, (val) => zeichensatz[val % zeichensatz.length]).join('');
}

const zeichensatz =
  'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+-=[]{}|;:,.<>?';

console.log(generierePasswort(16, zeichensatz));
// Beispiel-Ausgabe: "aK7!xQz2#Lp9@Wm5"

Hinweis zum Modulo-Bias: Das obige Beispiel weist einen leichten Modulo-Bias auf, wenn zeichensatz.length nicht gleichmäßig durch 2³² teilbar ist. Verwenden Sie für Produktionscode Rejection Sampling, um diesen Bias vollständig zu eliminieren.


Zeichensätze und Komplexität

Die meisten Passwortgeneratoren bieten Optionen für:

  • Kleinbuchstaben (a–z): 26 Zeichen
  • Großbuchstaben (A–Z): 26 Zeichen
  • Ziffern (0–9): 10 Zeichen
  • Symbole (!@#$%^&*…): ~32 Zeichen

Die Kombination aller vier ergibt einen Pool von 94 druckbaren ASCII-Zeichen. Jedes zusätzliche Zeichen in Ihrem Passwort multipliziert den Suchraum mit 94. Ein 12-stelliges Passwort aus 94 Zeichen hat 94¹² ≈ 4,76 × 10²³ Kombinationen – eine astronomische Zahl selbst für spezialisierte Hardware.

Warum Länge wichtiger als Komplexität ist

Viele Altsysteme erforderten „mindestens einen Großbuchstaben, eine Ziffer, ein Symbol“, erlaubten aber Passwörter mit 8 Zeichen. Ein 8-stelliges Passwort aus 94 Zeichen hat nur 94⁸ ≈ 6 × 10¹⁵ Kombinationen – mit einem modernen GPU-Cluster in Stunden knackbar. Die Erweiterung auf 16 Zeichen rein aus Kleinbuchstaben (26¹⁶ ≈ 4,4 × 10²²) bietet tatsächlich mehr Entropie als ein 8-stelliges komplexes Passwort.


NIST SP 800-63B: Moderne Passwort-Richtlinien

Die NIST Special Publication 800-63B des US National Institute of Standards and Technology (Digital Identity Guidelines, 2017, aktualisiert 2024) hat viele weit verbreitete Annahmen über Passwörter revidiert:

Was das NIST heute empfiehlt

  1. Mindestlänge von 8 Zeichen für vom Benutzer gewählte Passwörter; 15 Zeichen für maschinengenerierte Passwörter.
  2. Länge vor Komplexität bevorzugen – obligatorische Komplexitätsregeln (Großbuchstaben + Ziffer + Symbol) erhöhen die Sicherheit nicht wesentlich und frustrieren die Benutzer.
  3. Passwörter gegen Listen kompromittierter Daten prüfen – Passwörter ablehnen, die in bekannten Datenlecks gefunden wurden (z. B. über die HaveIBeenPwned API).
  4. Keine regelmäßige erzwungene Passwortänderung, es sei denn, es gibt Beweise für eine Kompromittierung – erzwungene Änderungen führen zu vorhersehbaren Mustern wie Sommer2024Herbst2024.
  5. Keine Zusammensetzungsregeln – keine spezifischen Zeichentypen vorschreiben; stattdessen alle druckbaren Zeichen inklusive Leerzeichen erlauben.
  6. Rate-Limiting und Sperrung von Authentifizierungsversuchen, um Online-Angriffe zu verhindern.

Diese Richtlinien spiegeln die Realität wider, dass menschliches Verhalten unter Komplexitätsbeschränkungen vorhersehbar ist: Menschen hängen ein ! an, um Symbolanforderungen zu erfüllen, schreiben nur den ersten Buchstaben groß und verwenden leicht merkbare Jahreszahlen.


Passwortmanager: Die praktische Lösung

Die größte Sicherheitsverbesserung für die meisten Menschen ist die Verwendung eines Passwortmanagers. Ein Passwortmanager:

  • Generiert starke, einzigartige Passwörter für jedes Konto.
  • Speichert sie in einem verschlüsselten Tresor (typischerweise AES-256).
  • Füllt Anmeldedaten in Browsern und Apps automatisch aus.
  • Warnt Sie vor wiederverwendeten oder kompromittierten Passwörtern.

Beliebte Passwortmanager

Tool Typ Besonderheit
Bitwarden Open-Source, Cloud/Self-Host Kostenlose Version, auditiert
1Password Kommerziell, Cloud Reisemodus, Familienpläne
KeePass Open-Source, lokal Vollständig offline, Plugin-Ökosystem
KeePassXC Open-Source, lokal Plattformübergreifender KeePass-Fork
Dashlane Kommerziell, Cloud Dark-Web-Überwachung

Das Master-Passwort für Ihren Passwortmanager sollte eine lange, merkbare Passphrase sein – das eine Passwort, das Sie sich merken.


Passphrasen und die Diceware-Methode

Für Passwörter, die Sie sich merken müssen (wie das Master-Passwort Ihres Passwortmanagers), sind Passphrasen kurzen, komplexen Zeichenfolgen weit überlegen.

Wie Diceware funktioniert

Die Diceware-Methode, die 1995 von Arnold Reinhold entwickelt wurde, verwendet echte Würfel, um eine wirklich zufällige Wortauswahl zu treffen:

  1. Besorgen Sie sich die EFF Large Wordlist (7.776 Wörter, indiziert von 11111 bis 66666 im 6er-System).
  2. Würfeln Sie 5 Würfel, um eine 5-stellige Zahl zu erhalten (z. B. 2-4-1-3-6 → 24136).
  3. Schlagen Sie das entsprechende Wort nach (z. B. „clump“).
  4. Wiederholen Sie dies 6–8 Mal, um eine Passphrase aufzubauen.

Eine 6-Wort-Diceware-Passphrase aus 7.776 Wörtern hat:

H = 6 × log₂(7776) = 6 × 12,93 ≈ 77,6 Bits

„correct horse battery staple“ (bekannt durch XKCD #936) enthält 4 Wörter aus einem Pool von ~2.000 häufigen Wörtern, was etwa 44 Bits Entropie ergibt – illustrativ, aber zu kurz. Sechs oder mehr Wörter aus der vollständigen Diceware-Liste ist die praktische Empfehlung.


Häufige Passwort-Angriffe

Das Verständnis der Angriffe hilft Ihnen, die Verteidigung zu kalibrieren.

Wörterbuchangriffe

Angreifer verwenden Wortlisten – von Millionen bis Milliarden von Einträgen – kombiniert mit regelbasierten Mutationen (Großschreibung des ersten Buchstabens, Anhängen von Zahlen, Ersetzen von @ durch a). Tools wie Hashcat können Tausende von Mutationsregeln pro Sekunde anwenden. Jedes Passwort, das durch einfache Ersetzungen von einem Wörterbuchwort abgeleitet werden kann, ist anfällig.

Brute-Force-Angriffe

Reines Brute-Force probiert jede Kombination aus. Mit einem dedizierten GPU-Rig (8× RTX 4090) sind die Geschwindigkeiten für gängige Hashing-Algorithmen:

Hashing-Algorithmus Geschwindigkeit (H/s) Zeit zum Knacken von 8 Zeichen (94-Zeichensatz)
MD5 ~200 GH/s ~8 Stunden
SHA-1 ~70 GH/s ~24 Stunden
bcrypt (Cost 10) ~184 kH/s ~1.100 Jahre
Argon2id ~1 kH/s ~200.000 Jahre

Diese Tabelle verdeutlicht, warum korrektes Passwort-Hashing auf der Serverseite enorm wichtig ist – aber auch, warum ein 16-stelliges Zufallspasswort selbst MD5-Hashing widersteht.

Rainbow Tables

Vorberechnete Hash-zu-Passwort-Tabellen, die Speicherplatz gegen Geschwindigkeit eintauschen. Werden durch Salting vollständig vereitelt – das Hinzufügen eines einzigartigen Zufallswerts zu jedem Passwort vor dem Hashen. Moderne Algorithmen wie bcrypt und Argon2 enthalten Salting bereits im Design.

Credential Stuffing

Verwendung von Benutzernamen/Passwort-Paaren aus einem Datenleck, um andere Dienste anzugreifen. Die Verteidigung besteht in einzigartigen Passwörtern pro Website – genau hier glänzen Passwortmanager.


Warum browserbasierte Passwortgenerierung sicherer ist

Unser Tool generiert Passwörter vollständig in Ihrem Browser mittels JavaScript. Es verlassen keine Daten Ihr Gerät. Hier ist der Grund, warum das wichtig ist:

  1. Keine Serverübertragung – das Passwort berührt nie ein Netzwerkpaket.
  2. Keine Serverprotokolle – es gibt nichts, was beschlagnahmt, geleakt oder gestohlen werden könnte.
  3. Keine Drittanbieter-Abhängigkeiten zur Generierungszeit – keine API-Aufrufe, keine externen Skripte während der Generierung.
  4. Reproduzierbar – Sie können den Quellcode inspizieren, um die Logik zu überprüfen.

Vergleichen Sie dies mit serverseitigen Generatoren: Selbst mit HTTPS existiert das generierte Passwort im Serverspeicher, könnte in Zugriffsprotokollen erscheinen und hängt vollständig von der Vertrauenswürdigkeit des Betreibers ab.

Die relevante Web-API ist unkompliziert:

// Der CSPRNG des Browsers – verfügbar in allen modernen Browsern
const buffer = new Uint8Array(32);
self.crypto.getRandomValues(buffer);
// buffer enthält nun 32 kryptographisch zufällige Bytes

Passwortspeicherung: bcrypt, scrypt und Argon2

Wenn Dienste Passwörter speichern, sollten sie niemals Klartext oder reversibel verschlüsselte Formen speichern. Der richtige Ansatz ist eine Passwort-Hash-Funktion (PHF) – eine langsame Einwegfunktion, die speziell für diesen Zweck entwickelt wurde.

bcrypt

1999 von Niels Provos und David Mazières entwickelt, enthält bcrypt einen Cost-Faktor, der erhöht werden kann, wenn die Hardware schneller wird. Ein Cost von 12 bedeutet 2¹² = 4.096 Iterationen des Blowfish-Schlüssel-Setups. Heute Standard und weit verbreitet.

scrypt

2009 von Colin Percival entwickelt. Memory-hard – erfordert neben CPU-Zeit große Mengen an RAM, was GPU/ASIC-Angriffe teuer macht. Parameter: N (CPU/Speicherkosten), r (Blockgröße), p (Parallelisierung).

Argon2

Gewinner der Password Hashing Competition (PHC) 2015. Drei Varianten:

  • Argon2d: GPU-resistent, anfällig für Seitenkanalangriffe
  • Argon2i: Seitenkanalresistent, weniger GPU-resistent
  • Argon2id: Hybrid – die empfohlene Standardvariante

Argon2id mit m=65536 (64 MB Speicher), t=3 (3 Iterationen), p=4 (4 Threads) ist der aktuelle Goldstandard für neue Anwendungen.


Zwei-Faktor-Authentisierung: Die unverzichtbare Ergänzung

Selbst ein perfektes Passwort kann durch Phishing, Keylogger oder Datenlecks gestohlen werden. Zwei-Faktor-Authentisierung (2FA) stellt sicher, dass ein gestohlenes Passwort allein nicht ausreicht.

2FA-Methoden (Schwächste bis Stärkste)

Methode Mechanismus Angriffswiderstand
SMS OTP Code per Textnachricht Phishing-anfällig, SIM-Swapping-Gefahr
TOTP (Google Authenticator) Zeitbasierter 6-stelliger Code (RFC 6238) Echtzeit-Phishing-anfällig
Push-Benachrichtigung Bestätigen am Telefon Phishing-anfällig (MFA Fatigue)
Hardware-Key (FIDO2/WebAuthn) YubiKey, Passkey Phishing-resistent
Passkeys Gerätegebundener kryptographischer Key Stärkste Methode; ersetzt Passwörter

FIDO2/WebAuthn Hardware-Keys und Passkeys sind per Design phishing-resistent, da die kryptographische Challenge-Response an die exakte Domain gebunden ist. Eine gefälschte Website kann die Anmeldedaten nicht wiederverwenden.


Zusammenfassung der Best Practices

  1. Verwenden Sie einen Passwortmanager – generieren und speichern Sie einzigartige Passwörter für jedes Konto.
  2. Mindestens 16 Zeichen für sensible Konten; mindestens 12 überall sonst.
  3. Aktivieren Sie 2FA – vorzugsweise FIDO2/WebAuthn oder TOTP; vermeiden Sie SMS, wo möglich.
  4. Verwenden Sie Passwörter niemals wieder – ein Leck auf einer Seite darf andere Konten nicht gefährden.
  5. Prüfen Sie HaveIBeenPwned – verifizieren Sie, dass Ihre E-Mail-Adressen und Passwörter nicht in bekannten Lecks aufgetaucht sind.
  6. Nutzen Sie eine Passphrase für Ihr Master-Passwort – 6+ Diceware-Wörter, merkbar, extrem stark.
  7. Misstrauen Sie „Komplexitätstheater“P@ssw0rd123 ist viel schwächer als xK8mLq2vZnRj.
  8. Priorisieren Sie die Länge – 20 zufällige Kleinbuchstaben (94 Bits) schlagen 12 komplexe Zeichen (78 Bits).
  9. Aktualisieren Sie kompromittierte Passwörter sofort – ändern Sie sie nur bei Bedarf, nicht nach willkürlichen Zeitplänen.
  10. Nutzen Sie Tools zur Leck-Überwachung – Dienste wie Firefox Monitor oder 1Password Watchtower überwachen Ihre Konten kontinuierlich.

Häufig gestellte Fragen (FAQ)

F: Wie lang sollte mein Passwort sein? Für die meisten Konten bieten 16 zufällige Zeichen aus einem vollen 94-Zeichensatz etwa 105 Bits Entropie – mehr als ausreichend. Für hochkarätige Konten (Banking, E-Mail, Passwortmanager) verwenden Sie 20+ Zeichen oder eine 6-Wort-Passphrase.

F: Ist es sicher, einen Online-Passwortgenerator zu verwenden? Nur wenn die gesamte Generierung clientseitig (in Ihrem Browser) ohne Serverkommunikation erfolgt. Unser Tool erfüllt diese Anforderung. Überprüfen Sie dies im Netzwerk-Tab des Browsers – es sollten keine Anfragen beim Generieren eines Passworts gesendet werden.

F: Sollte ich Symbole verwenden? Symbole erhöhen die Entropie pro Zeichen (6,55 Bits gegenüber 5,17 Bits für nur Kleinbuchstaben), also ja – wenn die Website sie erlaubt. Ein längeres Passwort ohne Symbole kann jedoch die Entropie eines kürzeren mit Symbolen erreichen.

F: Können Quantencomputer mein Passwort knacken? Der Grover-Algorithmus verleiht Quantencomputern eine quadratische Beschleunigung für Brute-Force-Angriffe, was die Sicherheitsbits effektiv halbiert. Ein 256-Bit-Schlüssel wird so sicher wie ein 128-Bit-Schlüssel. Für Passwörter bedeutet dies, dass man 256-Bit-Entropie-Passwörter für langfristige Quantenresistenz bräuchte – erreichbar mit einem 40-stelligen Passwort aus 94 Zeichen (262 Bits). Für die meisten aktuellen Bedrohungen sind 128 Bits Entropie (20 zufällige Zeichen) mehr als ausreichend.

F: Was ist falsch an merkbaren Passwörtern wie IchLiebePizza2024? Sie sind anfällig für Wörterbuchangriffe. Die Rule-Engine von Hashcat generiert trivialerweise Millionen Variationen gängiger Phrasen mit Leetspeak, Großschreibung und angehängten Zahlen. Selbst scheinbar persönliche Passwörter folgen Mustern, die Angreifer statistisch modellieren.

F: Wie generiert dieses Tool Zufälligkeit? Wir verwenden crypto.getRandomValues() – die Web Cryptography API, die auf dem CSPRNG Ihres Betriebssystems basiert. Dies ist dieselbe Zufallsquelle, die für TLS/SSL, SSH-Key-Generierung und andere kryptographische Operationen in Ihrem Browser verwendet wird.