附录 B. 变更摘要 (Appendix B. Summary of Changes)
本附录是非规范性的.
本附录总结对 RFC 2251, RFC 2829 和 RFC 2830 所做的实质性变更. 除下文详述的具体变更之外, 本文档的读者还应当知道: 对来自源文档的原始内容做了大量一般性的编辑性改动. 这些改动包括:
-
原本位于 RFC 2251 第 4.2.1 和 4.2.2 节, RFC 2829 (除第 2 节和第 4 节外的全部章节) 和 RFC 2830 中的材料被合并为单一文档.
-
合并后的材料经过大幅重组和编辑, 以将相关主题归组, 改善文档行文并澄清意图.
-
全文做了调整, 以与 LDAP 协议层和 IETF 安全术语的定义保持一致.
-
基于当前运营经验, 对两份文档中的安全考虑做了大量更新与补充.
B.1 对 RFC 2251 的变更 (Changes Made to RFC 2251)
本节总结本文档对 RFC 2251 第 4.2.1 和 4.2.2 节所做的实质性变更. 对 RFC 2251 第 4.2.1 节的其他实质性变更也记录在 [RFC4511] 中.
B.1.1 第 4.2.1 节 ("Bind 请求的排序")
-
第 1 段: 删除了句子 "如果客户端在任何阶段希望中止 bind 过程, 它可以 unbind 然后断开底层连接". Unbind 操作仍然允许这一行为, 只是不再显式写明.
-
澄清了会话在收到 BindRequest PDU 时即被移到匿名状态, 并且只有当 Bind 请求成功时才被移到非匿名状态.
B.1.2 第 4.2.2 节 ("认证与其他安全服务")
- RFC 2251 声明匿名认证必须使用 simple bind 方法执行. 本规范定义了 simple bind 方法的匿名认证机制, 并要求所有符合规范的实现支持它. 产生匿名认证与授权状态的其他认证机制也可以由符合规范的实现实现并使用.
B.2 对 RFC 2829 的变更 (Changes Made to RFC 2829)
本节总结对 RFC 2829 的实质性变更.
B.2.1 第 4 节 ("必需的安全机制")
- 由 TLS 保护的名称/口令认证机制 (见下文第 B.2.5 节) 取代 SASL DIGEST-MD5 机制, 成为 LDAP 必须实现的基于口令的认证机制. 鼓励实现继续支持 SASL DIGEST-MD5 [DIGEST-MD5].
B.2.2 第 5.1 节 ("匿名认证规程")
- 澄清了匿名认证涉及长度为零的 name 值和长度为零的 password 值. 增加了未认证认证机制, 以处理 name 值非零长度而 password 值为零长度的简单 Bind 请求.
B.2.3 第 6 节 ("基于口令的认证")
- 见第 B.2.1 节.
B.2.4 第 6.1 节 ("摘要认证")
- 由于 SASL-DIGEST-MD5 机制不再是必须实现的, 本节成为历史内容, 未纳入本文档. RFC 2829 第 6.1 节继续记录 SASL DIGEST-MD5 认证机制.
B.2.5 第 6.2 节 ("TLS 加密下的 'simple' 认证选择")
-
将 "simple" 认证机制更名为名称/口令认证机制, 以便更好地描述它.
-
将 TLS 的使用一般化, 以与 LDAP 协议层的定义保持一致. TLS 的建立现在作为一个独立主题讨论, 并被一般化为可与所有认证机制和其他安全层配合使用.
-
删除了 userPassword 属性是存储用于认证的口令值的唯一位置的暗示. 对于服务器为认证目的存储口令的方式和位置, 不再有任何隐含要求.
B.2.6 第 6.3 节 ("TLS 下的其他认证选择")
- 见第 B.2.5 节.
B.2.7 第 7.1 节 ("TLS 下的基于证书的认证")
- 见第 B.2.5 节.
B.2.8 第 8 节 ("其他机制")
- LDAP 中明确允许所有 SASL 认证机制. 具体而言, 这意味着 SASL ANONYMOUS 和 SASL PLAIN 机制不再被排除在 LDAP 之外.
B.2.9 第 9 节 ("授权身份")
-
规定了 dnAuthzId 和 uAuthzId 值的匹配规则. 特别是, dnAuthzId 形式中的 DN 值必须使用 DN 匹配规则匹配, 而 uAuthzId 值在按八位组逐个比较之前必须使用 SASLprep 规则准备.
-
澄清了不应当假定 uAuthzId 值是全局唯一的.
B.2.10 第 10 节 ("TLS 密码套件")
-
本规范不再包含 TLS 密码套件建议. 实现现在必须支持 TLS_RSA_WITH_3DES_EDE_CBC_SHA 密码套件, 并应当继续支持 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 密码套件.
-
澄清了匿名认证涉及长度为零的 name 值和长度为零的 password 值. 增加了未认证认证机制, 以处理 name 值非零长度而 password 值为零长度的简单 Bind 请求.
B.3 对 RFC 2830 的变更 (Changes Made to RFC 2830)
本节总结对 RFC 2830 第 3 节和第 5 节的实质性变更. 其他章节的变更摘要请查阅 [RFC4511].
B.3.1 第 3.6 节 ("服务器身份检查")
- 大幅更新了服务器身份检查算法, 以确保其完整且健壮. 特别是, 算法覆盖了 subjectAltName 和 subjectName 字段中所有相关值的使用, 并为每种类型的值规定了匹配规则. 当映射以安全方式执行时, 现在可以使用映射 (派生) 形式的服务器身份.
B.3.2 第 3.7 节 ("服务器能力信息的刷新")
- 客户端不再被要求在 TLS 建立之后总是刷新关于服务器能力的信息. 这是为了照顾通过安全机制获得该信息的情况.
B.3.3 第 5 节 ("TLS 对客户端授权身份的影响")
- 在 LDAP 会话上建立 TLS 层现在可能导致 LDAP 会话的授权状态发生变化.
B.3.4 第 5.2 节 ("TLS 连接关闭的影响")
-
在 LDAP 会话上关闭 TLS 层会依据本地策略改变该会话的认证与授权状态. 具体而言, 这意味着实现不被要求在 TLS 关闭时把认证与授权状态变为匿名.
-
将对 RFC 2401 的引用替换为 RFC 4301.