Correction: H(salt, H(user, ':', password))
This is similar to the use of SRP in RFC-5054, which states the
following regarding the use of SHA-1:
https://datatracker.ietf.org/doc/html/rfc5054#section-3.4
"""
3.4. Hash Function Considerations
This protocol uses SHA-1 to derive several values:
o u prevents an attacker who learns a user's verifier from being
able to authenticate as that user (see [SRP-6]).
o k prevents an attacker who can select group parameters from being
able to launch a 2-for-1 guessing attack (see [SRP-6]).
o x contains the user's password mixed with a salt.
Cryptanalytic attacks against SHA-1 that only affect its collision-
resistance do not compromise these uses. If attacks against SHA-1
are discovered that do compromise these uses, new cipher suites
should be specified to use a different hash algorithm.
In this situation, clients could send a Client Hello message
containing new and/or old SRP cipher suites along with a single SRP
extension. The server could then select the appropriate cipher suite
based on the type of verifier it has stored for this user.
"""
And
https://datatracker.ietf.org/doc/html/rfc2945#section-4 (the RFC
describing SRP-3, Firebird uses SRP-6a) states:
"""
4. Security Considerations
[..]
SRP has been designed not only to counter the threat of casual
password-sniffing, but also to prevent a determined attacker equipped
with a dictionary of passwords from guessing at passwords using
captured network traffic. The SRP protocol itself also resists
active network attacks, and implementations can use the securely
exchanged keys to protect the session against hijacking and provide
confidentiality.
SRP also has the added advantage of permitting the host to store
passwords in a form that is not directly useful to an attacker. Even
if the host's password database were publicly revealed, the attacker
would still need an expensive dictionary search to obtain any
passwords. The exponential computation required to validate a guess
in this case is much more time-consuming than the hash currently used
by most UNIX systems. Hosts are still advised, though, to try their
best to keep their password files secure.
"""
(though keep in mind that was written 2000)
--
Mark Rotteveel