fips – 符合FISMA /其他联邦信息系统要求的哈希算法

我在一个必须满足FISMA系统要求的FISMA要求的组织中工作.我要做的一件事就是为我们的密码实现哈希算法.我有很多选择:SHA-2,MD5,bcrypt(与Blowfish),RIPE等.

阅读各种NIST出版物,FISMA没有说明我必须使用特定的算法来满足他们的要求.

但是,根据FISMA,FIPS 180-4指定WHICH哈希算法被认为是安全的,这是SHA-1到SHA-512/256. NIST SP 800-132还建议使用PBKDS2.

这是否意味着:
一个).我必须使用SHA作为哈希算法来传递FISMA审计/要求吗?

…要么…

B).我可以使用任何算法,只要它比SHA更好吗?即不要使用MD5,但是bcrypt或RIPE没问题.

最佳答案 是的,你必须使用SHA.
SP 800-53在所有地方引用了FIPS 140-2,这意味着您必须使用SHA-256或SHA-512. (
Avoid SHA-1).

它在MEMORANDUM FOR HEADS OF EXECUTIVE DEPARTMENTS AND AGENCIES年从总统行政办公室清楚地阐明:

11. Is use of National Institute of Standards and Technology (NIST) publications
required?

Yes. For non-national security programs and information systems, agencies
must follow NIST standards and guidelines.

12. Are NIST guidelines flexible?

Yes. While agencies are required to follow NIST standards and guidelines in
accordance with OMB policy, there is flexibility within NIST’s guidelines
(specifically in the 800-series) in how agencies apply them. However,
Federal Information Processing Standards (FIPS) are mandatory. …

(并考虑一下.NIST没有发布SHA作为标准,以便您可以去使用别的东西……)

此外,SHA和Bcrypt并不是真正可比的. SHA是一组散列算法. Bcrypt更像是一个以Blowfish算法为核心来生成哈希的过程. Bcrypt的FIPS等价物是PBKDF2,它使用SHA作为其核心算法.

点赞