Zitat von
Delphi-Freak:
Wenn man Challenge und Benutzername mitschickt, dann kann man ja durch ausprobieren auf den Passwort-Hash zurückschließen, von diesem dann auf das Passwort selbst.
Da hätte ich gerne eine "performante" Lösung von dir gesehen
Zitat von
Delphi-Freak:
Meine Idee also: Man überschickt nur Hash(Challenge+'*'+Hash(PW)) und den Benutzernamen; am Server wird nach einem Challenge, zu
IP & Benutzername passend, gesucht, der Hash aus diesem plus PW-Hash aus
DB erzeugt und dann mit dem Hereinkommenden verglichen.
Ein Mitlesender hat also Benutzername und einen Hash aus Challenge und PW, Challenge ist längst nirgends mehr gespeichert und so kann er auch nicht auf das PW zurückschließen.
Ist ja so ähnlich, wie ich geschrieben habe - die Challenge könnte man auch weglassen und nicht wieder mit zurückschicken. Wer aber beide "Wege" abhört, der hat die Challenge ja schon.
Womit ich noch nicht ganz glücklich bin ist, wie es danach weitergeht - also die laufende Authentifizierung, solange der User angemeldet bleibt. Momentan mache ich das über jeweils neu generierte Challenges und Hashes, die als Cookies hinterlegt werden und auch nur eine gewisse Gültigkeit haben. Die könnte man aber abfangen und ein Replay versuchen.
Weiß einer von euch einzuschätzen wie sicher PHP Sessions sind?