On 04/12/2020 16:03, Dimitry Sibiryakov wrote:
04.12.2020 16:20, Mark Rotteveel wrote:
After closer inspection, I found the issue. The SHA-1 hash of DAVIDS is 00AD377F8297F04FD83DFDBF48AABF316850862F. Seeing that leading zero, I guessed that might be part of the problem. After stripping the leading zero from the user hash in Jaybird, the authentication succeeds.

The roundtrip from hash bytes to BigInteger back to bytes as hash input (in RemotePassword::clientProof (srp.cpp) and makeProof (srp.h)), probably strips any leading zero byte(s).

  So the question now is whether it is a bug in Firebird Srp implementation or Jaybird one. I would say the former.
Does the same problem exist with Firebird SRP and SHA-256. This uses a different codebase to SHA-1, so it would be interesting to know whether the problem is specific to SHA-1. It also begs the question: if you are serious about SRP security then why are you still using SHA-1?


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to