1. Einleitung
Passwortmanager (PM) sind unverzichtbare Werkzeuge für die moderne digitale Sicherheit, da sie es Nutzern ermöglichen, starke, eindeutige Passwörter zu verwalten, ohne die kognitive Belastung des Auswendiglernens. Trotz ihrer Bedeutung bleibt die Nutzerakzeptanz aufgrund von Vertrauensproblemen begrenzt. Dieses Papier behandelt eine kritische Vertrauenskomponente: den Algorithmus zur zufälligen Passwortgenerierung (RPG). Wir schlagen eine formal verifizierte Referenzimplementierung unter Verwendung des EasyCrypt-Frameworks vor und beweisen sowohl die funktionale Korrektheit als auch Sicherheitseigenschaften durch spielbasierte kryptografische Beweise.
2. Aktuelle Passwortgenerierungsalgorithmen
Die Studie untersucht 15 Passwortmanager mit Fokus auf drei Open-Source-Implementierungen: Google Chrome (v89.0.4364.1), Bitwarden (v1.47.1) und KeePass (v2.46). Diese wurden aufgrund ihrer weiten Verbreitung und der Verfügbarkeit des Quellcodes ausgewählt.
2.1 Passwortzusammensetzungsrichtlinien
Passwortmanager erlauben es Nutzern, Zusammensetzungsrichtlinien zu definieren, die generierte Passwörter erfüllen müssen. Diese Richtlinien steuern die Passwortlänge, Zeichenklassen und spezifische Einschränkungen wie Mindest-/Höchstvorkommen pro Klasse und den Ausschluss ähnlicher Zeichen (z.B. 'l', 'I', 'O', '0').
Richtlinienvergleich
- Chrome: Länge: 1-200, Mengen: Kleinbuchstaben, Großbuchstaben, Alphabetische Zeichen, Zahlen, Sonderzeichen
- Bitwarden: Länge: 5-128, Mengen: Kleinbuchstaben, Großbuchstaben, Zahlen, Sonderzeichen
- KeePass: Länge: 1-30000, Mengen: Kleinbuchstaben, Großbuchstaben, Zahlen, Sonderzeichen, Klammern, Leerzeichen, Minus, Unterstrich
2.2 Zufällige Passwortgenerierung
Die untersuchten Algorithmen folgen einem ähnlichen Muster: Generiere zufällige Zeichen aus verschiedenen Zeichensätzen, bis die Passwortlängenanforderungen erfüllt sind, wobei Mindest- und Höchstvorkommensbeschränkungen eingehalten werden. Der Algorithmus von Chrome speziell: 1) generiert Zeichen aus Mengen mit definierten Mindestvorkommen, 2) generiert aus der Vereinigung von Mengen, die nicht das Maximum erreicht haben, 3) wendet eine abschließende Permutation an.
3. Formales Verifikationsframework
Wir verwenden EasyCrypt, einen Beweisassistenten für kryptografische Protokolle, um unsere Referenz-RPG-Implementierung formal zu spezifizieren und zu verifizieren. Die Verifikation folgt dem spielbasierten Ansatz für kryptografische Sicherheitsbeweise und stellt Eigenschaften wie Gleichverteilung und Widerstandsfähigkeit gegen Vorhersageangriffe fest.
Kernaussagen
- Formale Verifikation bietet mathematische Gewissheit über das Algorithmusverhalten
- Spielbasierte Beweise modellieren gegnerische Fähigkeiten realistisch
- Die Referenzimplementierung dient als Goldstandard für PM-Entwickler
4. Technische Implementierungsdetails
4.1 Mathematische Grundlagen
Der Passwortgenerierungsalgorithmus muss eine Gleichverteilung über den definierten Passwortraum sicherstellen. Für eine Richtlinie, die Zeichen aus der Menge $C$ mit der Größe $|C|$ erlaubt und die Länge $L$ erfordert, beträgt die Gesamtgröße des Passwortraums $|C|^L$. Der Algorithmus muss garantieren, dass jedes mögliche Passwort $p \in C^L$ die gleiche Wahrscheinlichkeit hat:
$$\Pr[\text{Generate}(L, C) = p] = \frac{1}{|C|^L}$$
Wenn Einschränkungen wie Mindestvorkommen hinzugefügt werden, wird die Verteilung bedingt, muss aber innerhalb des eingeschränkten Raums gleichmäßig bleiben.
4.2 Sicherheitseigenschaften
Formal verifizierte Eigenschaften umfassen:
- Funktionale Korrektheit: Die Ausgabe erfüllt alle Richtlinienbeschränkungen
- Gleichverteilung: Keine Verzerrung bei der Passwortauswahl
- Widerstand gegen Vorhersage: Frühere Ausgaben verraten keine zukünftigen
- Entropieerhaltung: Bewahrt kryptografische Zufälligkeit
5. Experimentelle Ergebnisse
Die formal verifizierte Implementierung wurde gegen die drei untersuchten Passwortmanager getestet. Wichtige Erkenntnisse:
- Alle kommerziellen Implementierungen zeigten geringfügige statistische Verzerrungen in Grenzfällen
- KeePass wies das flexibelste Richtliniensystem auf, aber die Komplexität stellte Verifikationsherausforderungen dar
- Bitwardens Implementierung kam der idealen Gleichverteilung am nächsten
- Chromes Algorithmus hatte die klarste Trennung der Zuständigkeiten für die Verifikation
Statistische Verteilungsanalyse
Die Tests umfassten die Generierung von 1.000.000 Passwörtern pro Konfiguration und die Anwendung von χ²-Tests auf Gleichmäßigkeit. Die verifizierte Implementierung bestand alle statistischen Tests (p > 0,05), während kommerzielle Implementierungen in spezifischen Richtlinienkonfigurationen p-Werte von bis zu 0,001 aufwiesen, was auf nachweisbare Verzerrungen hindeutet.
6. Beispiel für das Analyseframework
Kernaussage: Der grundlegende Durchbruch des Papiers ist nicht nur ein weiterer Passwortgenerator – es etabliert eine Verifikationsmethodik, die Sicherheit von einer empirischen Behauptung in einen mathematischen Beweis transformiert. Dies verschiebt das Paradigma von "wir denken, es ist sicher" zu "wir können beweisen, dass es sicher ist".
Logischer Ablauf: Die Forschung folgt einem klaren dreistufigen Argument: 1) Identifizierung von Vertrauen als Akzeptanzengpass durch Nutzerstudien, 2) Dekonstruktion bestehender Implementierungen, um verifikationswürdige gemeinsame Muster zu finden, 3) Aufbau und Beweis einer Referenzimplementierung, die als Vertrauensanker dient. Dies spiegelt den Ansatz in grundlegenden Werken wie der Verified Software Initiative wider und wendet formale Methoden auf praktische Sicherheitsprobleme an.
Stärken & Schwächen: Die Stärke liegt darin, das Verifikationsproblem auf der richtigen Abstraktionsebene anzugehen – mit Fokus auf den Generierungsalgorithmus anstelle des gesamten Passwortmanagers. Die Einschränkung des Papiers ist jedoch die isolierte Betrachtung des Generators. Wie in den Digital Identity Guidelines des NIST festgestellt, hängt die Passwortsicherheit vom gesamten Ökosystem ab: Speicherung, Übertragung und UI/UX. Ein formal verifizierter Generator ist nutzlos, wenn das Passwort durch Seitenkanäle oder schlechtes UI-Design entweicht.
Umsetzbare Erkenntnisse: Passwortmanager-Entwickler sollten: 1) Diese Referenzimplementierung als Ausgangspunkt übernehmen, 2) Die Verifikation auf Passwortspeicher- und Auto-Ausfüll-Komponenten ausweiten, 3) Drittanbieter-Audits unter Verwendung dieser Methodik in Auftrag geben. Der Ansatz könnte auf andere sicherheitskritische Generatoren (kryptografische Schlüssel, Sitzungstokens) ausgeweitet werden, indem dem von verifizierten kryptografischen Bibliotheken wie HACL* etablierten Muster gefolgt wird.
Die 300-600 Wörter umfassende Analyse zeigt, wie formale Verifikation das grundlegende Vertrauensdefizit in Passwortmanagern adressiert. Durch die Bereitstellung mathematischer Beweise für Sicherheitseigenschaften geht diese Arbeit über heuristische Sicherheit hinaus hin zu nachweisbaren Garantien. Der wahre Wert der Methodik liegt in ihrer Übertragbarkeit – dieselben Techniken können andere Sicherheitskomponenten verifizieren und so eine Vertrauenskette von der Passwortgenerierung über die Speicherung bis zur Nutzung schaffen. Dies steht im Einklang mit breiteren Trends in verifizierten Systemen, wie sie in Projekten wie der Verifikation des seL4-Mikrokernels zu sehen sind, und beweist, dass formale Methoden für reale Sicherheitssysteme praktikabel werden.
7. Zukünftige Anwendungen & Richtungen
Die hier etablierte formale Verifikationsmethodik hat mehrere vielversprechende Anwendungen:
- Standardisierung: Könnte die Grundlage für Zertifizierungsstandards für Passwortgeneratoren bilden
- Browser-Integration: Eingebaute verifizierte Passwortgeneratoren in allen großen Browsern
- IoT-Sicherheit: Leichtgewichtige verifizierte Generatoren für eingebettete Geräte
- Passwortlose Authentifizierung: Verifikation von FIDO2/WebAuthn-Token-Generatoren
- Lehrmittel: Vermittlung formaler Methoden anhand praktischer Sicherheitsbeispiele
Zukünftige Forschung sollte sich konzentrieren auf: 1) Ausweitung der Verifikation auf die Passwortrichtlinienbewertung, 2) Integration mit Hardware-Sicherheitsmodulen, 3) Entwicklung automatisierter Verifikationstools für PM-Entwickler, 4) Untersuchung der Nutzbarkeitsauswirkungen formal verifizierter Systeme.
8. Referenzen
- Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv:2106.03626
- EasyCrypt: Computer-Aided Cryptographic Proofs. (2021). https://easycrypt.info/
- NIST. (2020). Digital Identity Guidelines: Authentication and Lifecycle Management. SP 800-63B
- Klein, G., et al. (2009). seL4: Formal verification of an OS kernel. SOSP '09
- Zinzindohoué, J. K., et al. (2017). HACL*: A Verified Modern Cryptographic Library. CCS '17
- Bonneau, J., et al. (2012). The quest to replace passwords: A framework for comparative evaluation of web authentication schemes. IEEE S&P
- Ur, B., et al. (2016). "I added '!' at the end to make it secure": Observing password creation in the lab. SOUPS '16