密码加密

您可以使用 IBM® Security Directory Server 来阻止对用户密码进行未经授权的访问。 通过使用单向加密格式,可以对用户密码进行加密并将其存储在目录中。 该加密可防止任何用户以及系统管理员访问清除密码。

管理员可以将服务器配置为以单向加密格式或双向加密格式对 userPassword 属性值进行加密。

单向加密格式:
  • Crypt
  • MD5
  • PBKDF2
  • SHA-1
  • Salted SHA-1
  • SHA-2
  • Salted SHA-2

配置服务器后,任何新密码 (对于新用户) 或修改后的密码 (对于现有用户) 都将在存储在目录数据库中之前进行加密。 加密密码使用加密算法名称进行标记,以便以不同格式加密的密码可以在目录中共存。 当加密配置发生更改时,现有加密密码保持不变并继续工作。

对于需要检索明文密码的应用程序 (例如中间层认证代理程序) ,目录管理员需要将服务器配置为对用户密码执行双向加密或不进行加密。 在此实例中,存储在目录中的清除密码受目录 ACL 机制保护。

双向加密格式:
  • AES

提供了双向加密选项 AES ,以允许在目录中对 userPassword 属性的值进行加密,并将其作为原始明文格式的条目的一部分进行检索。 它可以配置为使用 128 位, 192 位和 256 位密钥长度。 某些应用程序 (例如,中间层认证服务器) 要求以明文格式检索密码,但是,公司安全策略可能禁止将明文密码存储在辅助永久存储器中。 此选项满足这两个需求。

如果绑定请求中提供的密码与 userPassword 属性的任何多个值匹配,那么简单绑定将成功。

使用 Web Administration配置服务器时,可以选择下列其中一个加密选项:
无加密。 密码以明文格式进行存储。
Crypt
在将密码存储在目录中之前,使用 UNIX 加密算法对密码进行加密。
PBKDF2
密码在存储到目录中之前,由 PBKDF2 系列加密算法进行加密。 以下列表描述了 PBKDF2 系列加密算法下受支持的加密方案:
  • PBKDF2-SHA1
  • PBKDF2-SHA224
  • PBKDF2-SHA256
  • PBKDF2-SHA384
  • PBKDF2-SHA512
注: 您无法使用 Web 管理工具来配置 PBKDF2 算法。 请使用标准 LDAP 修改操作来配置此算法。
MD5
密码先由 MD5 消息摘要算法进行加密,然后再存储在目录中。
SHA-1
密码先由 SHA-1 加密算法进行加密,然后再存储在目录中。
Salted SHA-1
密码先由 Salted SHA-1 加密算法进行加密,然后再存储在目录中。
SHA-2
密码先由 SHA-2 系列加密算法进行加密,然后再存储在目录中。 SHA-2 系列加密算法支持以下加密方案:
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512
Salted SHA-2
密码先由 Salted SHA-2 系列加密算法进行加密,然后再存储在目录中。 Salted SHA-2 系列加密算法支持以下加密方案:
  • SSHA-224
  • SSHA-256
  • SSHA-384
  • SSHA-512
AES128
密码在存储在目录中之前由 AES128 算法加密,并作为原始清晰格式的条目的一部分进行检索。
AES192
密码在存储在目录中之前由 AES192 算法加密,并作为原始清晰格式的条目的一部分进行检索。
AES256
密码在存储在目录中之前由 AES256 算法加密,并作为原始清晰格式的条目的一部分进行检索。
注: 先前发行版中提供的 imask 格式不再是加密选项。 但是,任何现有的 imask 加密值仍有效。
缺省选项为 AES256。 更改已在服务器配置文件的密码加密伪指令中注册:
ibm-SlapdPwEncryption: AES256
该服务器配置文件位于以下位置:
<instance_directory>\etc\ibmslapd.conf 

userPassword外, secretKey 属性的值始终在目录中加密为 "AES256"。 与 userPassword不同,将对 secretKey的值实施此加密。 未提供其他选项。 secretKey 属性是 IBM定义的模式。 应用程序可以使用此属性来存储需要始终在目录中加密的敏感数据,并通过使用目录访问控制来检索明文格式的数据。

请参阅 IBM Security Directory Server 文档 中的 安装和配置 部分,以获取有关配置文件的更多信息。

要指定密码加密的类型,请使用下列其中一种方法:

注意:
  1. 如果使用了 UNIX crypt 方法,那么只有前 8 个字符有效。
  2. 可以使用单向加密密码进行密码匹配,但无法对其进行解密。 在用户登录期间,将对登录密码进行加密并与存储的版本进行比较以进行匹配验证。