Spring Security的BCrypt实施是否易受攻击?

时间:2015-04-20 06:23:43

标签: spring-security bcrypt jbcrypt

我们公司的安全审核发现我们的bcrypt哈希值的前缀是“$ 2a $”。根据[1]和[2],这可能表明使用了较旧的,易受攻击的bcrypt实现。

所以 - 我的问题在这里:

  1. Spring Security的bcrypt实现是否包含此漏洞?
  2. Spring Security是否支持“$ 2x $”和“$ 2y $”前缀?
  3. 参考文献:
    [1] http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html
    [2] http://www.openwall.com/lists/oss-security/2011/06/21/16

1 个答案:

答案 0 :(得分:3)

  1. 您提供的链接是关于BCrypt的C实现中的漏洞。 Spring Security实现是jBCrypt的分支,它是用Java编写的不同实现。

  2. 查看source code,从版本3.2.5开始,Spring Security不支持" $ 2x $"和" $ 2y $"前缀。该实现不包含C漏洞,但它不能与当前基于C的实现(如PHP)互操作。