Halihallo Chris
Was'n ein Zweischlüssel-Verfahren???
Na eben ein Verfahren mit zwei Schlüsseln. Über den einen identifiziert sich der User und der andere dient der Authentizitätsprüfung. Loginname und Passwort bilden z.B. ein solches Schlüsselpaar.
OK :-)
... oder beim erfolgreichen Login wieder zurückgesetzt werden (was besser wäre).
So macht das GMX, wenn ich nicht irre.
Das das Schlüsselpaar irgendwann passt könnte auch "zufällig" nach 7443 Versuchen stattfinden und die sind in wenigen Sekunden durchgehackt.
Das ist richtig.
und sonstigem Schnick-Schnack wie Glasfaseranbindung zum nächsten Backbone Sinn,
denn: für eine Bruteforce-Attacke und diese versuchst du mit deinem System abzuwehren,
braucht es eine gigantische Anbindung um überhaupt effektiv zu sein... Hast du schonmal
versucht einen 128-bit Schlüssel mit 11Mbit Anbindung über HTTP zu knacken??? -Das macht man zweckmäßigerweise natürlich mit 130 bis 150 parallelen Threads. Soviele verkraften die meisten Apachen. Jeder Thread bearbeitet einen Schlüsselkreis. Das verkürzt die Zeit schon mal um Faktor 150. Wenn auf der anderen Seite ein WebServer mit entsprechend hoher Leistung sitzt, kann man die Zahl der Threads ja beliebig erhöhen. Man muss dann noch nicht einmal die normale Response-Time abwarten. Der Versatz zwischen den Threads kann wenige Microsekunden betragen.
Nun, das ist natürlich richtig. Nur könnte man ein bit an die 128 anhängen und das ganze
ist um den Faktor (2^128-1)/150 wieder verbessert.
Good luck and wait forever.
So lange dauert das dann gar nicht.
Durchschnittlich wird der Schlüssel mit 2^127 Versuchen gefunden. Selbst bei 2000
Requestverarbeitungen pro Sekunde würde dies (2^127/(2^11) Sekunden = 2^116 Sekunden
dauern... Äm, normalerweise überlebt ein Internetprojekt nicht so lange...
Und: 2000 Requests/s sind schon ziemlich viel für ein Apache mit Perl als CGI-Script-
Programmiersprache... Du dafst das ganze auch gerne mal mit 20000 Requests/s
durchrechnen, das Ergebnis wird nicht sonderlich anders...
Nun, du hast mich noch nicht überzeugt... Deine Argumentation ist zwar richtig, aber
bei kleineren Services erreicht durch einen derartigen Angriff wirklich nur eine
DoS. Natürlich, die Wahrscheinlichkeit wäre durch ein Unterlassen deiner Technik
grösser ein Passwort zu cracken; aber empirisch ist es höchst ineffizient.
Ich weiss jetzt ehrlich gesagt nicht, was ich für die bessere Lösung halte:
a) den Kunden wegen eines falschen Passwortes eine Sekunde extra warten zu lassen und
wegen der Verzögerung eine Prozessüberlagerung zu riskieren, die eine DoS-Attacke
wesentlich einfacher macht, nur um die empirisch sehr geringe Wahrscheinlichkeit
einer erfolgreichen Bruteforce-Attacke zu unterbinden oder
b) die genannte Bruteforce-Attacke zu unterbinden.
Hm... Ich tendiere stark zu a, bin jedoch mit dem Argument von b völlig einverstanden.
Was meinst du?
Viele Grüsse
Philipp
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.