![]() |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
Eventuell kann ja Hagen das ganze mal kommentieren, auch Deine Aussage, dass die vielen 't' hintereinander eine Brute-Force-Attacke erschweren sollte. |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
Zitat:
Es wird eine Benutzerschnittstelle, das soll alles möglichst nachvollziehbar sein und nicht verwundern oder gar verärgern. Ich hätte mir die Arbeit ja garnicht gemacht, wenn ich nicht selbst beim Testen plötzlich ganz irritiert gewesen wäre. Zitat:
Zitat:
*** Ich schreibe nacher Hagen eine Mail, er hat ja in jedem Fall viel Erfahrung in dem Bereich und möchte Stellung beziehen. |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
ein grundsätzlicher Einwand: man kann (soll) Passwörter so erzeugen, dass die Folge völlig zufällig ist, z.B. mit einem Passwortgenerator. Das ist auch garkein Problem, aber umgekehrt ist es sehr schwer festzustellen, ob eine Buchstabenfolge zufällig ist (was immer das heisst, denn unter den zufälligen Folgen befinden sich ja auch alle sinnvollen Wörter). Beispiele: VWLOHFZ HAMBURG LJYQXVD SCHATZI UZMZUOE Eigentlich müssten Hamburg und Schatzi mit 0, die 3 anderen (generierten) mit 1 bzw. der für 7 Buchstaben höchsten Zahl bewertet werden. Ich schätze das geht nicht ohne Wörterbuch, und das müsste für jedes Land anders sein. Gruss Reinhard |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Noch wichtiger als die Anzahl und Entropie der Zeichen wäre imo zu prüfen, ob das Passwort zum Großteil aus einem oder 2 Wörtern besteht. Die meisten Angreifer werden nicht alle Möglichkeiten bruteforcen sondern einfach eine Wörterbuchattacke durchführen, mit der sie vielleicht bei 50% der Nutzer erfolgreich sind. Es gibt im Internet Listen mit häufig verwendeten Wörtern oder sogar häufig verwendeten Passwörtern.
Wenn ein Wort gefunden wird, sollte es als nur ein (oder 2?) Buchstabe(n) gewertet werden. (DasPferdFrisstGerneGurkenSalat ist ja schließlich nicht unsicherer als SPFGGS, genauer gesagt ist es sogar sicherer, weil es mehr Wörter als Buchstaben gibt). Kommt halt darauf an, wie viel Aufwand du in die Passwortprüfung investieren willst... [edit]Reinhard Kern war schneller...[/edit] |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
Zitat:
|
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Ja, eine Liste der häufigsten Passwörter zum ausschließen ist auf der ToDo-Liste (siehe erster Post). Das mache ich aber erst, wenn der Code in ein TPasswortEdit eingebaut wird. Die Liste kommt nicht fest in den Code sondern wird per Property publiziert. Dann kann man die auch noch in der Anwendung pflegen und aktualisieren und evtl. auf Wörterbuchgröße erweitern.
Das "Wörter einer Sprache" eine großes Problem sind, hab' ich auch gelesen, genauso Namen und eben Kombinationen daraus. Derzeit ist nur ein Methode drin, die Passwörter aus nur Buchstaben abwertet. Reinhards Beispiel zeigt schön, dass es mathematisch wohl keine sprachübergreifende gute Lösung für das Problem gibt. Mein Ansatz "drängt" den Anwender nur dazu, Zahlen und Sonderzeichen einzubauen, um auf einen besseren Wert zu kommen. Die im Moment noch als Konstanten in der Funktion vorhandenen Werte, werden später auch als Property angeboten. Um den Einwänden Rechnung zu tragen,wird noch Bewertung der Länge und Abwertung von "Nur Buchstaben"-Passwörtern einstellbar. Neben der Manupulation der Einzel-Faktoren, kann ich dann auch Profile anbieten, die von locker bis streng voreinstellen. Ich denke der Code ist schon recht flexibel... setze ich z.B. DiffCharsMaxMulti = 100, ist die Entropie fast schon strenger wie bei PassphraseQuality. *** Was die Komplexität angeht... für das aktuelle Projekt nicht nötig. Dort wird auch nur angezeigt, nicht ein mindest Wert vorgeschrieben. Es sind Fahrzeug-Dokumente, keine geheimen Staatsakten. Aber soll ja alles wiederverwertbar sein und notfalls auch höheren Ansprüchen genügen. |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Vielleicht könnte man als Annäherung analysieren, welche Buchstaben oder Buchstabenpaare oder Silben in der jeweiligen Sprache statistisch am häufigsten aufeinander folgen und dann diese Folgen in den Passwörtern abwerten? Somit muss man nicht ein komplettes Wörterbuch "mitschleppen", sondern nur ein vergleichsweise kleines Sprachprofil. Man könnte vielleicht sogar ein neuronales Netz dafür nehmen.
Ich habe aber keine Ahnung, wie gut so etwas funktionieren würde. Möglicherweise ist die Idee auch nur Mist... |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Hier gibt es einen
![]() EDIT: Auf StackOverFlow gibt es auch ![]() U.A. dort für interessant befunden:
![]() |
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
|
AW: Passwort-Stärke ermitteln (Code und Prüflogik)
Zitat:
Zitat:
Dezeit wird ja geprüft:
Punkt 3 vergibt pro Zeichengruppe einen Multiplikator-Anteil, der später aufaddiert wird. Sind aber nur Groß/Klein-Buchstaben vorhanden, dann wird abgewertet. Punkt 4 ergibt je nach Anzahl unterschiedlicher Zeichen zu Länge einen Multiplikator Punkt 5 Bewertet die Länge expentionel, allerdings etwas abgemildert durch die Log2 Funktion Am Ende steht ein Entropie-Wert (aus Punkt 3/4) und ein Längen-Wert (aus Punkt 4), die miteinander multipliziert das Ergebnis bilden. Grundsätzlich sind alle in Tutorials vorgeschlagenen Prüfmethoden drin. Ebenso kann man durch etwas probieren, die Anteile der einzelnen Methoden am Gesamtergebnis verschieben. Wer also auf Entropie einen riesen Wert legt, kann das mit "DiffCharsMaxMulti = 100" machen. Was noch fehlt sind erweiterte Prüfungen wie Keybord-Layout-Check, TopTen-Passwörter-Check und wohl zu aufwändig, ein Wörterbuch-Check. *** Zum Thema Entropie und Passwortlänge: Kein Mensch/Hacker setzt sich an den PC und probiert manuell zig Tausend Kombinationen an der Tastatur. Es ist entweder ein wissensbasierter Angriff (Geburtstag/Name des Hundes/Passwort-TopTen), der dann einen Glückstreffer bringt oder ein maschineller Angriff auf den Hashcode. Beim Angriff mit Hashcode wird wohl erst eine Wörterbuch-Attacke (einzelne/kombinierte Wörter einer Sprache) erfolgen und danach simples BruteForce... also alle Zeichenkombinationen/Längen durchprobiert. Da bin ich davon überzeugt, das leichte Entropie und breite Nutzung des Zeichensatzes und vor allem Länge den maximalen Schwierigkeitsgrad bringen. Eine maximale Entropie ist garnicht nötig, es werden sowieso maschinell alle Zeichen durchgetestet, also die Schleifen für jede Zeichenposition immer komplett durchlaufen. *** Ich lasse mal das ganze etwas ruhen, ich denke es wurde so ziemlich alles zum Thema angesprochen. Für mich arbeitet die Prüfmethode gut und ich werde die (Logik) ins Projekt übernehmen. Wenn ich mit dem Hauptprojekt weiter bin, werde ich dann hier noch die resultierenden Komponenten anhängen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz