N32 — SEPP ⇔ SEPP(PLMN間相互接続 / N32-c・N32-f)¶
学習目標¶
このページを読み終えると、次のことができるようになります。
- 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¶
- SEPP — N32の両端に立つPLMN境界セキュリティゲート
- Security — SBI保護・TLS・PRINSの位置づけ
- Authentication — ローミング時にHPLMNのAUSF/UDMへ届く認証シグナリング
- Interface辞典 — 参照点・Interfaceの確認
- Message辞典 / Protocol辞典 — 用語・SBIプロトコルの確認