Skip to content

NIST SP 800-63B compliance #24

Open
@jwr

Description

@jwr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions