オブジェクト識別子

オブジェクト識別子とは、あらゆるオブジェクト、概念、または「モノ」に世界的に重複しない一意な識別子を割り当てるために作られた識別子メカニズムである。国際電気通信連合およびISO/IECにより、共同で標準化されている。

1. 構成
-----

OIDの構成はITU標準X.660で正式に定義されており、木構造となっている。標準文書上では、識別子を構成する個々の最小ラベルをアークと呼び、アークは整数値で表す。オプションとして英字で表すこともできる。あるアークに更に下位のアークを定義した場合、アーク間は空白で区切り、下位アークを右端に表示する。左端のルートアークから目的とするアークまでの完全なパスをノードと呼び、{ }で囲んで一意なOIDとして識別使用する。

1.1. 構成例
--------

たとえば、Intel Corporationを表すOIDは次のようになる。

整数表記：{1 3 6 1 4 1 343}
整数表記は、全ての登録機関が必ず登録する。
英字表記：{iso identified-organization dod internet private enterprise intel}
登録機関によっては、英字表記を登録しない場合があり、この場合、当該箇所は整数表記で表示する。
混在表記：{iso identified-organization dod internet private enterprise intel}
OID-URI表記：/iso/identified-organization/dod/internet/private/enterprise/intel
実装表記：1.3.6.1.4.1.343
アプリケーションなどへの実装表記は、ITU X.680文書及びRFC1778文書にて各レベルをピリオドで区切った表記又は、OID-URI表記の使用が定められている。本稿ではピリオドで区切った表記で統一する。

1.2. 特有の制限事項
------------

標準文書では、OIDの長さやアーク数の上限は規定されていないが、アプリケーションなどの実装で制限がかかっていることがあるので、それらを踏まえたツリーの構成が必要である。
IPアドレスに採用されている、プライベートアドレス空間のような自由に利用できるアークはないため、新たなOIDを使用したい場合は、必ずRAから登録を受けるか、アークの権限移譲を受けた上で自ら登録しなければならない。架空のOIDの使用はできない。
RFCなどの標準文書により、特定のオブジェクトを示すものとして登録済みの標準OIDの中には、他者でも利用可能なOIDがあり、そのようなOIDは当該標準文書の定める範囲内で利用することができる。
OIDは、特定のオブジェクトを示す世界的に重複しない一意な識別子であるため、特定のオブジェクトを示すものとして一度でも登録されたOIDを、再度、別のオブジェクトを示すものとして定義しなおすことは、一つのOIDが、AとBの両方を示すことになり一意性を毀損するもので望ましくない。新たなオブジェクトを定義する場合は、新たなOIDを登録する必要がある。

1.3. ルート
--------

前述のとおり、ITUとISOが共同で標準化したものである経緯から、ルートアークには以下の3種類が定義されており、すべてのOIDの起点となる。

0 : ITU-T
1 : ISO
2 : joint-iso-itu-t

1.4. 権限の委譲
----------

OIDツリーは、権限委譲の連鎖によって分散管理されている。移譲の連鎖を、先ほどのIntel CorporationのOIDを例にすると、以下のようになる。

ルートレベル1は、標準文書によりISOが権限を有するので1の下に3.6を定義して、米国国防総省に1.3.6の権限を委譲
米国国防総省は、権限を委譲された1.3.6アークの下に1.4.1を定義し、IANAに1.3.6.1.4.1の権限を委譲
IANAは、権限を委譲された1.3.6.1.4.1アークの下に343を定義し、Intel Corporationに1.3.6.1.4.1.343の権限を委譲
Intel Corporationは、権限を委譲された1.3.6.1.4.1.343を起点とした下位アークに、標準文書の規則の範囲内で新たなアークを任意に定義するか、定義したアークの権限を他組織等に移譲することができる。

2. 用途
-----

X.509証明書
発行者や取り扱うソフトウェアが異なっても、フィールド名や値などを一意に取り扱うことができるようにするために、OIDを使用する。
X.500とLDAPスキーマおよびプロトコル
各属性タイプとオブジェクトクラス、およびスキーマの他の要素を一意に指定するために、OIDを使用する。
簡易ネットワーク管理プロトコル
管理情報ベース内の各ノードの識別にOIDを利用する。
DICOM
Microsoft COMおよびDCOM
OBJREFにはOIDを使用する。

3. 登録管理制度
---------

3.1. 取得方法
---------

OIDを取得したい組織等は、現にOIDアークを保有している登録機関の保有するOIDツリーから、下位アークの権限委譲を受けて取得することができる。アークの権限移譲を受けた組織等は自身も登録機関となり、権限委譲を受けているアークを起点として、その下位に新たなツリーを構成しオブジェクトを定義することや、新たなアークを定義して更に他の組織等に権限委譲することも可能である。ただし、移譲元のRAの規則により用途や移譲が制限されていることもある。
IANAから取得 - 最も世界的に一般的な方法で、IANAでは1.3.6.1.4.1の下位アークを企業や他の組織にPrivate Enterprise Numbers  として国籍や組織の種別を問わず無償で権限移譲を行っている。
Microsoftから取得 - 1.2.840.113556.1.8000.2554の下位アークをvbsスクリプトで自動的に発行している。このスクリプトでは、ネットワークカードのMACアドレスと時刻情報を元に発行し、非常に長く深いアークが発行され、乱数的な自動発行なので管理者が全く追跡できないことに留意して使用すべきである。
日本が直接管理をしているアークは、ITU系では0.2.440アークを総務省が管理、ISO系では1.2.392アークを日本工業標準調査会となっている。国内ではアークを「構成要素値」と呼称している。

3.2. 管理
-------

OIDの実質的な管理は、標準文書で直轄管理されているアークや、標準としてRFCなどにより定義されているアークを除き、それぞれ各アークの委譲を受けている組織に管理が一任されている。各アークを統一的に管理している専門機関は存在しないので、特定アークの管理者と連絡を取るには、上位アークから順にアーク管理者に問い合わせをする必要がある。
自己の管理するアークの下位の登録管理については、一意性を毀損しないようRA自身でその登録を管理しなければならない。アーク委譲先や自組織ツリーの情報を公開することが推奨されており、後述のOID Repositoryへの登録が標準文書で推奨されている。

3.3. 期限・廃止・譲渡
-------------

期限：OIDアークの移譲の有効期限については標準文書において定めはなく、RAに一任されている。一般的には登録更新制又は、廃止申告制のどちらかを採用している。
廃止後の取扱：アークが廃止となった場合でも、一意性を保持するために一度登録された同じアークを他の組織に再移譲することはできない。ただし、廃止後に再度同じ組織が再移譲を受ける場合について定めはない。
譲渡：アークの権限委譲は、原則として譲渡することが認められている。ただし、既に登録されているOIDを含めてすべての権限を譲渡及び承継し、承継した組織等は、前組織が登録したOIDの一意性を毀損することはできない。OIDを使用しているシステムやソフトウェアの譲渡による管理組織の変更や、組織の合併・譲渡などによる発生を想定している。RAによっては譲渡を制限していることがある。

3.4. アークの公開情報例
--------------

[1] - 利用者からの情報提供又は公表されている情報の収集により判明しているツリー情報の公開。このサイトへの登録はX.660文書内で推奨されている。
[2] - IANAが管理するPENの移譲先リスト
[3] - IANAがRFCに基づき管理しているツリーの情報

4. 脚注
-----

5. 参考文献
-------

[4]
[5]
[6]
[7]
[8]

6. 外部リンク
--------

https://oidref.com/
[9]
[10]
[11]
[12]
[13]