Bin mir zwar noch nicht 100% sicher, aber ich glaube ich habe den Wurm gefunden, ich schreibs mal ab:
"Einer der häufigsten Anwendungen ist die Anmeldung eines Benutzers (Clients) an einem Server mittels Benutzername und Passwort.
Das Passwort wird am Client eingetippt. Anschließend werden die Authentisierungsdaten an den Server übertragen und dort wird geprüft, ob der User das korrekte Passwort eingegeben hat.
Müssen wir hierzu das Passwort im Klartext an der Server übermitteln? -> Nein, es genügt in fast allen Fällen, den Hashwert des Passworts zu übertragen."
Das was ich jetzt hier entnehme ist ein 0815-szenario wie bei Facebook, hier im Forum, Mail, etc. anzumelden.
Ich habe bisher mein Passwort noch nie gehasht eingegeben, sondern bisher immer im Klartext. Wenn man vllt. hier ein Beispiel dazu geben könnte wäre das schon mal sehr hilfreich, da mir sowas noch nicht bekannt ist.
"Variante 1: Client -- Passwort im Klartext --> Server
Variante 2: Client -- gehashtes Passwort --> Server
Variante 2 ist wesentlich sicherer, da serverseitig keine Passworte vorliegen und folglich auch nicht von unberechtigten Dritten gelesen werden können. Stattdessen tippt der Benutzer sein Passwort ein und dieses wird auf dem Client in einen Hashwert umgewandelt. Dann überträgt der Client das gehashte Passwort an den Server. Im Server ist der zum Passwort gehörige abgespeichert, so dass der Server prüfen kann, ob der Benutzer das richtige Passwort eingegeben hat."
Also, auf dem Server sind die Passwörter nicht im Klartext abgespeichert ( sondern mit MD4 gehasht
), ...ich verstehe den Satz ja noch nicht einmal. Ist mit Client ein Benutzer gemeint oder ein Anbieter/Dienstleister/whatever -> z.B. Facebook. Auf jeden Fall bedeutet es das wenn ich mein Passwort eingebe, der gehasht wird. Der Server vergleicht dann diesen Hashwert mit dem Hashwert auf dem Server, und wenn diese Übereinstimmen, ist man eingeloggt. Das hört sich für mich an wie Diffie-Helman-Schlüsselaustausch.
Verstehe das ganze aber jetzt noch weniger: wenn ich den Klartext eingebe und der erst dann gehasht wird und dann auf dem Server überprüft wird, oder ob ich direkt mit dem Hashwert an den Server rangehe: was ist da der Unterschied?
Wobei, tatsächlich würde ich jetzt sagen (obwohl da steht das es sicherer ist), das es für die bösen Leute besser wäre den Klartext zu ignorieren und direkt sich mit dem hashwert auseinander zu setzen, da man den "ersten Schritt" (klartext eingeben) übergeht quasi...oder? Zumindest würde das erklären wieso man nicht den Klartext sondern den Hashwert ausfindig machen mag.
edit:
okay, ich glaub ich check's wirklich - bräuchte da aber noch die "Absegnung".
Hashwerte zu ermitteln sind schwieriger, da sie (SHA2) ein "Hashwert", bzw. der Output String (nachdem das Passwort gehasht wurde), ein Zufallsstring zwischen 160-512 Bit haben (ein Passwort mit einer Länge von 24 characktern kann sich ja schon niemand merken). Das erklärt eigtl. schon vieles... ich wurde unterbrochen und hab den Faden verloren --.-- aber wenn das schon einmal in die richtige Richtung geht, freue ich mich bereits el o el
"Einer der häufigsten Anwendungen ist die Anmeldung eines Benutzers (Clients) an einem Server mittels Benutzername und Passwort.
Das Passwort wird am Client eingetippt. Anschließend werden die Authentisierungsdaten an den Server übertragen und dort wird geprüft, ob der User das korrekte Passwort eingegeben hat.
Müssen wir hierzu das Passwort im Klartext an der Server übermitteln? -> Nein, es genügt in fast allen Fällen, den Hashwert des Passworts zu übertragen."
Das was ich jetzt hier entnehme ist ein 0815-szenario wie bei Facebook, hier im Forum, Mail, etc. anzumelden.
Ich habe bisher mein Passwort noch nie gehasht eingegeben, sondern bisher immer im Klartext. Wenn man vllt. hier ein Beispiel dazu geben könnte wäre das schon mal sehr hilfreich, da mir sowas noch nicht bekannt ist.
"Variante 1: Client -- Passwort im Klartext --> Server
Variante 2: Client -- gehashtes Passwort --> Server
Variante 2 ist wesentlich sicherer, da serverseitig keine Passworte vorliegen und folglich auch nicht von unberechtigten Dritten gelesen werden können. Stattdessen tippt der Benutzer sein Passwort ein und dieses wird auf dem Client in einen Hashwert umgewandelt. Dann überträgt der Client das gehashte Passwort an den Server. Im Server ist der zum Passwort gehörige abgespeichert, so dass der Server prüfen kann, ob der Benutzer das richtige Passwort eingegeben hat."
Also, auf dem Server sind die Passwörter nicht im Klartext abgespeichert ( sondern mit MD4 gehasht

Verstehe das ganze aber jetzt noch weniger: wenn ich den Klartext eingebe und der erst dann gehasht wird und dann auf dem Server überprüft wird, oder ob ich direkt mit dem Hashwert an den Server rangehe: was ist da der Unterschied?
Wobei, tatsächlich würde ich jetzt sagen (obwohl da steht das es sicherer ist), das es für die bösen Leute besser wäre den Klartext zu ignorieren und direkt sich mit dem hashwert auseinander zu setzen, da man den "ersten Schritt" (klartext eingeben) übergeht quasi...oder? Zumindest würde das erklären wieso man nicht den Klartext sondern den Hashwert ausfindig machen mag.
edit:
okay, ich glaub ich check's wirklich - bräuchte da aber noch die "Absegnung".
Hashwerte zu ermitteln sind schwieriger, da sie (SHA2) ein "Hashwert", bzw. der Output String (nachdem das Passwort gehasht wurde), ein Zufallsstring zwischen 160-512 Bit haben (ein Passwort mit einer Länge von 24 characktern kann sich ja schon niemand merken). Das erklärt eigtl. schon vieles... ich wurde unterbrochen und hab den Faden verloren --.-- aber wenn das schon einmal in die richtige Richtung geht, freue ich mich bereits el o el
Zuletzt bearbeitet: