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