Sprache auswählen

Ein sicherer Passwortgenerator basierend auf kryptografischen Pseudozufallszahlengeneratoren

Dieses Papier stellt einen sicheren Passwortgenerator vor, der auf HMAC-, CMAC- und KMAC-basierten PRNGs basiert und über NIST SP 800-90B Entropie- und IID-Tests validiert wird.
computationalcoin.com | PDF Size: 0.5 MB
Bewertung: 4.5/5
Ihre Bewertung
Sie haben dieses Dokument bereits bewertet
PDF-Dokumentendeckel - Ein sicherer Passwortgenerator basierend auf kryptografischen Pseudozufallszahlengeneratoren

Inhaltsverzeichnis

1. Einleitung

Anhaltende Berichte über die Kompromittierung von Website-Konten und Passwörtern unterstreichen die kritische Bedeutung von Informations- und Passwortsicherheit. Während Schwachstellen auf Websites ein Faktor sind, ist die inhärente Sicherheit des Passworts selbst von größter Bedeutung. Zu den gängigen unsicheren Passwortpraktiken gehören schlüsselwortbasierte Passwörter, die Verwendung gängiger Phrasen, die Einbeziehung persönlicher Informationen und die Wiederverwendung von Passwörtern. Der Aufstieg von KI und großen Sprachmodellen befähigt Angreifer weiterhin, Passwörter effektiver zu erraten.

Diese Forschung schlägt einen sicheren Passwortgenerator vor, der auf kryptografisch sicheren Pseudozufallszahlengeneratoren (PRNGs) basiert. Es konstruiert PRNGs unter Verwendung von Keyed-Hash Message Authentication Code (HMAC), Cipher-based MAC (CMAC) oder KECCAK MAC (KMAC), um sichere Zufallszahlen zu erzeugen, die dann zur Erzeugung von Passwörtern verwendet werden. Die erzeugte Zufälligkeit wird anhand des NIST SP 800-90B-Standards durch Entropie- und Independent and Identically Distributed (IID)-Tests validiert.

2. Literaturübersicht

2.1. Linearer Kongruenzgenerator-basierter PRNG

Häufig in Sprachen wie C und Java verwendet, erzeugen LCGs eine Sequenz über die Rekursionsrelation: $f_i(k) \equiv a \times f_{i-1}(k) + c \ (\text{mod} \ m)$, gesät durch $k$. Sie sind unsicher, da der Zustand umgekehrt werden kann: $f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$, was den Seed und die gesamte Sequenz offenlegt.

2.2. Sichere Pseudozufallszahlengeneratoren

Kryptografische PRNGs sind so konzipiert, dass sie selbst dann unvorhersehbar sind, wenn Teile der Ausgabe bekannt sind.

2.2.1. HMAC-basierter PRNG

Die Sicherheit beruht auf der Einweg-Eigenschaft von Hash-Funktionen (z.B. SHA2, SHA3). Für einen Schlüssel $k$ und eine Nachricht $M$ wird der HMAC berechnet als: $r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$. Der Zählermodus wird verwendet, um mehrere Blöcke für längere Ausgaben zu erzeugen.

2.2.2. CMAC-basierter PRNG

Die Sicherheit basiert auf dem Advanced Encryption Standard (AES). Er arbeitet im Cipher Block Chaining (CBC)-Modus. Der letzte Chiffretextblock nach der Verarbeitung der gepaddeten Nachricht dient als MAC/Ausgabe: $r_{cmac}(k, Split(M))$.

2.2.3. KMAC-basierter PRNG

Basierend auf der SHA-3 (KECCAK)-Hash-Funktion bietet KMAC eine variabel lange Ausgabe und gilt als starker Kandidat für Post-Quanten-Kryptografie.

2.3. Methoden zur Validierung von Zufälligkeit

NIST SP 800-90B bietet Methoden zur Bewertung von Entropiequellen. Die Entropieschätzung quantifiziert die Unvorhersehbarkeit (Min-Entropie). Der IID-Test prüft, ob die Daten unabhängig und identisch verteilt sind, eine Schlüsselannahme für viele statistische Tests. Das Bestehen dieser Tests validiert die Qualität der Zufälligkeitsquelle.

3. Vorgeschlagener sicherer Passwortgenerator

Die Systemarchitektur umfasst: 1) Der Benutzer kann optional eine To-Be-Hashed Message (TBHM) bereitstellen. 2) Ein kryptografischer PRNG (HMAC/CMAC/KMAC-basiert) verwendet die TBHM (und einen Schlüssel), um einen hoch-entropischen Bitstrom zu erzeugen. 3) Dieser Bitstrom wird auf einen benutzerdefinierten Zeichensatz (z.B. alphanumerisch + Symbole) einer bestimmten Länge abgebildet, um das endgültige Passwort zu erzeugen. Die Sicherheit wird analysiert, indem der Suchraum des Passworts mit den Schlüsselstärken von AES-128 und AES-256 verglichen wird.

4. Experimente und Ergebnisse

4.1. Experimenteller Aufbau

Implementierung der drei PRNG-Typen (HMAC-SHA256, CMAC-AES-128, KMAC256). Erzeugung großer Sequenzen von Zufallsbits für Tests.

4.2. Ergebnisse der Zufälligkeitsvalidierung

Hauptergebnis: Alle drei vorgeschlagenen PRNG-Konstruktionen (HMAC, CMAC, KMAC) haben sowohl die Entropievalidierung als auch die IID-Tests gemäß NIST SP 800-90B erfolgreich bestanden. Dies zeigt empirisch, dass die erzeugten Zahlen ausreichende Zufälligkeit und statistische Qualität für die kryptografische Passworterzeugung besitzen.

4.3. Leistungsanalyse

Die Recheneffizienz wurde bewertet. Während alle Methoden praktikabel sind, können KMAC und HMAC je nach Plattform unterschiedliche Leistungsprofile aufweisen, wobei AES-basierter CMAC auf Hardware mit AES-Beschleunigung oft schneller ist.

5. Schlussfolgerung und zukünftige Arbeit

Dieses Papier stellte ein Framework für einen sicheren Passwortgenerator vor, das auf kryptografischen PRNGs (HMAC, CMAC, KMAC) basiert. Die erzeugte Zufälligkeit wurde unter Verwendung von NIST-Standards validiert, was ihre Eignung bestätigt. Zukünftige Arbeiten umfassen die Integration des Generators in Browser-Erweiterungen oder Passwort-Manager, die Erforschung seiner Verwendung zur Erzeugung kryptografischer Schlüssel über Passwörter hinaus und die Prüfung der Widerstandsfähigkeit gegen neuartige KI-basierte Ratenangriffe.

6. Originalanalyse & Expertenkommentar

Kernaussage: Dieses Papier erfindet keinen neuen Chiffre; es ist eine pragmatische, standardkonforme Ingenieurslösung für ein allgegenwärtiges menschliches Problem: die Erstellung schwacher Passwörter. Sein Kernwert liegt in der korrekten Anwendung etablierter kryptografischer Primitiven (HMAC, CMAC, KMAC) als NIST-empfohlene PRNGs und der rigorosen Validierung der Ausgabe – ein Schritt, der bei "DIY"-Passwortgeneratoren oft übersehen wird. In einer Ära, in der KI persönliche Datenmuster modellieren kann (wie in der Forschung zu KI-gestütztem Passwortraten wie PassGAN zu sehen), ist die Verlagerung der Passwortzufälligkeit vom menschlichen Gehirn auf validierte kryptografische Algorithmen ein nicht verhandelbares Sicherheitsupgrade.

Logischer Ablauf: Die Logik ist schlüssig und folgt einem klassischen Template der angewandten Kryptografie: 1) Schwachstelle identifizieren (schwache, vom Menschen erzeugte Passwörter). 2) Geeignete, geprüfte kryptografische Werkzeuge auswählen (NIST SP 800-108 PRNGs). 3) Ein System konstruieren (PRNG-Ausgabe auf Zeichensatz abbilden). 4) Die Kernkomponente validieren (PRNG-Ausgabe via NIST SP 800-90B). Diese Methodik spiegelt Best Practices im sicheren Systemdesign wider, ähnlich wie moderne Bibliotheken wie `libsodium` robuste, standardmäßig sichere Primitiven priorisieren.

Stärken & Schwächen:
Stärken: Die rigorose NIST-Validierung ist die größte Stärke des Papiers und verleiht empirische Glaubwürdigkeit. Die Verwendung von KMAC steht im Einklang mit der Post-Quanten-Vorbereitung. Die optionale Benutzereingabe (TBHM) ist ein cleveres Feature, das bei Bedarf eine deterministische Passwortregeneration ermöglicht, ohne die Sicherheit zu gefährden, wenn der PRNG robust ist.
Schwächen: Die primäre Einschränkung des Papiers ist sein Umfang als Proof-of-Concept. Es fehlt eine Analyse der realen Implementierung, die sich mit Seitenkanälen (Timing-Angriffe während der Abbildung), sicherer Schlüsselverwaltung für den PRNG und Integrationsherausforderungen mit bestehenden Passwortrichtlinien befasst. Darüber hinaus analysiert es, obwohl es die Passwortstärke mit AES vergleicht, nicht tiefgehend den Entropieverlust während des Zeichensatz-Abbildungsprozesses, was ein entscheidendes Detail für kurze Passwörter ist.

Umsetzbare Erkenntnisse: Für Sicherheitspraktiker ist die Erkenntnis klar: Hören Sie auf, Benutzer oder naive Zufallsfunktionen Passwörter wählen zu lassen. Implementieren Sie einen Backend-Passwortgenerator wie diesen für "Passwort vergessen"-Zurücksetzungen oder die anfängliche Benutzereinrichtung. Die spezifische Wahl des PRNG kann angepasst werden: Verwenden Sie CMAC-AES für Geschwindigkeit auf gängigen Servern, KMAC für langfristige Quantenbedenken. Entscheidend ist, dass jede Einführung die Verwaltung des PRNG-Seeds/Schlüssels mit derselben Strenge wie jeden kryptografischen Schlüssel beinhalten muss. Diese Arbeit sollte in Frameworks wie OWASP's Authentication Cheat Sheet als empfohlenes Muster für sichere Passworterzeugung integriert werden.

7. Technische Details & Mathematische Formulierung

Die Sicherheit hängt von den PRNG-Formulierungen ab. Für HMAC:
$r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$
wobei $h$ ein Hash wie SHA-256 ist, $ipad/opad$ Konstanten sind und $k$ der Schlüssel ist. Für die Passworterzeugung wird ein Zähler $i$ in $M_i$ eingebunden, um mehrere Blöcke zu erzeugen: $M_i = i || \text{Label} || 0x00 || \text{Context} || L$. Die Ausgabebits werden dann in einen ganzzahligen Index umgewandelt, um Zeichen aus dem Zeichensatz $C$ der Größe $N$ auszuwählen: $\text{index} = \text{random_bits} \mod N$.

8. Analyseframework & Fallbeispiel

Szenario: Ein Webdienst muss ein starkes 12-stelliges Passwort für ein neues Benutzerkonto generieren.
Framework-Anwendung:
1. Parameter definieren: Zeichensatz $C$ = 94 druckbare ASCII-Zeichen. Länge $L=12$. PRNG-Wahl: HMAC-SHA256.
2. Zufälligkeit erzeugen: Entropie für Seed $k$ sammeln. TBHM = "serviceX_user123" verwenden. HMAC-basierten PRNG im Zählermodus ausführen, um $\lceil log_2(94^{12}) \rceil \approx 79$ Bits Entropie zu erzeugen.
3. Auf Passwort abbilden: Den 79-Bit-Strom verwenden, um 12 Indizes zu erzeugen, die jeweils ein Zeichen aus $C$ auswählen.
4. Validierungsprüfung: Die Entropie des erzeugten Passworts beträgt ~78,5 Bits, vergleichbar mit einem ~80-Bit symmetrischen Schlüssel, deutlich stärker als jedes vom Menschen gewählte Passwort.
No-Code-Workflow: Dieser Prozess kann in einen serverseitigen API-Aufruf gekapselt werden, der die Kryptografie vollständig vom Endbenutzer abstrahiert.

9. Zukünftige Anwendungen & Richtungen

1. Passwort-Manager-Kern-Engine: Integrieren Sie diesen Generator als Standard-Passworterzeugungs-Engine in Open-Source- und kommerzielle Passwort-Manager (z.B. Bitwarden, 1Password).
2. Post-Quanten-Übergang: KMAC-basierte Erzeugung ist eine fertige Lösung für quantenresistente Passwort- und Token-Erzeugung, wie vom NIST Post-Quantum Cryptography-Projekt empfohlen.
3. IoT & Embedded Security: Leichtgewichtige CMAC-AES-Versionen können eindeutige Gerätepasswörter und API-Schlüssel in eingeschränkten Umgebungen erzeugen.
4. Blockchain & Web3: Erzeugen Sie sichere, zufällige Mnemonic-Phrase-Seeds für Kryptowährungs-Wallets unter Verwendung einer nachweislich zufälligen Quelle.
5. Standardisierung: Schlagen Sie diese Methodik Standardisierungsgremien wie IETF oder FIDO zur Aufnahme in die nächste Generation von Authentifizierungsprotokollen vor.

10. Referenzen

  1. M. Bishop, "Computer Security: Art and Science", Addison-Wesley, 2018.
  2. NIST, "Special Publication 800-63B: Digital Identity Guidelines", 2017.
  3. M. L. Mazurek et al., "Measuring Password Guessability for an Entire University", IEEE S&P, 2013.
  4. B. Ur et al., "How Does Your Password Measure Up? The Effect of Strength Meters on Password Creation", USENIX Security, 2012.
  5. NIST, "Special Publication 800-108: Recommendation for Key Derivation Using Pseudorandom Functions", Rev. 1, 2022.
  6. NIST, "Special Publication 800-90B: Recommendation for the Entropy Sources Used for Random Bit Generation", 2018.
  7. J. Kelsey, B. Schneier, D. Wagner, "Secure Applications of Low-Entropy Keys", ISW, 1997.
  8. FIPS PUB 202, "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions", 2015.
  9. B. Hitaj et al., "PassGAN: A Deep Learning Approach for Password Guessing", NeurIPS Workshop, 2017.
  10. D. J. Bernstein et al., "The Security Impact of a New Cryptographic Random Number Generator", 2020.