コンテンツにスキップ

Security応用 — 5GCセキュリティの多層防御を俯瞰する

難易度: 中級〜上級 / 想定学習時間: 25分 / 前提: 認証(5G-AKA/EAP-AKA'), NAS/AS Security・SUCI

学習目標

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

  • 5GCのセキュリティが アクセス層・NAS層・SBA層・ローミング境界 という 多層 で構成されることを地図として説明できる
  • SUCI/SUPI秘匿 がなぜ重要か(IMSIキャッチャ対策・プライバシー保護)を説明できる
  • 鍵階層(K → CK/IK → KAUSF → KSEAF → KAMF → NAS鍵/AS鍵)の全体像を俯瞰できる
  • SBA間のセキュリティ(NF間TLS、NRFによるOAuth 2.0トークン認可、Service Meshの相互TLS)の目的を説明できる
  • NIA0/NEA0(Null完全性/Null暗号)が緊急通報など特殊ケース限定であることを説明できる

前提知識

この章の焦点

基本認証(5G-AKA/EAP-AKA')、鍵導出の計算式、SUCI生成の手順は 認証NAS/AS Security で扱います。この章はそれらを前提に、「5GCのセキュリティが全体としてどう多層で守られているか」 という俯瞰図を与えることに徹します。


Why — なぜ多層で守るのか

5GCのセキュリティは、単一の仕組みでは守れません。守るべき対象と脅威が場所ごとに違うからです。

  • 無線区間 では、傍受・改ざん・なりすまし(偽基地局=IMSIキャッチャ)が脅威。→ 暗号化・完全性保護・恒久識別子の秘匿で守る。
  • 端末とコア(AMF)間の制御信号(NAS) では、位置登録やセッション制御メッセージの保護が必要。→ NAS Securityで守る。
  • コア内部のNF間通信(SBA) では、正規でないNFのなりすまし・盗聴が脅威。→ TLSとOAuth認可で守る。
  • 事業者網の境界(ローミング) では、他事業者網を経由する信号の保護が必要。→ SEPP/N32で守る。

例え話: 5GCのセキュリティは「城の多重防御」です。外堀(無線区間)、城門の通行証(NAS)、城内の各部屋の入室許可(SBA認可)、隣国との国境検問(ローミング境界)と、層ごとに違う守り方をします。どれか1つが破られても、次の層で止められることが狙いです。


What — 4つの層と特殊ケース

5GCのセキュリティは、大きく4つの層で捉えられます(TS 33.501)。

graph TD
    subgraph Access["アクセス層 — 無線区間"]
        A1["AS Security
UE ⇔ gNB
RRC/User Plane 暗号・完全性"] end subgraph NAS["NAS層 — 端末⇔コア制御信号"] N1["NAS Security
UE ⇔ AMF
NAS暗号・完全性 + SUCI秘匿"] end subgraph SBA["SBA層 — コア内NF間"] S1["NF間TLS + OAuth 2.0
NRFがトークン発行
相互TLS (Service Mesh)"] end subgraph Roam["ローミング境界 — 事業者網間"] R1["SEPP / N32
PRINS or TLS"] end Access --> NAS --> SBA NAS -. ローミング時 .-> Roam SBA -. ローミング時 .-> Roam

各層の役割を対比します。

守る区間 主な仕組み 主なNF 委譲先
アクセス層 UE ⇔ gNB(無線) AS Security(RRC/UP の暗号・完全性) gNB NAS/AS Security
NAS層 UE ⇔ AMF(制御信号) NAS Security、SUCI秘匿 AMF, AUSF 認証
SBA層 NF ⇔ NF(コア内) TLS、OAuth 2.0トークン認可 NRF 本章 How
ローミング境界 vPLMN ⇔ hPLMN SEPP / N32(PRINS or TLS) SEPP roaming.md

この章で「深追いしない」もの

各層の詳細は委譲先に譲ります。この章の役割は、それらが 1枚の地図 としてどう繋がるかを示すことです。


How — 各トピックを俯瞰する

SUCI/SUPIの秘匿 — プライバシー保護

SUPI(Subscription Permanent Identifier) は加入者の恒久識別子(IMSI相当)です。これを無線区間で 平文のまま送ると、偽基地局(IMSIキャッチャ)が捕捉し、個人の追跡が可能 になってしまいます。

5Gでは、SUPIを ホーム網(hPLMN)の公開鍵で暗号化した SUCI(Subscription Concealed Identifier) として送ります。復号できるのはホーム網(UDM/SIDF)だけなので、途中の誰にもSUPIは見えません。暗号方式には ECIES(Elliptic Curve Integrated Encryption Scheme) が使われます(TS 33.501)。

なぜ重要か

SUCI秘匿は「誰がそこにいるか」を隠すプライバシー保護の要です。4G以前にIMSIキャッチャが問題視されたことへの、5Gの構造的な対策です。SUCIの生成手順・鍵の詳細は NAS/AS Security を参照してください。

鍵階層の概観

認証(5G-AKA/EAP-AKA')が成功すると、1つの根鍵から用途別の鍵が 階層的に 導出されます。層が下るほど利用範囲が狭まり、上位鍵が漏れても直ちに全鍵が破られない構造です(TS 33.501)。

どこで使う(概観)
K USIM / ホーム網に格納された永続鍵
CK / IK 認証で導出される暗号鍵・完全性鍵
KAUSF AUSFに保持される中間鍵
KSEAF サービング網(SEAF=AMF内機能)用のアンカ鍵
KAMF AMF用鍵。以降のNAS/AS鍵の親
NAS鍵 / AS鍵 NAS Security(UE⇔AMF)、AS Security(UE⇔gNB)で実際に使う鍵

詳細は委譲

各鍵の具体的な導出関数(KDF)・入力パラメータ・更新条件は 認証NAS/AS Security で扱います。ここでは「階層があり、下位ほど範囲が狭い」という全体像だけ押さえます。

SBA間のセキュリティ — NF同士のなりすまし防止

コア内部でも、NF(AMF, SMF, UDM…)同士のSBI通信を守る必要があります。SBAでは3つの仕組みが重なります(TS 33.501)。

  • TLS — NF間のSBI(HTTP/2)通信を暗号化・完全性保護する。盗聴・改ざんを防ぐ。
  • OAuth 2.0トークン認可 — NFがサービスを呼ぶとき、NRF が発行する アクセストークン を提示する。呼ばれる側はトークンを検証し、正規に認可されたNFだけを受け付ける。これで「正規でないNFのなりすまし」を防ぐ。
  • 相互TLS(mTLS) / Service Mesh — 実装によってはService Meshで相互TLSを張り、双方向でNFを認証する。
仕組み 目的 発行/管理
TLS SBI通信の暗号化・完全性 NF間で確立
OAuth 2.0トークン NFサービス呼び出しの認可(なりすまし防止) NRF が発行
相互TLS / Service Mesh 双方向のNF認証 実装依存

認証と認可は別物

「そのNFが本物か(認証=TLS/mTLS)」と「そのNFがこのサービスを呼んでよいか(認可=OAuthトークン)」は別の話です。SBAはこの両方を重ねて守ります。

ローミング境界のセキュリティ

ローミング時、サービング網(vPLMN)とホーム網(hPLMN)の間の信号は、直接ではなく SEPP(Security Edge Protection Proxy) を経由し、N32 インタフェースで保護されます。保護方式には PRINS(アプリ層メッセージ保護、IPX中継対応)と TLS(直接接続)があります。

詳細は roaming.md へ

SEPP/N32・PRINS/TLSの詳細は同階層の ローミング で扱います。ここでは「事業者網の境界にも独立した守りがある」という位置づけだけ確認します。SEPP自体の詳細は SEPP を参照。

NIA0 / NEA0 — 「保護なし」が許される特殊ケース

  • NEA0(Null Encryption Algorithm) — 暗号化を行わないアルゴリズム。
  • NIA0(Null Integrity Algorithm) — 完全性保護を行わないアルゴリズム。

これらは通常は使いません。緊急通報(未認証端末での緊急呼など) のような、認証できないが通信させるべき特殊ケースでのみ許容されます(TS 33.501)。

通常運用では使わない

NIA0/NEA0は「守らない」選択肢です。緊急通報など限定用途に閉じ込め、通常のトラフィックには適用しません。緊急通報でのこれらの扱いの詳細は 緊急通報 を参照してください。


3GPP Specification

仕様 内容
TS 33.501 Security architecture and procedures for the 5G System(5Gセキュリティアーキテクチャ全体。SUCI/SUPI・鍵階層・SBAセキュリティ/OAuth・NIA0/NEA0を包含)

節番号の粒度

TS 33.501 が5Gセキュリティの主要仕様であることは確実です。ただし各トピック(SUCI/ECIES、鍵階層、OAuthトークン等)の具体的な節番号は版により異なるため、精密な引用時は 要確認。事業者ごとの適用範囲・運用(どのアルゴリズムを有効化するか等)は 実装依存 です。


FAQ

Q. なぜSUPIを直接送らずSUCIにするのですか?

SUPIを平文で送ると偽基地局(IMSIキャッチャ)が捕捉し、個人の追跡が可能になるためです。ホーム網の公開鍵でECIES暗号化したSUCIとして送れば、途中の誰にもSUPIは見えず、復号できるのはホーム網だけになります。

Q. SBAでTLSがあるのに、なぜOAuthトークンも要るのですか?

役割が違うためです。TLSは「相手NFが本物か・通信が盗聴されていないか(認証・暗号化)」を守り、OAuthトークンは「そのNFがこのサービスを呼んでよいか(認可)」を守ります。認証と認可を重ねることで、正規でないNFのなりすましやサービス濫用を防ぎます。


Summary

  • 5GCのセキュリティは アクセス層・NAS層・SBA層・ローミング境界多層防御(TS 33.501)
  • SUCI/SUPI秘匿 はプライバシー保護の要。ホーム網公開鍵によるECIES暗号でIMSIキャッチャを無力化
  • 鍵階層(K → CK/IK → KAUSF → KSEAF → KAMF → NAS/AS鍵)は下位ほど範囲が狭い
  • SBA層 は TLS(暗号)+ OAuth 2.0トークン(NRF発行の認可)+ 相互TLSでNFなりすましを防ぐ
  • ローミング境界 は SEPP/N32(PRINS or TLS)で守る(詳細は roaming.md)
  • NIA0/NEA0 は緊急通報など特殊ケース限定の「保護なし」。通常は使わない

理解度チェック

Q1. 5GCのセキュリティを構成する4つの層を挙げ、それぞれが守る区間を説明してください。

アクセス層(UE⇔gNB、無線区間をAS Securityで)、NAS層(UE⇔AMF、制御信号をNAS Securityで、加えてSUCI秘匿)、SBA層(コア内NF⇔NF間をTLS+OAuth認可で)、ローミング境界(vPLMN⇔hPLMN間をSEPP/N32で)。守る対象と脅威が場所ごとに違うため、層ごとに異なる守り方をする。

Q2. SBA層でTLSとOAuth 2.0トークンがそれぞれ担う役割を区別して説明してください。

TLS はNF間SBI通信の暗号化・完全性保護(=相手が本物か・盗聴されないか=認証と機密性)。OAuth 2.0トークン はNRFが発行し、NFがサービスを呼ぶ際の認可(=そのNFがこのサービスを呼んでよいか)。認証と認可は別物で、両方を重ねてなりすましを防ぐ。

Q3. NIA0/NEA0とは何か、どのような場合に許容されるか説明してください。

NEA0はNull暗号(暗号化なし)、NIA0はNull完全性(完全性保護なし)のアルゴリズム。通常運用では使わず、緊急通報(未認証端末での緊急呼など) のように認証できないが通信させるべき特殊ケース限定で許容される(詳細は緊急通報の章)。


Next Step