5. 安全注意事项
以下安全考虑专属于可分辨名称的处理。LDAP 的安全考虑在 [RFC4511] 以及构成 LDAP 技术规范 [RFC4510] 的其他文档中讨论。
5.1. 披露
可分辨名称通常由关于其所命名条目的描述性信息构成,这些条目可以是人、组织、设备或其他现实世界的对象。这通常包含以下若干类信息:
- 对象的通用名称(即一个人的全名)
- 电子邮件地址或 TCP/IP 地址
- 其物理位置(国家、地区、城市、街道地址)
- 组织属性(例如部门名称或所属关系)
在某些情况下,这类信息可能被视为敏感信息。在许多国家,存在禁止披露某些类型描述性信息(例如电子邮件地址)的隐私法律。因此,鼓励服务器实现者支持目录信息树 (DIT) 结构规则和命名形式 [RFC4512],因为它们为管理员提供了一种为条目选择适当命名属性的机制。鼓励管理员利用可用的机制、访问控制以及其他管理控制手段,限制将包含敏感信息的属性用于条目命名。此外,还应当考虑使用 LDAP 中的认证与数据安全服务 [RFC4513][RFC4511]。
5.2. 可分辨名称在安全应用中的使用
把 AttributeValue 值从其 X.501 形式转换为 LDAP 字符串表示,并不总是能够可逆地转换回相同的 BER(基本编码规则)或 DER(可分辨编码规则)形式。需要可分辨名称的 DER 形式的一个典型场景是 X.509 证书的校验。
例如,一个由一个 RDN 组成、且该 RDN 包含一个 AVA 的可分辨名称,其类型为 commonName,值是采用 TeletexString 选择的字母 'Sam',在 LDAP 中表示为字符串 <CN=Sam>。另一个可分辨名称的值同样是 'Sam',但采用的是 PrintableString 选择,其表示形式也是 <CN=Sam>。
需要重建值的 DER 形式的应用,在把可分辨名称转换为 LDAP 格式时 不应 (SHOULD NOT) 使用属性语法的字符串表示;它们 应当 (SHOULD) 改用第 2.4 节第一段所述的、以数字符号 ('#' U+0023) 为前缀的十六进制形式。