There is a secure auth mode for SSL called TLS-SRP, RFC 5054. It is quite clean, deriving a session key and authenticating the session in the same number of round trips as a regular TLS handshake. It is secure against dictionary attacks.<p><a href="http://srp.stanford.edu/whatisit.html" rel="nofollow">http://srp.stanford.edu/whatisit.html</a><p><a href="http://www.ietf.org/rfc/rfc5054.txt" rel="nofollow">http://www.ietf.org/rfc/rfc5054.txt</a><p>Now, if only more browsers would support it.