Home | History | Annotate | Line # | Download | only in rfc
      1 
      2 
      3 
      4 
      5 
      6 
      7 Network Working Group                                         R. Weltman
      8 Request for Comments: 3829                                America Online
      9 Category: Informational                                         M. Smith
     10                                                      Pearl Crescent, LLC
     11                                                                  M. Wahl
     12                                                                July 2004
     13 
     14              Lightweight Directory Access Protocol (LDAP)
     15          Authorization Identity Request and Response Controls
     16 
     17 Status of this Memo
     18 
     19    This memo provides information for the Internet community.  It does
     20    not specify an Internet standard of any kind.  Distribution of this
     21    memo is unlimited.
     22 
     23 Copyright Notice
     24 
     25    Copyright (C) The Internet Society (2004).
     26 
     27 Abstract
     28 
     29    This document extends the Lightweight Directory Access Protocol
     30    (LDAP) bind operation with a mechanism for requesting and returning
     31    the authorization identity it establishes.  Specifically, this
     32    document defines the Authorization Identity Request and Response
     33    controls for use with the Bind operation.
     34 
     35 1.  Introduction
     36 
     37    This document defines support for the Authorization Identity Request
     38    Control and the Authorization Identity Response Control for
     39    requesting and returning the authorization established in a bind
     40    operation.  The Authorization Identity Request Control may be
     41    submitted by a client in a bind request if authenticating with
     42    version 3 of the Lightweight Directory Access Protocol (LDAP)
     43    protocol [LDAPv3].  In the LDAP server's bind response, it may then
     44    include an Authorization Identity Response Control.  The response
     45    control contains the identity assumed by the client.  This is useful
     46    when there is a mapping step or other indirection during the bind, so
     47    that the client can be told what LDAP identity was granted.  Client
     48    authentication with certificates is the primary situation where this
     49    applies.  Also, some Simple Authentication and Security Layer [SASL]
     50    authentication mechanisms may not involve the client explicitly
     51    providing a DN, or may result in an authorization identity which is
     52    different from the authentication identity provided by the client
     53    [AUTH].
     54 
     55 
     56 
     57 
     58 Weltman, et al.              Informational                      [Page 1]
     59 
     61 RFC 3829          Authorization Identity Bind Control          July 2004
     62 
     63 
     64    The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"
     65    used in this document are to be interpreted as described in
     66    [RFCKeyWords].
     67 
     68 2.  Publishing support for the Authorization Identity Request Control
     69     and the Authorization Identity Response Control
     70 
     71    Support for the Authorization Identity Request Control and the
     72    Authorization Identity Response Control is indicated by the presence
     73    of the Object Identifiers (OIDs) 2.16.840.1.113730.3.4.16 and
     74    2.16.840.1.113730.3.4.15, respectively, in the supportedControl
     75    attribute [LDAPATTRS] of a server's root DSA-specific Entry (DSE).
     76 
     77 3.  Authorization Identity Request Control
     78 
     79    This control MAY be included in any bind request which specifies
     80    protocol version 3, as part of the controls field of the LDAPMessage
     81    as defined in [LDAPPROT].  In a multi-step bind operation, the client
     82    MUST provide the control with each bind request.
     83 
     84    The controlType is "2.16.840.1.113730.3.4.16" and the controlValue is
     85    absent.
     86 
     87 4.  Authorization Identity Response Control
     88 
     89    This control MAY be included in any final bind response where the
     90    first bind request of the bind operation included an Authorization
     91    Identity Request Control as part of the controls field of the
     92    LDAPMessage as defined in [LDAPPROT].
     93 
     94    The controlType is "2.16.840.1.113730.3.4.15".  If the bind request
     95    succeeded and resulted in an identity (not anonymous), the
     96    controlValue contains the authorization identity (authzId), as
     97    defined in [AUTH] section 9, granted to the requestor.  If the bind
     98    request resulted in an anonymous association, the controlValue field
     99    is a string of zero length.  If the bind request resulted in more
    100    than one authzId, the primary authzId is returned in the controlValue
    101    field.
    102 
    103    The control is only included in a bind response if the resultCode for
    104    the bind operation is success.
    105 
    106    If the server requires confidentiality protections to be in place
    107    prior to use of this control (see Security Considerations), the
    108    server reports failure to have adequate confidentiality protections
    109    in place by returning the confidentialityRequired result code.
    110 
    111 
    112 
    113 
    114 
    115 Weltman, et al.              Informational                      [Page 2]
    116 
    118 RFC 3829          Authorization Identity Bind Control          July 2004
    119 
    120 
    121    If the client has insufficient access rights to the requested
    122    authorization information, the server reports this by returning the
    123    insufficientAccessRights result code.
    124 
    125    Identities presented by a client as part of the authentication
    126    process may be mapped by the server to one or more authorization
    127    identities.  The bind response control can be used to retrieve the
    128    primary authzId.
    129 
    130    For example, during client authentication with certificates [AUTH], a
    131    client may possess more than one certificate and may not be able to
    132    determine which one was ultimately selected for authentication to the
    133    server.  The subject DN field in the selected certificate may not
    134    correspond exactly to a DN in the directory, but rather have gone
    135    through a mapping process controlled by the server.  Upon completing
    136    the certificate-based authentication, the client may issue a SASL
    137    [SASL] bind request, specifying the EXTERNAL mechanism and including
    138    an Authorization Identity Request Control.  The bind response MAY
    139    include an Authorization Identity Response Control indicating the DN
    140    in the server's Directory Information Tree (DIT) which the
    141    certificate was mapped to.
    142 
    143 5.  Alternative Approach with Extended Operation
    144 
    145    The LDAP "Who am I?" [AUTHZID] extended operation provides a
    146    mechanism to query the authorization identity associated with a bound
    147    connection.  Using an extended operation, as opposed to a bind
    148    response control, allows a client to learn the authorization identity
    149    after the bind has established integrity and data confidentiality
    150    protections.  The disadvantages of the extended operation approach
    151    are coordination issues between "Who am I?" requests, bind requests,
    152    and other requests, and that an extra operation is required to learn
    153    the authorization identity.  For multithreaded or high bandwidth
    154    server application environments, the bind response approach may be
    155    preferable.
    156 
    157 6.  Security Considerations
    158 
    159    The Authorization Identity Request and Response Controls are subject
    160    to standard LDAP security considerations.  The controls may be passed
    161    over a secure as well as over an insecure channel.  They are not
    162    protected by security layers negotiated by the bind operation.
    163 
    164    The response control allows for an additional authorization identity
    165    to be passed.  In some deployments, these identities may contain
    166    confidential information which require privacy protection.  In such
    167    deployments, a security layer should be established prior to issuing
    168    a bind request with an Authorization Identity Request Control.
    169 
    170 
    171 
    172 Weltman, et al.              Informational                      [Page 3]
    173 
    175 RFC 3829          Authorization Identity Bind Control          July 2004
    176 
    177 
    178 7.  IANA Considerations
    179 
    180    The OIDs 2.16.840.1.113730.3.4.16 and 2.16.840.1.113730.3.4.15 are
    181    reserved for the Authorization Identity Request and Response
    182    Controls, respectively.  The Authorization Identity Request Control
    183    has been registered as an LDAP Protocol Mechanism [IANALDAP].
    184 
    185 8.  References
    186 
    187 8.1.  Normative References
    188 
    189    [LDAPv3]      Hodges, J. and R. Morgan, "Lightweight Directory Access
    190                  Protocol (v3): Technical Specification", RFC 3377,
    191                  September 2002.
    192 
    193    [LDAPPROT]    Wahl, M., Howes, T. and S. Kille, "Lightweight
    194                  Directory Access Protocol (v3)", RFC 2251, December
    195                  1997.
    196 
    197    [RFCKeyWords] Bradner, S., "Key Words for use in RFCs to Indicate
    198                  Requirement Levels", BCP 14, RFC 2119, March 1997.
    199 
    200    [AUTH]        Wahl, M., Alvestrand, H., Hodges, J. and R. Morgan,
    201                  "Authentication Methods for LDAP", RFC 2829, May 2000.
    202 
    203    [SASL]        Myers, J., "Simple Authentication and Security Layer
    204                  (SASL)", RFC 2222, October 1997.
    205 
    206    [LDAPATTRS]   Wahl, M., Coulbeck, A., Howes, T. and S. Kille,
    207                  "Lightweight Directory Access Protocol (v3): Attribute
    208                  Syntax Definitions", RFC 2252, December 1997.
    209 
    210    [IANALDAP]    Hodges, J. and R. Morgan, "Lightweight Directory Access
    211                  Protocol (v3): Technical Specification", RFC 3377,
    212                  September 2002.
    213 
    214 8.2.  Informative References
    215 
    216    [AUTHZID]     Zeilenga, K., "LDAP 'Who am I?' Operation", Work in
    217                  Progress, April 2002.
    218 
    219 
    220 
    221 
    222 
    223 
    224 
    225 
    226 
    227 
    228 
    229 Weltman, et al.              Informational                      [Page 4]
    230 
    232 RFC 3829          Authorization Identity Bind Control          July 2004
    233 
    234 
    235 9.  Author's Addresses
    236 
    237    Rob Weltman
    238    America Online
    239    360 W. Caribbean Drive
    240    Sunnyvale, CA 94089
    241    USA
    242 
    243    Phone: +1 650 937-3194
    244    EMail: robw (a] worldspot.com
    245 
    246 
    247    Mark Smith
    248    Pearl Crescent, LLC
    249    447 Marlpool Drive
    250    Saline, MI 48176
    251    USA
    252 
    253    Phone: +1 734 944-2856
    254    EMail: mcs (a] pearlcrescent.com
    255 
    256 
    257    Mark Wahl
    258    PO Box 90626
    259    Austin, TX 78709-0626
    260    USA
    261 
    262 
    263 
    264 
    265 
    266 
    267 
    268 
    269 
    270 
    271 
    272 
    273 
    274 
    275 
    276 
    277 
    278 
    279 
    280 
    281 
    282 
    283 
    284 
    285 
    286 Weltman, et al.              Informational                      [Page 5]
    287 
    289 RFC 3829          Authorization Identity Bind Control          July 2004
    290 
    291 
    292 10.  Full Copyright Statement
    293 
    294    Copyright (C) The Internet Society (2004).  This document is subject
    295    to the rights, licenses and restrictions contained in BCP 78, and
    296    except as set forth therein, the authors retain all their rights.
    297 
    298    This document and the information contained herein are provided on an
    299    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
    300    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
    301    ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
    302    INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
    303    INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
    304    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
    305 
    306 Intellectual Property
    307 
    308    The IETF takes no position regarding the validity or scope of any
    309    Intellectual Property Rights or other rights that might be claimed to
    310    pertain to the implementation or use of the technology described in
    311    this document or the extent to which any license under such rights
    312    might or might not be available; nor does it represent that it has
    313    made any independent effort to identify any such rights.  Information
    314    on the procedures with respect to rights in RFC documents can be
    315    found in BCP 78 and BCP 79.
    316 
    317    Copies of IPR disclosures made to the IETF Secretariat and any
    318    assurances of licenses to be made available, or the result of an
    319    attempt made to obtain a general license or permission for the use of
    320    such proprietary rights by implementers or users of this
    321    specification can be obtained from the IETF on-line IPR repository at
    322    http://www.ietf.org/ipr.
    323 
    324    The IETF invites any interested party to bring to its attention any
    325    copyrights, patents or patent applications, or other proprietary
    326    rights that may cover technology that may be required to implement
    327    this standard.  Please address the information to the IETF at ietf-
    328    ipr (a] ietf.org.
    329 
    330 Acknowledgement
    331 
    332    Funding for the RFC Editor function is currently provided by the
    333    Internet Society.
    334 
    335 
    336 
    337 
    338 
    339 
    340 
    341 
    342 
    343 Weltman, et al.              Informational                      [Page 6]
    344 
    346