Overview#Using the Secure Remote Password (SRP) Protocol for TLS Authentication (TLS-SRP) is described in RFC 5054 and is a set of cryptographic protocols that provide secure communication based on passwords, using an Secure Remote Password Protocol Password-authenticated Key Exchange.
There are two classes of TLS-SRP ciphersuites:
- The first class of cipher suites uses only SRP authentication.
- The second class uses SRP authentication and public Key certificates together for added security.
Usually, TLS uses only public Key certificates for authentication. TLS-SRP uses a value derived from a password (the SRP verifier) and a salt, shared in advance among the communicating parties, to establish a TLS connection. There are several reasons to use TLS-SRP:
- Using password-based authentication does not require reliance on certificate authorities.
- The end user does not need to check the URL being certified. If the server does not know the password equivalent data then the connection simply cannot be made. This prevents Phishing.
- Password authentication is less prone than certificate authentication to certain types of configuration mistakes, such as expired certificates or mismatched common name fields.
- TLS-SRP provides Mutual Authentication (the client and server both authenticate each other), while TLS with server certificates only authenticates the server to the client. Client certificates can authenticate the client to the server, but it may be easier for a user to remember a password than to install a certificate.