I'm writing a Java EE application, which allows new users to register themselves and then log in over the Internet. I'm storing the credentials an a db.
Now, there are several ways to do that, e.g.:
- send username and password, preferably over a TLS/SSL connection
- send username and a hashcode of the password, preferably over a TLS/SSL connection
- use the Secure Remote Password protocol (preferably over a TLS/SSL connection ?)
Reading some articles, it seems the Secure Remote Password Protocol (SRP) is the way to go.
But then reading some other articles it seems as this is only used on some low-level layers, e.g. such as TLS/SSL itself.
I still think, it's recommended to use the Secure Remote Password Protocol on application level.
Is this correct? Or are there some good reasons why this is not needed on application level?