コンテンツにスキップ

N32 — SEPP ⇔ SEPP(PLMN間相互接続 / N32-c・N32-f)

難易度: 上級 / 想定学習時間: 20分 / 接続点: SEPP ⇔ SEPP(対向PLMN) / Protocol: HTTP/2 over TLS(N32-c/N32-f, PRINS可) / 関連Interface: SBI全般(保護対象)

学習目標

このページを読み終えると、次のことができるようになります。

  • N32が通常のNF間SBIではなく、異なるPLMN(事業者)間を結ぶPLMN間相互接続IFであることを説明できる。
  • N32が N32-c(制御)N32-f(転送) の二層で構成されることを説明できる。
  • N32-cがSEPP間の初期ハンドシェイク・セキュリティ能力ネゴシエーション・保護方式(TLS/PRINS)合意を担うことを説明できる。
  • N32-fがPLMN間SBIメッセージを保護して転送すること、PRINSがIPX中継業者の介在下でもE2Eで完全性/機密性を保つ方式であることを説明できる。
  • 4G(EPC)の DEA(Diameter Edge Agent)/IPX Diameter相互接続 との対応関係を説明できる。

前提知識

先に以下を理解しておくとスムーズです。

  • SBA / SBI と HTTP/2・TLS の位置づけ → Protocol辞典
  • N32の両端に立つNF(PLMN境界のセキュリティゲート) → SEPP
  • ローミング時にHPLMNのNFへ届くシグナリング → Authentication
  • SBIのセキュリティ全般(TLS・保護の考え方) → Security
  • Interfaceと参照点の考え方 → Interface辞典

Why — なぜ必要なのか

5GCのNF同士はSBI(HTTP/2 + JSON)で会話します。しかし加入者がローミングした場合、訪問先PLMN(VPLMN)のNFホームPLMN(HPLMN)のNF(AUSF/UDM/SMF等)とやり取りする必要が生じます。ここで問題になるのが、異なる事業者ネットワークの境界を越えるという点です。相手PLMNのNFを直接叩かせると、内部トポロジ(NFの数・アドレス)が漏れ、また経路上に IPX(Interconnect Provider Exchange) などの中継業者が介在するため、メッセージの盗聴・改ざんリスクが生まれます。

そこで、各PLMNの境界にセキュリティゲートを置き、PLMN間のシグナリングを必ずそこ経由にします。これが SEPP(Security Edge Protection Proxy)で、SEPP同士を結ぶ相互接続IFがN32です。N32が無ければ、事業者間で安全にSBIメッセージを流す共通の土台が無く、トポロジ隠蔽もE2E保護もできません。N32はローミングシグナリングの土台です。

例え話: N32は、2国の税関(SEPP)を結ぶ国際回線です。まず外交合意(N32-c: どの暗号方式で話すかを取り決める)を交わし、その後に実際の書類を封緘して送ります(N32-f)。仲介の運送業者(IPX)が間に入っても中身を守る特別な封緘方式が PRINS です。

Overview — 概要

N32は SEPP ⇔ SEPP(対向PLMN) を結ぶ相互接続IFです。通常のNF間SBIとは位置づけが異なり、NFがサービスを呼び合うものではなく、PLMN(事業者)境界をまたぐシグナリングを保護して中継するためのものです。共通の転送スタックとして HTTP/2 over TLS を使う点はSBIと同じですが、その役割は「NF間サービス呼び出し」ではなく「PLMN間相互接続」です。

N32は次の二層のサブIFで構成されます。

  • N32-c(control): SEPP間の初期ハンドシェイクを行う制御用IF。セキュリティ能力のネゴシエーション保護方式(TLS か PRINS か)の合意、必要なパラメータ交換を担います。
  • N32-f(forwarding): 実際のPLMN間SBIメッセージを保護して転送する転送用IF。N32-cで合意した方式に従い、メッセージの完全性/機密性を保ちながら相手SEPPへ中継します。

保護方式は TLS(SEPP間で直接TLSを張る)か PRINS(PRotocol for N32 INterconnect Security) です。PRINSは、経路上に IPX中継業者が介在してもエンドツーエンドで完全性/機密性を保つ N32専用の保護方式です。さらにSEPPは、N32上で自PLMNの内部トポロジ隠蔽も担います。仕様は TS 29.573(N32)と TS 33.501(N32セキュリティ)に規定されます。

N32-cとN32-fの役割分担

N32は単一の線ではなく、役割の異なる二層でできています。N32-c はいわば「交渉のテーブル」で、SEPP同士が最初に接続し「どのセキュリティ能力を持つか」「TLSで直結するかPRINSで中継保護するか」を取り決めます。N32-f はその合意に基づく「本番の輸送路」で、ローミング時のSBIメッセージを保護して運びます。制御(合意)と転送(実運用)が分離されているため、まずN32-cで合意が済んでからN32-fが機能する、という順序で理解してください。

Basic Concept — 初心者向け説明

N32を、2国の税関を結ぶ国際回線に例えます。

あなたが海外でスマホを使うと(ローミング)、訪問先(VPLMN)のNFが、あなたの契約元(HPLMN)のNFに「この加入者を認証して」「このセッションを張って」と問い合わせる必要が出ます。しかし相手は別の会社のネットワークです。そこで各社は国境に税関(SEPP)を置き、越境するやり取りを必ず税関経由にします。SEPP同士をつなぐのがN32です。

税関同士はまず外交合意をします。これが N32-c で、「うちはこの暗号方式が使える」「では今回はPRINSで行きましょう」と取り決めます(セキュリティ能力ネゴシエーションと保護方式の合意)。合意ができたら、実際の書類(SBIメッセージ)を封緘して送るのが N32-f です。

このとき、間に運送業者(IPX)が入ることがあります。運送業者に中身を覗かれたり書き換えられたりしないよう、E2Eで守る特別な封緘方式が PRINS です。TLSで税関同士を直結できる場合はTLSを使います。さらにSEPPは、自国の内部事情(NFのアドレスや数)を相手に見せないトポロジ隠蔽も行います。

Protocol / Transport

項目 内容
位置づけ PLMN間相互接続IF(通常のNF間SBIとは別枠。NFサービス呼び出しではない)
Protocol HTTP/2 over TLS(SBI共通スタックを利用するが、用途はPLMN間相互接続)
サブIF N32-c(制御: ハンドシェイク・能力交換・保護方式合意)/ N32-f(転送: PLMN間SBIメッセージの保護中継)
保護方式 TLS(SEPP間直結)または PRINS(IPX介在下でE2E保護)— TS 33.501
仕様 TS 29.573(N32)/ TS 33.501(N32セキュリティ・PRINS・トポロジ隠蔽)
下位Transport TCP、TLSで保護。SCTPは不使用
ポート 待受ポートは実装依存。特定番号は断定しない

SBIの共通スタックを使うが「NF間サービス呼び出し」とは位置づけが違う

N32もHTTP/2 over TLSというSBIの共通スタック上に載りますが、他のSBI(N7/N8/N10/N11等)が同一PLMN内のNF同士のサービス呼び出しであるのに対し、N32は異なるPLMNのSEPP同士を結ぶ相互接続です。したがってN32を「ただのSBIの一本」と捉えず、PLMN境界を越えるための保護・中継レイヤとして区別してください。N32-f転送やPRINSの暗号詳細は TS 33.501 / TS 29.573 を参照してください。

Architecture

N32が両PLMNのSEPPを結び、各PLMNのNFがSEPPを介して対向PLMNとやり取りする文脈と、IPXが中継し得る構図を示します。

flowchart LR
  vNF["NF (VPLMN)"] --> vSEPP["SEPP (VPLMN側)"]
  vSEPP =="N32-c / N32-f"==> hSEPP["SEPP (HPLMN側)"]
  hSEPP --> hNF["NF (HPLMN)"]
  IPX["IPX (中継・任意)"] -.介在.- hSEPP

  classDef edge fill:#efe,stroke:#3a3,stroke-width:2px;
  class vSEPP,hSEPP edge;

図の読み方: 各PLMNのNFは自PLMNのSEPPを介して外部と通信します。SEPP間はまず N32-c でセキュリティ能力と保護方式を合意し、その後 N32-f でSBIメッセージを保護転送します(太線)。経路上に IPX が中継として介在しても、PRINSを用いればE2Eで完全性/機密性が守られます。NFが直接対向PLMNを叩くのではなく、必ずSEPP経由である点、そしてSEPPがトポロジ隠蔽も担う点に注目してください。

利用Procedure

N32は、SEPP間の接続確立と、ローミング時のPLMN間シグナリングの中継で使われます。

  • N32-c(初期ハンドシェイク・能力交換・保護方式合意): SEPP同士がまず接続し、セキュリティ能力のネゴシエーション保護方式(TLS/PRINS)の合意、必要なパラメータ交換を行う。以降のN32-f転送の前提となる。
  • N32-f(PLMN間SBIメッセージの保護転送): ローミング時、VPLMNのNF起因のSBIメッセージ(認証・PDUセッション等でHPLMNの AUSF/UDM/SMF へ向かうもの)を、合意した方式で保護してHPLMN側SEPPへ中継する。IPX介在時はPRINSでE2E保護。

これらの手順の細部(メッセージシーケンス、IE、条件)や、認証・セキュリティ文脈での使われ方は、SEPP および Authentication の記述を参照してください。手順の細部は要確認とし、本ページでは断定しません。

主なMessage

N32はHTTP/2上で動作しますが、二層それぞれで役割が異なります。代表的なやり取りは次のとおりです。

サブIF やり取り(概念) 用途
N32-c Security Capability Negotiation SEPP間のセキュリティ能力ネゴシエーション(TLS/PRINSの選択)
N32-c Parameter Exchange / handshake 保護方式合意・パラメータ交換の初期ハンドシェイク
N32-f Protected message forwarding PLMN間SBIメッセージの保護転送(JWE等での保護)

注記(要確認): 上表は役割の概念整理です。具体的なAPI名・サービスオペレーション名・操作方向・リソースURIは TS 29.573 の定義に従い、Releaseにより差異があるため個別には要確認とします。PRINSにおけるJWE等の暗号処理の詳細は TS 33.501 を参照してください。各メッセージの詳細は Message辞典 を参照してください。

Packet Analysis (Wireshark)

N32はHTTP/2 over TLSなので、キャプチャ上は HTTP/2 および TLS として観測されます(NGAP/SCTPのようなL4専用プロトコルは現れません)。

目的 Display Filter
HTTP/2メッセージを抽出 http2
TLSレイヤを確認 tls

Decodeの見どころ:

  • N32は TLSで暗号化されます。中身を見るには復号鍵(TLSセッションキー等)が必要です。鍵が無ければ tls の暗号化ペイロードとしてしか見えません。
  • N32-f でPRINSを用いる場合、保護されたメッセージは JSON/JWE 構造で運ばれます。中身の観察には復号鍵が必要です。
  • N2のNGAP(バイナリ、SCTP上)と違い、N32はWeb的(HTTP/2)である点が観察の要です。SCTPは不使用で、sctp.port 等のフィルタは使いません。

EPCとの比較

  • 4Gでは: 事業者間(ローミング)のシグナリング境界は DEA(Diameter Edge Agent) が担い、事業者間は IPX を介した Diameter 相互接続でつながっていました。境界での保護・中継はDiameterベースで行われていました。
  • 5Gでは: ローミング境界の役割を SEPP が担い、SEPP間を N32 が結びます。トランスポートはDiameterから HTTP/2 + TLS(PRINS/TLS保護) へ置き換わり、IPX介在下でもE2E保護を実現するPRINSが導入されました(TS 29.573)。
4G (EPC) 5G (5GC)
DEA(Diameter Edge Agent) SEPP(Security Edge Protection Proxy)
IPX経由の Diameter 相互接続 N32(SEPP間, HTTP/2 + PRINS/TLS)
Diameter(専用L4上) SBI保護: HTTP/2 over TLS(+ PRINS)
—(Diameterの保護に依存) TS 29.573(N32)/ TS 33.501(N32セキュリティ)

4Gのローミング境界(DEA/IPX Diameter相互接続)が、5Gでは N32/SEPP に置き換わりました。境界にセキュリティゲートを置き事業者間シグナリングを保護する思想は継続しつつ、HTTP/2ベースかつIPX介在下でもE2E保護できるPRINSが加わった点が主な変化です。

3GPP Specification

  • 3GPP TS 29.573 — N32(PLMN間相互接続 / N32-c・N32-f)。個別章番号は要確認
  • 3GPP TS 33.501 — N32セキュリティ(PRINS / TLS / トポロジ隠蔽)。個別章番号は要確認
  • 3GPP TS 23.501 §4 — システムアーキテクチャと参照点、§6.2.17(SEPP)。個別章番号は要確認
  • 3GPP TS 29.500 — SBI framework(HTTP/2ベースの共通規約)。個別章番号は要確認

注記(要確認): N32が N32-c/N32-f の二層で構成されること、保護方式がTLS/PRINSであること、SEPPがトポロジ隠蔽を担うことは3GPPアーキテクチャの一般的整理です。各サービスオペレーションの正確なAPI名・リソースURI・procedure/HTTPメソッド割り当て・細目章番号はReleaseにより差異があるため個別には要確認とします。N32-f転送やPRINSの暗号詳細は TS 33.501 / TS 29.573 を参照してください。

Summary

  • N32は SEPP ⇔ SEPP(対向PLMN) を結ぶ PLMN間相互接続IFであり、通常のNF間SBIとは位置づけが異なる。
  • N32-c(制御: ハンドシェイク・能力ネゴシエーション・保護方式合意)N32-f(転送: PLMN間SBIメッセージの保護中継) の二層で構成される。
  • 保護方式は TLS または PRINS。PRINSはIPX中継業者が介在してもE2Eで完全性/機密性を保つ N32専用方式(TS 33.501 / TS 29.573)。
  • SEPPはN32上で自PLMNのトポロジ隠蔽も担い、N32はローミングシグナリングの土台となる。
  • 4Gの DEA / IPX Diameter相互接続 に相当し、5Gでは N32/SEPP に置き換わった。

Next Step