オブジェクト識別子(OID)とは
オブジェクト識別子(Object Identifier、OID)とは、あらゆるオブジェクト、概念、または「モノ」に対して、世界的に一意な識別子(番号)を割り当てるためのメカニズムです。この識別子は、
国際電気通信連合(ITU)と国際標準化機構(ISO)/国際電気標準会議(IEC)によって共同で標準化されています。
OIDの構成
OIDは、ITU標準X.660で正式に定義されており、木構造(OIDツリー)を形成します。この木構造における各ノードは「アーク(arc)」と呼ばれ、整数値で表されます。また、オプションとして英字(Unicode labels)も使用可能です。
アークは、親アークの下位に定義され、下位アークは空白で区切られます。ルートアークから目的のアークまでの完全なパスを「ノード(node)」と呼び、中括弧 `{}` で囲むことで一意なOIDとして識別されます。
OIDの構成例
例えば、Intel Corporationを表すOIDは以下のようになります。
- - 整数表記: `{1 3 6 1 4 1 343}`
- すべての登録機関(RA)で必ず登録されます。
- - 英字表記: `{iso identified-organization dod internet private enterprise intel}`
- 登録機関によっては登録されない場合があり、その場合は整数表記が用いられます。
- - 混在表記: `{iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) intel(343)}`
- - OID-URI表記: `/iso/identified-organization/dod/internet/private/enterprise/intel`
- - 実装表記: `1.3.6.1.4.1.343`
- アプリケーションなどへの実装では、各レベルをピリオドで区切る表記やOID-URI表記が使用されます。本稿ではピリオド区切りの表記で統一します。
OIDの制限事項
- - 標準文書では、OIDの長さやアーク数の上限は規定されていません。ただし、アプリケーションの実装によっては制限があるため、ツリーの構成には注意が必要です。
- - IPアドレスのプライベートアドレス空間のように自由に利用できるアークは存在しません。OIDを使用する場合は、必ずRAから登録を受けるか、権限委譲を受けてから登録する必要があります。架空のOIDは使用できません。
- - 標準文書(RFCなど)で定義済みのOIDの中には、他者も利用可能なものがあります。これらは標準文書の範囲内で利用できます。
- - 一度オブジェクトに紐付けられたOIDを、別のオブジェクトに再定義することはできません。新しいオブジェクトには、必ず新しいOIDを登録する必要があります。
OIDのルート
OIDツリーのルートには、以下の3種類があります。これらのルートは、すべてのOIDの起点となります。
- - `0`: ITU-T
- - `1`: ISO
- - `2`: joint-iso-itu-t
OIDの権限委譲
OIDツリーは、権限委譲の連鎖によって分散管理されています。例として、Intel CorporationのOIDを挙げます。
1. ルートレベル1はISOが権限を持ち、1の下に3.6を定義し、米国国防総省に1.3.6の権限を委譲します。
2. 米国国防総省は1.3.6の下に1.4.1を定義し、IANAに1.3.6.1.4.1の権限を委譲します。
3. IANAは1.3.6.1.4.1の下に343を定義し、Intel Corporationに1.3.6.1.4.1.343の権限を委譲します。
4. Intel Corporationは、委譲された1.3.6.1.4.1.343を起点に、下位アークを任意に定義するか、他組織に権限を移譲できます。
OIDの用途
OIDは、以下のような様々な場面で利用されています。
- - X.509証明書: 発行者やソフトウェアが異なっても、フィールド名や値を一意に扱うために使用されます。
- - X.500とLDAPスキーマ: 各属性タイプ、オブジェクトクラス、およびスキーマの要素を一意に指定するために使用されます。
- - 簡易ネットワーク管理プロトコル(SNMP): 管理情報ベース(MIB)内の各ノードを識別するために使用されます。
- - DICOM: 医療用画像データの標準規格で、オブジェクトを識別するために利用されます。
- - Microsoft COMおよびDCOM: OBJREFでOIDが使用されます。
OIDの取得方法
OIDを取得するには、すでにアークを保有している登録機関(RA)から、下位アークの権限委譲を受ける必要があります。権限委譲を受けた組織は、自身もRAとなり、そのアークを起点として下位に新たなツリーを構成できます。ただし、移譲元のRAの規則により、用途や移譲が制限されることがあります。
OIDの取得機関
- - IANA: 最も一般的な取得方法で、1.3.6.1.4.1の下位アークを企業や組織にPrivate Enterprise Numbers (PEN) として無償で提供しています。
- - Microsoft: 1.2.840.113556.1.8000.2554の下位アークをvbsスクリプトで自動的に発行しますが、管理が難しいため注意が必要です。
- - 日本: 総務省が0.2.440アーク(無償、登録期限なし)を、日本工業標準調査会が1.2.392アーク(有償、登録期限3年)を管理しています。
OIDの管理
OIDの実質的な管理は、各アークの委譲を受けた組織に一任されています。統一的なデータベースは存在しないため、特定のアークの管理者に連絡を取るには、上位アークから順に問い合わせる必要があります。各組織は、自己の管理するアークの下位の登録を、一意性を毀損しないように管理する必要があります。また、OID Repositoryへの登録が推奨されています。
OIDの期限・廃止・譲渡
- - 期限: OIDアークの移譲の有効期限はRAに一任されており、登録更新制または廃止申告制が採用されています。
- - 廃止: 廃止されたアークは、一意性を保持するために再移譲できません。ただし、同じ組織への再移譲は規定されていません。
- - 譲渡: アークの権限委譲は原則として認められており、譲渡を受けた組織は、以前の組織が登録したOIDの一意性を損なうことはできません。
OIDの公開情報例
- - OID Repository: 利用者からの情報提供や公表されている情報を収集し、ツリー情報を公開しています。X.660文書で登録が推奨されています。
- - IANA PRIVATE ENTERPRISE NUMBERS: IANAが管理するPENの移譲先リストです。
- - Structure of Management Information (SMI) Numbers (MIB Module Registrations): IANAがRFCに基づき管理しているツリーの情報です。
まとめ
OIDは、世界中で一意な識別子をオブジェクトに付与するための重要なメカニズムです。その構成、取得、管理について理解することで、システム開発や運用におけるオブジェクトの管理をより効率的に行うことができるでしょう。
参考情報
- - ITU X.660 Information technology - Procedures for the operation of object identifier registration authorities: General procedures and top arcs of the international object identifier tree
- - ITU X.680 Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation
- - IANA Private Enterprise Numbers
- - オブジェクト識別子構成要素値の指定
- - Object Identifiers and their Registration authorities (OID) Flyer
外部リンク
- - https://oidref.com/
- - Object Identifier Repository
- - Harald Tveit Alvestrand's Object Identifier Registry
- - IANA Private Enterprise Numbers
- - HL7 OID registry
- - Obtaining an Object Identifier