Object Identifier
In der Informatik ist ein Object Identifier (OID) ein weltweit eindeutiger Bezeichner, der benutzt wird, um ein Informationsobjekt zu benennen (vgl. URN). Ein OID stellt einen Knoten in einem hierarchisch zugewiesenen Namensraum dar, der durch den ASN.1-Standard definiert ist. Jeder Knoten ist durch eine Folge von Nummern eindeutig gekennzeichnet, die seine Position beginnend an der Wurzel des Baumes angibt. Neue Knoten zur eigenen Verwendung können bei den entsprechenden Autoritäten des übergeordneten Knotens beantragt werden. Die Regeln für die Vergabe und Registrierung von OIDs sind festgelegt in den Normen ITU-T Rec. ITU-T X.660, ISO/IEC 9834 und DIN 66334. Die Verwaltung des OID-Baumes und die Sicherstellung der Eindeutigkeit von OIDs beruhen auf der Übertragung der Zuständigkeit für die untergeordneten Knoten an den Besitzer (Registration Authority) einer OID.
Notation
Im internationalen OID-Baum werden alle Kanten von einem Knoten zu Kindknoten durch ganze Zahlen, sogenannte primary integer values, eindeutig identifiziert. Verschiedene Kanten, die von demselben Knoten ausgehen, erhalten verschiedene primary integer values.
Jede Kante ist gleichermaßen mit einer eindeutigen Unicode-Bezeichnung (Unicode label) versehen. Darüber hinaus kann eine Kante eine oder mehrere sekundäre Bezeichnungen (secondary identifiers) haben. Für die sekundären Bezeichnungen gelten die Zeichenrestriktionen für ASN.1-Bezeichnungen (erlaubt sind Buchstaben, Ziffern und Bindestrich; siehe Recommendation ITU-T X.680 | ISO/IEC 8824-1).[1] Die sekundären Bezeichnungen müssen nicht eindeutig sein.
Jedes Objekt ist genau einem Knoten (in der Regel einem Blatt des Baums) zugeordnet. Für ein solches Objekt wird der ASN.1 Object Identifier im engen Sinne als Folge der Kantennummern auf dem Pfad von der Wurzel zu dem entsprechenden Knoten definiert, z. B.:
{1 3 6 1 4 1} gemäß ASN.1-Notation (in diesem Beispiel ohne NameForm-Bezeichner), 1.3.6.1.4.1 gemäß Punkt-Notation, urn:oid:1.3.6.1.4.1 gemäß URN-Notation[2], /1/3/6/1/4/1 gemäß OID-IRI-Notation (in diesem Beispiel ohne NonInteger-Unicode-Label)
Um die Lesbarkeit zu verbessern, kann der Wert einer ASN.1 OID unter Verwendung der zugehörigen sekundären Bezeichnungen referenziert werden:
{iso(1) identified-organisation(3) dod(6) internet(1) private(4) enterprise(1)} gemäß ASN.1-Notation
Der ASN.1 OID-IRI (OID internationalized resource identifier) entsteht durch eine durch Slash ('/') separierte Verkettung der Unicode-Bezeichnung:
"/ISO/Identified-Organization/6/1/4/1" gemäß OID-IRI-Notation
Durch Unicode-Bezeichnungen referenzierte zusätzlich definierte, von der Wurzel ausgehende Kanten, sog. long arcs, kann sich für die OID-IRI eine kürzere äquivalente Schreibweise ergeben (ähnlich symbolischer Links in Dateisystemen).[3]
Wurzel
Die Kanten von der Wurzel des OID-Baums wurden wie folgt definiert:
0: ITU-T 1: ISO 2: joint-iso-itu-t
Eine Erweiterung durch eine weitere Standardisierungsorganisation ist technisch nicht möglich, da in der Binärkodierung von OIDs wie z. B. der BER/CER/DER-Kodierung zugunsten einer Komprimierung kein weiterer Platz reserviert wurde.[4][5]
Anwendungsbeispiele
- In der Informationssicherheit werden OIDs genutzt, um beispielsweise die Objekttypen bei X.509-Zertifikaten eindeutig zu kennzeichnen.
- In X.500-Verzeichnisdiensten werden eindeutige Attribute, Attributtypen und Objekte gekennzeichnet.
- In LDAP-Schemen haben alle Objektklassen und Attributtypen eine eigene OID.
- In der Netzwerktechnik wird im Zusammenhang mit SNMP von OIDs gesprochen, wenn damit ein Objekt aus der Management Information Base gemeint ist.
- Ebenfalls sind OIDs zentraler Bestandteil der HL7 und dient für den Austausch von Daten zwischen Organisationen im Gesundheitswesen und deren Computersystemen.
Erwerb einer OID
Es gibt viele Wege, eine OID zugewiesen zu bekommen, sowohl kostenpflichtige als auch kostenlose. Ein paar Beispiele:
- Kostenlose Registrierungen sind bei IANA möglich, der Knoten (Präfix) ist 1.3.6.1.4.1 mit der ASN.1-Notation {iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1)}.
- Unter dem Knoten 2.25 kann eine UUID als OID-Komponente verwendet werden, dafür ist keine Registrierung erforderlich.
- Objekte für den standardisierten Datenaustausch im Gesundheitswesen können beim DIMDI (für Deutschland), im OID Portal Österreich oder bei Refdata (für die Schweiz) registriert werden [1].
Siehe auch
Weblinks
- Schweizer eHealth-OID-Register der Stiftung Refdata
- OID Info – öffentliches OID Repository der France Telecom
- OID Standards – Sammlung von ITU-T Standards bzgl. OIDs
- Häufig gestellte Fragen bzgl. OIDs
- ASN.1 & OID Project der ITU-T
- Harald Tveit Alvestrand's Object Identifier Registry
- IANA Private Enterprise Numbers
- OID-Register zu "Deutschland Gesundheitswesen" beim DIMDI
- OID Portal Österreich für e-Health-Anwendungen
Einzelnachweise
- ↑ Recommendation X.680 (englisch) tu.int. Abgerufen am 15. September 2019.
- ↑ RFC 3061
- ↑ Recommendation ITU-T X.660 (07/11)
- ↑ Olivier Dubuisson: ASN.1 - Communication between heterogeneous systems, Seite 396 in der englischen Version
- ↑ ITU-T X.690 (PDF; 524 kB) - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)