Home | History | Annotate | Line # | Download | only in rfc
      1 
      2 
      3 
      4 
      5 
      6 
      7 Internet Engineering Task Force (IETF)                       K. Zeilenga
      8 Request for Comments: 6171                                 Isode Limited
      9 Category: Standards Track                                     March 2011
     10 ISSN: 2070-1721
     11 
     12 
     13 The Lightweight Directory Access Protocol (LDAP) Don't Use Copy Control
     14 
     15 Abstract
     16 
     17    This document defines the Lightweight Directory Access Protocol
     18    (LDAP) Don't Use Copy control extension, which allows a client to
     19    specify that copied information should not be used in providing
     20    service.  This control is based upon the X.511 dontUseCopy service
     21    control option.
     22 
     23 Status of This Memo
     24 
     25    This is an Internet Standards Track document.
     26 
     27    This document is a product of the Internet Engineering Task Force
     28    (IETF).  It represents the consensus of the IETF community.  It has
     29    received public review and has been approved for publication by the
     30    Internet Engineering Steering Group (IESG).  Further information on
     31    Internet Standards is available in Section 2 of RFC 5741.
     32 
     33    Information about the current status of this document, any errata,
     34    and how to provide feedback on it may be obtained at
     35    http://www.rfc-editor.org/info/rfc6171.
     36 
     37 Copyright Notice
     38 
     39    Copyright (c) 2011 IETF Trust and the persons identified as the
     40    document authors.  All rights reserved.
     41 
     42    This document is subject to BCP 78 and the IETF Trust's Legal
     43    Provisions Relating to IETF Documents
     44    (http://trustee.ietf.org/license-info) in effect on the date of
     45    publication of this document.  Please review these documents
     46    carefully, as they describe your rights and restrictions with respect
     47    to this document.  Code Components extracted from this document must
     48    include Simplified BSD License text as described in Section 4.e of
     49    the Trust Legal Provisions and are provided without warranty as
     50    described in the Simplified BSD License.
     51 
     52 
     53 
     54 
     55 
     56 
     57 
     58 Zeilenga                     Standards Track                    [Page 1]
     59 
     61 RFC 6171               LDAP Don't Use Copy Control            March 2011
     62 
     63 
     64    This document may contain material from IETF Documents or IETF
     65    Contributions published or made publicly available before November
     66    10, 2008.  The person(s) controlling the copyright in some of this
     67    material may not have granted the IETF Trust the right to allow
     68    modifications of such material outside the IETF Standards Process.
     69    Without obtaining an adequate license from the person(s) controlling
     70    the copyright in such materials, this document may not be modified
     71    outside the IETF Standards Process, and derivative works of it may
     72    not be created outside the IETF Standards Process, except to format
     73    it for publication as an RFC or to translate it into languages other
     74    than English.
     75 
     76 1.  Background and Intended Usage
     77 
     78    This document defines the Lightweight Directory Access Protocol
     79    (LDAP) [RFC4510] Don't Use Copy control extension.  The control may
     80    be attached to request messages to indicate that copied (replicated
     81    or cached) information [X.500] is not be used in providing service.
     82    This control is based upon the X.511 [X.511] dontUseCopy service
     83    control option.
     84 
     85    The Don't Use Copy control is intended to be used where the client
     86    requires the service be provided using original (master) information
     87    [X.500].  In absence of this control, the server is free to make use
     88    of copied (i.e., non-authoritative) information in providing the
     89    requested service.
     90 
     91    For instance, a client might desire to have an authoritative answer
     92    to a question of whether or not a particular user is a member of a
     93    group.  To ask this question of a server, the client might issue a
     94    compare request [RFC4511], with the Don't Use Copy control, where the
     95    entry parameter is the Distinguished Name (DN) of the group, the
     96    ava.attributeDesc is 'member', and the ava.assertionValue is the DN
     97    of the user in question.  If the server has access to the original
     98    (master) information directly or through chaining, it performs the
     99    operation against the original (master) information and returns
    100    compareTrue or compareFalse (or an error).  If the server does not
    101    have access to the original information, the server is obligated to
    102    either return a referral or an error.
    103 
    104    It is not intended that this control be used generally (e.g., for all
    105    LDAP interrogation operations) but only as required to ensure proper
    106    directory application behavior.  In general, directory applications
    107    ought to designed to use copied information well.
    108 
    109 
    110 
    111 
    112 
    113 
    114 
    115 Zeilenga                     Standards Track                    [Page 2]
    116 
    118 RFC 6171               LDAP Don't Use Copy Control            March 2011
    119 
    120 
    121 2.  Terminology
    122 
    123    DSA stands for Directory System Agent (or server).
    124    DSE stands for DSA-Specific Entry.
    125 
    126    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    127    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    128    document are to be interpreted as described in RFC 2119 [RFC2119].
    129 
    130 3.  The Don't Use Copy Control
    131 
    132    The Don't Use Copy control is an LDAP Control [RFC4511] whose
    133    controlType is 1.3.6.1.1.22 and controlValue is absent.  The
    134    criticality MUST be TRUE.  There is no corresponding response
    135    control.
    136 
    137    The control is appropriate for LDAP interrogation operations,
    138    including Compare and Search operations [RFC4511].  It is
    139    inappropriate for all other operations, including Abandon, Bind,
    140    Delete, Modify, ModifyDN, StartTLS, and Unbind operations [RFC4511].
    141 
    142    When the control is attached to an LDAP request, the requested
    143    operation MUST NOT be performed on copied information.  That is, the
    144    requested operation MUST be performed on original information.
    145 
    146    If original (master) information for the target or base object of the
    147    operation is not available (either locally or through chaining), the
    148    server MUST either return a referral directing the client to a server
    149    believed to be better able to service the request or return an
    150    appropriate result code (e.g., unwillingToPerform).
    151 
    152    It is noted that a referral, if returned, is not necessarily to the
    153    server holding the original (master) information.  It is also noted
    154    that an authoritative answer to the question might not be available
    155    to the client for any number of reasons.
    156 
    157    Where the client chases a referral to a server (as referenced by an
    158    LDAP URL) in the server response in order to obtain an authoritative
    159    response, the client MUST provide the dontUseCopy control with the
    160    interrogation request it makes to the referred to server.  While LDAP
    161    allows return of other kinds of URIs, the syntax and semantics of
    162    other kinds of URIs are left to future specifications.  The
    163     particulars of how to act upon other kinds of URIs are also left to
    164    future specifications.
    165 
    166 
    167 
    168 
    169 
    170 
    171 
    172 Zeilenga                     Standards Track                    [Page 3]
    173 
    175 RFC 6171               LDAP Don't Use Copy Control            March 2011
    176 
    177 
    178    Servers implementing this technical specification SHOULD publish the
    179    object identifier 1.3.6.1.1.22 as a value of the 'supportedControl'
    180    attribute [RFC4512] in their root DSE.  A server MAY choose to
    181    advertise this extension only when the client is authorized to use
    182    it.
    183 
    184 4.  Security Considerations
    185 
    186    This control is intended to be provided where providing service using
    187    copied information might lead to unexpected application behavior.
    188 
    189    Use of the Don't Use Copy control may permit an attacker to perform
    190    or amplify a denial-of-service attack by causing additional server
    191    resources to be employed, such as when the server chooses to chain
    192    the request instead of returning a referral.  Servers capable of such
    193    chaining can mitigate this threat by limiting chaining to a
    194    particular group of authenticated entities.
    195 
    196    LDAP is frequently used for storage and distribution of security-
    197    sensitive information, including access control and security policy
    198    information.  Failure to use the Don't Use Copy control may thus
    199    permit an attacker to gain unauthorized access by allowing reliance
    200    on stale data.
    201 
    202 5.  IANA Considerations
    203 
    204 5.1.  Object Identifier
    205 
    206    IANA has assigned an LDAP Object Identifier [RFC4520] to identify the
    207    LDAP Don't Use Copy Control defined in this document.
    208 
    209       Subject: Request for LDAP Object Identifier Registration
    210       Person & email address to contact for further information:
    211           Kurt Zeilenga <Kurt.Zeilenga (a] Isode.COM>
    212       Specification: RFC 6171
    213       Author/Change Controller: IESG
    214       Comments:
    215           Identifies the LDAP Don't Use Copy Control
    216 
    217 
    218 
    219 
    220 
    221 
    222 
    223 
    224 
    225 
    226 
    227 
    228 
    229 Zeilenga                     Standards Track                    [Page 4]
    230 
    232 RFC 6171               LDAP Don't Use Copy Control            March 2011
    233 
    234 
    235 5.2.  LDAP Protocol Mechanism
    236 
    237    IANA has registered this protocol mechanism [RFC4520] as follows.
    238 
    239       Subject: Request for LDAP Protocol Mechanism Registration
    240       Object Identifier: 1.3.6.1.1.22
    241       Description: Don't Use Copy Control
    242       Person & email address to contact for further information:
    243           Kurt Zeilenga <Kurt.Zeilenga (a] Isode.COM>
    244       Usage: Control
    245       Specification: RFC 6171
    246       Author/Change Controller: IESG
    247       Comments: none
    248 
    249 6.  Acknowledgements
    250 
    251    The author thanks Ben Campbell, Phillip Hallam-Baker, and Ted Hardie
    252    for providing review and specific suggestions.
    253 
    254 7.  References
    255 
    256 7.1.  Normative References
    257 
    258    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
    259               Requirement Levels", BCP 14, RFC 2119, March 1997.
    260 
    261    [RFC4510]  Zeilenga, K., Ed., "Lightweight Directory Access Protocol
    262               (LDAP): Technical Specification Road Map", RFC 4510, June
    263               2006.
    264 
    265    [RFC4511]  Sermersheim, J., Ed., "Lightweight Directory Access
    266               Protocol (LDAP): The Protocol", RFC 4511, June 2006.
    267 
    268    [RFC4512]  Zeilenga, K., Ed., "Lightweight Directory Access Protocol
    269               (LDAP): Directory Information Models", RFC 4512, June
    270               2006.
    271 
    272 7.2.  Informative References
    273 
    274    [X.500]    International Telecommunication Union - Telecommunication
    275               Standardization Sector, "The Directory -- Overview of
    276               concepts, models and services," X.500(1993) (also ISO/IEC
    277               9594-1:1994).
    278 
    279    [X.511]    International Telecommunication Union - Telecommunication
    280               Standardization Sector, "The Directory: Abstract Service
    281               Definition", X.511(1993) (also ISO/IEC 9594-3:1993).
    282 
    283 
    284 
    285 
    286 Zeilenga                     Standards Track                    [Page 5]
    287 
    289 RFC 6171               LDAP Don't Use Copy Control            March 2011
    290 
    291 
    292    [RFC4520]  Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
    293               Considerations for the Lightweight Directory Access
    294               Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
    295 
    296 Author's Address
    297 
    298    Kurt D. Zeilenga
    299    Isode Limited
    300 
    301    EMail: Kurt.Zeilenga (a] Isode.COM
    302 
    303 
    304 
    305 
    306 
    307 
    308 
    309 
    310 
    311 
    312 
    313 
    314 
    315 
    316 
    317 
    318 
    319 
    320 
    321 
    322 
    323 
    324 
    325 
    326 
    327 
    328 
    329 
    330 
    331 
    332 
    333 
    334 
    335 
    336 
    337 
    338 
    339 
    340 
    341 
    342 
    343 Zeilenga                     Standards Track                    [Page 6]
    344 
    346