Moin!
JA da gehöre ich sogar dazu: ich habe eine 6stellige zahlenkombination... eigentlich sicher: 62^6 = 56.800.235.584
6stellige Passwörter sind grundsätzlich als UNSICHER anzusehen.
Insbesondere, wenn du die Zusatzinformation mitgibst, dass es sich nur um Zahlen handelt. Denn dann sind lediglich eine Million Kombinationen zu prüfen.
Mal eine kurze Überschlagsrechnung:
Angenommen, das Prüfen eines Passwortes dauert 0,01 Sekunden (oder 10 Millisekunden). Dann wird das Prüfen von einer Million Passwörtern genau 10.000 Sekunden dauern, oder 166,6 Minuten, oder 2,7 Stunden.
Nun arbeitet ein Webserver aber nicht linear, sondern er wird viele Requests gleichzeitig verarbeiten. Damit kann man also zehn oder hundert Prozesse gleichzeitig laufen lassen und die Wartezeit damit von 10.000 auf nur noch 1000 oder gar 100 Sekunden verkürzen.
100 Prozesse gleichzeitig wird aber möglicherweise nicht gehen, weil das die verfügbare Bandbreite zum Server etwas überlastet. Also mal kurz gerechten: Ein Passwort-Request benötigt grob 1 KB an Daten für HTTP. Es kommen in einer Sekunde bei einem Request parallel 100 Requests zusammen, also 100 KB/sec. Bei 10 Requests sind das schon 1 MB/sec, und bei 100 Requests sind es 10 MB/sec. Zehn Megabyte in der Sekunde sind aber mit heutigen Netzwerktechnologien gar kein Problem. 100 MBit/s Ethernet schafft das mit Sicherheit. Und an sowas ist eigentlich jeder Server in großen Rechenzentren angeschlossen.
Die Attacke funktioniert also, in 100 Sekunden ist dein Passwort, das nur aus Zahlen besteht, geknackt. SPÄTESTENS. Durchschnittlich ist das Passwort nach der Hälfte der Zeit geknackt.
Jetzt halten wir mal ein 10stelliges, wirklich zeichenreiches Passwort dagegen. 62 verschiedene Zeichen hoch 10 Möglichkeiten sind 839.299.365.868.340.224 Möglichkeiten. Oder kurz gesagt: 8,3 * 10^17 Möglichkeiten.
Wenn es, wie oben, 0,01 Sekunden dauert, um ein Passwort zu checken, und wir 100 Passwörter gleichzeitig prüfen können, schafft man pro Sekunde 10.000 (10^5) Passwörter. Das bedeutet, dass es immer noch 8,3*10^12 Sekunden dauert, alle Passwörter auszuspionieren. Das sind 269844 Jahre.
Aber selbst wenn man die Prüfzeiten nochmal wesentlich verbessert, wird es nicht wesentlich kürzer dauern: Nehmen wir an, dass ein einzelner Thread eine Million Passwörter pro Sekunden prüfen kann, und dass eine Million Prüfungen parallel stattfinden.
Dann dauert die Prüfung immer noch 8,3*10^17 / 10^6 * 10^6 = 8,3*10^5 Sekunden.
8,3*10^5 Sekunden sind 236 Stunden.
Aber bedenke, was der Server dann leisten muß: Er muß die Datenmenge von 10^6*10^6 = 10^12 Kilobyte pro Sekunde verkraften. Oder auch 10 Petabyte pro Sekunde. Das sind 10.000 Terabyte. Oder 10.000.000 Gigabyte. So dicke Leitungen gibts derzeit noch nicht!
Ein zehnstelliges Passwort ist also relativ sicher.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|