Internet DRAFT - draft-coretta-oiddir-radit
draft-coretta-oiddir-radit
RADIT J. Coretta
Internet-Draft February 29, 2024
Intended status: Experimental
Obsoletes: X660LDAP
Expires: August 27, 2024
The OID Directory: The RA DIT
draft-coretta-oiddir-radit-00.txt
Abstract
In service to the "OID Directory" ID series, this ID covers design
strategies and requirements relating to the Registration Authority
Directory Information Tree.
See the RADIR ID for a complete draft series manifest.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 27, 2024.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Coretta Expires August 27, 2024 [Page 1]
Internet-Draft The OID Directory: RA DIT February 2024
Table of Contents
1. Introduction ....................................................2
1.1. Conventions ................................................2
1.2. Acronyms Used ..............................................3
1.2.1. Definitions ...........................................3
1.3. Intended Audience ..........................................3
1.4. Allocations ................................................3
2. Assessments .....................................................3
2.1. Schema Availability ........................................4
2.2. Spectral Coverage ..........................................4
2.3. Content Capacity and Location ..............................5
2.4. User Base ..................................................5
2.5. Class and Attribute Usage ..................................5
2.6. Content Sourcing ...........................................6
3. The RA DIT ......................................................6
3.1. Directory Models ...........................................7
3.1.1. Choosing the Appropriate Model ........................7
3.1.2. The Two Dimensional Model .............................7
3.1.3. The Three Dimensional Model ...........................9
3.2. Entry Content ..............................................9
3.2.1. Registrants ..........................................10
3.2.2. Registrations ........................................13
3.2.3. Value Forms ..........................................23
3.2.4. Special Attributes ...................................25
4. IANA Considerations ............................................36
5. Security Considerations ........................................36
5.1. Access Control ............................................36
5.2. Creation and Modification Identities ......................36
6. References .....................................................36
6.1. Normative References ......................................36
6.2. Informative References ....................................37
Author's Address ..................................................38
1. Introduction
The X.500 Directory Information Tree is an abstract data structure
comprised of hierarchical contexts called entries. Each entry bears
an unambiguous reference -- a distinguished name -- to its location
within the structure.
Within the terms of this ID series, this structure represents -- or
houses -- an information base of OID registrations and registrants
in the context of ITU-T Recommendations X.660 and X.680, et al.
1.1. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as described
in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in
all capitals, as shown here.
Coretta Expires August 27, 2024 [Page 2]
Internet-Draft The OID Directory: RA DIT February 2024
1.2. Acronyms Used
See Section 1.3 of the RADIR ID for all acronym references.
1.2.1. Definitions
The composite acronym, "RA DIT", is hereby introduced within this ID.
The acronym abbreviates the 'Registration Authority Directory
Information Tree' term, which describes the directory tree structure
that has been created or leveraged for storage of registration and
registrant data in accordance with this ID series.
The composite acronym "RA DSA" used throughout this ID is defined in
Section 1.2.1 of the RADSA ID.
The composite acronym "RA DUA" used throughout this ID is defined in
Section 1.2.1 of the RADUA ID.
1.3. Intended Audience
This ID is specifically geared towards X.500/LDAP professionals, such
as administrators, architects or application developers tasked with
managing and/or implementing an RA DIT.
General familiarity with the standards of X.500 and LDAP, as well as
with the RASCHEMA, RADUA and RADSA IDs is STRONGLY RECOMMENDED.
1.4. Allocations
This specification extends the previously defined ID series OID root
'1.3.6.1.4.1.56521.101', defined in Section 1.6 of the RADIR ID, in
the following manner:
- 1.3.6.1.4.1.56521.101.3 (rA-DIT)
- 1.3.6.1.4.1.56521.101.3.1 (models)
- 1.3.6.1.4.1.56521.101.3.1.2 (twoDimensional)
- 1.3.6.1.4.1.56521.101.3.1.3 (threeDimensional)
OIDs defined in this ID correlate to their section numbers of origin.
Should this ID be elevated to RFC status, the aforementioned ID root
OID prefix shall be rendered obsolete in favor of an IANA-assigned
OID, at which point this ID will be updated to reference the literal
'IANA-ASSIGNED-OID' placeholder prefix where appropriate.
2. Assessments
Implementation of this ID should not be taken lightly. Certain key
design decisions need to be made well in advance of use.
To aid in this process, the following subsections outline relevant
assessment categories for consideration.
Coretta Expires August 27, 2024 [Page 3]
Internet-Draft The OID Directory: RA DIT February 2024
2.1. Schema Availability
Complete access and usage capabilities for all schema definitions
found throughout Section 2 of the RASCHEMA ID is REQUIRED for
the design and ongoing maintenance of the RA DIT.
Adopters MUST confirm positive access to these definitions.
Adopters are also advised to confirm positive support for DIT
Content Rule, DIT Structure Rule and Name Form definitions by the
respective RA DSA implementation if their use is necessary.
At an absolute minimum, access to all attribute types and object
classes defined within Sections 2.3 and 2.5 of the RASCHEMA ID
respectively are REQUIRED for the effective construction of the RA
DIT.
2.2. Spectral Coverage
The overall "size" of the planned implementation is a very important
consideration. Adopters should decide how thorough their planned
RA DIT shall be in terms of content.
- Which of the three (3) ITU-T Rec. X.660 root arcs will
be implemented?
- Will subordinate registrations be retained indiscriminately, or
are only specific arcs targeted?
Root arc entries, ostensibly those bearing the 'rootArc' STRUCTURAL
class defined in Section 2.5.2 of the RASCHEMA ID, are intended to
store registrations of like ancestry only.
In the RECOMMENDED three dimensional model, this is REQUIRED. Here,
all registrations of the same ancestry or "lineage" of the desired
entry -- from root to immediate parent -- MUST be created in order to
conform to the requisite tree structure. In other words, if '1.3.6'
is desired for registration, '1.3' and '1' MUST exist hierarchically
beforehand, even if they are unnecessary in context.
When using the STRONGLY DISCOURAGED two dimensional model, only
specific (desired) registrations need to be created -- NOT their
entire ancestry. The result is a collection of sibling entries
with no hierarchically significant placement.
With these considerations in mind, adopters should decide the
extent to which adoption shall occur in terms of directory content
maintained and its effective footprint.
Coretta Expires August 27, 2024 [Page 4]
Internet-Draft The OID Directory: RA DIT February 2024
2.3. Content Capacity and Location
Adopters are advised to consider the long-term implications of
the planned RA DIT in terms of capacity provided by the hosting RA
DSA(s) and take measures to ensure a suitable operating environment.
Based on the assessments made in Section 2.2, adopters may wish
to consider whether a particularly large RA DIT may be better suited
for context segmentation, whether or not distribution is indicated,
to allow for larger portions of the RA DIT to function independently
and with dedicated resources and specialized security policies.
ITU-T Rec. X.518 defines the concepts of the distributed directory.
2.4. User Base
The targeted user base of an implementation can influence its nature.
A private RA -- for example, one administered under the governance of
a private corporation for internal use -- may be exposed to a largely
vetted and fairly small user base. If so, it may be acceptable to
relax certain restrictions, such as registrant privacy controls.
In the case of public-facing RA -- for example, one meant to serve an
unvetted and potentially hostile user base -- the requirements for a
practical and secure implementation become far more complicated.
Lack of an effective access control model employed by the RA DSA MUST
preclude the storage of sensitive content within any RA DIT that is
potentially vulnerable to hostile entities. Design of the RA DIT in
this manner depends on positive support for suitable access controls
by the RA DSA. Adopters are advised to confirm availability and
effective operation of such controls under the expected conditions.
The effective mass and vitality of the user base is also a point of
consideration. Adopters are advised to consider whether subtrees
of a particularly volatile nature may be better suited for placement
within a separate RA DSA or environment, which may or may not involve
use of a distributed model or shadowed context.
2.5. Class and Attribute Usage
Not all attribute types defined in the RASCHEMA ID are required
for use within an RA DIT. For example, only one (1) attribute type
-- 'n', per Section 2.3.1 of the RASCHEMA ID -- is truly REQUIRED
for all registrations. Naturally, such stringent use of the types
made available may result in an unhelpful implementation.
While attribute types have been defined for most contingencies, the
adoption of these types is entirely up to the adopter(s).
Coretta Expires August 27, 2024 [Page 5]
Internet-Draft The OID Directory: RA DIT February 2024
Consult Section 2.3 of the RASCHEMA ID for the particulars of the
named attribute types in the following subsections.
Consult Section 2.5 of the RASCHEMA ID for definitions of object
class instances which allow assignment of these types to eligible
entries.
Consult Section 3.2 for examples of object class and attribute type
usage as complete entries, as well as an overview of use cases for
specific types.
2.6. Content Sourcing
This ID acknowledges that -- even in complete implementations -- no
single RA manages ALL of the OID spectrum directly. Most, if not all
of this content is under the authority of external entities.
In lieu of this, this ID assumes some mechanism may be in place meant
to obtain and synchronize content from appropriate sources. While
the specifics are well outside the intended scope, this process may
resemble any of the following:
- Native replication agreements spanning implementations of this ID
- Regular data file receipt and processing (e.g.: LDIF, XML, CSV)
- Direct parsing of originating standard, ID or module
- Remote (proprietary) API requests
- Remote AXFR or IXFR requests [RFC5936] in the context of ORS
While the particulars of such synchronization and/or incorporation of
content external to this ID are well outside of the scope intended,
this ID acknowledges that such sourcing methods are often necessary.
Adopters SHOULD determine if any external registration content
is worthy of incorporation and in what manner.
Conversely, if the RA is responsible for any number of registrations
that are public-facing in nature, the RA SHOULD make registrations
available for consumption by external parties by some means.
3. The RA DIT
The RA DIT is a traditional X.500/LDAP directory information tree
served by way of an RA DSA with which clients may interact.
The RA DIT may or may not contain unrelated content such as employee
accounts, user groups or system data. This ID series has no official
position as it relates to the presence of such content.
Coretta Expires August 27, 2024 [Page 6]
Internet-Draft The OID Directory: RA DIT February 2024
3.1. Directory Models
The appropriate DIT structure for any scenario depends upon the scope
of implementation in the long-term. Directory models defined within
this ID series are meant to provide an indication to clients (DUAs)
regarding the governing structure of the implementation.
DUAs optimized for use within the terms of this ID series, known as
RA DUAs, will use this information to define the operating methods
exercised during routine operation.
3.1.1. Choosing the Appropriate Model
This introductory section aids the reader in choosing the appropriate
model for their implementation. Generally this decision is made well
in advance of any tangible implementation.
The three dimensional model, as defined in Section 3.1.3, is the most
likely candidate for adoption if ANY of the following are considered
TRUE:
- The RA is operating as an official, or widely recognized, public
service that conforms to all relevant standards
- Consistent, unambiguous DN-based registration references for an
entire ancestry is desired
- Reliable, bidirectional client-based conversion (or "resolution")
between DNs and numeric OIDs for an entire ancestry is desired
- RA DIT scalability and flexibility is a non-trivial concern
- The distribution (or "segmentation") of select DIT content is
in effect, or may be desirable, across multiple RA DSAs
- A single RA DIT is logically divided into multiple subordinate
naming contexts within an RA DSA
- The implementation will be thorough, spanning more than a single
root arc, with an ever-increasing number of registrations being
stored and served
- Collective Attribute support is desired
- Content privileges are complex, highly regimented and/or will
vary across different registration hierarchies
- Sparse or fractional replication agreements are possible
- Ranged registrations are present or expected
Should NONE of the above scenarios apply, the implementation is to
be regarded as non-standard and may be an appropriate candidate for
the two dimensional model described in Section 3.1.2.
3.1.2. The Two Dimensional Model
The two dimensional model is advertised, or identified, using the
following OID assigned to an instance of 'rADirectoryMode':
1.3.6.1.4.1.56521.101.3.1.2
Coretta Expires August 27, 2024 [Page 7]
Internet-Draft The OID Directory: RA DIT February 2024
Per Section 3.1.1, this model is available for informal, unofficial
or otherwise non-standard implementations of this ID. Use of this
model is STRONGLY DISCOURAGED.
The two dimensional model describes a simple "list" of registration
entries, all accessible exactly one (1) level below the top-level
registration root. The concept of subtrees beyond this magnitude
does not apply in this model.
The ideal DN syntax for use with this model involves use of the
'dotNotation' attribute type as the principal RDN component of the
entry DN.
For example, the following DN would reference the OID registration
for "dod":
dotNotation=1.3.6,ou=Registrations,o=rA
If the DN syntax used the 'identifier' value, it might appear as:
identifier=dod,ou=Registrations,o=rA
Registrations are stored with no regard for vertical or horizontal
relationships. Sibling, subordinate and superior registrations may
be stored within the same naming context and the same hierarchical
"level":
dotNotation=2.1,ou=Registrations,o=rA
dotNotation=1.3.6,ou=Registrations,o=rA
n=0,ou=Registrations,o=rA
dotNotation=1.3,ou=Registrations,o=rA
dotNotation=0.9,ou=Registrations,o=rA
This model does NOT scale well. Beyond the basic organization of OID
registrations within their respective roots, hierarchically-based OID
registration organization is NOT practical, as this technique would
almost certainly produce absurdly long and/or counterintuitive DNs.
Contiguity of superior registrations is not implicitly guaranteed as
it is when using the three dimensional model. For example, if the
registration for '1.3.6' ("dod") is present, this does not guarantee
the superior registration '1.3' ("identified-organization") exists in
the RA DIT.
This model is NEVER RECOMMENDED for official implementations, nor
in any scenario even approaching the severity of mission-critical.
Only private implementations of especially weak definition or those
of an ephemeral nature should ever truly consider adoption of this
directory model.
Coretta Expires August 27, 2024 [Page 8]
Internet-Draft The OID Directory: RA DIT February 2024
3.1.3. The Three Dimensional Model
The three dimensional model is advertised, or identified, using the
following OID assigned to an instance of 'rADirectoryModel':
1.3.6.1.4.1.56521.101.3.1.3
The three dimensional model describes a registration hierarchy that
mirrors the hierarchical nature of the OIDs directly, with absolute
root arc registrations superior to all subordinate arc registrations.
Per Section 3.1.1, this model is STRONGLY RECOMMENDED for complete,
thorough or official implementations of this ID. It is also quite
suitable for general use, though at the risk of some administrative
tedium if a suitable RA DUA is not made available.
The three dimensional model imposes very strict and well-defined DN
syntax requirements. In particular, the 'n' attribute type is an
important component in the formation of a valid and unambiguous
reference to a single registration and its ancestry.
The result is a model that fosters seamless bidirectional conversion
-- performed by the RA DUA -- between DNs and numeric OIDs.
For example, the following DN represents OID '1.3.6.1.4.1.56521.999'.
In this syntax, a DN is divided into two (2) logical abstractions:
n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1 ,ou=Registrations,o=rA
------------------------------------- ----------------------
Registration Ancestry Registration Base
The conversion process from OID to DN is as follows:
1. Reverse OID (becomes 999.56521.1.4.1.6.3.1)
2. Swap all ASCII "%x2e" (".") instances with ASCII "%x2c" (",")
3. Preface each ASCII "%x2c"-delimited integer with 'n=', which
completes assembly of the registration ancestry
4. Append ASCII "%x2c" (",") and appropriate registration base
In the obverse -- or "unreversed" -- context, the following process
converts a DN to a numeric OID:
1. Discard registration base leading ASCII "%x2c" delimiter (","),
leaving only the registration ancestry
2. Discard all occurrences of 'n='
3. Swap all ASCII "%x2c" (",") instances with ASCII "%x2e" (".")
4. Reverse values (becomes OID 1.3.6.1.4.1.56521.999)
3.2. Entry Content
The following subsections discuss various topics that pertain to DIT
content management within the spirit of this ID series.
Coretta Expires August 27, 2024 [Page 9]
Internet-Draft The OID Directory: RA DIT February 2024
Certain examples are defined for consumption by adopters of this ID.
These examples are expressed as LDIF, and may employ indenting and
line-wrapping of attribute values whose lengths exceed the maximum
size permitted by the RFC ID standard format.
This condition does not invalidate the usability or syntactical
conformity of these instances.
3.2.1. Registrants
Registrants are documented authorities of various forms involved
in the ownership, allocation and/or general management of an OID.
Whether directly or through inheritance, all OIDs have an authority
of some form. This ID allows for flexible and scalable management
of such content.
3.2.1.1. Registrant Strategy
Per ITU-T Rec. X.660, there are three (3) types of authorities:
- Current
- Previous (First)
- Sponsor
To parallel these authority types, three (3) AUXILIARY object classes
are defined within Section 2.5 of the RASCHEMA ID:
- 'currentAuthorityContext'
- 'firstAuthorityContext'
- 'sponsorContext'
Use of any number of these object classes will result in related
contact and identity attribute types being made available for use
within the class bearing entry.
Generally, authorities manifest as any of the following entities:
- An individual
- A public or private organization, institution or working group
- A document (e.g.: a standard or ID, e.g.: [RFC4519])
Implementations of this ID may choose either of the following models
to govern registrant-related DIT content:
- Dedicated (independent) entry model
- Combined (inline) entry model
Coretta Expires August 27, 2024 [Page 10]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.1.1.1. Dedicated Registrants
In this model, every distinct registrant is expressed using a single
dedicated directory entry bearing the 'registrant' STRUCTURAL object
class and is uniquely identifiable by way of a 'registrantID' value,
ideally assigned as the leaf-node RDN component of the entry.
This is the RECOMMENDED strategy for all implementations and models
in which registrant information is present.
For any practical use, each 'registrant' entry SHOULD bear one (1) or
more of the following AUXILIARY object class definitions previously
mentioned:
- 'currentAuthorityContext'
- 'firstAuthorityContext'
- 'sponsorContext'
For example, consider the following 'registrant' entry describing the
author of this ID series:
dn: registrantID=a0efcce18a,ou=Registrants,o=rA
objectClass: registrant
objectClass: firstAuthorityContext
firstAuthorityStartTimestamp: 20210930124105Z
firstAuthorityCommonName: Jesse Coretta
firstAuthorityEmail: jesse.coretta@icloud.com
Use of the 'registrantID' attribute type as the principal RDN type
is STRONGLY RECOMMENDED as shown.
The concept of a dedicated registrant entry is unfixed. Attribute
types related to authority information extended via the RASCHEMA
ID are present largely for convenience and reasons of clarity.
Adopters of the RA DIT MAY choose to forego use of some or all of
these types in favor of those defined within official standards such
as [RFC4519] and [RFC4524].
It is RECOMMENDED that in this case, use of such attribute types that
serve as super types of the replaced RASCHEMA types be observed.
For example, the appropriate replacement type for 'sponsorCommonName'
is 'cn', because 'cn' is its super type.
Some types defined within the RASCHEMA ID are unique in nature and
may not be derived from a super type. An example of this is the
'firstAuthorityStartTimestamp' attribute type. Continued use of
these types is likely indicated.
Coretta Expires August 27, 2024 [Page 11]
Internet-Draft The OID Directory: RA DIT February 2024
Use of the 'extensibleObject' AUXILIARY object class defined within
Section 4.3 of [RFC4512] is likely indicated where this replacement
strategy is employed. Continued use of the 'registrant' STRUCTURAL
object class is REQUIRED for compatibility reasons relating to the
RA DUA.
To offer a more complete example of this alternative use, the above
'registrant' entry bearing the 'registrantID' value of 'a0efcce18a'
implements 'cn' and 'mail' over their sub typed counterparts defined
within the RASCHEMA ID.
dn: registrantID=e2ef220b3b,ou=Registrants,o=rA
objectClass: registrant
objectClass: extensibleObject
objectClass: firstAuthorityContext
firstAuthorityStartTimestamp: 20210930124105Z
cn: Jesse Coretta
mail: jesse.coretta@icloud.com
The drawback of this replacement strategy is that this 'registrant'
entry cannot combine the ITU-T Rec. X.660 authority classifications
within the bounds of a single 'registrant' entry any longer.
For example, observe how two (2) distinct authority contexts reside
within this single 'registrant' entry:
dn: registrantID=aec17eef17,ou=Registrants,o=rA
objectClass: registrant
objectClass: firstAuthorityContext
objectClass: currentAuthorityContext
currentAuthorityOrg: ITU-T SG 17 & ISO/IEC JTC 1/SC 6
firstAuthorityOrg: ITU-T SG 7 & ISO/IEC JTC 1/SC 33
If the implementation, instead, favors use of the indicated super
types, the context of the above 'registrant' entry will have to
be split into two (2) distinct entries:
dn: registrantID=b7ea16ef5e,ou=Registrants,o=rA
objectClass: registrant
objectClass: extensibleObject
objectClass: currentAuthorityContext
o: ITU-T SG 17 & ISO/IEC JTC 1/SC 6
dn: registrantID=e1f0ffb677,ou=Registrants,o=rA
objectClass: registrant
objectClass: extensibleObject
objectClass: firstAuthorityContext
o: ITU-T SG 7 & ISO/IEC JTC 1/SC 33
Coretta Expires August 27, 2024 [Page 12]
Internet-Draft The OID Directory: RA DIT February 2024
With a cogent "dedicated registrant" policy devised, 'registration'
entries may reference appropriate entries through DN referencing in
the context of appropriate authority classification by way of the
following attribute types:
- 'currentAuthority' and/or 'c-currentAuthority'
- 'firstAuthority' and/or 'c-firstAuthority'
- 'sponsor' and/or 'c-sponsor'
It is permitted for 'registration' entries to bear both collective
and non-collective equivalent instances of these attribute types.
For example, the presence of instances of both the 'sponsor' and
'c-sponsor' types within a single 'registration' entry is permitted.
A practical use case might involve collective value assignment to a
large number of entries, with non-collective supplemental authority
references added in ad hoc fashion, as needed.
3.2.1.1.2. Combined Registrants
In this model, 'registration' entries are assigned one (1) or more of
the following AUXILIARY object class definitions:
- 'currentAuthorityContext'
- 'firstAuthorityContext'
- 'sponsorContext'
Unlike the RECOMMENDED registrant approach shown in Section 3.2.1,
contact and identity attribute types are stored directly within the
given 'registration' entry. Essentially, this merges the ideas of
'registration' entries and 'registrant' entries into a singular
context.
This model is highly inefficient, and would only apply to limited
use-cases within the STRONGLY DISCOURAGED two dimensional model,
and ONLY if the footprint is particularly small with registrant
data that is unique and non-repeating in form.
Limited examples of this registrant model are shown in Section 3.2.2.
In general, use of this model is STRONGLY DISCOURAGED.
3.2.2. Registrations
Registrations are official allocations of ASN.1 object identifiers.
Within the context of this ID, a registration manifests through a
directory entry bearing the 'registration' STRUCTURAL class and
any number of supporting attribute type instances.
Coretta Expires August 27, 2024 [Page 13]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.2.1. Root Arcs
Regardless of the implemented dimensional model, certain scenarios
will call for the creation of so-called root registrations, or root
arcs. These are special entries -- of which there can only be three
(3) -- meant to represent the absolute superior root context of any
and all registrations of origin.
The three (3) root arcs -- defined in ITU-T Rec. X.660 -- are covered
in the following subsections and are expressed as LDIF entries. Some
attribute values are both line-wrapped and indented due to character
lengths, which is permitted using LDIF.
These registration forms are dimension neutral, meaning they manifest
no differently regardless of directory model employed.
Root 'registration' entries are based upon the 'rootArc' STRUCTURAL
object class. Be advised that root registration entries cannot bear
instances of the 'dotNotation' attribute type due to syntactical
limitations. The standard OID syntax for LDAP requires at least two
(2) number form instances in dot notation for a legal OID value.
Because 'dotNotation' was defined upon this syntax, this precludes
any single root arc -- such as 2 -- being used to identify a root
OID. This is why the 'n' attribute type is RECOMMENDED for the leaf
node RDN component of all 'registration' entries -- including roots.
It is generally discouraged to use any attribute type OTHER THAN 'n'
for the RDN attribute type of the 'registration' DN within the three
dimensional model. Using types such as 'identifier', 'unicodeValue'
or others, can interfere with DN/OID conversion and extrapolation.
3.2.2.1.1. ITU-T
dn: n=0,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
objectClass: x660Context
objectClass: x680Context
objectClass: registrationSupplement
description: International Telecommunication Union -
Telecommunication standardization sector (ITU-T)
unicodeValue: ITU-T
identifier: itu-t
iRI: /ITU-T
iRI: /ITU-R
aSN1Notation: {itu-t(0)}
secondaryIdentifier: ccitt
standardizedNameForm: {itu-t}
additionalUnicodeValue: ITU-R
registrationClassification: Standards development organization
Coretta Expires August 27, 2024 [Page 14]
Internet-Draft The OID Directory: RA DIT February 2024
This registration may also be expressed in minimalistic form:
dn: n=0,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
3.2.2.1.2. ISO
dn: n=1,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
objectClass: x660Context
objectClass: x680Context
objectClass: registrationSupplement
description: International Organization for Standardization (ISO)
unicodeValue: ISO
identifier: iso
iRI: /ISO
aSN1Notation: {iso(1)}
standardizedNameForm: {iso}
registrationClassification: Standards development organization
This registration may also be expressed in minimalistic form:
dn: n=1,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
3.2.2.1.3. Joint ISO/ITU-T
dn: n=2,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
objectClass: x660Context
objectClass: x680Context
objectClass: registrationSupplement
description: Areas of joint work between ISO/IEC (International
Organization for Standardization/International Electrotechnical
Commission) and ITU-T (International Telecommunication Union -
Telecommunication standardization sector), and other intl. work
firstAuthority: registrantID=e1f0ffb677,ou=Registrants,o=rA
currentAuthority: registrantID=b7ea16ef5e,ou=Registrants,o=rA
unicodeValue: Joint-ISO-ITU-T
identifier: joint-iso-itu-t
iRI: /Joint-ISO-ITU-T
aSN1Notation: {joint-iso-itu-t(2)}
secondaryIdentifier: joint-iso-ccitt
standardizedNameForm: {joint-iso-itu-t}
registrationClassification: Standards development organization
Coretta Expires August 27, 2024 [Page 15]
Internet-Draft The OID Directory: RA DIT February 2024
See Section 3.2.1.1.1 for authority entry examples referenced here.
If using the (generally) DISCOURAGED "combined registrants" strategy,
the following object classes and attribute types may be added to this
entry instead of the above authority-related DN references:
objectClass: firstAuthorityContext
objectClass: currentAuthorityContext
currentAuthorityOrg: ITU-T SG 17 & ISO/IEC JTC 1/SC 6
firstAuthorityOrg: ITU-T SG 7 & ISO/IEC JTC 1/SC 33
This registration may also be expressed in minimalistic form:
dn: n=2,ou=Registrations,o=rA
objectClass: registration
objectClass: rootArc
3.2.2.2. Subordinate Arcs
Also referred to as 'sub arcs' and 'non-root arcs', these entries
represent the majority of content that comprises the typical RA DIT.
These registration forms -- unlike their root counterparts -- may
manifest in slightly different manners depending on the directory
model employed by the RA DIT in question. The following sections
that outline examples of these entries will include remarks which
relate to any indicated dimensional considerations. These sections
also cite certain well-known registrations relevant to the examples.
Subordinate arcs may incorporate additional attribute types and
object classes not permitted for use by root arcs described within
Section 3.2.2.1 -- whether due to schema restrictions or by virtue
of logical context.
In particular, arcs bear the 'arc' STRUCTURAL object class instead of
the 'rootArc' object class, and MAY bear one (1) of the following
AUXILIARY classes only, and would be based upon the leading digit of
the registration's effective OID:
- 'iTUTRegistration' (0)
- 'iSORegistration' (1)
- 'jointISOITUTRegistration' (2)
Additional permitted attribute types include, but are not limited to:
- 'dotNotation'
- 'isLeafNode'
- 'registrationRange'
- '[c-]topArc'
- '[c-]supArc'
Coretta Expires August 27, 2024 [Page 16]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.2.2.1. Identified-Organization
dn: n=3,n=1,ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x660Context
objectClass: x680Context
objectClass: registrationSupplement
description: Organization identification schemes registered
according to ISO/IEC 6523-2
aSN1Notation: {iso(1) identified-organization(3)}
isFrozen: TRUE
dotNotation: 1.3
unicodeValue: Identified-Organization
registrationModified: 20120101000000Z
registrationCreated: 19870101000000Z
standardizedNameForm: {identified-organization}
iRI: /ISO/Identified-Organization
If using the STRONGLY DISCOURAGED two dimensional directory model,
"Identified-Organization" SHOULD express the RECOMMENDED DN syntax
for this model:
dotNotation=1.3,ou=Registrations,o=rA
3.2.2.2.2. ASN.1
dn: n=1,n=2,ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: jointISOITUTRegistration
objectClass: x660Context
objectClass: x680Context
n: 1
description: ASN.1 standards
aSN1Notation: {joint-iso-itu-t(2) asn1(1)}
dotNotation: 2.1
iRI: /ASN.1
longArc: /ASN.1
unicodeValue: ASN.1
If using the STRONGLY DISCOURAGED two dimensional directory model,
"ASN.1" SHOULD express the RECOMMENDED DN syntax indicated:
dotNotation=2.1,ou=Registrations,o=rA
Coretta Expires August 27, 2024 [Page 17]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.2.2.3. X
dn: n=24,n=0,n=0,ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iTUTRegistration
objectClass: x660Context
objectClass: x680Context
n: 24
description: Series X of ITU-T Recommendations "Data networks,
open system communications and security"
aSN1Notation: {itu-t(0) recommendation(0) x(24)}
dotNotation: 0.0.24
iRI: /ITU-T/Recommendations/X
standardizedNameForm: {x}
unicodeValue: X
If using the STRONGLY DISCOURAGED two dimensional directory model,
"X" SHOULD bear the RECOMMENDED DN syntax for this model:
dn: dotNotation=0.0.24,ou=Registrations,o=rA
3.2.2.2.4. The "OID Directory"
This section describes a small portion of the OID registrations
officiated by this ID series. Note that the entire ancestry is
not shown for reasons of significant brevity.
The same twoDimensional DN syntax scheme shall apply, as mentioned
in previous sections, when using the STRONGLY DISCOURAGED two
dimensional directory model.
Note the referenced 'firstAuthority' entry DN, which bears the value
"a0efcce18a" for 'registrantID', is defined in Section 3.2.1.1.1.
dn: n=56521,n=1,n=4,n=1,n=6,n=3,n=1,ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x660Context
objectClass: x680Context
objectClass: registrationSupplement
firstAuthority: registrantID=a0efcce18a,ou=Registrants,o=rA
registrationURI: https://www.iana.org/assignments/enterprise-
numbers/
description: Jesse Coretta
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521}
dotNotation: 1.3.6.1.4.1.56521
iRI: /ISO/Identified-Organization/6/1/4/1/56521
Coretta Expires August 27, 2024 [Page 18]
Internet-Draft The OID Directory: RA DIT February 2024
dn: n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: The OID Directory
identifier: oid-directory
nameAndNumberForm: oid-directory(101)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)}
dotNotation: 1.3.6.1.4.1.56521.101
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101
dn: n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: Directory Schema
identifier: schema
nameAndNumberForm: schema(2)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2)}
dotNotation: 1.3.6.1.4.1.56521.101.2
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2
dn: n=3,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: Attribute Types
identifier: attributeTypes
nameAndNumberForm: at(3)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) attributeTypes(3)}
dotNotation: 1.3.6.1.4.1.56521.101.2.3
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/3
Coretta Expires August 27, 2024 [Page 19]
Internet-Draft The OID Directory: RA DIT February 2024
dn: n=1,n=3,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
objectClass: registrationSupplement
description: Number Form
isLeafNode: TRUE
identifier: n
secondaryIdentifier: numberForm
nameAndNumberForm: n(1)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) attributeTypes(3) n(1)}
dotNotation: 1.3.6.1.4.1.56521.101.2.3.1
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/3/1
dn: n=5,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: Object Classes
identifier: objectClasses
nameAndNumberForm: objectClasses(5)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) objectClasses(5)}
dotNotation: 1.3.6.1.4.1.56521.101.2.5
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/5
dn: n=1,n=5,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
objectClass: registrationSupplement
description: Registration AUXILIARY Class
isLeafNode: TRUE
identifier: registration
nameAndNumberForm: registration(1)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) objectClasses(5) registration(1)}
dotNotation: 1.3.6.1.4.1.56521.101.2.5.1
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/5/1
Coretta Expires August 27, 2024 [Page 20]
Internet-Draft The OID Directory: RA DIT February 2024
dn: n=7,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: Name Forms
identifier: nameForms
nameAndNumberForm: nameForms(7)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) nameForms(7)}
dotNotation: 1.3.6.1.4.1.56521.101.2.7
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/7
dn: n=1,n=7,n=2,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
objectClass: registrationSupplement
description: Root Arc Name Form
isLeafNode: TRUE
identifier: nRootArcForm
nameAndNumberForm: nRootArcForm(1)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
schema(2) nameForms(7) nRootArcForm(1)}
dotNotation: 1.3.6.1.4.1.56521.101.2.7.1
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/2/7/1
dn: n=3,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: The RA DIT
identifier: rA-DIT
secondaryIdentifier: dIT
nameAndNumberForm: rA-DIT(3)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
rA-DIT(3)}
dotNotation: 1.3.6.1.4.1.56521.101.3
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/3
Coretta Expires August 27, 2024 [Page 21]
Internet-Draft The OID Directory: RA DIT February 2024
dn: n=1,n=3,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
description: Directory Models
identifier: models
nameAndNumberForm: models(1)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
rA-DIT(3) models(1)}
dotNotation: 1.3.6.1.4.1.56521.101.3.1
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/3/1
dn: n=2,n=1,n=3,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
objectClass: registrationSupplement
description: The Two Dimensional Model
isLeafNode: TRUE
identifier: twoDimensional
nameAndNumberForm: twoDimensional(2)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
rA-DIT(3) models(1) twoDimensional(2)}
dotNotation: 1.3.6.1.4.1.56521.101.3.1.2
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/3/1/2
dn: n=3,n=1,n=3,n=101,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: x680Context
objectClass: registrationSupplement
description: The Three Dimensional Model
isLeafNode: TRUE
identifier: threeDimensional
nameAndNumberForm: threeDimensional(3)
aSN1Notation: {iso(1) identified-organization(3) dod(6)
internet(1) private(4) enterprise(1) 56521 oid-directory(101)
rA-DIT(3) models(1) threeDimensional(3)}
dotNotation: 1.3.6.1.4.1.56521.101.3.1.3
iRI: /ISO/Identified-Organization/6/1/4/1/56521/101/3/1/3
Coretta Expires August 27, 2024 [Page 22]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.2.2.5. Registration Ranges
This section demonstrates finite and infinite registration ranges.
dn: n=0,n=171,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: registrationSupplement
description: Total/Infinite Range (1.3.6.1.4.1.56521.999.171.*)
registrationRange: -1
dn: n=10,n=401,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: iSORegistration
objectClass: registrationSupplement
description: Finite Range (1.3.6.1.4.1.56521.999.401.10-19)
registrationRange: 19
3.2.3. Value Forms
Attribute type instances residing within the RA DIT may, or may not,
manifest in a few different ways, each of which are covered in the
following subsections.
3.2.3.1. Composite
Consider the 'nameAndNumberForm' attribute type, per Section 2.3.19
of the RASCHEMA ID. This attribute type combines the 'identifier'
and 'n' attribute types to form a complete value, for instance:
identified-organization(3)
The RA DIT MAY opt for composite or "virtual" assembly of an instance
of this attribute type by the RA DUA. This negates the need for this
instance to be stored within an entry in literal fashion, though ONLY
if the aforementioned constituent types are present within the entry.
In addition to the 'nameAndNumberForm' attribute type, 'aSN1Notation'
also qualifies for this design strategy. This type is a sequence of
one (1) or more 'nameAndNumberForm' or 'numberForm' values -- whether
composite or literal -- as derived from multiple superior entries.
Note this is only practical within three dimensional implementations,
and only when the entire ancestry is thoroughly populated and mapped
spatially using attribute types extended via the 'spatialContext'
AUXILIARY object class.
Coretta Expires August 27, 2024 [Page 23]
Internet-Draft The OID Directory: RA DIT February 2024
The most obvious benefit to the composite approach is the reduced
storage space required for preservation of literal attribute values.
The degree of "savings" is naturally proportional to the overall size
of the RA DIT.
A significant drawback, however, is (likely) limited client support.
In order for composite values to be extrapolated by any client, the
client must first be aware of the necessary "component" types which
are required in order to produce a composite value.
Performance may also be a concern when composite values are assembled
using a lengthy sequence of superior entries, or if the operational
state of the RA DSA is suboptimal in some manner.
3.2.3.2. Literal
Contrary to the theory described in Section 3.2.3.1, literal values
are set to provide clients with access to needed information without
any "assembly" required. This is the standard approach to managing
an attribute type value.
The benefits and drawbacks of this approach are the direct inverse of
those described in Section 3.2.3.1. Storage space requirements would
increase, while client capability and performance issues are abated.
In general, this is the RECOMMENDED approach for RA DIT population
as opposed to composite values.
3.2.3.3. Collective
Section 2.3 of the RASCHEMA ID defines collective attribute types
to parallel certain attribute types which may apply to a great many
entries in the context of a subtree within the RA DIT.
In thorough implementations of this ID series, this can often provide
considerable savings in terms of administrative effort in addition to
reduced risk relating to potentially content updates applied manually
to the RA DIT. In such cases, collective attributes are RECOMMENDED.
Every attribute type in collective form is conceptually based upon a
non-collective equivalent attribute type, both in use and in context
(e.g.: 'topArc' and 'c-topArc').
Configuration for [RFC3671] support varies across X.500/LDAP products
but most situations involve use of the 'subtreeSpecification' type in
some fashion. This type is used to limit the influence of collective
attribute operations within the context of a subtree.
While this ID series does not delve into the particulars of specific
implementation steps for any given X.500/LDAP product, it does offer
certain 'subtreeSpecification' examples where appropriate.
Coretta Expires August 27, 2024 [Page 24]
Internet-Draft The OID Directory: RA DIT February 2024
Specific methodologies relating to use varies greatly among the
potential X.500/LDAP DSA products available today. For the purposes
of simplicity, this ID assumes that 'subtreeSpecification' instances
are assigned to subentries of the relevant directory entry.
3.2.4. Special Attributes
This section outlines certain important attribute types extended via
Section 2.3 of the RASCHEMA ID.
3.2.4.1. 'n'
This attribute type plays a CRUCIAL role with regards to the syntax
of DNs used in the three dimensional directory model. It is the only
attribute type defined in this ID REQUIRED for ALL registrations --
root or not -- without exception.
Instances of this attribute type SHALL NOT be negative, and SHALL NOT
appear on entries other than 'registration' entries. Instances of
this type MUST remain unique among horizontal (sibling) entries.
UUID-based OID registrations, by way of ITU-T Rec. [X.667], are
dependent upon proper underlying ASN.1 INTEGER syntax support. The
value of 'n' MUST be the integer form of the hexadecimal UUID value.
X.500/LDAP implementations or architectures incapable of supporting
unsigned integers greater than or equal to 128 bits in length are
ineligible for support and processing of such registrations by way
of this type.
Instances of this attribute type represent the start of a range of
registration allocations when present in entries that also bear an
instance of the 'registrationRange' attribute type, which signifies
the terminus of an allocated OID range.
This attribute type is defined in Section 2.3.1 of the RASCHEMA ID.
3.2.4.2. 'dotNotation'
This attribute type plays a crucial role with regards to DN syntax
used in the two dimensional directory model described within the
RADIT ID. It cannot be assigned to registration entries which bear
the 'rootArc' STRUCTURAL object class.
Instances of this attribute type SHALL NOT appear on entries other
than 'registration' entries, and MUST be unique throughout an RA DIT.
Use of this attribute type is entirely OPTIONAL within RA DITs based
upon the RECOMMENDED three dimensional directory model.
This attribute type is defined in Section 2.3.2 of the RASCHEMA ID.
Coretta Expires August 27, 2024 [Page 25]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.4.3. 'registrationInformation'
This attribute type allows extended information to be assigned to
any registration. It is based upon the ASN.1 OCTET STRING syntax.
While use of this syntax does allow for NULL values, it is considered
invalid within the context of this ID. In cases where no extended
information is available for a given registration, instances of this
attribute type SHOULD NOT be set for the entry.
This attribute type is defined in Section 2.3.9 of the RASCHEMA ID.
3.2.4.4. 'registrationModified'
This attribute type identifies any number of generalized timestamps
that pinpoint previous modifications to a registration.
When appropriate, this attribute type may be used to represent the
"LAST-UPDATED" definition as shown in Section 2 of [RFC2578], but
may also be used to record any known modification date.
Whether multiple dates, or merely the most recent date, are stored in
the directory is entirely up to the administrator(s) involved.
This type is defined in Section 2.3.12 of the RASCHEMA ID.
3.2.4.5. 'registrationRange'
This attribute type stores the numerical representation of the end
of an allocation range. The start of the range is defined using
the 'n' attribute type value.
The value of this attribute MUST always be greater than the value
of 'n' EXCEPT when using "-1".
For example, if a 'registrationRange' attribute value of '999' were
set for the OID '2.999.44', it MUST be interpreted as an entire range
of OIDs starting at '2.999.44' up to and including '2.999.999'. This
represents a finite range and means, without exception, that further
sibling allocations MUST be defined outside of this, and any other,
defined boundary.
Similarly, keeping with the same example above, if the value of "-1"
were used instead, this MUST be interpreted as an all-encompassing
OID range starting at '2.999.44' with no upper limit, representing
an infinite range. This means, without exception, that no further
sibling allocations greater than 'n' will be permitted.
This type is defined in Section 2.3.13 of the RASCHEMA ID.
Coretta Expires August 27, 2024 [Page 26]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.4.6. 'registrationStatus'
This attribute type associates a particular allocation status value
to a registration.
Multiple values can be provided, provided they remain meaningful in
the particular combination.
In most cases, the attribute type is used in order to mark an OID
registration as OBSOLETE, RESERVED, PRIVATE or DEALLOCATED.
Section 2 of [RFC2578] also defines "current" and "deprecated" for
use in this context.
Values of "active" or "in-force" may be used, though generally this
is OPTIONAL.
Absence of this attribute type within a given entry MAY be viewed
as an implied deference to the 'registrationStatus' value held by
a relevant ancestral registration, if applicable. In the absence
of information to the contrary, lack of this value could imply the
"active", "current" or "in-force" declarations, however this is not
definitive and may vary across implementations.
A value of "private" MAY be used a component in any access control
mechanics defined by the directory architect(s), but at the risk of
possible performance costs depending on implementation.
Other possible values not listed here MAY be used, however they would
be wholly proprietary in nature.
This type is defined in Section 2.3.14 of the RASCHEMA ID.
3.2.4.7. 'registrationClassification'
This attribute type associates a classification with a registration.
While independent of the 'registrationStatus' attribute type defined
in Section 2.3.14, there may be cases of overlap with respect to the
declaration of obsolescence or deallocation for a given registration,
as both attribute types recognize and express such states.
This type is defined in Section 2.3.15 of the RASCHEMA ID.
3.2.4.8. 'isLeafNode'
This attribute type serves to declare a registration as the terminus
of an ancestry using a Boolean TRUE or FALSE.
Absence of this attribute type SHOULD be interpreted as an implicit
FALSE value. This is the most common scenario.
Coretta Expires August 27, 2024 [Page 27]
Internet-Draft The OID Directory: RA DIT February 2024
A value of FALSE indicates there are no restrictions regarding the
allocation of child entries.
A value of TRUE indicates the registration SHALL NOT be a parent of
any subordinate registrations whatsoever.
Instances of this attribute type are not to be interpreted in any
recursive context. Leaf-node status of a registration precludes
any additional subtree context.
This attribute type is NOT intended to serve in a security capacity.
Presence of this attribute type is mainly used to alert any RA DUA
that is optimized for this ID that neither subordinate enumeration,
nor subordinate allocation, be attempted below the indicated entry.
A registration that lacks subordinate entries is not necessarily a
leaf-node. Lack of this status could mean subordinate allocations
might occur in the future. Leaf-node status is meant for use in
permanent contexts.
This type is defined in Section 2.3.16 of the RASCHEMA ID.
3.2.4.9. 'isFrozen'
This attribute type serves to identify a registration as frozen using
a Boolean TRUE or FALSE.
The condition of a registration being frozen indicates allocations of
subordinate registrations of the bearer will not be honored.
The condition of a frozen state is not necessarily permanent.
A value of TRUE indicates that the given registration SHALL NOT honor
any subordinate allocations. Preexisting subordinate registration
entries will be unaffected and may be queried freely by the RA DUA.
Preexisting subordinate registration entries are considered frozen,
regardless of vertical distance from the bearer of this type.
A value of FALSE indicates there are no restrictions regarding the
allocation of any subsequent child entries.
An administratively-focused RA DUA MAY override the semantics of this
attribute type in the context of historical input or another similar
use case.
This type is defined in Section 2.3.17 of the RASCHEMA ID.
3.2.4.10. 'longArc'
This attribute type allows Long Arc instances to be assigned to a
registration.
Coretta Expires August 27, 2024 [Page 28]
Internet-Draft The OID Directory: RA DIT February 2024
Per [X.660], entries that bear values of this attribute type MUST
ONLY reside below the root joint-iso-itu-t(2) registration.
In other words, OID registrations subordinate to either the itu-t(0)
or iso(1) roots that bear a 'longArc' instance are considered bogus.
DUAs optimized for this ID SHALL NOT allow routine presentation or
modification (beyond corrective removal) of bogus 'longArc' values
in this context.
This type is defined in Section 2.3.20 the of the RASCHEMA ID.
The 'minArc' and 'c-minArc' attribute types are defined in Section
2.3.27 and 2.3.28 of the RASCHEMA ID.
The 'maxArc' and 'c-maxArc' attribute types are defined in Section
2.3.30 and 2.3.31 of the RASCHEMA ID.
3.2.4.11. 'discloseTo'
This attribute type -- and its collective counterpart -- is used to
identify authorized readers of otherwise private entries, typically
registrations.
This MAY cover any depth of subordinate entry disclosures as seen fit
by the directory architect(s) or administrator(s).
Identities referenced through instances of this attribute type can be
single user entries, a 'groupOfNames'-based entry, per Section 3.5 of
[RFC4519], a current authority or sponsorship registrant, or even an
effective Proxy Authorization identity, per [RFC4370].
Write-based access SHOULD NOT be governed by this attribute type, as
that is an intended function of a (current) registration authority.
The 'discloseTo' and 'c-discloseTo' attribute types are defined in
Section 2.3.32 and 2.3.33 of the RASCHEMA ID respectively.
3.2.4.12. 'registrantID'
This attribute type is meant for assignment to registrant entries for
the purpose of unambiguous reference.
In larger, more complete implementations of this specification, it
is RECOMMENDED that this attribute type be the primary identifier
(or, RDN) for dedicated registrant entries.
Combined registrant entries have no particular use for this attribute
type. Instances of this type SHALL NOT appear on entries bearing the
'registration' ABSTRACT class, defined within Section 2.5.1 of the
RASCHEMA ID.
Coretta Expires August 27, 2024 [Page 29]
Internet-Draft The OID Directory: RA DIT February 2024
For distinguished registrants -- such as an RFC or ID -- the official
identifier MAY be used as an alternative to an auto-generated value.
This type is defined in Section 2.3.34 of the RASCHEMA ID.
3.2.4.13. 'firstAuthority', 'currentAuthority' and 'sponsor'
These attribute types -- and their collective counterparts -- are for
use in identifying registrant entries which describe individuals,
groups and other entities that serve in authority over registrations.
These attribute types are only intended for use in referencing
dedicated registrants, which each bear the 'registrant' STRUCTURAL
object class. Instances of these types are meant for assignment
to 'registration' entries of any kind.
The 'firstAuthority' and 'c-firstAuthority' attribute types are
defined in Sections 2.3.35 and 2.3.36 of the RASCHEMA ID.
The 'currentAuthority' and 'c-currentAuthority' attribute types are
defined in Sections 2.3.55 and 2.3.56 of the RASCHEMA ID.
The 'sponsor' and 'c-sponsor' attribute types are defined in Sections
2.3.74 and 2.3.75 of the RASCHEMA ID.
Any combination of these attribute types and their collective forms
as instances within a common 'registration' entry is acceptable so
long as the respective reference values are unique in context.
3.2.4.14. 'rADITProfile'
This attribute type references optimal 'rADUAConfig' configuration
settings stored within entries in an RA DIT. This information is
meant for direct consumption by RA DUAs.
Use of this attribute type is only meaningful in situations where
multiple independent RA DITs are served by a single RA DSA.
Instances of this type MUST NOT be assigned to entries which bear the
'rARegistration' and/or 'rARegistrant' attribute types.
See the RADSA ID for details regarding use of this attribute type.
This type is defined in Section 2.3.94 of the RASCHEMA ID.
3.2.4.15. 'rARegistrationBase' and 'rARegistrantBase'
These attribute types contain references to the registration and
registrant bases within an RA DIT. The RA DUA reads these values
to determine where particular operations shall be conducted.
Coretta Expires August 27, 2024 [Page 30]
Internet-Draft The OID Directory: RA DIT February 2024
Instances of these types MUST NOT be assigned to entries which bear
the instances of the 'rADITProfile' attribute type.
See the RADSA ID for details regarding use of this attribute type.
These attribute types are defined in Sections 2.3.95 and 2.3.96 of
the RASCHEMA ID respectively.
3.2.4.16. 'registeredUUID'
This attribute type is intended to store a UUID value in hexadecimal
form that is equivalent to the 'n' value held by the same entry.
For example, consider the registration "{joint-iso-itu-t(2) uuid(25)
ans(987895962269883002155146617097157934)}":
'n' - 987895962269883002155146617097157934
'registeredUUID' - 00be4308-0c89-1085-8ea0-0002a5d5fd2e
The two values are identical; 'n' is simply being represented as an
unsigned 128-bit integer and 'registeredUUID' is the equivalent value
represented via hexadecimal encoding.
This type is meant for use in the context of ITU-T Rec. X.667 and is
defined within Section 2.3.102 of the RASCHEMA ID.
3.2.4.17. 'description'
The 'description' attribute type is defined within Section 2.5 of
[RFC4519] and clause 6.5.1 of ITU-T Rec. X.520. This attribute type
is included within the MAY clauses of certain object classes extended
by this ID series.
The purpose of the 'description' attribute type in the context of a
'registration' entry is to assign the effective "title" of the entry.
For example, the 'description' of the '1.3.6.1.4.1.56521.101.3.1.3'
OID would read 'The Three Dimensional Model'. This value is meant
to be distinct from, and far less verbose than, any value assigned to
the 'registrationInformation' type.
While there is no specific use case for 'registrant' entries within
the terms of this ID series, the 'description' attribute type is
nonetheless permitted.
3.2.4.18. 'seeAlso'
The 'seeAlso' attribute type is defined in Section 2.30 of [RFC4519]
and clause 6.10.6 of ITU-T Rec. X.520.
Coretta Expires August 27, 2024 [Page 31]
Internet-Draft The OID Directory: RA DIT February 2024
Under the terms of this ID series, the 'seeAlso' attribute type is
used to describe associations between multiple entries of related
context, and is made available through use of certain object classes
extended by this ID series.
To offer a practical use case, the OID which identifies the Kingdom
of the Netherlands Registration Authority (0.2.205) also refers to
the OID 0.2.204 and vice versa. This is the most common use case.
The 'seeAlso' attribute type may also be used to provide a reverse
associative context to registrants in terms of which registrations
are subject to its ministrations. This is the reversed concept of
'firstAuthority', 'currentAuthority' and 'sponsor' type instances,
however this use case is typically not required outside of certain
audit related activities.
3.2.4.19. Spatial References
Section 2.3 of the RASCHEMA ID extends eleven (11) attribute types
that describe both the horizontal and vertical arrangement of various
sibling, superior and subordinate registrations using the respective
DNs of entries. These attribute types may be used in any directory
model defined in this ID series, and many are extended by way of the
'spatialContext' class defined in Section 2.5 of the RASCHEMA ID.
The RA DIT SHALL NOT utilize both a non-collective and collective
spatial attribute type of the same spirit. For example, it is NOT
permitted for a registration entry to bear instances of both the
'topArc' and 'c-topArc' types -- regardless of respective values.
The RA DIT MAY, however, utilize both non-collective and collective
spatial types of differing forms. For example, it is permitted for a
registration to bear instances of the 'c-topArc' and 'supArc' types.
References of any attribute type prefaced with the 'c-' flag implies
Collective Attribute operation. Positive support for this feature on
part of the RA DSA(s) in question is REQUIRED for use of these types.
With the exception of the 'subArc' attribute type, all spatial types
extended through this ID series are meant for SINGLE-VALUE contextual
use cases -- including collective spatial types.
3.2.4.19.1. Horizontal Sibling References
The 'minArc', 'maxArc', 'leftArc' and 'rightArc' attribute types are
defined in order to describe horizontal relationships among sibling
registrations. The following diagram describes these relationships:
Coretta Expires August 27, 2024 [Page 32]
Internet-Draft The OID Directory: RA DIT February 2024
example registration
(1.3.6.1.4.1.56521.999.140)
|
less than < | > greater than
+---+--------+---+---+---+--------+---+
| 0 |........|139|140|141|........|200|
+---+--------+---+---+---+--------+---+
| | | |
minimum left right maximum
To offer an example of these relationships expressed as an LDIF:
dn: n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: spatialContext
ou=Registrations,o=rA
leftArc: n=139,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
rightArc: n=141,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
minArc: n=0,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
maxArc: n=200,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
The 'minArc' and 'maxArc' types describe the absolute extremes of a
set of sibling registrations, where 'minArc' describes the absolute
"first" registration in a set of sibling registrations and 'maxArc'
describes the absolute "final" registration. The 'c-minArc' and
'c-maxArc' collective variants serve the same function, except they
are meant for assignment to an entire set of sibling registrations.
Determination of so-called "first" and "final" status is based upon
the lowest and highest values of the 'n' attribute type present in
the set of sibling registrations. The definitive values MUST ALWAYS
be consistent for ALL sibling registration entries without exception.
See the RADUA ID for considerations relating to RA DUA queries
of a set of siblings terminated using a 'registrationRange' value,
whether the range is finite or infinite in nature.
The 'leftArc' and 'rightArc' types describe the immediate sibling
registrations horizontally adjacent to the bearer. The 'leftArc'
type references the DN of the nearest sibling registration with an
'n' value less than that of the bearer, while the 'rightArc' type
references the DN of the nearest sibling registration with an 'n'
value greater than that of the bearer.
Coretta Expires August 27, 2024 [Page 33]
Internet-Draft The OID Directory: RA DIT February 2024
Contrary to minimum and maximum values, the effective left and right
values are always registration specific, and shall not be considered
valid candidates for collective assignment. This exposes a potential
administrative challenge in the midst of many sibling entries.
In cases where 'leftArc' and 'minArc' would share a common value,
both values should be specified for optimal client support.
In cases where 'rightArc' and 'maxArc' would share a common value,
both values should be specified for optimal client support.
3.2.4.19.1.1. Collective Use
The 'minArc' and 'maxArc' attribute types have collective variants,
identified by identical names prefaced with the requisite 'c-' flag.
Use of these collective attributes instead of their non-collective
incarnations can greatly ease the cost and tedium of the management
of potentially huge sets of sibling entries.
As the 'c-minArc' and 'c-maxArc' attribute types relate to a minimum
and maximum number form common to multiple siblings, the appropriate
'subtreeSpecification' value MUST be limited to ONLY the immediate
children of the specified parent:
"{ base 'n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1',
minimum 1, maximum 1 }"
3.2.4.19.2. Superior Vertical References
The 'supArc' and 'topArc' attribute types are used to reference the
DNs of the immediate superior registration as well as the appropriate
root registration.
dn: n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: spatialContext
topArc: n=1,ou=Registrations,o=rA
supArc: n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
Superior vertical references, in general, are far simpler to manage
and implement as compared to subordinate vertical references because
of their unchanging nature.
In cases where 'supArc' and 'topArc' would share a common value,
both values should be specified for optimal client support.
Coretta Expires August 27, 2024 [Page 34]
Internet-Draft The OID Directory: RA DIT February 2024
3.2.4.19.2.1. Collective Use
The collective form of these types, as identified by identical names
prefaced with the requisite 'c-' flag, serve an identical function
but on a grand scale. Using the 'c-topArc' attribute type can allow
potentially millions of subordinate registrations to bear the correct
root arc DN without the need for manual input.
As the 'c-supArc' attribute type relates to the immediate vertical
association, the appropriate 'subtreeSpecification' value MUST be
limited to ONLY the immediate children of the specified parent:
"{ base 'n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1',
minimum 1, maximum 1 }"
As the 'c-topArc' attribute type is in service to a vertically global
association for ALL subordinate registrations without exception, the
appropriate 'subtreeSpecification' value MUST NOT be limited to any
particular hierarchical depth. Assuming the three dimensional model
is in use, the 'subtreeSpecification' setting should reflect the
following value for all ISO ("{iso(1)}") registrations:
"{ base 'n=1' }"
3.2.4.19.3. Subordinate Vertical References
The multi-valued 'subArc' attribute type defined in the RASCHEMA ID
allows the storage of immediate subordinate registration DNs for a
(parent) registration. Client architectures which read the values
assigned to this type will receive an effective "list" of any and
all subordinate registrations for the given registration.
This attribute type exists solely to facilitate a performant means of
subordinate registration DN enumeration. This is the RECOMMENDED
alternative to explicit List Operations, which may prove to be costly
in the midst of particularly large sets of subordinate registrations.
For instance:
dn: n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
objectClass: registration
objectClass: arc
objectClass: spatialContext
subArc: n=1,n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
subArc: n=2,n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
subArc: n=3,n=140,n=999,n=56521,n=1,n=4,n=1,n=6,n=3,n=1,
ou=Registrations,o=rA
Coretta Expires August 27, 2024 [Page 35]
Internet-Draft The OID Directory: RA DIT February 2024
Instead, enumerated subordinate registration DNs may be retrieved
by way of the Read Operation of the superior entry. When retrieved,
the RA DUA reads subordinate entries using DN references alone.
One of the administrative challenges of this approach is the (proper)
ordering of respective DNs assigned to this type. Depending on the
manner in which data was originally written to the RA DIT, sequential
ordering of numeric (leaf-node) values may not manifest as expected.
Certain X.500/LDAP implementations allow sorting of DN-based entry
values, such as 'member' (per Section 2.17 of [RFC4519]) for large
groups or email distribution lists. Sorting of this form may be
possible, though at the risk of RA DSA performance penalties.
Alternatively, the RA DUA MAY perform the necessary sort operation if
it is given this capability.
4. IANA Considerations
There are no requests to IANA in this document.
5. Security Considerations
5.1. Access Control
See Section 4.3 of the RADSA ID for access control considerations.
5.2. Creation and Modification Identities
If the operational attributes 'creatorsName' and/or' 'modifiersName'
(as defined in Sections 3.4.1 and 3.4.3 of [RFC4512] respectively)
are exposed, directory architects MAY opt to use Proxy Authorization
Controls, per [RFC4370], to allow an asserted (proxied) identity to
effect the necessary changes without exposing the true identity.
An appropriate proxy identity could be the distinguished name of the
registrant referenced by the 'currentAuthority' or 'sponsor' types,
or even a given registration entry itself. In either case, this will
require [RFC4370] support -- a topic out of scope for this ID.
6. References
6.1. Normative References
RADIR Coretta, J., "The OID Directory: A Technical Roadmap",
draft-coretta-oiddir-roadmap, February 2024.
RADSA Coretta, J., "The OID Directory: The RA DSA",
draft-coretta-oiddir-radsa, February 2024.
RADUA Coretta, J., "The OID Directory: The RA DUA",
draft-coretta-oiddir-radua, February 2024.
Coretta Expires August 27, 2024 [Page 36]
Internet-Draft The OID Directory: RA DIT February 2024
RASCHEMA Coretta, J., "The OID Directory: The RA Schema",
draft-coretta-oiddir-schema, February 2024.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3671] Zeilenga, K., "Collective Attributes in the Lightweight
Directory Access Protocol (LDAP)", RFC 3671, December
2003.
[RFC4511] J. Sermersheim, Ed. "Lightweight Directory Access Protocol
(LDAP): The Protocol", RFC 4511, June 2006.
[RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): Directory Information Models", RFC 4512, June
2006.
[RFC4517] Legg, Ed., S., "Lightweight Directory Access Protocol
(LDAP): Syntaxes and Matching Rules", RFC 4517, June
2006.
[RFC4519] Sciberras, Ed., A., "Lightweight Directory Access Protocol
(LDAP): Schema for User Applications", RFC 4519, June
2006.
[RFC4524] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): COSINE LDAP/X.500 Schema", RFC 4524, June 2006.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", RFC 8174, May 2017.
[X.660] International Telecommunication Union - Telecommunication
Standardization Sector, "General procedures and top arcs
of the international object identifier tree", ITU-T X.660,
July 2011.
[X.680] International Telecommunication Union - Telecommunication
Standardization Sector, "Abstract Syntax Notation One
(ASN.1): Specification of basic notation", ITU-T X.680,
July 2002.
6.2. Informative References
[RFC1155] Rose, M., "Structure and Identification of Management
Information for TCP/IP-based Internets", RFC 1155, May
1990.
[RFC2696] C. Weider, A. Herron, A. Anantha, Microsoft, T. Howes
and Netscape, "LDAP Control Extension for Simple Paged
Results Manipulation", RFC 2696, September 1999.
Coretta Expires August 27, 2024 [Page 37]
Internet-Draft The OID Directory: RA DIT February 2024
[RFC4370] Weltman, R., "Lightweight Directory Access Protocol
(LDAP): Proxy Authorization Control", RFC 4370, February
2006.
[X.500] International Telecommunication Union - Telecommunication
Standardization Sector, "The Directory: Overview of
concepts, models and services", ITU-T X.500, October 2019.
[X.501] International Telecommunication Union - Telecommunication
Standardization Sector, "The Directory: Models", ITU-T
X.501, October 2016.
[X.518] International Telecommunication Union - Telecommunication
Standardization Sector, "The Directory: Procedures for
distributed operation", ITU-T X.518, October 2019.
[X.525] International Telecommunication Union - Telecommunication
Standardization Sector, "The Directory: Replication",
ITU-T X.525, October 2019.
[X.672] International Telecommunication Union - Telecommunication
Standardization Sector, "OID resolution system: Problems,
requirements and potential solutions", ITU-T X.672, March
2020.
[PRIVATE] IANA, "Private Enterprise Numbers",
https://www.iana.org/assignments/enterprise-numbers.
Author's Address
Jesse Coretta
California, United States
Email: jesse.coretta@icloud.com
Coretta Expires August 27, 2024 [Page 38]