要約
- RFC 9997により、対象となるIANA Private Enterprise Numberの保有者は、個別の割り当て手続きを経ずに自らの私有YANG SIDブロックを一意に計算できる。
- SIDにPEN由来の桁が現れても、それはprovenanceではない。YANGモジュール、
.sidファイル、発行主体、整数の意味のいずれも認証しない。 - 運用上の信頼には、権威ある配布経路、固定したモジュール版とマッピングのハッシュ、装置能力の照合、実装による最終的な受理が必要になる。
制御装置が、工場のゲートウェイからYANG-CBORのテレメトリーを受け取ったとする。長いノード名の代わりに整数のキーが入っている。その整数は、メーカーのPrivate Enterprise Numberから算出できる範囲に収まる。手元の.sidファイルを引けば「温度上限アラーム」と解釈できる。番号も構文も整っている。
ところが、その.sidファイルはメーカーの正式なリリースではなく、保守会社が見つけたミラーから取得したものだった。同じ整数が、そこでは「設定初期化」に結び付けられているとする。ブロックの計算は正しい。CBORも壊れていない。誤っているのは番号ではなく、番号に意味を与える権限である。
2026年7月にIETF Standards Trackとして公開されたRFC 9997は、この境界を設計の中心に置く。YANG Schema Item Identifier(SID)の巨大な私有領域を用意し、PEN保有者が式だけで自分の区画を特定できるようにした。衝突を避けるための事務を消したが、PENを署名に変えたわけではない。
二つのmega-rangeが省いた手続き
RFC 7950のYANGは、ネットワーク管理データをモジュール、コンテナ、リスト、leaf、action、notificationとして記述する。人には名前が分かりやすいが、制約の大きい装置では文字列の反復が重い。RFC 9254のYANG-CBORは、スキーマ項目を63ビットの符号なしSID、または現在のSIDからの差分で表せるようにする。
割り当ての基礎はRFC 9595にある。公開SIDはIANAの方針に従って登録でき、Privateの範囲は委任先が内部を管理する。モジュールのどの項目とどの整数が対応するかを保存する成果物が.sidファイルだ。
RFC 9997は、IANA YANG SIDレジストリに二つのPrivate mega-rangeを置いた。一つは3,000,000,000から3,999,999,999までの10億個で、符号なし32ビット表現に入る。もう一つは300,000,000,000から399,999,999,999までの1,000億個で、64ビット表現を使う。
PENが1,000,000未満なら、64ビット側に100,000個のブロックが定まる。100,000未満なら、それに加えて32ビット側に10,000個のブロックが定まる。申請票も、ブロックごとのExpert Reviewも、IANAからの割り当て返信も要らない。同じPENを入力した者は、同じ開始値と終了値を得る。
これは既存のIANA Private Enterprise Numbersレジストリを薄い共通基盤として再利用する仕組みだ。PENは低い負担で登録できるよう設計されており、RFC 9997の執筆時点で約66,000件が割り当てられていた。追加の32ビットブロックを得られる100,000未満の番号は2040年ごろに尽きる可能性が示されるが、64ビット側にははるかに大きな余裕がある。
絶対値の大きさを、そのまま毎回の通信量と見なしてはいけない。YANG-CBORでは近いスキーマ項目を現在SIDからの小さなdeltaとして運べる。64ビット領域が長期の割り当て余地を作り、差分がパケットの小ささを支える。「大きな番号なら常に8バイト」という比較では、方式の実効コストを捉えられない。
RFC 5612が定めた文書例示用PENから算出されるブロックは、IANAでもdocumentation用として予約される。仕様書の例が実在する企業の割り当てと混ざらないための、小さいが重要な処置である。
委任されたのは番号空間であって著作者ではない
SIDが企業AのPENから算出した範囲にあるなら企業Aが作ったはずだ、という推論は自然に見える。RFC 9997のSecurity Considerationsは、それを明確に否定する。SIDにPENが現れることはprovenanceではなく、SIDやモデルがPEN保有者から発した保証にもならない。権威ある出所は別途確かめなければならない。
式が公開されているからだ。誰でも自分の範囲も他者の範囲も計算できる。別の企業のブロックに入る、もっともらしい整数を非公式な.sidファイルへ書くこともできる。式が防ぐのは、規則に従う二者が偶然同じ領域を選ぶことだ。攻撃者、古い統合案件、権限を失った請負会社、分岐したツールチェーンによる意味の詐称までは止めない。
RFC 8126が説明する登録方針の考え方も、この区別を補強する。レジストリは値をどう調整し、どの審査方針を使うかを示す。しかし、値を予約したことだけで、その値を含む将来の全成果物を保証することはできない。IANAはPENとmega-rangeを管理し、PEN保有者はブロック内を管理する。受信したファイルの真正性は、どちらの台帳からも自動的には生まれない。
これは住所に近い。住所は土地の重複を避けるが、玄関前に置かれた契約書が家主の署名入りだとは証明しない。SIDブロックは番号の衝突を防ぐ。内部の意味を誰が決めたかは、配布と検証の記録が証明する。
.sidは補助ファイルではなく意味の供給源
.sidをビルド時の付属メタデータと呼ぶと、その権限を見失う。RFC 9595は、意味のある概念と整数を結ぶマッピングを信頼できない者が制御すれば、セキュリティ上の危険になると警告する。構文上は正しい入力を、別のleaf、action、notificationとして読ませられるからだ。
原因は攻撃だけではない。CIが古いマッピングを取り込む。パッケージの更新でモジュールのrevisionを残さずファイルだけが差し替わる。装置のYANG Libraryが示す版と、コントローラーのSID版がずれる。企業買収でリポジトリ、製品チーム、PENの管理主体が別々に移る。終了した拡張の番号を新しい部署が再利用する。
信頼する単位は「そのメーカーの範囲」ではなく、発行主体、YANGモジュール名とrevision、.sidの正確な内容、完全性の証拠、取得経路、対象装置の能力宣言を合わせた組である。一つ変われば、新しい判断が必要になる。
RFC 9595は、開発者が権威ある出所からのみ.sidを取り込むよう求める。制約の少ない管理システムでも、マッピングの出所はYANGモジュールの出所と同等に信頼できる必要がある。署名されたリリース、固定したリポジトリcommit、検証済みpackageは根拠になり得る。数字の形は根拠にならない。
また、識別子を自動取得命令に変えるべきでもない。RFC 9595は、dereference可能な識別子が外部アクセスを起こし、セキュリティとプライバシーの問題を生むと指摘する。問い合わせは利用中のモデルを外部へ知らせ、resolverによる追跡を許し、オンラインの回答をビルドごとに変え得る。URLだけでなく、取得したバイト列と、その時点の出所判断を保存する必要がある。
発見と信頼を同じサービスにしない
RFC 9997は、私有SIDから元のYANGモジュールを探すインフラを定義していない。保有者がリポジトリを公開することはできる。装置はRFC 8525のYANG Libraryを使い、モジュール、revision、feature、deviationを報告できる。第三者カタログも索引を作れる。
ただし、答える問いは違う。カタログは「候補がどこにあるか」を示す。YANG Libraryは「装置が何を実装したと申告するか」を示す。リリース経路は「発行主体が何を配布したか」を示す。検証した.sidは「そのrevisionの項目と整数の関係」を示す。隣の層が便利だからといって、権限まで移してはならない。
私有モデルが顧客だけに配られたり、閉じた製品へ組み込まれたりする場合、非公開であること自体が意図された設計かもしれない。SIDブロックは外部から計算できても、モデルが検索できないことに矛盾はない。逆に、検索で見つかったコピーが正式版である保証もない。
動いた実装が最後の事実を作る
出所とハッシュが正しいモジュールでも、相互運用性はまだ証明されない。装置が別revisionを実装し、optional featureを無効にし、deviationを宣言し、特定のdatastoreでしかactionを許さないことがある。YANG Libraryは能力を確認する材料だが、理論上妥当な操作をすべて受け入れるという契約ではない。
統制の記録は少なくとも五段に分けるべきだ。IANAがPENとmega-rangeの一意性を保つ。保有者がブロック内を割り当てる。発行主体がモデルとマッピングを出す。利用者が出所を検証して意味を解決する。実装が現実の状態と方針に従って入力を受理または拒否する。
Heng LuのMinimum Initial Specificationは、この構造をうまく説明する。全員が共有しなければならない最小部分だけを共通層に置く。RFC 9997は衝突回避に必要な計算を共通化し、内部のモデル設計を局所に残した。その節度を保つには、共通層を万能の権威に昇格させないことが必要だ。
Running-Code Primacyは終点を定める。登録とマッピングが整っても、コントローラーと装置が互換な入力を実際に受け入れなければ運用上の力は生じない。Reality Layersに従えば、PENの記録、計算した区画、配布ファイル、能力宣言、実行結果を一つの「正しいSID」に丸めず、それぞれの現実として接続できる。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
