Network Working Group                                   R. Harrison, Ed.
Request for Comments: 4513                                  Novell, Inc.
Obsoletes: 2251, 2829, 2830                                    June 2006
Category: Standards Track
             Lightweight Directory Access Protocol (LDAP):
             Authentication Methods and Security Mechanisms

Status of This Memo


This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。

Copyright Notice


Copyright (C) The Internet Society (2006).




This document describes authentication methods and security mechanisms of the Lightweight Directory Access Protocol (LDAP). This document details establishment of Transport Layer Security (TLS) using the StartTLS operation.

この文書では、認証方法とのLDAP(Lightweight Directory Access Protocol)のセキュリティメカニズムを説明しています。 StartTLSを操作を使用して、トランスポート層セキュリティ(TLS)のこの文書の詳細を設立。

This document details the simple Bind authentication method including anonymous, unauthenticated, and name/password mechanisms and the Simple Authentication and Security Layer (SASL) Bind authentication method including the EXTERNAL mechanism.


This document discusses various authentication and authorization states through which a session to an LDAP server may pass and the actions that trigger these state changes.


This document, together with other documents in the LDAP Technical Specification (see Section 1 of the specification's road map), obsoletes RFC 2251, RFC 2829, and RFC 2830.

この文書では、一緒にLDAP技術仕様(仕様のロードマップの第1節を参照)内の他の文書と、RFC 2251、RFC 2829、およびRFC 2830を廃止します。

Table of Contents


   1. Introduction ....................................................4
      1.1. Relationship to Other Documents ............................6
      1.2. Conventions ................................................6
   2. Implementation Requirements .....................................7
   3. StartTLS Operation ..............................................8
      3.1.  TLS Establishment Procedures ..............................8
           3.1.1. StartTLS Request Sequencing .........................8
           3.1.2. Client Certificate ..................................9
           3.1.3. Server Identity Check ...............................9
         Comparison of DNS Names ...................10
         Comparison of IP Addresses ................11
         Comparison of Other subjectName Types .....11
           3.1.4. Discovery of Resultant Security Level ..............11
           3.1.5. Refresh of Server Capabilities Information .........11
      3.2.  Effect of TLS on Authorization State .....................12
      3.3. TLS Ciphersuites ..........................................12
   4. Authorization State ............................................13
   5. Bind Operation .................................................14
      5.1. Simple Authentication Method ..............................14
           5.1.1. Anonymous Authentication Mechanism of Simple Bind ..14
           5.1.2. Unauthenticated Authentication Mechanism of
                  Simple Bind ........................................14
           5.1.3. Name/Password Authentication Mechanism of
                  Simple Bind ........................................15
      5.2. SASL Authentication Method ................................16
           5.2.1. SASL Protocol Profile ..............................16
         SASL Service Name for LDAP ................16
         SASL Authentication Initiation and
                           Protocol Exchange .........................16
         Optional Fields ...........................17
         Octet Where Negotiated Security
                           Layers Take Effect ........................18
         Determination of Supported SASL
                           Mechanisms ................................18
         Rules for Using SASL Layers ...............19
         Support for Multiple Authentications ......19
         SASL Authorization Identities .............19
           5.2.2. SASL Semantics within LDAP .........................20
           5.2.3. SASL EXTERNAL Authentication Mechanism .............20
         Implicit Assertion ........................21
         Explicit Assertion ........................21
   6. Security Considerations ........................................21
      6.1. General LDAP Security Considerations ......................21
      6.2. StartTLS Security Considerations ..........................22
      6.3. Bind Operation Security Considerations ....................23
           6.3.1. Unauthenticated Mechanism Security Considerations ..23
           6.3.2. Name/Password Mechanism Security Considerations ....23
           6.3.3. Password-Related Security Considerations ...........23
           6.3.4. Hashed Password Security Considerations ............24
      6.4. SASL Security Considerations ..............................24
      6.5. Related Security Considerations ...........................25
   7. IANA Considerations ............................................25
   8. Acknowledgements ...............................................25
   9. Normative References ...........................................26
   10. Informative References ........................................27
   Appendix A. Authentication and Authorization Concepts .............28
      A.1. Access Control Policy .....................................28
      A.2. Access Control Factors ....................................28
      A.3. Authentication, Credentials, Identity .....................28
      A.4. Authorization Identity ....................................29
   Appendix B. Summary of Changes ....................................29
      B.1. Changes Made to RFC 2251 ..................................30
           B.1.1. Section 4.2.1 ("Sequencing of the Bind Request") ...30
           B.1.2. Section 4.2.2 ("Authentication and Other Security
                  Services") .........................................30
      B.2. Changes Made to RFC 2829 ..................................30
           B.2.1. Section 4 ("Required security mechanisms") .........30
           B.2.2. Section 5.1 ("Anonymous authentication
                  procedure") ........................................31
           B.2.3. Section 6 ("Password-based authentication") ........31
           B.2.4. Section 6.1 ("Digest authentication") ..............31
           B.2.5. Section 6.2 ("'simple' authentication choice under
                  TLS encryption") ...................................31
           B.2.6. Section 6.3 ("Other authentication choices with
                  TLS") ..............................................31
           B.2.7. Section 7.1 ("Certificate-based authentication
                  with TLS") .........................................31
           B.2.8. Section 8 ("Other mechanisms") .....................32
           B.2.9. Section 9 ("Authorization Identity") ...............32
           B.2.10. Section 10 ("TLS Ciphersuites") ...................32
      B.3. Changes Made to RFC 2830 ..................................32
           B.3.1. Section 3.6 ("Server Identity Check") ..............32
           B.3.2. Section 3.7 ("Refresh of Server Capabilities
                  Information") ......................................33
           B.3.3. Section 5 ("Effects of TLS on a Client's
                  Authorization Identity") ...........................33
           B.3.4. Section 5.2 ("TLS Connection Closure Effects") .....33
1. Introduction
1. はじめに

The Lightweight Directory Access Protocol (LDAP) [RFC4510] is a powerful protocol for accessing directories. It offers means of searching, retrieving, and manipulating directory content and ways to access a rich set of security functions.


It is vital that these security functions be interoperable among all LDAP clients and servers on the Internet; therefore there has to be a minimum subset of security functions that is common to all implementations that claim LDAP conformance.


Basic threats to an LDAP directory service include (but are not limited to):


(1) Unauthorized access to directory data via data-retrieval operations.


(2) Unauthorized access to directory data by monitoring access of others.


(3) Unauthorized access to reusable client authentication information by monitoring access of others.


(4) Unauthorized modification of directory data.


(5) Unauthorized modification of configuration information.


(6) Denial of Service: Use of resources (commonly in excess) in a manner intended to deny service to others.


(7) Spoofing: Tricking a user or client into believing that information came from the directory when in fact it did not, either by modifying data in transit or misdirecting the client's transport connection. Tricking a user or client into sending privileged information to a hostile entity that appears to be the directory server but is not. Tricking a directory server into believing that information came from a particular client when in fact it came from a hostile entity.


(8) Hijacking: An attacker seizes control of an established protocol session.


Threats (1), (4), (5), (6), (7), and (8) are active attacks. Threats (2) and (3) are passive attacks.


Threats (1), (4), (5), and (6) are due to hostile clients. Threats (2), (3), (7), and (8) are due to hostile agents on the path between client and server or hostile agents posing as a server, e.g., IP spoofing.


LDAP offers the following security mechanisms:


(1) Authentication by means of the Bind operation. The Bind operation provides a simple method that supports anonymous, unauthenticated, and name/password mechanisms, and the Simple Authentication and Security Layer (SASL) method, which supports a wide variety of authentication mechanisms.


(2) Mechanisms to support vendor-specific access control facilities (LDAP does not offer a standard access control facility).


(3) Data integrity service by means of security layers in Transport Layer Security (TLS) or SASL mechanisms.


(4) Data confidentiality service by means of security layers in TLS or SASL mechanisms.


(5) Server resource usage limitation by means of administrative limits configured on the server.


(6) Server authentication by means of the TLS protocol or SASL mechanisms.


LDAP may also be protected by means outside the LDAP protocol, e.g., with IP layer security [RFC4301].


Experience has shown that simply allowing implementations to pick and choose the security mechanisms that will be implemented is not a strategy that leads to interoperability. In the absence of mandates, clients will continue to be written that do not support any security function supported by the server, or worse, they will only support mechanisms that provide inadequate security for most circumstances.


It is desirable to allow clients to authenticate using a variety of mechanisms including mechanisms where identities are represented as distinguished names [X.501][RFC4512], in string form [RFC4514], or as used in different systems (e.g., simple user names [RFC4013]). Because some authentication mechanisms transmit credentials in plain text form, and/or do not provide data security services and/or are subject to passive attacks, it is necessary to ensure secure interoperability by identifying a mandatory-to-implement mechanism for establishing transport-layer security services.

クライアントが識別情報が識別名文字列形式で[X.501] [RFC4512]、[RFC4514]として表されているメカニズムを含む様々なメカニズムを使用して認証することを可能にすることが望ましい、または異なるシステム(例えば、単純なユーザ名で使用されるような[RFC4013])。いくつかの認証メカニズムは、プレーンテキスト形式の資格情報を送信し、かつ/またはデータのセキュリティサービスを提供していないおよび/または受動的攻撃の対象となっているので、識別することによって、安全な相互運用性を確保する必要がある実装に必須のトランスポート層を確立するためのメカニズムをセキュリティサービス。

The set of security mechanisms provided in LDAP and described in this document is intended to meet the security needs for a wide range of deployment scenarios and still provide a high degree of interoperability among various LDAP implementations and deployments.


1.1. Relationship to Other Documents
1.1. その他の文書との関係

This document is an integral part of the LDAP Technical Specification [RFC4510].


This document, together with [RFC4510], [RFC4511], and [RFC4512], obsoletes RFC 2251 in its entirety. Sections 4.2.1 (portions) and 4.2.2 of RFC 2251 are obsoleted by this document. Appendix B.1 summarizes the substantive changes made to RFC 2251 by this document.

この、一緒に[RFC4511]、[RFC4510]と文書、および[RFC4512]は、その全体がRFC 2251を時代遅れ。 RFC 2251のセクション4.2.1(部分)および4.2.2は、この文書によって廃止されています。付録B.1は、この文書によってRFC 2251に作られた実質的な変更をまとめたもの。

This document obsoletes RFC 2829 in its entirety. Appendix B.2 summarizes the substantive changes made to RFC 2829 by this document.

この文書は、その全体がRFC 2829を廃止します。付録B.2は、この文書によってRFC 2829に作られた実質的な変更をまとめたもの。

Sections 2 and 4 of RFC 2830 are obsoleted by [RFC4511]. The remainder of RFC 2830 is obsoleted by this document. Appendix B.3 summarizes the substantive changes made to RFC 2830 by this document.

RFC 2830のセクション2及び4は、[RFC4511]によって廃止されています。 RFC 2830の残りの部分は、この文書により廃止されます。付録B.3は、この文書によってRFC 2830に作られた実質的な変更をまとめたもの。

1.2. Conventions
1.2. 表記

The key words "MUST", "MUST NOT", "SHALL", "SHOULD", "SHOULD NOT", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

RFC 2119 [RFC2119]に記載されているようにキーワード "MUST"、 "MUST NOT"、 "SHOULD NOT"、 "MAY"、および本文書における "任意の" である "SHOULD" "SHALL" が解釈されます。

The term "user" represents any human or application entity that is accessing the directory using a directory client. A directory client (or client) is also known as a directory user agent (DUA).


The term "transport connection" refers to the underlying transport services used to carry the protocol exchange, as well as associations established by these services.


The term "TLS layer" refers to TLS services used in providing security services, as well as associations established by these services.


The term "SASL layer" refers to SASL services used in providing security services, as well as associations established by these services.


The term "LDAP message layer" refers to the LDAP Message (PDU) services used in providing directory services, as well as associations established by these services.


The term "LDAP session" refers to combined services (transport connection, TLS layer, SASL layer, LDAP message layer) and their associations.


In general, security terms in this document are used consistently with the definitions provided in [RFC2828]. In addition, several terms and concepts relating to security, authentication, and authorization are presented in Appendix A of this document. While the formal definition of these terms and concepts is outside the scope of this document, an understanding of them is prerequisite to understanding much of the material in this document. Readers who are unfamiliar with security-related concepts are encouraged to review Appendix A before reading the remainder of this document.


2. Implementation Requirements

LDAP server implementations MUST support the anonymous authentication mechanism of the simple Bind method (Section 5.1.1).


LDAP implementations that support any authentication mechanism other than the anonymous authentication mechanism of the simple Bind method MUST support the name/password authentication mechanism of the simple Bind method (Section 5.1.3) and MUST be capable of protecting this name/password authentication using TLS as established by the StartTLS operation (Section 3).


Implementations SHOULD disallow the use of the name/password authentication mechanism by default when suitable data security services are not in place, and they MAY provide other suitable data security services for use with this authentication mechanism.


Implementations MAY support additional authentication mechanisms. Some of these mechanisms are discussed below.


LDAP server implementations SHOULD support client assertion of authorization identity via the SASL EXTERNAL mechanism (Section 5.2.3).

LDAPサーバの実装は、SASL EXTERNALメカニズム(セクション5.2.3)を介して認証アイデンティティのクライアントアサーションをサポートする必要があります。

LDAP server implementations that support no authentication mechanism other than the anonymous mechanism of the simple bind method SHOULD support use of TLS as established by the StartTLS operation (Section 3). (Other servers MUST support TLS per the second paragraph of this section.)

StartTLSを操作(セクション3)によって確立されたような単純なバインド方法の匿名機構以外の認証メカニズムをサポートしないLDAPサーバの実装は、TLSの使用をサポートしなければなりません。 (他のサーバーは、このセクションの第二段落ごとにTLSをサポートしなければなりません。)

Implementations supporting TLS MUST support the TLS_RSA_WITH_3DES_EDE_CBC_SHA ciphersuite and SHOULD support the TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA ciphersuite. Support for the latter ciphersuite is recommended to encourage interoperability with implementations conforming to earlier LDAP StartTLS specifications.

TLSをサポートする実装は、TLS_RSA_WITH_3DES_EDE_CBC_SHA暗号スイートをサポートしなければならないとTLS_DHE_DSS_WITH_3DES_EDE_CBC_SHAの暗号スイートをサポートする必要があります。後者の暗号スイートのサポートは、以前のLDAP StartTLSを仕様に準拠した実装との相互運用性を奨励することをお勧めします。

3. StartTLS Operation
3. StartTLSを操作

The Start Transport Layer Security (StartTLS) operation defined in Section 4.14 of [RFC4511] provides the ability to establish TLS [RFC4346] in an LDAP session.

[RFC4511]のセクション4.14で定義されたスタートトランスポート層セキュリティ(StartTLSを)操作は、LDAPセッションでTLS [RFC4346]を確立する能力を提供します。

The goals of using the TLS protocol with LDAP are to ensure data confidentiality and integrity, and to optionally provide for authentication. TLS expressly provides these capabilities, although the authentication services of TLS are available to LDAP only in combination with the SASL EXTERNAL authentication method (see Section 5.2.3), and then only if the SASL EXTERNAL implementation chooses to make use of the TLS credentials.

LDAPでTLSプロトコルを使用しての目標は、データの機密性と完全性を保証するために、認証を提供する、オプションになっています。 TLSの認証サービスだけSASL EXTERNAL認証方法(5.2.3項を参照)と組み合わせてLDAPを利用できますが、TLSは、明示、これらの機能を提供し、その後、SASL EXTERNAL実装は、TLSの資格情報を使用することを選択した場合のみです。

3.1. TLS Establishment Procedures
3.1. TLS設立の手続き

This section describes the overall procedures clients and servers must follow for TLS establishment. These procedures take into consideration various aspects of the TLS layer including discovery of resultant security level and assertion of the client's authorization identity.


3.1.1. StartTLS Request Sequencing
3.1.1. StartTLSを要求シーケンシング

A client may send the StartTLS extended request at any time after establishing an LDAP session, except:


- when TLS is currently established on the session, - when a multi-stage SASL negotiation is in progress on the session, or - when there are outstanding responses for operation requests previously issued on the session.

- TLSは現在、セッションで確立されたとき - 多段SASL交渉がセッションで進行中である場合、または - 以前のセッションで発行された操作要求のための優れたレスポンスがある場合。

As described in [RFC4511], Section 4.14.1, a (detected) violation of any of these requirements results in a return of the operationsError resultCode.


Client implementers should ensure that they strictly follow these operation sequencing requirements to prevent interoperability issues. Operational experience has shown that violating these requirements causes interoperability issues because there are race conditions that prevent servers from detecting some violations of these requirements due to factors such as server hardware speed and network latencies.


There is no general requirement that the client have or have not already performed a Bind operation (Section 5) before sending a StartTLS operation request; however, where a client intends to perform both a Bind operation and a StartTLS operation, it SHOULD first perform the StartTLS operation so that the Bind request and response messages are protected by the data security services established by the StartTLS operation.


3.1.2. Client Certificate
3.1.2. クライアント証明書

If an LDAP server requests or demands that a client provide a user certificate during TLS negotiation and the client does not present a suitable user certificate (e.g., one that can be validated), the server may use a local security policy to determine whether to successfully complete TLS negotiation.


If a client that has provided a suitable certificate subsequently performs a Bind operation using the SASL EXTERNAL authentication mechanism (Section 5.2.3), information in the certificate may be used by the server to identify and authenticate the client.


3.1.3. Server Identity Check
3.1.3. サーバーのアイデンティティを確認

In order to prevent man-in-the-middle attacks, the client MUST verify the server's identity (as presented in the server's Certificate message). In this section, the client's understanding of the server's identity (typically the identity used to establish the transport connection) is called the "reference identity".


The client determines the type (e.g., DNS name or IP address) of the reference identity and performs a comparison between the reference identity and each subjectAltName value of the corresponding type until a match is produced. Once a match is produced, the server's identity has been verified, and the server identity check is complete. Different subjectAltName types are matched in different ways. Sections - explain how to compare values of various subjectAltName types.

クライアントは、基準同一のタイプ(例えば、DNS名またはIPアドレス)を決定し、基準アイデンティティとマッチが生成されるまで、対応するタイプのそれぞれのsubjectAltName値との比較を行います。試合が生成されると、サーバの身元が確認された、およびサーバのIDチェックが完了しています。異なるのsubjectAltNameタイプが異なる方法で一致しています。セクション3.1.3.1 -は、様々なタイプのsubjectAltNameの値を比較する方法について説明します。

The client may map the reference identity to a different type prior to performing a comparison. Mappings may be performed for all available subjectAltName types to which the reference identity can be mapped; however, the reference identity should only be mapped to types for which the mapping is either inherently secure (e.g., extracting the DNS name from a URI to compare with a subjectAltName of type dNSName) or for which the mapping is performed in a secure manner (e.g., using DNSSEC, or using user- or admin-configured host-to-address/address-to-host lookup tables).


The server's identity may also be verified by comparing the reference identity to the Common Name (CN) [RFC4519] value in the leaf Relative Distinguished Name (RDN) of the subjectName field of the server's certificate. This comparison is performed using the rules for comparison of DNS names in Section, below, with the exception that no wildcard matching is allowed. Although the use of the Common Name value is existing practice, it is deprecated, and Certification Authorities are encouraged to provide subjectAltName values instead. Note that the TLS implementation may represent DNs in certificates according to X.500 or other conventions. For example, some X.500 implementations order the RDNs in a DN using a left-to-right (most significant to least significant) convention instead of LDAP's right-to-left convention.

サーバのアイデンティティは、サーバの証明書のSubjectName項目の葉の相対識別名(RDN)の共通名(CN)[RFC4519]の値を参照の同一性を比較することによって検証することができます。この比較は、ワイルドカードマッチングが許可されないことを除いて、以下のセクション3.1.3.1でDNS名の比較のための規則を使用して行われます。共通名の値の使用は練習を既存しているが、これは廃止され、および認証機関が代わりのsubjectAltName値を提供することが奨励されています。 TLS実装がX.500または他の規則に従って証明書にDNを表してもよいことに留意されたいです。例えば、いくつかのX.500実装は左から右(最下位に最も重要な)条約の代わりに、LDAPの右から左への規則を使用してDN内のRDNを注文します。

If the server identity check fails, user-oriented clients SHOULD either notify the user (clients may give the user the opportunity to continue with the LDAP session in this case) or close the transport connection and indicate that the server's identity is suspect. Automated clients SHOULD close the transport connection and then return or log an error indicating that the server's identity is suspect or both.


Beyond the server identity check described in this section, clients should be prepared to do further checking to ensure that the server is authorized to provide the service it is requested to provide. The client may need to make use of local policy information in making this determination.

このセクションで説明するサーバIDチェックを越えて、クライアントはさらに、サーバは、提供するように要求されたサービスを提供することを許可されていることを確認するチェックを行うために準備する必要があります。クライアントは、この決意を行う際に、ローカルポリシー情報を利用するために必要があるかもしれません。 Comparison of DNS Names。 DNS名の比較

If the reference identity is an internationalized domain name, conforming implementations MUST convert it to the ASCII Compatible Encoding (ACE) format as specified in Section 4 of RFC 3490 [RFC3490] before comparison with subjectAltName values of type dNSName. Specifically, conforming implementations MUST perform the conversion operation specified in Section 4 of RFC 3490 as follows:

基準IDは国際化ドメイン名である場合型のdNSNameののsubjectAltName値と比較する前に、RFC 3490 [RFC3490]のセクション4で指定されるように、適合実装は、ASCII互換エンコーディング(ACE)形式に変換しなければなりません。具体的には、以下のよう適合実装は、RFC 3490のセクション4で指定された変換操作を実行する必要があります。

      * in step 1, the domain name SHALL be considered a "stored
      * in step 3, set the flag called "UseSTD3ASCIIRules";
      * in step 4, process each label with the "ToASCII" operation; and
      * in step 5, change all label separators to U+002E (full stop).

After performing the "to-ASCII" conversion, the DNS labels and names MUST be compared for equality according to the rules specified in Section 3 of RFC3490.


The '*' (ASCII 42) wildcard character is allowed in subjectAltName values of type dNSName, and then only as the left-most (least significant) DNS label in that value. This wildcard matches any left-most DNS label in the server name. That is, the subject * matches the server names and, but does not match or

「*」(ASCII 42)ワイルドカード文字は、型のdNSNameのsubjectAltNameの値で許可されており、その後、その値だけでは、一番左の(最下位)DNSラベルとして。このワイルドカードは、サーバー名に任意の一番左のDNSラベルと一致します。つまり、対象* .example.comとは、サーバー名a.example.comとb.example.comと一致しますが、example.comまたはa.b.example.comと一致していないです。 Comparison of IP Addresses。 IPアドレスの比較

When the reference identity is an IP address, the identity MUST be converted to the "network byte order" octet string representation [RFC791][RFC2460]. For IP Version 4, as specified in RFC 791, the octet string will contain exactly four octets. For IP Version 6, as specified in RFC 2460, the octet string will contain exactly sixteen octets. This octet string is then compared against subjectAltName values of type iPAddress. A match occurs if the reference identity octet string and value octet strings are identical.

基準IDはIPアドレスである場合、同一性「とは、ネットワークバイト順」オクテットストリング表現[RFC791] [RFC2460]に変換されなければなりません。 IPバージョン4の場合、RFC 791で指定されているように、オクテット文字列は正確に4オクテットを含んでいます。 IPバージョン6の場合は、RFC 2460で指定されているように、オクテット文字列は、正確に16オクテットを含んでいます。このオクテット文字列は、その後のタイプIPアドレスののsubjectAltName値と比較されます。参照アイデンティティオクテット文字列と値のオクテット文字列が同一である場合、一致が発生します。 Comparison of Other subjectName Types。その他のSubjectNameタイプの比較

Client implementations MAY support matching against subjectAltName values of other types as described in other documents.


3.1.4. Discovery of Resultant Security Level
3.1.4. 結果として得られるセキュリティレベルの発見

After a TLS layer is established in an LDAP session, both parties are to each independently decide whether or not to continue based on local policy and the security level achieved. If either party decides that the security level is inadequate for it to continue, it SHOULD remove the TLS layer immediately after the TLS (re)negotiation has completed (see [RFC4511], Section 4.14.3, and Section 3.2 below). Implementations may reevaluate the security level at any time and, upon finding it inadequate, should remove the TLS layer.


3.1.5. Refresh of Server Capabilities Information
3.1.5. サーバ機能の情報のリフレッシュ

After a TLS layer is established in an LDAP session, the client SHOULD discard or refresh all information about the server that it obtained prior to the initiation of the TLS negotiation and that it did not obtain through secure mechanisms. This protects against man-in-the-middle attacks that may have altered any server capabilities information retrieved prior to TLS layer installation.


The server may advertise different capabilities after installing a TLS layer. In particular, the value of 'supportedSASLMechanisms' may be different after a TLS layer has been installed (specifically, the EXTERNAL and PLAIN [PLAIN] mechanisms are likely to be listed only after a TLS layer has been installed).

サーバはTLS層をインストールした後に別の機能を通知します。 TLS層がインストールされた後、特に、「でsupportedSASLMechanisms」の値が異なっていてもよい(具体的には、外部およびPLAIN [PLAIN]メカニズムは、TLS層がインストールされた後にのみリストされる可能性が高いです)。

3.2. Effect of TLS on Authorization State
3.2. 認可の国家のTLSの影響

The establishment, change, and/or closure of TLS may cause the authorization state to move to a new state. This is discussed further in Section 4.


3.3. TLS Ciphersuites
3.3. TLS暗号の組み合わせ

Several issues should be considered when selecting TLS ciphersuites that are appropriate for use in a given circumstance. These issues include the following:


- The ciphersuite's ability to provide adequate confidentiality protection for passwords and other data sent over the transport connection. Client and server implementers should recognize that some TLS ciphersuites provide no confidentiality protection, while other ciphersuites that do provide confidentiality protection may be vulnerable to being cracked using brute force methods, especially in light of ever-increasing CPU speeds that reduce the time needed to successfully mount such attacks.

- トランスポート接続を介して送信されるパスワードやその他のデータのための適切な機密保護を提供するために、暗号スイートの能力。クライアントとサーバーの実装者は、機密性の保護を提供しない他の暗号スイートは特にに成功したのに必要な時間を短縮増え続けるCPU速度の光の中で、ブルートフォースメソッドを使用してクラックの発生に対して脆弱である可能性がある一方で、いくつかのTLS暗号スイートは、何の機密性保護を提供しないことを認識すべきですこのような攻撃をマウントします。

- Client and server implementers should carefully consider the value of the password or data being protected versus the level of confidentiality protection provided by the ciphersuite to ensure that the level of protection afforded by the ciphersuite is appropriate.

- クライアントとサーバーの実装者は慎重にパスワードや暗号スイートによる保護のレベルが適切であることを保証するために暗号スイートが提供する機密保護のレベルに対して保護されているデータの値を考慮する必要があります。

- The ciphersuite's vulnerability (or lack thereof) to man-in-the-middle attacks. Ciphersuites vulnerable to man-in-the-middle attacks SHOULD NOT be used to protect passwords or sensitive data, unless the network configuration is such that the danger of a man-in-the-middle attack is negligible.

- man-in-the-middle攻撃への暗号スイートの脆弱性(またはその欠如)。 man-in-the-middle攻撃に対して脆弱暗号スイートは、ネットワーク構成がman-in-the-middle攻撃の危険性が無視できるようなものである場合を除き、パスワードや機密データを保護するために使用しないでください。

- After a TLS negotiation (either initial or subsequent) is completed, both protocol peers should independently verify that the security services provided by the negotiated ciphersuite are adequate for the intended use of the LDAP session. If they are not, the TLS layer should be closed.

- TLSネゴシエーション(初期またはその後のいずれか)が完了した後、両方のプロトコルピアは、独立してネゴシエート暗号スイートが提供するセキュリティサービスはLDAPセッションの用途に適していることを確認すべきです。そうでない場合は、TLS層を閉じる必要があります。

4. Authorization State

Every LDAP session has an associated authorization state. This state is comprised of numerous factors such as what (if any) authentication state has been established, how it was established, and what security services are in place. Some factors may be determined and/or affected by protocol events (e.g., Bind, StartTLS, or TLS closure), and some factors may be determined by external events (e.g., time of day or server load).


While it is often convenient to view authorization state in simplistic terms (as we often do in this technical specification) such as "an anonymous state", it is noted that authorization systems in LDAP implementations commonly involve many factors that interrelate in complex manners.


Authorization in LDAP is a local matter. One of the key factors in making authorization decisions is authorization identity. The Bind operation (defined in Section 4.2 of [RFC4511] and discussed further in Section 5 below) allows information to be exchanged between the client and server to establish an authorization identity for the LDAP session. The Bind operation may also be used to move the LDAP session to an anonymous authorization state (see Section 5.1.1).

LDAPでの認可は、ローカルの問題です。承認の意思決定の重要な要因の一つは、認可IDです。 ([RFC4511]のセクション4.2で定義され、以下のセクション5でさらに説明する)バインド操作情報がLDAPセッションの承認のアイデンティティを確立するためにクライアントとサーバの間で交換されることを可能にします。バインド操作はまた、匿名の許可状態にLDAPセッションを移動するために使用することができる(5.1.1項を参照してください)。

Upon initial establishment of the LDAP session, the session has an anonymous authorization identity. Among other things this implies that the client need not send a BindRequest in the first PDU of the LDAP message layer. The client may send any operation request prior to performing a Bind operation, and the server MUST treat it as if it had been performed after an anonymous Bind operation (Section 5.1.1).


Upon receipt of a Bind request, the server immediately moves the session to an anonymous authorization state. If the Bind request is successful, the session is moved to the requested authentication state with its associated authorization state. Otherwise, the session remains in an anonymous state.


It is noted that other events both internal and external to LDAP may result in the authentication and authorization states being moved to an anonymous one. For instance, the establishment, change, or closure of data security services may result in a move to an anonymous state, or the user's credential information (e.g., certificate) may have expired. The former is an example of an event internal to LDAP, whereas the latter is an example of an event external to LDAP.


5. Bind Operation

The Bind operation ([RFC4511], Section 4.2) allows authentication information to be exchanged between the client and server to establish a new authorization state.


The Bind request typically specifies the desired authentication identity. Some Bind mechanisms also allow the client to specify the authorization identity. If the authorization identity is not specified, the server derives it from the authentication identity in an implementation-specific manner.


If the authorization identity is specified, the server MUST verify that the client's authentication identity is permitted to assume (e.g., proxy for) the asserted authorization identity. The server MUST reject the Bind operation with an invalidCredentials resultCode in the Bind response if the client is not so authorized.


5.1. Simple Authentication Method
5.1. 簡易認証方式

The simple authentication method of the Bind Operation provides three authentication mechanisms:


- An anonymous authentication mechanism (Section 5.1.1).

- 匿名認証機構(5.1.1項)。

- An unauthenticated authentication mechanism (Section 5.1.2).

- 認証されていない認証メカニズム(5.1.2項)。

- A name/password authentication mechanism using credentials consisting of a name (in the form of an LDAP distinguished name [RFC4514]) and a password (Section 5.1.3).

- 名前からなる資格証明を使用して、名前/パスワード認証メカニズム(LDAP識別名の形式で、[RFC4514])及びパスワード(セクション5.1.3)。

5.1.1. Anonymous Authentication Mechanism of Simple Bind
5.1.1. 簡易バインドの匿名認証メカニズム

An LDAP client may use the anonymous authentication mechanism of the simple Bind method to explicitly establish an anonymous authorization state by sending a Bind request with a name value of zero length and specifying the simple authentication choice containing a password value of zero length.


5.1.2. Unauthenticated Authentication Mechanism of Simple Bind
5.1.2. 簡易バインドの未認証の認証メカニズム

An LDAP client may use the unauthenticated authentication mechanism of the simple Bind method to establish an anonymous authorization state by sending a Bind request with a name value (a distinguished name in LDAP string form [RFC4514] of non-zero length) and specifying the simple authentication choice containing a password value of zero length.


The distinguished name value provided by the client is intended to be used for trace (e.g., logging) purposes only. The value is not to be authenticated or otherwise validated (including verification that the DN refers to an existing directory object). The value is not to be used (directly or indirectly) for authorization purposes.


Unauthenticated Bind operations can have significant security issues (see Section 6.3.1). In particular, users intending to perform Name/Password Authentication may inadvertently provide an empty password and thus cause poorly implemented clients to request Unauthenticated access. Clients SHOULD be implemented to require user selection of the Unauthenticated Authentication Mechanism by means other than user input of an empty password. Clients SHOULD disallow an empty password input to a Name/Password Authentication user interface. Additionally, Servers SHOULD by default fail Unauthenticated Bind requests with a resultCode of unwillingToPerform.


5.1.3. Name/Password Authentication Mechanism of Simple Bind
5.1.3. 簡易バインドの名前/パスワード認証メカニズム

An LDAP client may use the name/password authentication mechanism of the simple Bind method to establish an authenticated authorization state by sending a Bind request with a name value (a distinguished name in LDAP string form [RFC4514] of non-zero length) and specifying the simple authentication choice containing an OCTET STRING password value of non-zero length.


Servers that map the DN sent in the Bind request to a directory entry with an associated set of one or more passwords used with this mechanism will compare the presented password to that set of passwords. The presented password is considered valid if it matches any member of this set.


A resultCode of invalidDNSyntax indicates that the DN sent in the name value is syntactically invalid. A resultCode of invalidCredentials indicates that the DN is syntactically correct but not valid for purposes of authentication, that the password is not valid for the DN, or that the server otherwise considers the credentials invalid. A resultCode of success indicates that the credentials are valid and that the server is willing to provide service to the entity these credentials identify.

invalidDNSyntaxののresultCodeは、名前の値で送信DNが構文的に無効であることを示しています。 invalidCredentialsのresultCodeがはDNはパスワードがDNに対して有効でないこと、またはサーバがそれ以外の資格情報が無効で考えていることを、構文的に正しいが、認証の目的のために有効でないことを示しています。成功のresultCodeが、資格情報が有効であり、サーバがこれらの資格情報は、特定のエンティティにサービスを提供する意思があることであることを示しています。

Server behavior is undefined for Bind requests specifying the name/password authentication mechanism with a zero-length name value and a password value of non-zero length.


The name/password authentication mechanism of the simple Bind method is not suitable for authentication in environments without confidentiality protection.


5.2. SASL Authentication Method
5.2. SASL認証方法

The sasl authentication method of the Bind Operation provides facilities for using any SASL mechanism including authentication mechanisms and other services (e.g., data security services).


5.2.1. SASL Protocol Profile
5.2.1. SASLプロトコルのプロフィール

LDAP allows authentication via any SASL mechanism [RFC4422]. As LDAP includes native anonymous and name/password (plain text) authentication methods, the ANONYMOUS [RFC4505] and PLAIN [PLAIN] SASL mechanisms are typically not used with LDAP.

LDAPはどのSASLメカニズム[RFC4422]を経由して認証を行うことができます。 LDAPは、ネイティブ匿名名/パスワード(平文)認証方法を含むように、匿名[RFC4505]とPLAIN [PLAIN] SASL機構は、典型的には、LDAPで使用されません。

Each protocol that utilizes SASL services is required to supply certain information profiling the way they are exposed through the protocol ([RFC4422], Section 4). This section explains how each of these profiling requirements is met by LDAP.

SASLサービスを利用する各プロトコルは、それらがプロトコルを介して露出されている方法([RFC4422]、セクション4)プロファイリング特定の情報を供給する必要があります。このセクションでは、これらのプロファイルの各要件は、LDAPによって満たされる方法を説明します。 SASL Service Name for LDAP。 LDAPのためのSASLサービス名

The SASL service name for LDAP is "ldap", which has been registered with the IANA as a SASL service name.

LDAPのためのSASLサービス名は、SASLサービス名としてIANAに登録されている「LDAP」、です。 SASL Authentication Initiation and Protocol Exchange。 SASL認証の開始およびプロトコル交換

SASL authentication is initiated via a BindRequest message ([RFC4511], Section 4.2) with the following parameters:


- The version is 3. - The AuthenticationChoice is sasl. - The mechanism element of the SaslCredentials sequence contains the value of the desired SASL mechanism. - The optional credentials field of the SaslCredentials sequence MAY be used to provide an initial client response for mechanisms that are defined to have the client send data first (see [RFC4422], Sections 3 and 5).

- バージョンは3です - AuthenticationChoiceはSASLです。 - SaslCredentials配列の機構要素は、所望のSASLメカニズムの値を含みます。 - SaslCredentials配列の任意の資格情報フィールドは、クライアントが最初にデータを送信持つように定義されているメカニズムのための初期のクライアント応答を提供するために使用される([RFC4422]を参照し、セクション3および5)。

In general, a SASL authentication protocol exchange consists of a series of server challenges and client responses, the contents of which are specific to and defined by the SASL mechanism. Thus, for some SASL authentication mechanisms, it may be necessary for the client to respond to one or more server challenges by sending BindRequest messages multiple times. A challenge is indicated by the server sending a BindResponse message with the resultCode set to saslBindInProgress. This indicates that the server requires the client to send a new BindRequest message with the same SASL mechanism to continue the authentication process.


To the LDAP message layer, these challenges and responses are opaque binary tokens of arbitrary length. LDAP servers use the serverSaslCreds field (an OCTET STRING) in a BindResponse message to transmit each challenge. LDAP clients use the credentials field (an OCTET STRING) in the SaslCredentials sequence of a BindRequest message to transmit each response. Note that unlike some Internet protocols where SASL is used, LDAP is not text based and does not Base64-transform these challenge and response values.

LDAPメッセージ層に、これらの課題および応答は、任意の長さの不透明なバイナリトークンです。 LDAPサーバは、各チャレンジを送信するためにBindResponseメッセージにserverSaslCredsフィールド(オクテット文字列)を使用します。 LDAPクライアントは、各応答を送信するBindRequestメッセージのSaslCredentials配列中クレデンシャルフィールド(オクテット文字列)を使用します。 SASLが使用されているいくつかのインターネットプロトコルとは異なり、LDAPはテキストベースではなく、これらのチャレンジとレスポンス値をBase64で変換しないことに注意してください。

Clients sending a BindRequest message with the sasl choice selected SHOULD send a zero-length value in the name field. Servers receiving a BindRequest message with the sasl choice selected SHALL ignore any value in the name field.


A client may abort a SASL Bind negotiation by sending a BindRequest message with a different value in the mechanism field of SaslCredentials or with an AuthenticationChoice other than sasl.


If the client sends a BindRequest with the sasl mechanism field as an empty string, the server MUST return a BindResponse with a resultCode of authMethodNotSupported. This will allow the client to abort a negotiation if it wishes to try again with the same SASL mechanism.


The server indicates completion of the SASL challenge-response exchange by responding with a BindResponse in which the resultCode value is not saslBindInProgress.

サーバは、結果コード値はsaslBindInProgressないであるBindResponseで応答することによりSASLチャレンジ - 応答交換が完了したことを示しています。

The serverSaslCreds field in the BindResponse can be used to include an optional challenge with a success notification for mechanisms that are defined to have the server send additional data along with the indication of successful completion.

BindResponseでserverSaslCredsフィールドは、サーバが正常終了の指示と一緒に追加のデータを送信持つように定義されているメカニズムの成功通知と任意のチャレンジを含めるために使用することができます。 Optional Fields。オプションフィールド

As discussed above, LDAP provides an optional field for carrying an initial response in the message initiating the SASL exchange and provides an optional field for carrying additional data in the message indicating the outcome of the authentication exchange. As the mechanism-specific content in these fields may be zero length, SASL requires protocol specifications to detail how an empty field is distinguished from an absent field.


Zero-length initial response data is distinguished from no initial response data in the initiating message, a BindRequest PDU, by the presence of the SaslCredentials.credentials OCTET STRING (of length zero) in that PDU. If the client does not intend to send an initial response with the BindRequest initiating the SASL exchange, it MUST omit the SaslCredentials.credentials OCTET STRING (rather than include an zero-length OCTET STRING).

ゼロ長初期応答データは、そのPDUに(長さゼロの)SaslCredentials.credentialsオクテットストリングの存在によって、開始メッセージ、BindRequest PDUでない初期応答データと区別されます。クライアントはBindRequestは、SASL交換を開始すると、最初の応答を送信することを意図していない場合、それはSaslCredentials.credentialsオクテット文字列を省略した(というよりも長さがゼロのオクテット文字列を含む)にしなければなりません。

Zero-length additional data is distinguished from no additional response data in the outcome message, a BindResponse PDU, by the presence of the serverSaslCreds OCTET STRING (of length zero) in that PDU. If a server does not intend to send additional data in the BindResponse message indicating outcome of the exchange, the server SHALL omit the serverSaslCreds OCTET STRING (rather than including a zero-length OCTET STRING).

ゼロ長の追加のデータは、そのPDUに(長さゼロの)serverSaslCredsオクテット列の存在により、結果メッセージ、BindResponse PDUでない追加の応答データと区別されます。サーバは、交換の結果を示すBindResponseメッセージに追加のデータを送信することを意図していない場合、サーバは、(むしろ、ゼロ長のオクテット列を含むより)serverSaslCreds OCTET文字列を省略するものとします。 Octet Where Negotiated Security Layers Take Effect。交渉のセキュリティレイヤーを有効オクテット

SASL layers take effect following the transmission by the server and reception by the client of the final BindResponse in the SASL exchange with a resultCode of success.


Once a SASL layer providing data integrity or confidentiality services takes effect, the layer remains in effect until a new layer is installed (i.e., at the first octet following the final BindResponse of the Bind operation that caused the new layer to take effect). Thus, an established SASL layer is not affected by a failed or non-SASL Bind.

データの整合性や機密性サービスを提供するSASL層が有効になると、新しい層がインストールされるまで、層が有効のまま(即ち、有効にするための新しい層を引き起こしたバインド操作の最終BindResponse次の最初のオクテットで)。したがって、確立されたSASL層が失敗したか、または非SASLバインドによって影響されません。 Determination of Supported SASL Mechanisms。サポートされているSASLメカニズムの決意

Clients may determine the SASL mechanisms a server supports by reading the 'supportedSASLMechanisms' attribute from the root DSE (DSA-Specific Entry) ([RFC4512], Section 5.1). The values of this attribute, if any, list the mechanisms the server supports in the current LDAP session state. LDAP servers SHOULD allow all clients -- even those with an anonymous authorization -- to retrieve the 'supportedSASLMechanisms' attribute of the root DSE both before and after the SASL authentication exchange. The purpose of the latter is to allow the client to detect possible downgrade attacks (see Section 6.4 and [RFC4422], Section 6.1.2).

クライアントは、サーバがルートDSE(DSA固有のエントリ)([RFC4512]、セクション5.1)から「でsupportedSASLMechanisms」属性を読み取ることによってサポートするSASLメカニズムを決定してもよいです。この属性の値は、もしあれば、サーバは現在のLDAPセッション状態のサポートメカニズムを一覧表示します。でも、これらの匿名の権限を持つ - - SASL認証交換の前と後の両方のルートDSEの「でsupportedSASLMechanisms」属性を取得するために、LDAPサーバーでは、すべてのクライアントが許可する必要があります。後者の目的は、(セクション6.4と[RFC4422]、セクション6.1.2を参照)、クライアントが格下げ攻撃を検出できるようにすることです。

Because SASL mechanisms provide critical security functions, clients and servers should be configurable to specify what mechanisms are acceptable and allow only those mechanisms to be used. Both clients and servers must confirm that the negotiated security level meets their requirements before proceeding to use the session.

SASLメカニズムは重要なセキュリティ機能を提供するので、クライアントとサーバは、許容されているどのようなメカニズムを指定し、唯一のそれらのメカニズムを使用することができるように、設定する必要があります。クライアントとサーバの両方が交渉されたセキュリティレベルは、セッションを使用するように進む前に、彼らの要件を満たしていることを確認しなければなりません。 Rules for Using SASL Layers。 SASLレイヤーを使用するためのルール

Upon installing a SASL layer, the client SHOULD discard or refresh all information about the server that it obtained prior to the initiation of the SASL negotiation and that it did not obtain through secure mechanisms.


If a lower-level security layer (such as TLS) is installed, any SASL layer SHALL be layered on top of such security layers regardless of the order of their negotiation. In all other respects, the SASL layer and other security layers act independently, e.g., if both a TLS layer and a SASL layer are in effect, then removing the TLS layer does not affect the continuing service of the SASL layer.

(TLSなど)、低レベルのセキュリティ層がインストールされている場合、任意のSASL層にかかわらず、それらの交渉のためのそのようなセキュリティ層の上部に積層されるものとします。他のすべての点において、SASL層と他のセキュリティ層は、TLS層とSASL層の両方が有効である場合、TLS層を除去するSASL層の継続的なサービスに影響を及ぼさない、例えば、独立して作用します。 Support for Multiple Authentications。複数の認証のサポート

LDAP supports multiple SASL authentications as defined in [RFC4422], Section 4.

[RFC 4422]、第4節で定義されているLDAPは複数のSASL認証をサポートしています。 SASL Authorization Identities。 SASL認証アイデンティティ

Some SASL mechanisms allow clients to request a desired authorization identity for the LDAP session ([RFC4422], Section 3.4). The decision to allow or disallow the current authentication identity to have access to the requested authorization identity is a matter of local policy. The authorization identity is a string of UTF-8 [RFC3629] encoded [Unicode] characters corresponding to the following Augmented Backus-Naur Form (ABNF) [RFC4234] grammar:

いくつかのSASLメカニズムは、クライアントがLDAPセッション([RFC4422]、セクション3.4)のために必要な認可IDを要求することを可能にします。要求された認証アイデンティティへのアクセス権を持っている現在の認証IDを許可または禁止する決定は、ローカルポリシーの問題です。認可IDは、以下の増補バッカス - ナウアフォーム(ABNF)[RFC4234]の文法に対応する[UNICODE]の文字をUTF-8の文字列[RFC3629]コードされます。

authzId = dnAuthzId / uAuthzId

authzidは= dnAuthzId / uAuthzId

; distinguished-name-based authz id dnAuthzId = "dn:" distinguishedName

;区別-名前ベースのauthzのID dnAuthzId = "DN:" distinguishedNameの

; unspecified authorization id, UTF-8 encoded uAuthzId = "u:" userid userid = *UTF8 ; syntax unspecified

;未指定の許可IDは、UTF8はuAuthzId = "U:" エンコードされたユーザーID、ユーザーID = * UTF8を。未指定の構文

where the distinguishedName rule is defined in Section 3 of [RFC4514] and the UTF8 rule is defined in Section 1.4 of [RFC4512].


The dnAuthzId choice is used to assert authorization identities in the form of a distinguished name to be matched in accordance with the distinguishedNameMatch matching rule ([RFC4517], Section 4.2.15). There is no requirement that the asserted distinguishedName value be that of an entry in the directory.


The uAuthzId choice allows clients to assert an authorization identity that is not in distinguished name form. The format of userid is defined only as a sequence of UTF-8 [RFC3629] encoded [Unicode] characters, and any further interpretation is a local matter. For example, the userid could identify a user of a specific directory service, be a login name, or be an email address. A uAuthzId SHOULD NOT be assumed to be globally unique. To compare uAuthzId values, each uAuthzId value MUST be prepared as a "query" string ([RFC3454], Section 7) using the SASLprep [RFC4013] algorithm, and then the two values are compared octet-wise.

uAuthzIdの選択は、クライアントが識別名の形式ではなく、認証アイデンティティを主張することができます。ユーザーIDのフォーマットは、UTF-8のシーケンス[RFC3629]は[UNICODE]文字符号化、および任意のさらなる解釈はローカルの問題であるだけであると定義されます。たとえば、ユーザーIDは、特定のディレクトリ・サービスの利用者を識別するログイン名、または電子メールアドレスである可能性があります。 uAuthzIdは、グローバルに一意であると想定されるべきではありません。 uAuthzId値を比較するために、各uAuthzId値はSASLprep [RFC4013]のアルゴリズムを用いて、「クエリ」の文字列([RFC3454]、セクション7)のように調製されなければならない、そして、2つの値は、オクテット単位で比較されます。

The above grammar is extensible. The authzId production may be extended to support additional forms of identities. Each form is distinguished by its unique prefix (see Section 3.12 of [RFC4520] for registration requirements).

上記文法は拡張可能です。 authzidは生産はアイデンティティの追加フォームをサポートするように拡張することができます。各フォームは、そのユニークな接頭辞によって区別される(登録要件のために[RFC4520]のセクション3.12を参照してください)。

5.2.2. SASL Semantics within LDAP
5.2.2. LDAP内のSASLセマンティクス

Implementers must take care to maintain the semantics of SASL specifications when handling data that has different semantics in the LDAP protocol.


For example, the SASL DIGEST-MD5 authentication mechanism [DIGEST-MD5] utilizes an authentication identity and a realm that are syntactically simple strings and semantically simple username [RFC4013] and realm values. These values are not LDAP DNs, and there is no requirement that they be represented or treated as such.

例えば、SASL DIGEST-MD5認証メカニズム[DIGEST-MD5]は構文的に単純な文字列と意味的に単純なユーザ名[RFC4013]とレルム値である認証IDとレルムを利用します。これらの値は、LDAP識別名ではなく、それらは表現又はそのように扱われる必要はありません。

5.2.3. SASL EXTERNAL Authentication Mechanism
5.2.3. SASL EXTERNAL認証メカニズム

A client can use the SASL EXTERNAL ([RFC4422], Appendix A) mechanism to request the LDAP server to authenticate and establish a resulting authorization identity using security credentials exchanged by a lower security layer (such as by TLS authentication). If the client's authentication credentials have not been established at a lower security layer, the SASL EXTERNAL Bind MUST fail with a resultCode of inappropriateAuthentication. Although this situation has the effect of leaving the LDAP session in an anonymous state (Section 4), the state of any installed security layer is unaffected.

クライアントは、(TLS認証による)認証し、セキュリティの低い層によって交換セキュリティ資格情報を使用した認証アイデンティティを確立するために、LDAPサーバを要求するSASL EXTERNAL([RFC4422]、付録A)メカニズムを使用することができます。クライアントの認証資格情報は、セキュリティの低い層で確立されていない場合は、SASL EXTERNALバインドはinappropriateAuthenticationのresultCodeがで失敗しなければなりません。この状況が匿名状態(第4節)でLDAPセッションを終了する効果がありますが、任意のインストールされたセキュリティ層の状態は影響を受けません。

A client may either request that its authorization identity be automatically derived from its authentication credentials exchanged at a lower security layer, or it may explicitly provide a desired authorization identity. The former is known as an implicit assertion, and the latter as an explicit assertion.

いずれかの認可IDを自動的に認証資格情報から導出されることを要求することができるクライアントは、セキュリティの低い層で交換、またはそれが明示的に必要な認証アイデンティティを提供することができます。前者は暗黙の主張、および、明示的な主張として、後者として知られています。 Implicit Assertion。暗黙のアサーション

An implicit authorization identity assertion is performed by invoking a Bind request of the SASL form using the EXTERNAL mechanism name that does not include the optional credentials field (found within the SaslCredentials sequence in the BindRequest). The server will derive the client's authorization identity from the authentication identity supplied by a security layer (e.g., a public key certificate used during TLS layer installation) according to local policy. The underlying mechanics of how this is accomplished are implementation specific.

暗黙的な許可IDアサーションは、(BindRequestでSaslCredentials配列内に見出される)任意の資格情報フィールドが含まれていない外部機構名を使用してSASL形式のバインド要求を呼び出すことによって行われます。サーバーは、ローカルポリシーに従って、セキュリティ層(例えば、TLS層のインストール時に使用される公開鍵証明書)によって提供される認証アイデンティティから、クライアントの認可IDを導出します。これを達成する方法の基礎となる仕組みは実装固有のものです。 Explicit Assertion。明示的なアサーション

An explicit authorization identity assertion is performed by invoking a Bind request of the SASL form using the EXTERNAL mechanism name that includes the credentials field (found within the SaslCredentials sequence in the BindRequest). The value of the credentials field (an OCTET STRING) is the asserted authorization identity and MUST be constructed as documented in Section


6. Security Considerations

Security issues are discussed throughout this document. The unsurprising conclusion is that security is an integral and necessary part of LDAP. This section discusses a number of LDAP-related security considerations.


6.1. General LDAP Security Considerations
6.1. 一般的なLDAPセキュリティの考慮事項

LDAP itself provides no security or protection from accessing or updating the directory by means other than through the LDAP protocol, e.g., from inspection of server database files by database administrators.


Sensitive data may be carried in almost any LDAP message, and its disclosure may be subject to privacy laws or other legal regulation in many countries. Implementers should take appropriate measures to protect sensitive data from disclosure to unauthorized entities.


A session on which the client has not established data integrity and privacy services (e.g., via StartTLS, IPsec, or a suitable SASL mechanism) is subject to man-in-the-middle attacks to view and modify information in transit. Client and server implementers SHOULD take measures to protect sensitive data in the LDAP session from these attacks by using data protection services as discussed in this document. Clients and servers should provide the ability to be configured to require these protections. A resultCode of confidentialityRequired indicates that the server requires establishment of (stronger) data confidentiality protection in order to perform the requested operation.

(StartTLSが、IPsecの、または適切なSASL機構を介して、例えば、)クライアントは、データの整合性とプライバシーのサービスを確立していないどのセッションが輸送中に情報を表示および変更するman-in-the-middle攻撃の対象となります。クライアントとサーバーの実装者は、この文書で説明したようにデータ保護サービスを使用することにより、これらの攻撃からLDAPセッション内の機密データを保護するための措置をとるべきです。クライアントとサーバーは、これらの保護を必要とするように構成することができる能力を提供しなければなりません。 confidentialityRequiredのresultCodeが、サーバが要求された操作を実行するために(強い)データの機密保護の確立が必要であることを示しています。

Access control should always be applied when reading sensitive information or updating directory information.


Various security factors, including authentication and authorization information and data security services may change during the course of the LDAP session, or even during the performance of a particular operation. Implementations should be robust in the handling of changing security factors.


6.2. StartTLS Security Considerations
6.2. StartTLSをセキュリティの考慮事項

All security gained via use of the StartTLS operation is gained by the use of TLS itself. The StartTLS operation, on its own, does not provide any additional security.

StartTLSを操作の使用を介して得られるすべてのセキュリティは、TLS自体を使用することによって得られます。 StartTLSを操作は、自分自身で、追加のセキュリティを提供しません。

The level of security provided through the use of TLS depends directly on both the quality of the TLS implementation used and the style of usage of that implementation. Additionally, a man-in-the-middle attacker can remove the StartTLS extended operation from the 'supportedExtension' attribute of the root DSE. Both parties SHOULD independently ascertain and consent to the security level achieved once TLS is established and before beginning use of the TLS-protected session. For example, the security level of the TLS layer might have been negotiated down to plaintext.

TLSを使用して提供されるセキュリティのレベルが使用TLS実装の品質とその実装の使い方のスタイルの両方に直接依存します。また、StartTLSを削除することができなman-in-the-middle攻撃者は、ルートDSEの 'supportedExtension' 属性からの操作を拡張しました。両当事者は独立して確認し、TLSが確立されれば達成セキュリティレベルにし、TLSで保護されたセッションの使用を開始する前に同意すべきです。例えば、TLS層のセキュリティレベルは平文まで交渉されている可能性があります。

Clients MUST either warn the user when the security level achieved does not provide an acceptable level of data confidentiality and/or data integrity protection, or be configurable to refuse to proceed without an acceptable level of security.


As stated in Section 3.1.2, a server may use a local security policy to determine whether to successfully complete TLS negotiation. Information in the user's certificate that is originated or verified by the certification authority should be used by the policy administrator when configuring the identification and authorization policy.


Server implementers SHOULD allow server administrators to elect whether and when data confidentiality and integrity are required, as well as elect whether authentication of the client during the TLS handshake is required.


Implementers should be aware of and understand TLS security considerations as discussed in the TLS specification [RFC4346].


6.3. Bind Operation Security Considerations
6.3. バインド操作のセキュリティの考慮事項

This section discusses several security considerations relevant to LDAP authentication via the Bind operation.


6.3.1. Unauthenticated Mechanism Security Considerations
6.3.1. 非認証メカニズムのセキュリティの考慮事項

Operational experience shows that clients can (and frequently do) misuse the unauthenticated authentication mechanism of the simple Bind method (see Section 5.1.2). For example, a client program might make a decision to grant access to non-directory information on the basis of successfully completing a Bind operation. LDAP server implementations may return a success response to an unauthenticated Bind request. This may erroneously leave the client with the impression that the server has successfully authenticated the identity represented by the distinguished name when in reality, an anonymous authorization state has been established. Clients that use the results from a simple Bind operation to make authorization decisions should actively detect unauthenticated Bind requests (by verifying that the supplied password is not empty) and react appropriately.

運用経験は、クライアントが缶(および頻繁にん)簡単なバインド方法(5.1.2項を参照)の未認証の認証メカニズムを誤用することを示しています。例えば、クライアントプログラムが正常にバインド操作を完了に基づいて非ディレクトリ情報へのアクセスを許可する決定を行う可能性があります。 LDAPサーバの実装では、認証されていないバインド要求に対する成功応答を返すことがあります。これは、誤って実際に、匿名認証状態が確立された場合に、サーバーが正常に識別名によって表される身元を認証している印象をクライアントに残すことができます。承認決定を行うために、単純なバインド操作からの結果を使用するクライアントは積極的に(入力したパスワードが空でないことを確認することによって)認証されていないバインド要求を検出し、適切に反応すべきです。

6.3.2. Name/Password Mechanism Security Considerations
6.3.2. 名/パスワードのメカニズムのセキュリティの考慮事項

The name/password authentication mechanism of the simple Bind method discloses the password to the server, which is an inherent security risk. There are other mechanisms, such as SASL DIGEST-MD5 [DIGEST-MD5], that do not disclose the password to the server.

シンプルBindメソッドの名前/パスワード認証メカニズムは、固有のセキュリティ上のリスクであるサーバにパスワードが記載されています。サーバーにパスワードを開示しないようにSASL DIGEST-MD5 [DIGEST-MD5]などの他のメカニズムが、あります。

6.3.3. Password-Related Security Considerations
6.3.3. パスワード関連のセキュリティに関する考慮事項

LDAP allows multi-valued password attributes. In systems where entries are expected to have one and only one password, administrative controls should be provided to enforce this behavior.


The use of clear text passwords and other unprotected authentication credentials is strongly discouraged over open networks when the underlying transport service cannot guarantee confidentiality. LDAP implementations SHOULD NOT by default support authentication methods using clear text passwords and other unprotected authentication credentials unless the data on the session is protected using TLS or other data confidentiality and data integrity protection.

クリアテキストのパスワードや他の保護されていない認証資格情報を使用することを強く根本的な輸送サービスは、機密性を保証することはできませんオープンネットワーク上で推奨されていません。 LDAPの実装では、セッション上のデータは、TLSまたは他のデータの機密性と完全性保護を使用して保護されていない限り、クリアテキストのパスワードや他の保護されていない認証資格情報を使用して、デフォルトのサポートの認証方法によりべきではありません。

The transmission of passwords in the clear -- typically for authentication or modification -- poses a significant security risk. This risk can be avoided by using SASL authentication [RFC4422]

通常、認証または修正のために - - 明確でパスワードの送信は重大なセキュリティ上の危険性があります。このリスクは、SASL認証[RFC4422]を使用することによって回避することができます

mechanisms that do not transmit passwords in the clear or by negotiating transport or session layer data confidentiality services before transmitting password values.


To mitigate the security risks associated with the transfer of passwords, a server implementation that supports any password-based authentication mechanism that transmits passwords in the clear MUST support a policy mechanism that at the time of authentication or password modification, requires that:


A TLS layer has been successfully installed.




Some other data confidentiality mechanism that protects the password value from eavesdropping has been provided.




The server returns a resultCode of confidentialityRequired for the operation (i.e., name/password Bind with password value, SASL Bind transmitting a password value in the clear, add or modify including a userPassword value, etc.), even if the password value is correct.

サーバーは、パスワード値が正しくても、(すなわち、パスワード値を持つ名/パスワードのバインド、SASLバインドが明確でパスワード値を送信し、userPassword属性の値などを含む追加または変更)の操作のためにconfidentialityRequiredのにresultCodeを返します。 。

Server implementations may also want to provide policy mechanisms to invalidate or otherwise protect accounts in situations where a server detects that a password for an account has been transmitted in the clear.


6.3.4. Hashed Password Security Considerations
6.3.4. ハッシュされたパスワードのセキュリティの考慮事項

Some authentication mechanisms (e.g., DIGEST-MD5) transmit a hash of the password value that may be vulnerable to offline dictionary attacks. Implementers should take care to protect such hashed password values during transmission using TLS or other confidentiality mechanisms.


6.4. SASL Security Considerations
6.4. SASLセキュリティの考慮事項

Until data integrity service is installed on an LDAP session, an attacker can modify the transmitted values of the 'supportedSASLMechanisms' attribute response and thus downgrade the list of available SASL mechanisms to include only the least secure mechanism. To detect this type of attack, the client may retrieve the SASL mechanisms the server makes available both before and after data integrity service is installed on an LDAP session. If the client finds that the integrity-protected list (the list obtained after data integrity service was installed) contains a stronger mechanism than those in the previously obtained list, the client should assume the previously obtained list was modified by an attacker. In this circumstance it is recommended that the client close the underlying transport connection and then reconnect to reestablish the session.


6.5. Related Security Considerations
6.5. 関連のセキュリティの考慮事項

Additional security considerations relating to the various authentication methods and mechanisms discussed in this document apply and can be found in [RFC4422], [RFC4013], [RFC3454], and [RFC3629].


7. IANA Considerations
7. IANAの考慮事項

The IANA has updated the LDAP Protocol Mechanism registry to indicate that this document and [RFC4511] provide the definitive technical specification for the StartTLS ( extended operation.


The IANA has updated the LDAP LDAPMessage types registry to indicate that this document and [RFC4511] provide the definitive technical specification for the bindRequest (0) and bindResponse (1) message types.


The IANA has updated the LDAP Bind Authentication Method registry to indicate that this document and [RFC4511] provide the definitive technical specification for the simple (0) and sasl (3) bind authentication methods.


The IANA has updated the LDAP authzid prefixes registry to indicate that this document provides the definitive technical specification for the dnAuthzId (dn:) and uAuthzId (u:) authzid prefixes.

IANAは、この文書がdnAuthzId(DN :)とuAuthzId(uはauthzidはプレフィックスを:)のための決定的な技術仕様を提供することを示すために、LDAPのauthzidはプレフィックスレジストリを更新しました。

8. Acknowledgements

This document combines information originally contained in RFC 2251, RFC 2829, and RFC 2830. RFC 2251 was a product of the Access, Searching, and Indexing of Directories (ASID) Working Group. RFC 2829 and RFC 2830 were products of the LDAP Extensions (LDAPEXT) Working Group.

この文書は、もともとRFC 2251に含まれている情報は、RFC 2829を組み合わせ、およびRFC 2830 RFC 2251ディレクトリのアクセス、検索、およびインデックス(ASID)作業部会の製品でした。 RFC 2829およびRFC 2830は、LDAP拡張機能(LDAPEXT)ワーキンググループの製品でした。

This document is a product of the IETF LDAP Revision (LDAPBIS) working group.

この文書は、IETF LDAP改訂(LDAPBIS)ワーキンググループの製品です。

9. Normative References

[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.

[RFC791]ポステル、J.、 "インターネットプロトコル"、STD 5、RFC 791、1981年9月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.

[RFC2460]デアリング、S.とR. Hindenと、 "インターネットプロトコルバージョン6(IPv6)の仕様"、RFC 2460、1998年12月。

[RFC3454] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002.

[RFC3454]ホフマン、P.及びM.ブランシェ、 "国際化された文字列の調製(" 文字列準備 ")"、RFC 3454、2002年12月。

[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.

[RFC3490] Faltstrom、P.、ホフマン、P.、およびA.コステロ、 "アプリケーションにおける国際化ドメイン名(IDNA)"、RFC 3490、2003年3月。

[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.

[RFC3629] Yergeau、F.、 "UTF-8、ISO 10646の変換フォーマット"、STD 63、RFC 3629、2003年11月。

[RFC4013] Zeilenga, K., "SASLprep: Stringprep Profile for User Names and Passwords", RFC 4013, February 2005.

[RFC4013] Zeilenga、K.、 "SASLprep:ユーザ名とパスワードのためのstringprepプロフィール"、RFC 4013、2005年2月。

[RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005.

[RFC4234]クロッカー、D.、およびP. Overell、 "構文仕様のための増大しているBNF:ABNF"、RFC 4234、2005年10月。

[RFC4346] Dierks, T. and E. Rescorla, "The TLS Protocol Version 1.1", RFC 4346, March 2006.

[RFC4346]ダークス、T.およびE.レスコラ、 "TLSプロトコルバージョン1.1"、RFC 4346、2006年3月。

[RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple Authentication and Security Layer (SASL)", RFC 4422, June 2006.

[RFC4422]メルニコフ、A.編。そして、K. Zeilenga、エド。、 "簡易認証セキュリティー層(SASL)"、RFC 4422、2006年6月。

[RFC4510] Zeilenga, K., Ed., "Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map", RFC 4510, June 2006.

[RFC4510] Zeilenga、K.、エド、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):技術仕様ロードマップ"。、RFC 4510、2006年6月。

[RFC4511] Sermersheim, J., Ed., "Lightweight Directory Access Protocol (LDAP): The Protocol", RFC 4511, June 2006.

[RFC4511] Sermersheim、J.、エド、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):プロトコル"、RFC 4511、2006年6月。

[RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol (LDAP): Directory Information Models", RFC 4512, June 2006.

[RFC4512] Zeilenga、K.、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):ディレクトリ情報モデル"、RFC 4512、2006年6月。

[RFC4514] Zeilenga, K., Ed., "Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names", RFC 4514, June 2006.

[RFC4514] Zeilenga、K.、エド、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):識別名の文字列表現"。、RFC 4514、2006年6月。

[RFC4517] Legg, S., Ed., "Lightweight Directory Access Protocol (LDAP): Syntaxes and Matching Rules", RFC 4517, June 2006.

[RFC4517]レッグ、S.​​、エド、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):構文と一致規則"、RFC 4517、2006年6月。

[RFC4519] Sciberras, A., Ed., "Lightweight Directory Access Protocol (LDAP): Schema for User Applications", RFC 4519, June 2006.

[RFC4519] Sciberras、A.、エド、 "ライトウェイトディレクトリアクセスプロトコル(LDAP):ユーザー・アプリケーションのためのスキーマ"。、RFC 4519、2006年6月。

[RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006.

[RFC4520] Zeilenga、K.、 "IANA(Internet Assigned Numbers Authority)のライトウェイトディレクトリアクセスプロトコル(LDAP)に関する考慮事項"、BCP 64、RFC 4520、2006年6月。

[Unicode] The Unicode Consortium, "The Unicode Standard, Version 3.2.0" is defined by "The Unicode Standard, Version 3.0" (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633- 5), as amended by the "Unicode Standard Annex #27: Unicode 3.1" ( and by the "Unicode Standard Annex #28: Unicode 3.2" (

[UNICODE]ユニコードコンソーシアムは、 "Unicode標準、バージョン3.2.0" は、 "Unicode規格、バージョン3.0" によって定義される(読み出し、MA、アディソン・ウェズリー、2000 ISBN 0-201-61633- 5)、など改正 "Unicode標準の附属書#27:ユニコード3.1"(とで "Unicode標準の附属書#28:Unicodeの3.2"(のhttp://www.unicode .ORG /レポート/ TR28 /)。

[X.501] ITU-T Rec. X.501, "The Directory: Models", 1993.

[X.501] ITU-T勧告。 X.501、 "ディレクトリ:モデル"、1993年。

10. Informative References

[DIGEST-MD5] Leach, P., Newman, C., and A. Melnikov, "Using Digest Authentication as a SASL Mechanism", Work in Progress, March 2006.

[DIGEST-MD5]リーチ、P.、ニューマン、C.、およびA.メルニコフ、進歩、2006年3月にワーク "SASLメカニズムとしてダイジェスト認証を使用します"。

[PLAIN] Zeilenga, K., "The Plain SASL Mechanism", Work in Progress, March 2005.

[PLAIN] Zeilenga、K.、 "平野SASLメカニズム"、進歩、2005年3月に作業。

[RFC2828] Shirey, R., "Internet Security Glossary", FYI 36, RFC 2828, May 2000.

[RFC2828] Shirey、R.、 "インターネットセキュリティ用語集"、FYI 36、RFC 2828、2000年5月。

[RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005.

[RFC4301]ケント、S.とK. Seo、 "インターネットプロトコルのためのセキュリティアーキテクチャ"、RFC 4301、2005年12月。

[RFC4505] Zeilenga, K., "The Anonymous SASL Mechanism", RFC 4505, June 2006.

[RFC4505] Zeilenga、K.、 "匿名SASLメカニズム"、RFC 4505、2006年6月。

Appendix A. Authentication and Authorization Concepts


This appendix is non-normative.


This appendix defines basic terms, concepts, and interrelationships regarding authentication, authorization, credentials, and identity. These concepts are used in describing how various security approaches are utilized in client authentication and authorization.


A.1. Access Control Policy


An access control policy is a set of rules defining the protection of resources, generally in terms of the capabilities of persons or other entities accessing those resources. Security objects and mechanisms, such as those described here, enable the expression of access control policies and their enforcement.


A.2. Access Control Factors


A request, when it is being processed by a server, may be associated with a wide variety of security-related factors. The server uses these factors to determine whether and how to process the request. These are called access control factors (ACFs). They might include source IP address, encryption strength, the type of operation being requested, time of day, etc.. Some factors may be specific to the request itself; others may be associated with the transport connection via which the request is transmitted; and others (e.g., time of day) may be "environmental".


Access control policies are expressed in terms of access control factors; for example, "a request having ACFs i,j,k can perform operation Y on resource Z". The set of ACFs that a server makes available for such expressions is implementation specific.


A.3. Authentication, Credentials, Identity


Authentication credentials are the evidence supplied by one party to another, asserting the identity of the supplying party (e.g., a user) who is attempting to establish a new authorization state with the other party (typically a server). Authentication is the process of generating, transmitting, and verifying these credentials and thus the identity they assert. An authentication identity is the name presented in a credential.


There are many forms of authentication credentials. The form used depends upon the particular authentication mechanism negotiated by the parties. X.509 certificates, Kerberos tickets, and simple identity and password pairs are all examples of authentication credential forms. Note that an authentication mechanism may constrain the form of authentication identities used with it.

認証証明書の多くの形態があります。使用されるフォームは、当事者間で交渉され、特定の認証メカニズムに依存します。 X.509証明書、Kerberosチケット、および単純なIDおよびパスワードのペアは、認証資格形のすべての例です。認証メカニズムは、それに使用される認証アイデンティティの形式を制約することがあります。

A.4. Authorization Identity


An authorization identity is one kind of access control factor. It is the name of the user or other entity that requests that operations be performed. Access control policies are often expressed in terms of authorization identities; for example, "entity X can perform operation Y on resource Z".


The authorization identity of an LDAP session is often semantically the same as the authentication identity presented by the client, but it may be different. SASL allows clients to specify an authorization identity distinct from the authentication identity asserted by the client's credentials. This permits agents such as proxy servers to authenticate using their own credentials, yet request the access privileges of the identity for which they are proxying [RFC4422]. Also, the form of authentication identity supplied by a service like TLS may not correspond to the authorization identities used to express a server's access control policy, thus requiring a server-specific mapping to be done. The method by which a server composes and validates an authorization identity from the authentication credentials supplied by a client is implementation specific.

LDAPセッションの認可IDは、意味的に、多くの場合、クライアントが提示する認証アイデンティティと同じであるが、それは異なる場合があります。 SASLは、クライアントがクライアントの資格情報によってアサートされた認証アイデンティティから個別の許可IDを指定することができます。これは、自分の資格情報を使用して認証するために、このようなプロキシサーバなどの薬剤を許可し、まだ彼らは[RFC4422]をプロキシしているためにアイデンティティのアクセス権限を要求します。また、TLSのようなサービスによって供給された認証IDの形式は、このように行われるサーバ固有のマッピングを必要とする、サーバのアクセス制御ポリシーを表現するために使用される許可IDに対応していなくてもよいです。サーバは、クライアントによって提供される認証資格から認証アイデンティティを構成し、検証する方法は、実装固有のものです。

Appendix B. Summary of Changes


This appendix is non-normative.


This appendix summarizes substantive changes made to RFC 2251, RFC 2829 and RFC 2830. In addition to the specific changes detailed below, the reader of this document should be aware that numerous general editorial changes have been made to the original content from the source documents. These changes include the following:

この付録では、RFC 2251、RFC 2829および以下の詳細な特定の変更に加えて、RFC 2830に作られた実質的な変更点をまとめ、このドキュメントの読者は、多くの一般的な編集上の変更は、ソースドキュメントから元のコンテンツに行われていることに注意する必要があります。これらの変更は、次のものがあります。

- The material originally found in RFC 2251 Sections 4.2.1 and 4.2.2, RFC 2829 (all sections except Sections 2 and 4), and RFC 2830 was combined into a single document.

- 本来RFCに見出さ材料2251個のセクション4.2.1および4.2.2、RFC 2829(セクション2と4を除くすべてのセクション)、およびRFC 2830は、単一のドキュメントにまとめました。

- The combined material was substantially reorganized and edited to group related subjects, improve the document flow, and clarify intent.

- 合成材料は、実質的に再編成し、グループに関連する対象に編集された、文書の流れを改善し、意図を明らかにする。

- Changes were made throughout the text to align with definitions of LDAP protocol layers and IETF security terminology.

- 変更はLDAPプロトコル層とIETFセキュリティ用語の定義に合わせてテキスト全体で行われました。

- Substantial updates and additions were made to security considerations from both documents based on current operational experience.

- かなりの更新や追加は、現在の運用経験に基づいて両方のドキュメントからセキュリティを考慮に行われました。

B.1. Changes Made to


This section summarizes the substantive changes made to Sections 4.2.1 and 4.2.2 of RFC 2251 by this document. Additional substantive changes to Section 4.2.1 of RFC 2251 are also documented in [RFC4511].

このセクションでは、この文書でセクション4.2.1およびRFC 2251の4.2.2に作られた実質的な変更をまとめたもの。 RFC 2251のセクション4.2.1への追加の実質的な変更は、[RFC4511]に記載されています。

B.1.1. ("Sequencing of the Bind Request")

B.1.1。 (「BIND要求のシーケンシング」)

- Paragraph 1: Removed the sentence, "If at any stage the client wishes to abort the bind process it MAY unbind and then drop the underlying connection". The Unbind operation still permits this behavior, but it is not documented explicitly.

- 第1項:削除文、「いずれかの段階で、クライアントはバインド処理を中止したい場合は、バインド解除してから基本的な接続を切断してもよい(MAY)」。 unbindは、まだこの動作を可能にし、それが明示的に記載されていません。

- Clarified that the session is moved to an anonymous state upon receipt of the BindRequest PDU and that it is only moved to a non-anonymous state if and when the Bind request is successful.

- セッションがBindRequest PDUを受信すると、匿名の状態に移動されていることを明確化し、バインド要求が成功した場合、いつそれが唯一の非匿名の状態に移動されていること。

B.1.2. ("Authentication and Other Security Services")

B.1.2。 (「認証およびその他のセキュリティサービス」)

- RFC 2251 states that anonymous authentication MUST be performed using the simple bind method. This specification defines the anonymous authentication mechanism of the simple bind method and requires all conforming implementations to support it. Other authentication mechanisms producing anonymous authentication and authorization state may also be implemented and used by conforming implementations.

- RFC 2251は、匿名認証は、単純なbindメソッドを使用して実行しなければならないことを述べています。この仕様は、単純なbindメソッドの匿名認証メカニズムを定義し、それをサポートするために、すべての適合実装が必要です。匿名認証および認可状態を生成する他の認証メカニズムも実装を適合することにより実現して用いてもよいです。

B.2. Changes Made to


This section summarizes the substantive changes made to RFC 2829.

このセクションでは、RFC 2829に作られた実質的な変更をまとめたもの。

B.2.1. ("Required security mechanisms")

B.2.1。 (「必要なセキュリティ機構」)

- The name/password authentication mechanism (see Section B.2.5 below) protected by TLS replaces the SASL DIGEST-MD5 mechanism as LDAP's mandatory-to-implement password-based authentication mechanism. Implementations are encouraged to continue supporting SASL DIGEST-MD5 [DIGEST-MD5].

- TLSで保護された名/パスワード認証メカニズムは、(以下のセクションB.2.5を参照)、LDAPの実装に必須のパスワードベースの認証メカニズムとしてSASL DIGEST-MD5メカニズムを置き換えます。実装は、SASL DIGEST-MD5 [DIGEST-MD5]を支援を継続することをお勧めします。

B.2.2. ("Anonymous authentication procedure")

B.2.2。 (「匿名認証手続き」)

- Clarified that anonymous authentication involves a name value of zero length and a password value of zero length. The unauthenticated authentication mechanism was added to handle simple Bind requests involving a name value with a non-zero length and a password value of zero length.

- 匿名認証がゼロの長さの名前の値と長さがゼロのパスワード値を含むことを明確化。認証されていない認証メカニズムは、非ゼロの長さと長さがゼロのパスワード値を持つ名前の値を含んだ単純なバインド要求を処理するために追加されました。

B.2.3. ("Password-based authentication")

B.2.3。 (「パスワードベースの認証」)

- See Section B.2.1.

- セクションB.2.1を参照してください。

B.2.4. ("Digest authentication")

B.2.4。 (「ダイジェスト認証」)

- As the SASL-DIGEST-MD5 mechanism is no longer mandatory to implement, this section is now historical and was not included in this document. RFC 2829, Section 6.1, continues to document the SASL DIGEST-MD5 authentication mechanism.

- SASL-DIGEST-MD5メカニズムは、もはや実装するために必須ではありませんように、このセクションでは、今、歴史的であり、この文書に含まれていませんでした。 RFC 2829、セクション6.1は、SASL DIGEST-MD5認証メカニズムを文書化し続けています。

B.2.5. ("'simple' authentication choice under TLS encryption")

B.2.5。 (「TLS暗号化の下で、 『簡単な』認証の選択」)

- Renamed the "simple" authentication mechanism to the name/password authentication mechanism to better describe it.

- より良い、それを記述するための名前/パスワード認証機構に「単純な」認証メカニズムを改名。

- The use of TLS was generalized to align with definitions of LDAP protocol layers. TLS establishment is now discussed as an independent subject and is generalized for use with all authentication mechanisms and other security layers.

- TLSの使用は、LDAPプロトコル層の定義に合わせて一般化しました。 TLSの確立は、現在独立した主体として議論され、すべての認証メカニズムと他のセキュリティ層で使用するために一般化されます。

- Removed the implication that the userPassword attribute is the sole location for storage of password values to be used in authentication. There is no longer any implied requirement for how or where passwords are stored at the server for use in authentication.

- userPassword属性は、認証に使用するパスワード値を格納するための唯一の場所であるという意味を削除しました。パスワードが認証で使用するためのサーバに保存されている方法や場所についていかなる黙示の要件は、もはやありません。

B.2.6. ("Other authentication choices with TLS")

B.2.6。 (「TLSとその他の認証の選択肢」)

- See Section B.2.5.

- セクションB.2.5を参照してください。

B.2.7. ("Certificate-based authentication with TLS")

B.2.7。 (「TLSと証明書ベースの認証」)

- See Section B.2.5.

- セクションB.2.5を参照してください。

B.2.8. ("Other mechanisms")

B.2.8。 (「他のメカニズム」)

- All SASL authentication mechanisms are explicitly allowed within LDAP. Specifically, this means the SASL ANONYMOUS and SASL PLAIN mechanisms are no longer precluded from use within LDAP.

- すべてのSASL認証メカニズムは、明示的にLDAP内で許可されています。具体的には、SASL ANONYMOUSとSASL PLAINメカニズムはもはやLDAP内での使用から除外されることを意味しません。

B.2.9. ("Authorization Identity")

B.2.9。 (「認可アイデンティティ」)

- Specified matching rules for dnAuthzId and uAuthzId values. In particular, the DN value in the dnAuthzId form must be matched using DN matching rules, and the uAuthzId value MUST be prepared using SASLprep rules before being compared octet-wise.

- dnAuthzIdとuAuthzId値に指定されたマッチングルール。特に、dnAuthzId形態のDN値は、DNマッチング規則を使用して一致しなければならない、とuAuthzId値は、オクテット単位の比較される前にSASLprepルールを使用して調製されなければなりません。

- Clarified that uAuthzId values should not be assumed to be globally unique.

- uAuthzId値はグローバルに一意であると仮定してはならないことを明確化。

B.2.10. ("TLS Ciphersuites")

B.2.10。 ( "TLS暗号の組み合わせ")

- TLS ciphersuite recommendations are no longer included in this specification. Implementations must now support the TLS_RSA_WITH_3DES_EDE_CBC_SHA ciphersuite and should continue to support the TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA ciphersuite.

- TLS暗号スイートの勧告は、もはやこの仕様には含まれていません。実装は今TLS_RSA_WITH_3DES_EDE_CBC_SHA暗号スイートをサポートしなければならないとTLS_DHE_DSS_WITH_3DES_EDE_CBC_SHAの暗号スイートをサポートし続けなければなりません。

- Clarified that anonymous authentication involves a name value of zero length and a password value of zero length. The unauthenticated authentication mechanism was added to handle simple Bind requests involving a name value with a non-zero length and a password value of zero length.

- 匿名認証がゼロの長さの名前の値と長さがゼロのパスワード値を含むことを明確化。認証されていない認証メカニズムは、非ゼロの長さと長さがゼロのパスワード値を持つ名前の値を含んだ単純なバインド要求を処理するために追加されました。

B.3. Changes Made to


This section summarizes the substantive changes made to Sections 3 and 5 of RFC 2830. Readers should consult [RFC4511] for summaries of changes to other sections.

このセクションでは、RFC 2830読者のセクション3,5に加えられた実質的な変更は他のセクションへの変更の要約については[RFC4511]を参照する必要があり要約します。

B.3.1. ("Server Identity Check")

B.3.1。 (「サーバーIDチェック」)

- Substantially updated the server identity check algorithm to ensure that it is complete and robust. In particular, the use of all relevant values in the subjectAltName and the subjectName fields are covered by the algorithm and matching rules are specified for each type of value. Mapped (derived) forms of the server identity may now be used when the mapping is performed in a secure fashion.

- 実質的にそれが完全かつ堅牢であることを保証するために、サーバの同一性チェックアルゴリズムを更新しました。特に、のsubjectAltName及びサブジェクト名フィールドに関連するすべての値を使用することは、アルゴリズムによって覆われ、マッチングルールは、値の種類ごとに指定されています。マッピングが安全な方法で実行されるときに、サーバーのIDのマッピングされた(誘導される)の形態は、現在使用されてもよいです。

B.3.2. ("Refresh of Server Capabilities Information")

B.3.2。 (「サーバ機能の情報の更新」)

- Clients are no longer required to always refresh information about server capabilities following TLS establishment. This is to allow for situations where this information was obtained through a secure mechanism.

- クライアントは、もはや常にTLS確立次のサーバーの機能についての情報を更新する必要はありません。これは、この情報は安全なメカニズムを介して得られた状況を可能にすることです。

B.3.3. ("Effects of TLS on a Client's Authorization Identity")

B.3.3。 (「クライアントの認証アイデンティティにTLSの影響」)

- Establishing a TLS layer on an LDAP session may now cause the authorization state of the LDAP session to change.

- LDAPセッションでTLS層を確立することになりましたLDAPセッションの認証状態が変化する可能性があります。

B.3.4. ("TLS Connection Closure Effects")

B.3.4。 (「TLS接続クロージャー効果」)

- Closing a TLS layer on an LDAP session changes the authentication and authorization state of the LDAP session based on local policy. Specifically, this means that implementations are not required to change the authentication and authorization states to anonymous upon TLS closure.

- LDAPセッションでTLS層を閉じると、ローカルポリシーに基づいて、LDAPセッションの認証と承認の状態を変更します。具体的には、これは実装がTLSの閉鎖時に、匿名の認証と認可の状態を変更するために必要とされないことを意味します。

- Replaced references to RFC 2401 with RFC 4301.

- RFC 4301でRFC 2401への参照を置き換え。

Author's Address


Roger Harrison Novell, Inc. 1800 S. Novell Place Provo, UT 84606 USA

ロジャー・ハリソンノベル株式会社1800 S.ノベル場所プロボ、UT 84606 USA

Phone: +1 801 861 2642 EMail:

電話:+1 801 861 2642 Eメール

Full Copyright Statement


Copyright (C) The Internet Society (2006).


This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書では、BCP 78に含まれる権利と許可と制限の適用を受けており、その中の記載を除いて、作者は彼らのすべての権利を保有します。


この文書とここに含まれている情報は、基礎とCONTRIBUTOR「そのまま」、ORGANIZATION HE / SHEが表すまたはインターネットソサエティおよびインターネット・エンジニアリング・タスク・フォース放棄すべての保証、明示または、(もしあれば)後援ISに設けられています。黙示、情報の利用は、特定の目的に対する権利または商品性または適合性の黙示の保証を侵害しない任意の保証含むがこれらに限定されません。

Intellectual Property


The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、本書またはそのような権限下で、ライセンスがたりないかもしれない程度に記載された技術の実装や使用に関係すると主張される可能性があります任意の知的財産権やその他の権利の有効性または範囲に関していかなる位置を取りません利用可能です。またそれは、それがどのような権利を確認する独自の取り組みを行ったことを示すものでもありません。 RFC文書の権利に関する手続きの情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at


The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at

IETFは、その注意にこの標準を実装するために必要とされる技術をカバーすることができる任意の著作権、特許または特許出願、またはその他の所有権を持ってすべての利害関係者を招待します。 ietf-ipr@ietf.orgのIETFに情報を記述してください。



Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).