Delphi-Quellcode:
ProgressBar.Max := 100;
ProgressBar.Min := 0;
ProgressBar.Value := Round(100 * PassphraseQuality('Passwort'));
Aber, man muß immer wissen das obige Funktion eben nur eine "unintelligente" Art ist ein Passwort zu überprüfen.
Auch als gut bewertete Passwörter können durch Datenbank basierte Angriffe eigentlich schlechte Passwörter sein. D.h. ein Angreifer nutzt eine Datenbank mit den häufigsten Passwörtern. In dieser
DB würden viele Passwörter auftreten die durch obigen Algo. als sicher eingestuft wurden. Einzigster Ausweg wäre obige Funktion um diese Datenbank zu erweitern, was aber unmöglich ist
Viel wichtiger wird es dagegen den Benutzer des Passwortes zu schützen.
Erreicht wird dies durch die Anwendung einer secure Hash Function. Diese konvertiert das eingegebene Passwort in eine nicht-rückwandel-bare Form. Sollte eine Verschlüsselung etc. die mit einem solchen konvertierten Passwort erzeugt wurde, gebrochen werden, so ist das eigentlich eingegebene Passwort denoch sicher.
Heutzutage werden häufig Passwörter benutzt die für mehrere verschiedene Accounts gültig sind. Z.b. die PIN des Onlinebankings wird gleichzeitig als Passwort für den Onlinezugang benutzt. Eine "hacker"-Software die dieses passwort direkt ermitteln kann, per Brute Force z.b., würde somit auch Zugang zum Onlinebanking bekommen.
Um dies zu verhindern sollte das Passwort nach Eingabe sofort per hashfunktion in einen Sessionkey umgewandelt werden, und die Eingabe aus dem Speicher gelöscht werden.
Ein guter Passwort-Alswähl-Algorithmus könnte aber basierend auf einer anderen Idee programmiert werden.
Deine Anwendung scannt alle geeigneten Dateien, z.b. im Windows-System Ordner. Der Benutzer muß dann eine dieser Dateien wählen und die Byte-Position, als Zahl, in dieser Datei angeben. Er merkt sich also z.b. "User32.dll" + Position "1356". Nun werden die 256 Bytes aus dieser Datei die an Fileoffset 1356 stehen als Passwort verwendet.
Natürlich kann man diese Datei auch durch Zufall erzeugen, darf dann aber nicht kopiert werden
Ein Angreifer muß nun Zugriff auf diese Datei erlangen.
@sakura: wäre nett wenn das "negaH" in Hagen umgewandelt wird
Leider war Hagen als Name schon vergeben.
Gruß Hagen