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