1 1.1 lukem 2 1.1 lukem 3 1.1 lukem 4 1.1 lukem 5 1.1 lukem 6 1.1 lukem 7 1.1 lukem Network Working Group K. Zeilenga 8 1.1 lukem Request for Comments: 4530 OpenLDAP Foundation 9 1.1 lukem Category: Standards Track June 2006 10 1.1 lukem 11 1.1 lukem 12 1.1 lukem Lightweight Directory Access Protocol (LDAP) 13 1.1 lukem entryUUID Operational Attribute 14 1.1 lukem 15 1.1 lukem 16 1.1 lukem Status of This Memo 17 1.1 lukem 18 1.1 lukem This document specifies an Internet standards track protocol for the 19 1.1 lukem Internet community, and requests discussion and suggestions for 20 1.1 lukem improvements. Please refer to the current edition of the "Internet 21 1.1 lukem Official Protocol Standards" (STD 1) for the standardization state 22 1.1 lukem and status of this protocol. Distribution of this memo is unlimited. 23 1.1 lukem 24 1.1 lukem Copyright Notice 25 1.1 lukem 26 1.1 lukem Copyright (C) The Internet Society (2006). 27 1.1 lukem 28 1.1 lukem Abstract 29 1.1 lukem 30 1.1 lukem This document describes the LDAP/X.500 'entryUUID' operational 31 1.1 lukem attribute and associated matching rules and syntax. The attribute 32 1.1 lukem holds a server-assigned Universally Unique Identifier (UUID) for the 33 1.1 lukem object. Directory clients may use this attribute to distinguish 34 1.1 lukem objects identified by a distinguished name or to locate an object 35 1.1 lukem after renaming. 36 1.1 lukem 37 1.1 lukem 38 1.1 lukem 39 1.1 lukem 40 1.1 lukem 41 1.1 lukem 42 1.1 lukem 43 1.1 lukem 44 1.1 lukem 45 1.1 lukem 46 1.1 lukem 47 1.1 lukem 48 1.1 lukem 49 1.1 lukem 50 1.1 lukem 51 1.1 lukem 52 1.1 lukem 53 1.1 lukem 54 1.1 lukem 55 1.1 lukem 56 1.1 lukem 57 1.1 lukem 58 1.1 lukem Zeilenga Standards Track [Page 1] 59 1.1 lukem 61 1.1 lukem RFC 4530 LDAP entryUUID June 2006 62 1.1 lukem 63 1.1 lukem 64 1.1 lukem Table of Contents 65 1.1 lukem 66 1.1 lukem 1. Background and Intended Use .....................................2 67 1.1 lukem 2. UUID Schema Elements ............................................3 68 1.1 lukem 2.1. UUID Syntax ................................................3 69 1.1 lukem 2.2. 'uuidMatch' Matching Rule ..................................3 70 1.1 lukem 2.3. 'uuidOrderingMatch' Matching Rule ..........................3 71 1.1 lukem 2.4. 'entryUUID' Attribute ......................................4 72 1.1 lukem 3. Security Considerations .........................................4 73 1.1 lukem 4. IANA Considerations .............................................5 74 1.1 lukem 4.1. Object Identifier Registration .............................5 75 1.1 lukem 4.2. UUID Syntax Registration ...................................5 76 1.1 lukem 4.3. 'uuidMatch' Descriptor Registration ........................5 77 1.1 lukem 4.4. 'uuidOrderingMatch' Descriptor Registration ................5 78 1.1 lukem 4.5. 'entryUUID' Descriptor Registration ........................6 79 1.1 lukem 5. Acknowledgements ................................................6 80 1.1 lukem 6. References ......................................................6 81 1.1 lukem 6.1. Normative References .......................................6 82 1.1 lukem 6.2. Informative References .....................................7 83 1.1 lukem 84 1.1 lukem 1. Background and Intended Use 85 1.1 lukem 86 1.1 lukem In X.500 Directory Services [X.501], such as those accessible using 87 1.1 lukem the Lightweight Directory Access Protocol (LDAP) [RFC4510], an object 88 1.1 lukem is identified by its distinguished name (DN). However, DNs are not 89 1.1 lukem stable identifiers. That is, a new object may be identified by a DN 90 1.1 lukem that previously identified another (now renamed or deleted) object. 91 1.1 lukem 92 1.1 lukem A Universally Unique Identifier (UUID) is "an identifier unique 93 1.1 lukem across both space and time, with respect to the space of all UUIDs" 94 1.1 lukem [RFC4122]. UUIDs are used in a wide range of systems. 95 1.1 lukem 96 1.1 lukem This document describes the 'entryUUID' operational attribute, which 97 1.1 lukem holds the UUID assigned to the object by the server. Clients may use 98 1.1 lukem this attribute to distinguish objects identified by a particular 99 1.1 lukem distinguished name or to locate a particular object after renaming. 100 1.1 lukem 101 1.1 lukem This document defines the UUID syntax, the 'uuidMatch' and 102 1.1 lukem 'uuidOrderingMatch' matching rules, and the 'entryUUID' attribute 103 1.1 lukem type. 104 1.1 lukem 105 1.1 lukem Schema definitions are provided using LDAP description formats 106 1.1 lukem [RFC4512]. Definitions provided here are formatted (line wrapped) 107 1.1 lukem for readability. 108 1.1 lukem 109 1.1 lukem 110 1.1 lukem 111 1.1 lukem 112 1.1 lukem 113 1.1 lukem 114 1.1 lukem 115 1.1 lukem Zeilenga Standards Track [Page 2] 116 1.1 lukem 118 1.1 lukem RFC 4530 LDAP entryUUID June 2006 119 1.1 lukem 120 1.1 lukem 121 1.1 lukem In this document, the key words "MUST", "MUST NOT", "REQUIRED", 122 1.1 lukem "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 123 1.1 lukem and "OPTIONAL" are to be interpreted as described in BCP 14 124 1.1 lukem [RFC2119]. 125 1.1 lukem 126 1.1 lukem 2. UUID Schema Elements 127 1.1 lukem 128 1.1 lukem 2.1. UUID Syntax 129 1.1 lukem 130 1.1 lukem A Universally Unique Identifier (UUID) [RFC4122] is a 16-octet (128- 131 1.1 lukem bit) value that identifies an object. The ASN.1 [X.680] type UUID is 132 1.1 lukem defined to represent UUIDs as follows: 133 1.1 lukem 134 1.1 lukem UUID ::= OCTET STRING (SIZE(16)) 135 1.1 lukem -- constrained to an UUID [RFC4122] 136 1.1 lukem 137 1.1 lukem In LDAP, UUID values are encoded using the [ASCII] character string 138 1.1 lukem representation described in [RFC4122]. For example, 139 1.1 lukem "597ae2f6-16a6-1027-98f4-d28b5365dc14". 140 1.1 lukem 141 1.1 lukem The following is an LDAP syntax description suitable for publication 142 1.1 lukem in subschema subentries. 143 1.1 lukem 144 1.1 lukem ( 1.3.6.1.1.16.1 DESC 'UUID' ) 145 1.1 lukem 146 1.1 lukem 2.2. 'uuidMatch' Matching Rule 147 1.1 lukem 148 1.1 lukem The 'uuidMatch' matching rule compares an asserted UUID with a stored 149 1.1 lukem UUID for equality. Its semantics are the same as the 150 1.1 lukem 'octetStringMatch' [X.520][RFC4517] matching rule. The rule differs 151 1.1 lukem from 'octetStringMatch' in that the assertion value is encoded using 152 1.1 lukem the UUID string representation instead of the normal OCTET STRING 153 1.1 lukem string representation. 154 1.1 lukem 155 1.1 lukem The following is an LDAP matching rule description suitable for 156 1.1 lukem publication in subschema subentries. 157 1.1 lukem 158 1.1 lukem ( 1.3.6.1.1.16.2 NAME 'uuidMatch' 159 1.1 lukem SYNTAX 1.3.6.1.1.16.1 ) 160 1.1 lukem 161 1.1 lukem 2.3. 'uuidOrderingMatch' Matching Rule 162 1.1 lukem 163 1.1 lukem The 'uuidOrderingMatch' matching rule compares an asserted UUID with 164 1.1 lukem a stored UUID for ordering. Its semantics are the same as the 165 1.1 lukem 'octetStringOrderingMatch' [X.520][RFC4517] matching rule. The rule 166 1.1 lukem differs from 'octetStringOrderingMatch' in that the assertion value 167 1.1 lukem is encoded using the UUID string representation instead of the normal 168 1.1 lukem OCTET STRING string representation. 169 1.1 lukem 170 1.1 lukem 171 1.1 lukem 172 1.1 lukem Zeilenga Standards Track [Page 3] 173 1.1 lukem 175 1.1 lukem RFC 4530 LDAP entryUUID June 2006 176 1.1 lukem 177 1.1 lukem 178 1.1 lukem The following is an LDAP matching rule description suitable for 179 1.1 lukem publication in subschema subentries. 180 1.1 lukem 181 1.1 lukem ( 1.3.6.1.1.16.3 NAME 'uuidOrderingMatch' 182 1.1 lukem SYNTAX 1.3.6.1.1.16.1 ) 183 1.1 lukem 184 1.1 lukem Note that not all UUID variants have a defined ordering; and even 185 1.1 lukem where it does, servers are not obligated to assign UUIDs in any 186 1.1 lukem particular order. This matching rule is provided for completeness. 187 1.1 lukem 188 1.1 lukem 2.4. 'entryUUID' Attribute 189 1.1 lukem 190 1.1 lukem The 'entryUUID' operational attribute provides the Universally Unique 191 1.1 lukem Identifier (UUID) assigned to the entry. 192 1.1 lukem 193 1.1 lukem The following is an LDAP attribute type description suitable for 194 1.1 lukem publication in subschema subentries. 195 1.1 lukem 196 1.1 lukem ( 1.3.6.1.1.16.4 NAME 'entryUUID' 197 1.1 lukem DESC 'UUID of the entry' 198 1.1 lukem EQUALITY uuidMatch 199 1.1 lukem ORDERING uuidOrderingMatch 200 1.1 lukem SYNTAX 1.3.6.1.1.16.1 201 1.1 lukem SINGLE-VALUE 202 1.1 lukem NO-USER-MODIFICATION 203 1.1 lukem USAGE directoryOperation ) 204 1.1 lukem 205 1.1 lukem Servers SHALL generate and assign a new UUID to each entry upon its 206 1.1 lukem addition to the directory and provide that UUID as the value of the 207 1.1 lukem 'entryUUID' operational attribute. An entry's UUID is immutable. 208 1.1 lukem 209 1.1 lukem UUID are to be generated in accordance with Section 4 of [RFC4122]. 210 1.1 lukem In particular, servers MUST ensure that each generated UUID is unique 211 1.1 lukem in space and time. 212 1.1 lukem 213 1.1 lukem 3. Security Considerations 214 1.1 lukem 215 1.1 lukem An entry's relative distinguish name (RDN) is composed from attribute 216 1.1 lukem values of the entry, which are commonly descriptive of the object the 217 1.1 lukem entry represents. Although deployers are encouraged to use naming 218 1.1 lukem attributes whose values are widely disclosable [RFC4514], entries are 219 1.1 lukem often named using information that cannot be disclosed to all 220 1.1 lukem parties. As UUIDs do not contain any descriptive information of the 221 1.1 lukem object they identify, UUIDs may be used to identify a particular 222 1.1 lukem entry without disclosure of its contents. 223 1.1 lukem 224 1.1 lukem General UUID security considerations [RFC4122] apply. 225 1.1 lukem 226 1.1 lukem 227 1.1 lukem 228 1.1 lukem 229 1.1 lukem Zeilenga Standards Track [Page 4] 230 1.1 lukem 232 1.1 lukem RFC 4530 LDAP entryUUID June 2006 233 1.1 lukem 234 1.1 lukem 235 1.1 lukem General LDAP security considerations [RFC4510] apply. 236 1.1 lukem 237 1.1 lukem 4. IANA Considerations 238 1.1 lukem 239 1.1 lukem The IANA has registered the LDAP values [RFC4520] specified in this 240 1.1 lukem document. 241 1.1 lukem 242 1.1 lukem 4.1. Object Identifier Registration 243 1.1 lukem 244 1.1 lukem Subject: Request for LDAP OID Registration 245 1.1 lukem Person & email address to contact for further information: 246 1.1 lukem Kurt Zeilenga <kurt (a] OpenLDAP.org> 247 1.1 lukem Specification: RFC 4530 248 1.1 lukem Author/Change Controller: IESG 249 1.1 lukem Comments: 250 1.1 lukem Identifies the UUID schema elements 251 1.1 lukem 252 1.1 lukem 4.2. UUID Syntax Registration 253 1.1 lukem 254 1.1 lukem Subject: Request for LDAP Syntax Registration 255 1.1 lukem Object Identifier: 1.3.6.1.1.16.1 256 1.1 lukem Description: UUID 257 1.1 lukem Person & email address to contact for further information: 258 1.1 lukem Kurt Zeilenga <kurt (a] OpenLDAP.org> 259 1.1 lukem Specification: RFC 4530 260 1.1 lukem Author/Change Controller: IESG 261 1.1 lukem Comments: 262 1.1 lukem Identifies the UUID syntax 263 1.1 lukem 264 1.1 lukem 4.3. 'uuidMatch' Descriptor Registration 265 1.1 lukem 266 1.1 lukem Subject: Request for LDAP Descriptor Registration 267 1.1 lukem Descriptor (short name): uuidMatch 268 1.1 lukem Object Identifier: 1.3.6.1.1.16.2 269 1.1 lukem Person & email address to contact for further information: 270 1.1 lukem Kurt Zeilenga <kurt (a] OpenLDAP.org> 271 1.1 lukem Usage: Matching Rule 272 1.1 lukem Specification: RFC 4530 273 1.1 lukem Author/Change Controller: IESG 274 1.1 lukem 275 1.1 lukem 4.4. 'uuidOrderingMatch' Descriptor Registration 276 1.1 lukem 277 1.1 lukem Subject: Request for LDAP Descriptor Registration 278 1.1 lukem Descriptor (short name): uuidOrderingMatch 279 1.1 lukem Object Identifier: 1.3.6.1.1.16.3 280 1.1 lukem Person & email address to contact for further information: 281 1.1 lukem Kurt Zeilenga <kurt (a] OpenLDAP.org> 282 1.1 lukem Usage: Matching Rule 283 1.1 lukem 284 1.1 lukem 285 1.1 lukem 286 1.1 lukem Zeilenga Standards Track [Page 5] 287 1.1 lukem 289 1.1 lukem RFC 4530 LDAP entryUUID June 2006 290 1.1 lukem 291 1.1 lukem 292 1.1 lukem Specification: RFC 4530 293 1.1 lukem Author/Change Controller: IESG 294 1.1 lukem 295 1.1 lukem 4.5. 'entryUUID' Descriptor Registration 296 1.1 lukem 297 1.1 lukem The IANA has registered the LDAP 'entryUUID' descriptor. 298 1.1 lukem 299 1.1 lukem Subject: Request for LDAP Descriptor Registration 300 1.1 lukem Descriptor (short name): entryUUID 301 1.1 lukem Object Identifier: 1.3.6.1.1.16.4 302 1.1 lukem Person & email address to contact for further information: 303 1.1 lukem Kurt Zeilenga <kurt (a] OpenLDAP.org> 304 1.1 lukem Usage: Attribute Type 305 1.1 lukem Specification: RFC 4530 306 1.1 lukem Author/Change Controller: IESG 307 1.1 lukem 308 1.1 lukem 5. Acknowledgements 309 1.1 lukem 310 1.1 lukem This document is based upon discussions in the LDAP Update and 311 1.1 lukem Duplication Protocols (LDUP) WG. Members of the LDAP Directorate 312 1.1 lukem provided review. 313 1.1 lukem 314 1.1 lukem 6. References 315 1.1 lukem 316 1.1 lukem 6.1. Normative References 317 1.1 lukem 318 1.1 lukem [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 319 1.1 lukem Requirement Levels", BCP 14, RFC 2119, March 1997. 320 1.1 lukem 321 1.1 lukem [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 322 1.1 lukem Unique IDentifier (UUID) URN Namespace", RFC 4122, July 323 1.1 lukem 2005. 324 1.1 lukem 325 1.1 lukem [RFC4510] Zeilenga, K., Ed., "Lightweight Directory Access 326 1.1 lukem Protocol (LDAP): Technical Specification Road Map", RFC 327 1.1 lukem 4510, June 2006. 328 1.1 lukem 329 1.1 lukem [RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol 330 1.1 lukem (LDAP): Directory Information Models", RFC 4512, June 331 1.1 lukem 2006. 332 1.1 lukem 333 1.1 lukem [RFC4517] Legg, S., Ed., "Lightweight Directory Access Protocol 334 1.1 lukem (LDAP): Syntaxes and Matching Rules", RFC 4517, June 335 1.1 lukem 2006. 336 1.1 lukem 337 1.1 lukem [ASCII] Coded Character Set--7-bit American Standard Code for 338 1.1 lukem Information Interchange, ANSI X3.4-1986. 339 1.1 lukem 340 1.1 lukem 341 1.1 lukem 342 1.1 lukem 343 1.1 lukem Zeilenga Standards Track [Page 6] 344 1.1 lukem 346 1.1 lukem RFC 4530 LDAP entryUUID June 2006 347 1.1 lukem 348 1.1 lukem 349 1.1 lukem [X.501] International Telecommunication Union - 350 1.1 lukem Telecommunication Standardization Sector, "The 351 1.1 lukem Directory -- Models," X.501(1993) (also ISO/IEC 9594- 352 1.1 lukem 2:1994). 353 1.1 lukem 354 1.1 lukem [X.520] International Telecommunication Union - 355 1.1 lukem Telecommunication Standardization Sector, "The 356 1.1 lukem Directory: Selected Attribute Types", X.520(1993) (also 357 1.1 lukem ISO/IEC 9594-6:1994). 358 1.1 lukem 359 1.1 lukem [X.680] International Telecommunication Union - 360 1.1 lukem Telecommunication Standardization Sector, "Abstract 361 1.1 lukem Syntax Notation One (ASN.1) - Specification of Basic 362 1.1 lukem Notation", X.680(2002) (also ISO/IEC 8824-1:2002). 363 1.1 lukem 364 1.1 lukem 6.2. Informative References 365 1.1 lukem 366 1.1 lukem [RFC4514] Zeilenga, K., Ed., "Lightweight Directory Access 367 1.1 lukem Protocol (LDAP): String Representation of Distinguished 368 1.1 lukem Names", RFC 4514, June 2006. 369 1.1 lukem 370 1.1 lukem [RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority 371 1.1 lukem (IANA) Considerations for the Lightweight Directory 372 1.1 lukem Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006. 373 1.1 lukem 374 1.1 lukem Author's Address 375 1.1 lukem 376 1.1 lukem Kurt D. Zeilenga 377 1.1 lukem OpenLDAP Foundation 378 1.1 lukem 379 1.1 lukem EMail: Kurt (a] OpenLDAP.org 380 1.1 lukem 381 1.1 lukem 382 1.1 lukem 383 1.1 lukem 384 1.1 lukem 385 1.1 lukem 386 1.1 lukem 387 1.1 lukem 388 1.1 lukem 389 1.1 lukem 390 1.1 lukem 391 1.1 lukem 392 1.1 lukem 393 1.1 lukem 394 1.1 lukem 395 1.1 lukem 396 1.1 lukem 397 1.1 lukem 398 1.1 lukem 399 1.1 lukem 400 1.1 lukem Zeilenga Standards Track [Page 7] 401 1.1 lukem 403 1.1 lukem RFC 4530 LDAP entryUUID June 2006 404 1.1 lukem 405 1.1 lukem 406 1.1 lukem Full Copyright Statement 407 1.1 lukem 408 1.1 lukem Copyright (C) The Internet Society (2006). 409 1.1 lukem 410 1.1 lukem This document is subject to the rights, licenses and restrictions 411 1.1 lukem contained in BCP 78, and except as set forth therein, the authors 412 1.1 lukem retain all their rights. 413 1.1 lukem 414 1.1 lukem This document and the information contained herein are provided on an 415 1.1 lukem "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 416 1.1 lukem OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 417 1.1 lukem ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 418 1.1 lukem INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 419 1.1 lukem INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 420 1.1 lukem WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 421 1.1 lukem 422 1.1 lukem Intellectual Property 423 1.1 lukem 424 1.1 lukem The IETF takes no position regarding the validity or scope of any 425 1.1 lukem Intellectual Property Rights or other rights that might be claimed to 426 1.1 lukem pertain to the implementation or use of the technology described in 427 1.1 lukem this document or the extent to which any license under such rights 428 1.1 lukem might or might not be available; nor does it represent that it has 429 1.1 lukem made any independent effort to identify any such rights. Information 430 1.1 lukem on the procedures with respect to rights in RFC documents can be 431 1.1 lukem found in BCP 78 and BCP 79. 432 1.1 lukem 433 1.1 lukem Copies of IPR disclosures made to the IETF Secretariat and any 434 1.1 lukem assurances of licenses to be made available, or the result of an 435 1.1 lukem attempt made to obtain a general license or permission for the use of 436 1.1 lukem such proprietary rights by implementers or users of this 437 1.1 lukem specification can be obtained from the IETF on-line IPR repository at 438 1.1 lukem http://www.ietf.org/ipr. 439 1.1 lukem 440 1.1 lukem The IETF invites any interested party to bring to its attention any 441 1.1 lukem copyrights, patents or patent applications, or other proprietary 442 1.1 lukem rights that may cover technology that may be required to implement 443 1.1 lukem this standard. Please address the information to the IETF at 444 1.1 lukem ietf-ipr (a] ietf.org. 445 1.1 lukem 446 1.1 lukem Acknowledgement 447 1.1 lukem 448 1.1 lukem Funding for the RFC Editor function is provided by the IETF 449 1.1 lukem Administrative Support Activity (IASA). 450 1.1 lukem 451 1.1 lukem 452 453 454 455 456 457 Zeilenga Standards Track [Page 8] 458 460