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