funcool / funcool/buddy-hashers

NIST SP 800-63B compliance

Open
#24 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
81
Forks
15
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.