Formel für die Berechnung einer Passwort-Stärke?

  • VB.NET
  • .NET 4.5

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Formel für die Berechnung einer Passwort-Stärke?

    Hey,

    hab ein kleines Passwort Genrator tool.
    Nun fehlt noch die Funktion um die Stärke des Passworts zu berechnen & in die Progressbar zu übertragen.

    Folgende Funktione gibt es in mein Tool:
    -Man darf entscheiden ob Kleinbuchstaben verwendet werden dürfen "abcdefghijklmnopqrstuvwxyzyz"
    -Man darf entscheiden ob Großbuchstaben verwendet werden dürfen "ABCDEFGHIJKLMNOPQRSTUVWXYZYZ"
    -Man darf entscheiden ob Nummern verwendet werden dürfen "1234567890"
    -Man darf entscheiden ob Sonderzeichen verwendet werden dürfen "!"§$%&/()=?´+#-.,<^°`*'_:;>@€|~\²³{[]}µ"
    -Man darf entscheiden wie lang das Passwort sein darf

    Ich hab mir sowas ausgedacht:

    Visual Basic-Quellcode

    1. Dim Multiplizierer As Integer = 0
    2. Dim PWStärke As Integer = 0
    3. If LowerCaseBox.CheckState = CheckState.Checked Then
    4. Multiplizierer += 25
    5. End If
    6. If UpperCaseBox.CheckState = CheckState.Checked Then
    7. Multiplizierer += 25
    8. End If
    9. If NumbersBox.CheckState = CheckState.Checked Then
    10. Multiplizierer += 25
    11. End If
    12. If CharsBox.CheckState = CheckState.Checked Then
    13. Multiplizierer += 25
    14. End If
    15. PWStärke = PasswortLängeBox.Value * Multiplizierer
    16. ProgressBar1.Value = PWStärke
    17. Stärke.Text = PWStärke.ToString & "%"


    Da es 4 Funktione(Groß./klein./Sonder./Nummer.) gibts & standart maximal wert in der Progressbar 100 ist,hatte ich zum Anfang einfach mit 25% pro Funktion begonnen.
    Am Ende hätte er es dann so berechnet: Alle Funktione * TexLänge
    Progressbar maximal wert wäre dann bei PasswortBox.Länge * 100.

    Naja jede Funktion (Groß./klein./Sonder./Nummer.) 25% zu geben finde ich als falsch & etwas zu ungenau...
    Wie würdet ihr es machen?

    Wenn das zu ungenau zu berechnen ist, gibt es Möglichkeiten die BIT-Stärke des Passworts anzuzeigen zb. mit Maximal 256Bit?

    Danke

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „SEX“ ()

    SEX schrieb:

    Wie würdet ihr es machen?
    Eher wie "durcheinander" die 4 Zeichensorten angeordnet sind.
    Also
    AAaa11__
    ist schlechter als
    Aa1_Aa1_
    Wenn nicht alle 4 Gruppen vorkommen, würde ich das Passwort ablehnen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Okay eure Methoden klingen gut, werde es probieren danke.
    Ich hatte bei einigen PWGenratoren noch gesehen, dass Sie die Passwort Särke in Bits angezeigt hatten... Kennt sich jemand damit aus?

    Beispiel:


    Unten am Rand wird die Passwort Stärke in Bits angezeigt...
    Wie berechnet man sowas?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SEX“ ()

    Hi
    "Lokomotivenführer" ist kein mir bekanntes Wort. :P
    Ich denke, dass man am besten fährt, die Zahl der Möglichkeiten und die Wahrscheinlichkeit, die Eingabe mit geringem "Aufwand" (--> häufig verwendete Wörter sind anfällig, z.B. Zusammengesetzte Wörter, wie Parise1ffelturmH1lt0n sind zwar nicht unbedingt schlechte Wörter, aber wenn man mit Vornamen Paris heißt und mit Nachnamen Eiffelturm und in einem Hilton-Hotel sein Konto anlegt, da man dort auf Streife ist, wäre das nicht unbedingt so sicher, wie wenn man etwas anderes nimmt, um mal ein uncooles Beispiel zu nennen) zu erreichen, verwendet. Allgemein würde man gegen alle Passwortangriffsverfahren vorgehen, daraus einen Wert für das Passwort ermitteln und anschließend mit einem Schwellwert abgleichen, denke ich.

    Gruß
    ~blaze~
    obwohl man sagen muss dass es schon fast egal ist welches passwort man hat, weil ich benutze seit Jahren für alle meine Konten meinen Vornamen als Passwort und mir ist noch nie etwas passiert.
    und Ja ich benutze auch in diesem Forum meinen Vornamen als Passwort, das wird aber auch niemanden dazu bringen mein Passwort zu knacken, solange Er mich nicht kennt.
    Auserdem, wenn mal ein Account "gehackt" wird, ist das meist nur weil man gephist wurde oder man einen Keylogger auf dem Pc hat.
    Deswegen finde Ich solche zufallspasswortgeneratoren und allgemein das drama darum unnötig.


    ~blaze~ schrieb:

    Hi
    "Lokomotivenführer" ist kein mir bekanntes Wort. :P
    Ich denke, dass man am besten fährt, die Zahl der Möglichkeiten und die Wahrscheinlichkeit, die Eingabe mit geringem "Aufwand" (--> häufig verwendete Wörter sind anfällig, z.B. Zusammengesetzte Wörter, wie Parise1ffelturmH1lt0n sind zwar nicht unbedingt schlechte Wörter, aber wenn man mit Vornamen Paris heißt und mit Nachnamen Eiffelturm und in einem Hilton-Hotel sein Konto anlegt, da man dort auf Streife ist, wäre das nicht unbedingt so sicher, wie wenn man etwas anderes nimmt, um mal ein uncooles Beispiel zu nennen) zu erreichen, verwendet. Allgemein würde man gegen alle Passwortangriffsverfahren vorgehen, daraus einen Wert für das Passwort ermitteln und anschließend mit einem Schwellwert abgleichen, denke ich.

    Gruß
    ~blaze~


    Ich würds lieber etwas genauer haben... Nicht nur diese, es gibt sehr viele Möglichkeiten was zum schlechten Passwort führt.
    Vondaher würde ichs gern mit der BIT-Berechnung machen.

    Nach etwas googlen hab ich herausgefunden dass man es über die Entropy-Theorie 1 / 2 macht...
    Findeleider nix dazu in Google, Kann mir jemand dabei helfen?
    Dieses Tool benutzt das zb: chip.de/downloads/PWGen_20716919.html

    Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von „SEX“ ()

    RodFromGermany schrieb:

    Wenn nicht alle 4 Gruppen vorkommen, würde ich das Passwort ablehnen
    Noch schöner finde ich "genau drei von vier Gruppen" müssen enthalten sein.

    RushDen schrieb:

    ich benutze seit Jahren für alle meine Konten meinen Vornamen als Passwort und mir ist noch nie etwas passiert.
    Wenn du nicht gerade Johann-René-Xaver-Hansjörg-Wilhelm heisst, sind deine Accounts wahrscheinlich einfach nicht interessant genug.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    petaod schrieb:

    "genau drei von vier Gruppen"
    Mindestens drei von vier Gruppen. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!