0

我们目前正在实现几个 Web 应用程序,这些应用程序要求用户创建一个将通过 LDAP 调用进行身份验证的用户登录名。LDAP 服务器和用户帐户将由所有应用程序共享,并且用户的凭据在所有应用程序中都是相同的。

我的问题是散列在标准 LDAP 场景中发生在哪里,在客户端还是 LDAP 服务器负责处理它。据我了解,LDAP 服务器在创建时接收用户密码,并将其散列并存储。(我们计划在客户端 > 网络服务器 > LDAP 服务器之间使用加盐 SHA512 散列和 SSL 连接)

据我了解,散列操作集中在 LDAP 服务器上进行,减轻了客户端的麻烦,并避免了客户端的任何损坏影响其他应用程序。

4

1 回答 1

0

userPassword现代、专业品质的服务器使用密码属性(通常是和)的存储方案,authPassword其中涉及在服务器上执行散列。服务器通常将唯一值(称为盐)附加或添加到密码,然后执行散列函数。“盐”最小化了字典攻击的有效性,也就是说,字典更难为加盐、散列密码创建字典。

应使用 SSL(安全连接),或者应使用 StartTLS 扩展请求提升非安全连接。应使用加密连接,以便密码可以通过 BIND 请求以明文形式传输。通过安全连接以明文形式传输的密码可以通过服务器的密码策略执行机制检查历史记录和质量。对于强制执行密码历史记录和质量检查的服务器,不应预先编码传输密码。因此,对于 LDAP 客户端来说,“麻烦”与其说是“麻烦”,不如说是服务器可以在一个中心位置执行组织范围内和商定的密码质量和历史检查。

也可以看看

于 2012-06-16T10:28:30.777 回答