I want to implement a challenge-response login authentication for my web application.
My understanding is that the server has to send back the password salt for the user so that the user can calculate the password hash on the client side and then send it back to the server to compare and check if the user is authenticated or not.
I know this type of authentication is vulnerable to dictionary attacks because the attacker can see the password salt in plain text and brute force attack the server with that password salt.
As always, layers of security is best so I would also add SSL to the equation so the attacker would have to break SSL as well as brute force the password with the salt.
Is there ways I can improve upon this, I have look into SRP (Secure Remote Password) but it seems really complex whereas challenge-response can provide just as much benefit.
hash(salt+password)itself. – xkcd Apr 23 '14 at 11:56