针对LDAP的验证方法( 六 )


执行与提供证书相关的私有密钥的加密 。
作为(上述身份验证的)展开将需求在传输中敏感数据的保护,客户和服务必须协商其
包含大量适当强度的加密算法的密码适配组 。推荐的密码适配组在部分10中给出 。
服务必须(MUST)验证客户的证书是有效的 。服务将通常检查证书是被已知的CA签发的,
以及在客户的证书链中没有哪个证书是无效的(invalid)和被撤销(revoked) 。服务做这些
检查存在几个过程 。
随着TLS协商的成功完成,客户将发送SASL"EXTERNAL"机制的LDAP绑定请求 。
8.其他机制
LDAP简单("simple")认证选择不适合没有网络或者传输层机密性(安全)的Internet
认证 。
当LDAP包括本机匿名(nativeanonymous)和明文认证机制,"ANONYMOUS"和"PLAIN"
SASL机制不能同LDAP使用 。假如不同于DN的形式的授权标识被客户需求,在传输中保护口
令的机制应该(SHOULD)被使用 。
在本文档中下列基于SASL(SASL-based)的机制没有被考虑:
KERBEROS_V4,GSSAPI和SKEY.
扩展("EXTERNAL")SASL机制能够通过低层(lowerlayer)安全证实交换的使用用于
请求LDAP服务 。假如TLS会话在制造(making)SASL扩展绑定(SASLEXTERNALBind)请
求之前还没有在客户和服务之间建立以及没有其他外部认证证实源(例如,IP-level
security[8]),或者假如TLS会话建立处理期间,服务没有请求客户的认证证实,那么SASL
扩展绑定必须(MUST)以inappropriateAuthentication结果码失败 。任何客户的认证和LDAP
关联的授权状态将丢失,所以LDAP关联在失败之后是在匿名状态 。
9.授权标识
授权标识作为在LDAP绑定请求和回答中SASL证实字段的一部分被携带 。
当扩展("EXTERNAL")机制被协商时,假如证实字段存在,它包含的authzId形式的授
权标识在下面描述 。
其他机制定义在证实字段中的授权标识的单元(location) 。
授权标识是一个UTF-8字符集的字符串,相当于下面的ABNF[7]:
特有的预先定义授权(Specificpredefinedauthorization)(authz)id模式定义
如下——新的模式在将来可能被定义 。
authzId=dnAuthzId/uAuthzId
distinguished-name-basedauthzid.
dnAuthzId="dn:"dn
dn=utf8string;句法在RFC2253中定义
unspecifieduserid,UTF-8encoded.
uAuthzId="u:"userid
userid=utf8string;非特指的句法(syntaxunspecified)
utf8string被定义为一个或者多个ISO10646字符的UTF-8编码 。
所有支持认真证实存储的服务,例如口令或者证书,在目录中必须(MUST)支持dnAuthzId
选择 。
uAuthzId选择答应兼容客户应用程序希望认证本地目录,但是不知道它们自己的甄别名
(DistinguishedName)或者有一个目录实体 。字符串的格式被定义仅作为UTF-8编码的ISO
10646字符集的序列,进一步的解释需要在客户和服务之间优先协定的 。
例如,userid(用户ID)能标识目录服务的明确的用户,或者是一个登录名或者RFC822
电子邮件地址的local-part 。通常uAuthzId必须不能(MUSTNOT)被假定为全局唯一 。
附加的授权标识方案可以(MAY)定义在本文档的将来版本中 。
10.TLS密码适配组
下面定义在[6]中的密码适配组一定不能(MUSTNOT)用于口令或者数据的机密性保护:
TLS_NULL_WITH_NULL_NULL
TLS_RSA_WITH_NULL_MD5
TLS_RSA_WITH_NULL_SHA
下面定义在[6]中的密码适配组能被轻易破解(在1997年标准CPU上少于一周的CPU(计
算)时间) 。客户和服务应该(SHOULD)在使用这些密码适配组保护的口令或者数据的值之前

推荐阅读