@dangoodin Three things the paper got wrong:
* Bitwarden has a minimum of 5000 iterations (https://github.com/bitwarden/clients/blame/e262441999e4e243f903c8a781fcefc7906fa60c/libs/key-management/src/models/kdf-config.ts#L18).
* 1Password's "KDF Parameter Downgrade" attack doesn't exist because they use a PAKE (SRP6a).
* The mitigations for "KDF Parameter Downgrade" attacks is to give anyone trying to log in a password hash of the user's password. "Further, authenticating security-critical user settings like PBKDF parameters (such as the iteration count) would mitigate the KDF attacks (BW07, LP04). The client can use the server-provided KDF parameters to derive the authentication key, use it to verify the integrity of the parameters themselves, and – in case of a mismatch – abort before any further communication with the server." (page 17) An attacker can guess the password and check the MAC to see if it generated the correct key.
Also this is all I really looked at because I was wondering if they found the downgrade attacks I've been complaining about for ~15 years.