Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIST SP 800-63B compliance #24

Open
jwr opened this issue Oct 22, 2020 · 1 comment
Open

NIST SP 800-63B compliance #24

jwr opened this issue Oct 22, 2020 · 1 comment

Comments

@jwr
Copy link

jwr commented Oct 22, 2020

I am going through requirements outlined in NIST SP 800-63B for AAL1, to make sure that my Clojure application is compliant. When going through section "5.1.1.2  Memorized Secret Verifiers", it seems that :bcrypt+sha512 does fulfill all the requirements, except for:

In addition, verifiers SHOULD perform an additional iteration of a key derivation function using a salt value that is secret and known only to the verifier. This salt value, if used, SHALL be generated by an approved random bit generator [SP 800-90Ar1] and provide at least the minimum security strength specified in the latest revision of SP 800-131A (112 bits as of the date of this publication). The secret salt value SHALL be stored separately from the hashed memorized secrets (e.g., in a specialized device like a hardware security module). With this additional iteration, brute-force attacks on the hashed memorized secrets are impractical as long as the secret salt value remains secret.

As far as I know this is not something that buddy-hashers does at this point?

The NIST guidelines can be found at https://pages.nist.gov/800-63-3/sp800-63b.html and seem not only very reasonable and well-written, but also a rather convenient set of rules that we could all adhere to.

@niwinz
Copy link
Member

niwinz commented Oct 23, 2020

Hello @jwr
You are correct, right now buddy-hashers only uses public salt. A private salt is somethig like HMAC mechanism, that allows invalidate all passwords just changing this private salt. We can think on integrate this as an optional feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants