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

时间:2013-01-02 22:18:03

标签: fips

我在一个必须满足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审计/要求吗?

... ... OR

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

2 个答案:

答案 0 :(得分:1)

是的,你必须使用SHA。 SP 800-53在整个地方引用FIPS 140-2,暗示您必须使用SHA-256或SHA-512。 (Avoid SHA-1)。

总统执行办公室的MEMORANDUM FOR HEADS OF EXECUTIVE DEPARTMENTS AND AGENCIES清楚地说明了这一点:

  

11。是使用国家标准与技术研究所(NIST)的出版物       需要?

     

是。对于非国家安全计划和信息系统,机构       必须遵循NIST标准和指南。的 ...

     

12。 NIST指南是否灵活?

     

是。虽然代理商必须遵守NIST的标准和指南      根据OMB政策,NIST的指导方针具有灵活性      (特别是在800系列中)代理机构如何应用它们。的然而,      联邦信息处理标准(FIPS)是强制性的。 ...

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

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

答案 1 :(得分:1)

两者怎么样?使用bcrypt对密码进行哈希/加密,以利用其工作因素功能,提供针对大规模并行暴力攻击的未来验证。然后SHA-512来自bcrypt的结果并存储它。

您可以从bcrypt获得保护,并检查FISMA / FIPS框,因为您正在存储使用其接受的算法生成的哈希值。

即使有人可以强制使用SHA-512来查找生成您已存储在数据库中的相同哈希的输入,该输入也不是可以将用户登录到系统的工作密码。