| DiamantNetz 2.0 Sicheres Passwort erzeugen |
| Bitte wählen: Start Login Wallpapers Praktisch Tools Umfragen Infos Blog Job Impressum X |
| Statusinfo ⇒
Neuling TTLsec:3133 Donnerstag, 09.09.2010 Letzte Änderung: 27.08.2010 |
Als Diensteanbieter ist man oft gezwungen, durch Passwörter geschützte Zugangsbereiche anzulegen. Zumeist wird dabei das vom jeweiligen Benutzer verwendete Passwort in verschlüsselter Form beim Anbieter in einer Datenbank gespeichert. Beim Benutzer-Login wird dann das eingegebene (und nach gleichem Verfahren verschlüsselte) Passwort mit dem in der Datenbank gespeicherten Wert verglichen.
Das Problem dabei ist, dass vereinfacht gesagt zu kurze Passworte (mit nur 10-12 Zeichen) mittels Brute-Force und längere, aber einfache Passworte durch intelligente Programmlogik leicht geknackt werden können. Bitte bedenke: Bei professionellen Angriffen (Angreifer hat dabei allerdings - ohne Weboberfläche - direkt Zugriff auf die Datenbank) werden pro Sekunde durchaus mal rasch eine Milliarde(!) Möglichkeiten durchprobiert.
Ein Lösungsansatz ist, zusammen mit dem verschlüsselten Passwort eine zufällig erzeugte lange Zeichenkette (Key) abzuspeichern. Beim Login wird dann der Key anhand des Benutzernamens abgerufen. Diese Zeichen werden VOR der Verschlüsselung an das Passwort "angehängt" und sind somit Bestandteil des Passwortes. Dies sorgt gleichzeitig dafür, dass bei unterschiedlichen Usern trotz gleichem Original-Passwort unterschiedlich verschlüsselte Passwörter gespeichert sind.
Bei ordentlicher Verschlüsselung (also nicht gerade md5) bleiben als Schwachstellen dabei noch die "Zufälligkeit" des Keys und die Gefahr, dass die Datenbank vom Angreifer "geraubt" wird, womit dann die Keys offenliegen und wieder Brute-Force (auf einen bestimmten Benutzer) erfolgreich wird.
In dem hier vorgestellten Verfahren wird der Key daher zuerst verändert und erst danach mit dem Passwort zur späteren endgültigen Verschlüsselung verbunden. Der Key selbst wird durch eine Kombination aus IP, Zeit, Zufallszahl und benutzerseitiger Zufallseingabe erzeugt.
Wenn du eingeloggt bist, kannst du nachfolgend das Verfahren ausprobieren und den Quellcode in Form einer ausführbaren PHP5-Datei herunterladen.
Bitte erst Gast-Login (sh. obiger Menüpunkt; KEINE Registrierung erforderlich)In diesem Zusammenhang könnte dich vielleicht auch der Hashwert Generator oder der Zufallszahl Generator interessieren.