OID
Les OID (pour object identifier) sont des identifiants universels, représentés sous la forme d'une suite d'entiers. Ils sont organisés sous forme hiérarchique avec des nœuds[1]. Ainsi seul l'organisme 2.999 peut dire quelle est la signification de l'OID 2.999.1. Ils ont été définis dans une recommandation de l’International Telecommunication Union. L'IETF a proposé de représenter la suite d'entiers constituant les OID séparés par des points.
Pour l’article homonyme, voir Organisation des industries de défense (Iran).
L'objectif des OID est d'assurer l'interopérabilité entre différents logiciels. Les OID sont utilisés dans le monde LDAP mais aussi dans d'autres domaines, comme le protocole SNMP pour identifier des ressources. Il est possible d'obtenir un OID, et par conséquent toute une branche, auprès de l'IANA.
Dans le monde LDAP, les objets, les attributs, les syntaxes et les règles de comparaison sont référencés par un OID. La RFC 2256 normalise un certain nombre de ces objets.
Syntaxe
Un OID correspond à un nœud dans l’arborescence ou hiérarchie des OIDs, qui est formellement défini par le standard X.660 sur les OIDs de l'ITU. La racine de l'arbre contient les arcs principaux suivants :
Chaque nœud de l'arbre est représenté par une série d'entiers séparés par un point, correspondant au chemin depuis la racine et traversant les nœuds ancêtres jusqu'au nœud. Par exemple, le nœud désignant l'entreprise Intel Corporation est le suivant :
1.3.6.1.4.1.343
et correspond au chemin suivant à travers l'arbre des OIDs :
1 ISO 1.3 identified-organization, 1.3.6 DoD, 1.3.6.1 internet, 1.3.6.1.4 private, 1.3.6.1.4.1 IANA enterprise numbers, 1.3.6.1.4.1.343 Intel Corporation
Une représentation textuelle des chemins des OIDs est généralement utilisée. Par exemple :
iso.identified-organization.dod.internet.private.enterprise.intel
Chaque nœud de l'arbre est contrôlé par une autorité d'assignation, qui peut définir des nœuds enfants à celui-ci, et déléguer une autorité d'assignation pour les nœuds enfants.
Par exemple, les nœuds commençant par « 1
» sont assignés par l'ISO ; les nœuds commençant par « 1.3.6
» sont assignés par le Département de la Défense des États-Unis ; les nœuds commençant par « 1.3.6.1.4.1
» sont assignés par l'IANA ; les nœuds commençant par « 1.3.6.1.4.1.343
» sont assignés par Intel ; et ainsi de suite.
Notation ASN.1
Dans la notation ASN.1, un OID est représenté par le type OBJECT IDENTIFIER
dans les fichiers de MIB, où les entiers sont placés entre accolades et séparés par un espace. Chaque entier peut être mis entre parenthèses et précédé du nom du nœud représenté, comme dens l'exemple suivant :
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
Un OBJECT IDENTIFIER
peut également être défini relativement à un autre OBJECT IDENTIFIER
, comme dans cet exemple tiré de la MIB de la structure des informations de gestion (SMI) définie par RFC 1155[2] :
directory OBJECT IDENTIFIER ::= { internet 1 } mgmt OBJECT IDENTIFIER ::= { internet 2 } experimental OBJECT IDENTIFIER ::= { internet 3 } private OBJECT IDENTIFIER ::= { internet 4 }
Utilisations
- En sécurité informatique, les OID servent à nommer tous les types d'objets dans les certificats X.509, comme les composants d'un nom structuré, etc.
- Dans les schémas et protocoles X.500 et LDAP, les OID nomment de manière unique chaque type d'attribut et classe d'objet, ainsi que les autres éléments du schéma.
- Dans le protocole SNMP (Simple Network Management Protocol), chaque nœud d'une base d'informations de gestion (MIB) est identifié par un OID.
- L'IANA attribue des numéros d'entreprise privés (PEN : Private Enterprise Number) aux entreprises et autres organisations sous le nœud 1.3.6.1.4.1. Les OID en aval de ceux-ci sont parmi les plus couramment observés ; par exemple, dans les MIB SNMP, en tant qu'attributs LDAP et en tant que sous-options de fournisseur dans le protocole DHCP (Dynamic Host Configuration Protocol).
- Le standard de gestion des données d'imagerie médicale DICOM utilise des OID.
- Les Centres pour le contrôle et la prévention des maladies (CDC : Centers for Disease Control and Prevention) utilisent des OID pour gérer les nombreux ensembles de valeurs complexes ou « vocabulaires » utilisés dans le système d'accès et de distribution de vocabulaire (VADS : Vocabulary Access and Distribution System) du réseau d'information sur la santé publique (PHIN : Public Health Information Network)[3].
- Dans COM et DCOM de Microsoft, les OBJREF ont un champ d'identificateur d'objet (OID).