1

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

所以 - 这里是我的问题:

  1. Spring Security 的 bcrypt 实现是否包含漏洞?
  2. Spring Security 是否支持“$2x$”和“$2y$”前缀?

参考文献:
[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

4

1 回答 1

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

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

于 2015-04-20T09:52:46.563 回答