コンテンツにスキップ

Authentication — 認証(5G-AKA / EAP-AKA')

難易度: 中級〜上級 / 想定学習時間: 45分 / 対象: 一次認証(Primary Authentication)のみ / 関連NF: AMF(SEAF), AUSF, UDM(ARPF/SIDF) / 関連Interface: N1, N12, N13

学習目標

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

  • Why(なぜ認証が必要か)を、なりすまし防止・課金の正当性・通信保護の土台として説明できる。
  • 相互認証(ネットワークもUEを、UEもネットワークを確認する)という 5G-AKA / EAP-AKA' の本質を説明できる。
  • 5G-AKAEAP-AKA' の 2 方式の 違い(メッセージ構造・往復・EAP框組みの有無)を説明できる。
  • 2 方式それぞれの Call Flow を、UE(USIM) / SEAF(AMF) / AUSF / UDM(ARPF) の登場順に追える。
  • SUCI→SUPI の復号(de-concealment)どこで・誰によって(UDM/SIDF) 行われるかを説明できる。
  • 認証ベクトル(AV)生成 → RES*/XRES*・HRES*/HXRES*照合KAUSF/KSEAF導出 の各ステップを追える。
  • MAC failure / Synch failure(SQN同期外れ) / RES*不一致 の 3 大失敗を切り分け、AUTS 再同期を説明できる。

前提知識

先に以下を理解しておくとスムーズです。まだの人は カリキュラム から始めてください。

  • Registration の全体像(認証は登録手順の一部として概説済み) → Initial Registration
  • SUCI / SUPI(本名SUPIと、それを秘匿したSUCI) → Registration の Basic Concept
  • NAS / N1(UE⇔AMF の制御メッセージを運ぶ層) → N1
  • 認証に関わるNFの役割 → AMF / AUSF / UDM

この章で学べること

本章は 一次認証(Primary Authentication)そのもの に焦点を絞ります。すなわち 5G-AKAEAP-AKA' の 2 方式について、メッセージ往復の詳細・鍵導出の各ステップ・失敗と再同期を精密に扱います。

  • 認証の概要・登録全体の中での位置づけは Registration 章 を、
  • 鍵階層(Key Hierarchy)の全体図は AUSF の鍵階層 を参照してください(本章では重複を避け、手順の中の鍵導出に集中します)。

なお、二次認証(Secondary Authentication、外部DNとのPDUセッション単位の認証)は本章の範囲外です(Next Step 参照)。


Why — なぜ認証が必要なのか

Why(なぜ必要か)から始めます。 ネットワークが端末を無条件に受け入れると、次の問題が起きます。

  • なりすまし — 他人の契約になりすまして通信・課金を横取りされる。
  • 課金の不正 — 誰が使ったか確定できず、正しく課金できない。
  • 通信保護の土台が無い — 暗号化・完全性保護に使う共有鍵が確立できない。

認証(Authentication)は「この端末は本当に契約者本人か」を暗号技術で確かめ、同時に以降の通信を守る鍵を合意する手続きです。5G の認証は一方通行ではなく 相互認証(mutual authentication) である点が重要です。

  • ネットワーク → UE: UEが正規の契約者か確認する(レスポンス RES* の照合)。
  • UE → ネットワーク: 接続先が偽基地局(なりすまし網)でないか確認する(AUTN の検証)。

例え話: 銀行のキャッシュカード

5G の認証は銀行のATM取引に似ています。 ・キャッシュカード = USIM(正規の持ち主であることの証) ・暗証番号 = 共有秘密鍵 K(本人しか知らない秘密) ・ATMの正当性確認 = UEがネットワークを確認する部分(AUTN検証)。偽ATM(偽基地局)に暗証番号を入力しないよう、UE側も相手を確かめます。 どちらか一方だけの確認では不十分で、双方が相手を確かめる(相互認証)からこそ安全に取引(通信)できます。

Overview — 概要

一次認証は、次の三者の関係で成り立ちます。

  • AMF(SEAF) — 認証の 起点。UEに一番近く、認証をトリガし、UEとチャレンジ/レスポンスをやり取りする。SEAF(Security Anchor Function)はAMFに同居。
  • AUSF — 認証の サーバ。UDMとAMFの間に立ち、レスポンスを検証し、アンカー鍵 KSEAF を導出する。
  • UDM(ARPF/SIDF) — 認証情報の 源泉。永続鍵Kを持つ ARPF が認証ベクトル(AV)を生成し、SIDF が SUCI→SUPI を復号する。
flowchart LR
    UE([UE / USIM]) -->|"1.認証トリガ(SUCI)"| AMF["AMF / SEAF"]
    AMF -->|"2.認証要求 (N12)"| AUSF[AUSF]
    AUSF -->|"3.AV要求 (N13)"| UDM["UDM (ARPF / SIDF)"]
    UDM -->|"4.SUCI復号 + AV生成"| AUSF
    AUSF -->|"5.RAND/AUTN"| AMF
    AMF -->|"6.チャレンジ/レスポンス"| UE

Basic Concept — 初心者向け説明

一次認証の核は AKA = Authentication and Key Agreement(認証と鍵合意)です。名前の通り「認証(本人確認)」と「鍵合意(共有鍵の確立)」を同時に行います。

1. 共有秘密鍵 K とチャレンジ・レスポンス

  • 共有秘密鍵 K — USIM(UE側)とネットワーク側の ARPF(UDMに論理的に属する)だけが持つ長期鍵。電波には絶対に流れません
  • チャレンジ・レスポンス — ネットワークが乱数 RAND(お題)を送り、UEが K を使って計算した答え RES* を返す方式。K を知らなければ正しい答えは作れないため、本人確認になります。

2. 相互認証(双方向の確認)

  • ネットワークは UE を確認する(RES* を XRES* と照合)。
  • UE はネットワークを確認する(AUTN = Authentication Token を USIM が検証)。AUTN には MAC(改ざん検知)と SQN(シーケンス番号)が含まれ、正規網でなければ作れません。

3. 鍵合意(KAUSF → KSEAF)

認証が成功すると、同じ AKA 演算から両側で同じ鍵が導出されます。この鍵が上位鍵 KAUSF → KSEAF → KAMF → … と派生し、NAS/AS の暗号化・完全性保護に使われます(階層の全体像は AUSF の鍵階層)。

4. SUCI / SUPI / SIDF(誰が本名を復号するか)

  • SUPI — 加入者の本名(IMSI相当)。電波に平文で載せてはいけない。
  • SUCI — SUPI をホームネットワーク公開鍵で暗号化して隠したもの。電波に載せてよい。
  • SIDF (Subscription Identifier De-concealing Function) — SUCI を ホームネットワーク秘密鍵で復号し SUPI に戻す機能。UDM に属し、秘密鍵を扱えるのは SIDF だけです(TS 33.501 §6.12.2)。

なぜ復号がホーム(UDM/SIDF)側なのか

SUCI の復号にはホームネットワークの秘密鍵が要ります。この秘密鍵を訪問先(AMF)やAUSFに配ると漏洩リスクが上がります。そこで復号はホームのUDM内SIDFだけが行い、AMF/AUSFは本名SUPIを「必要になった時にUDMから受け取る」形にして、秘密鍵を外に出しません。


Architecture

一次認証に関わる機能要素と、それらを結ぶInterfaceです。SIDF が SUCI復号を担う点、AVをARPFが生成する点がこの章の主役です。

flowchart LR
    subgraph UEside["UE"]
      USIM["USIM
(K を保持)"] end subgraph Serving["Serving / 訪問先網"] SEAF["AMF / SEAF"] end subgraph Home["Home / ホーム網"] AUSF["AUSF
(KAUSF/KSEAF 導出)"] UDM["UDM"] ARPF["ARPF
(K保持・AV生成)"] SIDF["SIDF
(SUCI→SUPI 復号)"] end USIM -- "N1 (NAS)" --> SEAF SEAF -- "N12 (Nausf)" --> AUSF AUSF -- "N13 (Nudm)" --> UDM UDM --- ARPF UDM --- SIDF
  • USIM — 共有鍵 K を保持。AUTN検証・RES算出を行う耐タンパなカード。
  • AMF / SEAF — 認証の起点。UEとチャレンジ/レスポンスをNASで往復し、HRES*照合とKSEAF受領を行う。
  • AUSF — レスポンス検証とKAUSF/KSEAF導出。UDMとAMFの中継。
  • UDM / ARPF / SIDF — ARPFがAV生成、SIDFがSUCI復号。認証情報の源泉。

詳細な鍵階層図は重複を避け AUSF の鍵階層 に集約しています。本章は「手順の中で、どのステップでどの鍵が生まれるか」に集中します。

Network Function(登場NF)

NF この手順での役割 保持/取得する情報 この手順で使う主なAPI 障害時の影響
UE / USIM AUTN検証(網の正当性確認)、K を使い RES/RES* を算出 K, OPc, SQN(UE側カウンタ) (NAS: Authentication Request/Response) 認証応答できず登録不可
AMF / SEAF 認証の起点・NAS往復・HRES*照合・KSEAF受領・ABBA付与 ngKSI, ABBA, RAND/AUTN(中継), KSEAF Nausf_UEAuthentication_Authenticate(消費) 認証を開始/完了できず登録が進まない
AUSF RES*とXRES*照合KAUSF/KSEAF導出・方式(5G-AKA/EAP)の実行 KAUSF, KSEAF, XRES*(一時) Nausf_UEAuthentication(提供)/Nudm_UEAuthentication_Get(消費) 認証が成立せず登録不可
UDM(ARPF/SIDF) SIDFがSUCI復号ARPFがAV生成・認証方式の選択 K, OPc, SQN(網側), HN秘密鍵, SUPI Nudm_UEAuthentication_Get(提供) AV生成/SUCI復号不可で認証全滅

Interface / Protocol

この手順で使うInterfaceとProtocolです。

Interface Protocol Transport この手順での用途
N1 NAS(5GMM) (NGAP/N2上でトンネル) UE⇔AMF の Authentication Request/Response/Failure/Result
N12 SBI(HTTP/2, TLS, JSON) TCP/TLS AMF(SEAF)⇔AUSF(Nausf_UEAuthentication)
N13 SBI(HTTP/2, TLS, JSON) TCP/TLS AUSF⇔UDM(Nudm_UEAuthentication_Get, SUCI復号・AV取得)

Protocolの詳細は Protocol辞典、Interface一覧は Interface辞典 を参照してください。個別ページは N12(AMF⇔AUSF)/ N13(AUSF⇔UDM)をどうぞ。


Procedure — Call Flow

このページの心臓部です。 一次認証には 2 方式があり、どちらを使うかは UDM が選択します(SUCI/SUPI と加入者データに基づく。TS 33.501 §6.1.2)。AMF(SEAF) は Nausf に対して方式を指定せず、UDM の決定に従います。

方式選択は UDM が行う

AMF は「認証してほしい」と要求するだけで、5G-AKA と EAP-AKA' のどちらを使うかを決めるのは UDM(ARPF) です。UDM は Nudm_UEAuthentication_Get の応答で、生成した AV とともに選択した方式を AUSF へ返します(TS 33.501 §6.1.2 / §6.1.3)。

(A) 5G-AKA の Call Flow

sequenceDiagram
    autonumber
    participant UE as UE / USIM
    participant SEAF as AMF / SEAF
    participant AUSF
    participant UDM as UDM (ARPF / SIDF)

    Note over UE,SEAF: 認証トリガ(SUCI or SUPI が確定済み)
    SEAF->>AUSF: Nausf_UEAuthentication_Authenticate
(SUCI or SUPI, SN-name) Note right of SEAF: TS 33.501 §6.1.2 AUSF->>UDM: Nudm_UEAuthentication_Get
(SUCI or SUPI, SN-name) Note right of UDM: SUCI なら SIDF が SUPI へ復号
TS 33.501 §6.12.2 Note right of UDM: ARPF が方式=5G-AKA を選択し
HE AV(RAND,AUTN,XRES*,KAUSF) 生成
TS 33.501 §6.1.3.2 UDM-->>AUSF: 5G HE AV (RAND, AUTN, XRES*, KAUSF) + SUPI Note right of AUSF: AUSF が XRES* から HXRES*、
KAUSF から KSEAF を導出→SE AV へ AUSF-->>SEAF: 5G SE AV (RAND, AUTN, HXRES*) SEAF->>UE: Authentication Request (NAS: RAND, AUTN, ngKSI, ABBA) Note right of UE: USIM が AUTN(MAC/SQN)検証→
RES 算出→ME(UE) が RES* を生成 UE->>SEAF: Authentication Response (NAS: RES*) Note right of SEAF: SEAF が RES* から HRES* を計算し
HXRES* と照合(一次チェック) SEAF->>AUSF: Nausf_UEAuthentication_Authenticate (RES*) Note right of AUSF: AUSF が RES* と XRES* を照合(最終判定)
TS 33.501 §6.1.3.2 AUSF-->>SEAF: 認証結果 (成功) + KSEAF Note over UE,AUSF: 成功→KSEAF確立→KAMF導出へ

ステップ解説(番号は上図に対応)

  1. SEAF→AUSF: Nausf_UEAuthentication_Authenticate で認証開始。SUCI(初回) または SUPI(GUTI既知時) と SN-name(Serving Network名)を渡す。
  2. AUSF→UDM: Nudm_UEAuthentication_Get を発行。
  3. (UDM内)SUCI復号: SUCIで来た場合、SIDF がホーム秘密鍵で SUPI へ復号(TS 33.501 §6.12.2)。
  4. (UDM内)AV生成: ARPF が方式(5G-AKA)を選び、5G HE AV = RAND, AUTN, XRES*, KAUSF を生成(TS 33.501 §6.1.3.2)。
  5. UDM→AUSF: HE AV と SUPI を返す。
  6. (AUSF内)導出: AUSF が XRES*→HXRES*KAUSF→KSEAF を計算し、5G SE AV = RAND, AUTN, HXRES* を作る(KSEAFはこの時点では保持し、成功後に渡す)。
  7. AUSF→SEAF: SE AV(RAND, AUTN, HXRES*) を渡す。
  8. SEAF→UE: Authentication Request(NAS)。RAND, AUTN に加え ngKSI(鍵セット識別子)と ABBA(下位互換防御パラメータ)を含む。
  9. (USIM内)検証と算出: USIM が AUTN の MAC と SQN を検証(網の正当性確認)。OKなら RES を算出し、RES* を生成。
  10. UE→SEAF: Authentication Response(NAS: RES*)
  11. (SEAF内)一次照合: SEAF が RES*→HRES* を計算し HXRES* と照合。ここで違えば SEAF が拒否できる(往復削減のための前段チェック)。
  12. SEAF→AUSF: RES* を送り最終検証を依頼。
  13. (AUSF内)最終照合: AUSF が RES* と XRES* を照合(TS 33.501 §6.1.3.2)。
  14. AUSF→SEAF: 成功なら KSEAF を返す。SEAF はここから KAMF を導出し、以降の NAS セキュリティ確立へ進む。

RES* と HXRES* の二段照合はなぜ?

SEAF の HRES*/HXRES* 照合は「訪問先で素早く弾く」ための一次チェック、AUSF の RES*/XRES* 照合が「ホームによる最終判定」です。二段構えにすることで、明らかに不正なレスポンスは訪問先で早期棄却しつつ、成否の最終権限はホーム(AUSF)に残します(TS 33.501 §6.1.3.2)。

(B) EAP-AKA' の Call Flow

EAP-AKA' は EAP(Extensible Authentication Protocol) 框組みの上で AKA' を実行します。AUSF が EAP サーバ、UE が EAP ピアとして振る舞い、AMF(SEAF) は EAP メッセージを NAS で中継するだけ(passthrough)です(TS 33.501 §6.1.3.1 / RFC 5448)。

sequenceDiagram
    autonumber
    participant UE as UE / USIM (EAP peer)
    participant SEAF as AMF / SEAF (passthrough)
    participant AUSF as AUSF (EAP server)
    participant UDM as UDM (ARPF / SIDF)

    SEAF->>AUSF: Nausf_UEAuthentication_Authenticate (SUCI/SUPI, SN-name)
    AUSF->>UDM: Nudm_UEAuthentication_Get (SUCI/SUPI, SN-name)
    Note right of UDM: SIDF が SUCI 復号 / ARPF が方式=EAP-AKA' を選択
AV(RAND,AUTN,XRES,CK',IK') 生成
TS 33.501 §6.1.3.1 UDM-->>AUSF: EAP-AKA' AV + SUPI AUSF-->>SEAF: EAP-Request/AKA'-Challenge (RAND, AUTN, MAC) SEAF->>UE: Authentication Request (NAS に EAP をカプセル化) Note right of UE: USIM が AUTN 検証→RES 算出→MAC 計算 UE->>SEAF: Authentication Response (NAS に EAP) SEAF->>AUSF: EAP-Response/AKA'-Challenge (RES, MAC) Note right of AUSF: AUSF が RES と XRES、MAC を照合
成功なら KAUSF→KSEAF 導出 AUSF-->>SEAF: EAP-Success + KSEAF SEAF->>UE: Authentication Result (NAS: EAP-Success) Note over UE,AUSF: 成功→KSEAF確立

ステップ解説(番号は上図に対応)

1-2. SEAF→AUSF→UDM は 5G-AKA と同じ入口(Nausf → Nudm_UEAuthentication_Get)。 3. (UDM内) SIDFがSUCI復号、ARPFが方式=EAP-AKA'を選択し、EAP-AKA'用AV(RAND, AUTN, XRES, CK', IK')を生成(TS 33.501 §6.1.3.1)。 4. UDM→AUSF: AV と SUPI を返す。 5. AUSF→SEAF→UE: EAP-Request/AKA'-Challenge(RAND, AUTN, MAC)を、SEAF が NAS(Authentication Request)にカプセル化して UE へ。 6. (USIM内) AUTN検証→RES算出→応答MAC計算。 7. UE→SEAF→AUSF: EAP-Response/AKA'-Challenge(RES, MAC)を NAS で運び AUSF へ。 8. (AUSF内) RES と XRES、MAC を照合。成功なら KAUSF→KSEAF を導出。 9. AUSF→SEAF→UE: EAP-Success を通知(NAS では Authentication Result として運ぶ)。KSEAF は Nausf 応答で SEAF へ渡る。

5G-AKA と EAP-AKA' の一番の違い

  • 5G-AKA: 3GPP独自のメッセージで RES*/XRES* を扱う。HRES*/HXRES* の一次照合が SEAF にある
  • EAP-AKA': IETF の EAP 框組みを使い、EAP-Request/Response/Success の往復。SEAF は EAP を素通し(照合は AUSF に集約)。RFC 5448 準拠。 どちらも土台の AKA(K・RAND・AUTN・SQN)は同じで、方式の選択者は UDMです。

Signal Flow

主要メッセージ/サービスオペレーションを表で整理します。

Message / Operation Protocol 送信元→先 目的 主要IE 結果
Nausf_UEAuthentication_Authenticate (要求) SBI(HTTP/2) AMF(SEAF)→AUSF 認証開始 SUCI/SUPI, SN-name AUSFが認証処理開始
Nudm_UEAuthentication_Get SBI(HTTP/2) AUSF→UDM AV取得・SUCI復号 SUCI/SUPI, SN-name UDMがSUPI復号(SIDF)・AV生成(ARPF)
(応答) 5G HE AV / EAP-AKA' AV SBI(HTTP/2) UDM→AUSF 認証ベクトル提供 RAND, AUTN, XRES*/XRES, KAUSF/CK'IK', SUPI AUSFが照合・導出の材料を取得
Authentication Request NAS(5GMM) AMF→UE 認証チャレンジ RAND, AUTN, ngKSI, ABBA(EAP時はEAPメッセージ) UEがAUTN検証・RES算出
Authentication Response NAS(5GMM) UE→AMF 認証応答 RES*(EAP時はEAP-Response) SEAF/AUSFがレスポンス照合
Nausf_UEAuthentication_Authenticate (RES*) SBI(HTTP/2) AMF(SEAF)→AUSF 最終検証依頼 RES* AUSFがXRES*と最終照合
(応答) 認証結果 + KSEAF SBI(HTTP/2) AUSF→AMF(SEAF) 結果通知・鍵引渡 認証結果, KSEAF SEAFがKSEAF取得→KAMF導出
Authentication Result NAS(5GMM) AMF→UE EAP-Success通知等 EAP-Success UEが認証成功を認識
Authentication Reject NAS(5GMM) AMF→UE 認証拒否 (なし) UEが認証失敗として扱う
Authentication Failure NAS(5GMM) UE→AMF UE側検証失敗の通知 5GMM cause, Auth failure param(AUTS) 再同期/拒否へ分岐

主要IE用語: RAND(乱数チャレンジ) / AUTN(網→UEの認証トークン) / RES*(UE→網の応答) / XRES*(網が期待する正解) / HXRES*(XRES*のハッシュ、SEAF照合用) / KSEAF(アンカー鍵) / KAUSF(AUSF保持鍵) / ABBA(下位互換防御) / SUCI(秘匿ID) / SUPI(本名) / AUTS(SQN再同期トークン)。詳細は Message辞典 を参照。

State Machine

USIM/UE から見た一次認証の状態遷移です(根拠: TS 33.501 §6.1 / TS 24.501 §5.4.1)。

stateDiagram-v2
    [*] --> Idle: 認証前
    Idle --> AwaitChallenge: SEAFが認証開始 (Nausf/Nudm でAV取得)
    AwaitChallenge --> VerifyingAUTN: Authentication Request 受信 (RAND,AUTN)
    VerifyingAUTN --> ComputingRES: AUTN検証OK
    VerifyingAUTN --> MACFailure: MAC不一致
    VerifyingAUTN --> SynchFailure: SQN範囲外
    ComputingRES --> Success: RES*/XRES* 照合一致
    ComputingRES --> ResMismatch: RES*/XRES* 不一致
    MACFailure --> [*]: Authentication Failure(cause=MAC failure)→Reject
    SynchFailure --> Resync: Authentication Failure(cause=Synch failure, AUTS)
    Resync --> AwaitChallenge: 網がAUTSでSQN再同期→新AV
    ResMismatch --> [*]: Authentication Reject
    Success --> [*]: KSEAF確立→NASセキュリティへ
  • VerifyingAUTN — USIM が AUTN の MAC と SQN を検証する過渡状態。ここで 2 種の失敗に分岐する。
  • MAC failure — AUTN の MAC が合わない=鍵不一致/偽網の疑い。UE は認証失敗として拒否方向。
  • Synch failure — MAC は合うが SQN が範囲外(網側とUE側のカウンタずれ)。UE は AUTS を返して再同期を要求する。
  • ResMismatch — 網側で RES*/XRES* が一致せず、Authentication Reject

Packet Analysis (Wireshark)

一次認証は NASメッセージなので、nas-5gs で捕捉します。NASはNGAP(N2)にネストされて運ばれる点は Registration の Packet Analysis と同じです。

主要 Display Filter

Filter 意味
nas-5gs 5GS NAS メッセージ全般
ngap NGAP(NASを載せる封筒)
nas-5gs.mm.message_type NAS 5GMM メッセージ種別で識別(Authentication Request/Response/Result/Reject/Failure)※具体値は要確認

message type の16進値は要確認

Authentication Request/Response 等の nas-5gs.mm.message_type の具体値は 3GPP の割当(TS 24.501 §9.7 付近)に基づきますが、Wireshark のバージョン/ディセクタ実装で表示が異なる場合があります。数値は要確認とし、実機では GUI のプロトコル階層表示で確認するのが確実です。

Decode の見どころ(主要IE)

  • RAND / AUTN(Authentication Request 内)— チャレンジ乱数と網の認証トークン。
  • RES*(Authentication Response 内)— UE のレスポンス。
  • ngKSI / ABBA(Authentication Request 内)— 鍵セット識別子と下位互換防御パラメータ。
  • Authentication failure parameter (AUTS)(Authentication Failure 内)— Synch failure 時の再同期トークン。
  • EAP-AKA' の場合は NAS に EAPメッセージがカプセル化されて見える。

N12/N13 の SBI は別区間で見る

Nausf(N12)/Nudm(N13) は HTTP/2 over TLS のため、NAS区間とは別に SBI 区間でキャプチャします。TLS のため通常は復号鍵が無いと中身は見えません(実装依存)。実pcapは無線・コアの実装/設定に依存します。

Configuration

一次認証を成立させるための設定の構造レベルの要点です。具体値・ベンダー固有(Cisco 等)は実装依存であり、ここでは架空の値を書きません。

UE/USIM 側

  • K(加入者の永続鍵)と OPc(オペレータ鍵から導出される値)の書き込み。これが網側と一致しないと MAC failure になります。
  • SUPI/IMSIホームネットワーク公開鍵(SUCI 生成用)、Protection Scheme の設定。

UDM/UDR 側(例: Open5GS / free5GC)

  • 加入者(SUPI/IMSI)の登録と、認証情報(K, OPc) のプロビジョニング(USIM側と一致必須)。
  • SQN(シーケンス番号)カウンタの管理。ずれると Synch failure の原因。
  • ホームネットワーク秘密鍵(SIDF が SUCI 復号に使用)と Protection Scheme の設定。
  • ARPF が選択する認証方式(5G-AKA / EAP-AKA')の設定。

具体値・ベンダー固有は実装依存

設定キー名・階層・必須項目は Open5GS / free5GC / 商用ベンダーで異なります。上記は構造レベルの要点であり、実際の値は各実装のドキュメントで確認してください(実装依存)。

Trouble Shooting

代表的な認証失敗の切り分けです。Cause値の詳細は Cause辞典 を参照してください。

症状 想定原因 確認ポイント 関連ログ/Packet 対処の方向性
(a) MAC failure UE側の 鍵不一致(K/OPc相違)、偽網の疑い USIMとUDMの K/OPc 一致、Protection設定 Authentication Failure(cause=MAC failure)(NAS)、UDM/AUSFログ K/OPc の再プロビジョニング、両側の値一致を確認
(b) Synch failure SQN 同期外れ(網側とUE側カウンタずれ) UDM側SQN、UEの返す AUTS Authentication Failure(cause=Synch failure, AUTS)(NAS) 網が AUTS で SQN再同期→新AVで再チャレンジ(TS 33.102/TS 33.501)
(c) RES* 不一致 UEの応答が期待値XRES*と不一致 AUSFの XRES* 照合結果、SEAFのHRES*照合 Authentication Reject(NAS)、AUSFログ 鍵/演算方式の整合確認、加入者データ確認
(d) SUCI 復号失敗 ホーム秘密鍵/SIDF 設定不整合、Protection Scheme相違 UDMのHN秘密鍵、UEのHN公開鍵、Scheme一致 Nudm_UEAuthentication_Get の応答エラー、UDMログ HN鍵ペア/Scheme の整合、SUCI生成/復号設定確認

Synch failure と MAC failure の見分け方

どちらも UE→網の Authentication Failure で通知されますが、cause値が異なります。MAC failure は鍵そのものの不一致(再同期しても直らない)、Synch failure は鍵は合っているが SQN がずれただけ(AUTS で再同期すれば復旧)。cause と AUTS の有無で切り分けます。

EPCとの比較

4G(EPC) の EPS-AKA と 5G の認証を対比します。

観点 4G / EPC (EPS-AKA) 5G / 5GC (5G-AKA / EAP-AKA')
恒久IDの扱い IMSI が平文で載り得た SUCI で秘匿(SIDFがホームで復号)
認証NF構成 MME + HSS(AuC) SEAF(AMF) + AUSF + UDM(ARPF/SIDF) に分離
認証方式 EPS-AKA(単一) 5G-AKAEAP-AKA' の2方式(UDMが選択)
最終照合の主体 MME(訪問先寄り) AUSF(ホーム) が最終判定(+SEAFの一次照合)
アンカー鍵 KASME KSEAF(→KAMF→…)
相互認証 あり(AUTN検証) あり(AUTN検証。両世代共通)
下位互換防御 ABBA パラメータを導入

共通点も押さえる

土台の AKA(共有鍵K・RANDチャレンジ・AUTNによる網認証・SQN)は 4G/5G で共通です。5G は「本名の秘匿(SUCI/SIDF)」「認証NFの分離」「ホームでの最終判定」「EAP-AKA'の追加」「ABBA」を上乗せした進化版と捉えると理解しやすいです。

Release差分

不確かなものは要確認とし、断定しません。

  • Rel-155G-AKA / EAP-AKA' の一次認証、SUCI/SUPI・SIDF、KAUSF/KSEAF、ABBA が確立(TS 33.501 の基礎)。
  • Rel-16 — セキュリティ機能の拡張が進んだ世代(認証手順本体への織り込み範囲は要確認)。
  • Rel-17 / Rel-18(5G-Advanced) — 機能拡張が継続(一次認証手順への具体差分は要確認)。

Release差分は要確認

各Releaseで一次認証手順そのものにどの変更が入ったかは、TS 33.501 の版差分を個別確認する必要があります。上記は概観であり、具体項目は要確認です。

3GPP Specification

Spec 内容
TS 33.501 §6.1 一次認証全般(認証の起動・方式選択)
TS 33.501 §6.1.3.1 EAP-AKA' 手順
TS 33.501 §6.1.3.2 5G-AKA 手順(RES*/XRES*/HXRES*, KSEAF導出)
TS 33.501 §6.12.2 SUCI の復号(SIDF)
TS 24.501 §5.4.1 NAS 側 Authentication 手順(Authentication Request/Response/Failure/Result/Reject)
TS 29.509 Nausf(AUSFのサービスAPI, UEAuthentication)
TS 29.503 Nudm(UDMのサービスAPI, UEAuthentication_Get)
TS 33.102 AKA の基礎・SQN再同期(AUTS) の原型
RFC 5448 EAP-AKA'(IETF、EAP-AKA' の定義)

章番号の扱い

TS 33.501 §6.1 / §6.1.3.1 / §6.1.3.2 は本章の骨格として参照しています。SUCI復号の §6.12.2、TS 24.501 §5.4.1、および各 SBI 仕様(29.509/29.503)の個別章番号は版により異なる場合があり、一部は要確認としています。

FAQ

Q1. 5G-AKA と EAP-AKA' はどちらが使われる?

UDM が加入者データと SUCI/SUPI に基づいて選択します(TS 33.501 §6.1.2)。AMF は方式を指定しません。多くの3GPPアクセスでは 5G-AKA が使われますが、事業者ポリシーや加入者設定で EAP-AKA' が選ばれることもあります(具体的な選択条件は実装/構成依存)。

Q2. Synch failure とは?

UEと網の SQN(シーケンス番号)カウンタがずれた状態です。鍵は合っている(MACはOK)がSQNが範囲外のとき、UEは AUTS を含む Authentication Failure(cause=Synch failure) を返します。網は AUTS で SQN を再同期し、新しいAVで再チャレンジします(TS 33.102 / TS 33.501)。

Q3. SUCI は誰が復号する?

UDM 内の SIDF(Subscription Identifier De-concealing Function) です。ホームネットワークの秘密鍵を扱えるのは SIDF だけで、AMF/AUSF は復号しません。復号後の SUPI が AUSF/AMF へ返されます(TS 33.501 §6.12.2)。

Q4. 認証は毎回の Registration で必ず走る?

必ずしも走りません。有効な 5G-GUTI とセキュリティコンテキストが再利用できる場合、一次認証を省略できることがあります(条件・事業者ポリシー依存=状況/実装依存)。詳細は Registration の Q3 参照。

Q5. KSEAF はどこで使われる?

KSEAF は アンカー鍵で、SEAF(AMF) が受け取って KAMF を導出し、そこから NAS 保護鍵(KNASenc/KNASint) や AS 側の鍵(KgNB…) が派生します。鍵階層の全体は AUSF の鍵階層 を参照してください。

Summary

  • 一次認証は 相互認証(網→UE と UE→網の双方向確認)で、認証鍵合意を同時に行う(AKA)。
  • 三者関係は AMF(SEAF)=起点 / AUSF=サーバ・最終照合・KSEAF導出 / UDM(ARPF=AV生成, SIDF=SUCI復号)=源泉
  • 方式は 5G-AKAEAP-AKA' の2つで、選択者は UDM
  • 5G-AKA は RES*/XRES* + SEAFのHRES*/HXRES*一次照合、EAP-AKA' は EAP框組みで SEAF素通し
  • SUCI→SUPI 復号はホームの UDM/SIDF が行い、秘密鍵を外に出さない。
  • 失敗3大パターン: MAC failure(鍵不一致) / Synch failure(SQN→AUTS再同期) / RES*不一致(Reject)
  • 根拠は TS 33.501 §6.1(§6.1.3.1 EAP-AKA' / §6.1.3.2 5G-AKA)/ TS 24.501 §5.4.1

Practice — 理解度チェック・演習

理解度チェック

Q1. SUCI を SUPI に復号するのはどの機能か?(解答)

UDM 内の SIDF。ホームネットワークの秘密鍵を扱えるのは SIDF だけで、AMF/AUSF は復号しない。

Q2. 認証ベクトル(AV)を生成するのはどこか?(解答)

UDM に属する ARPF(永続鍵K を保持)。RAND, AUTN, XRES*, KAUSF(5G-AKAの場合) を生成する。

Q3. 5G-AKA で最終的に RES*/XRES* を照合し成否を決めるのは?(解答)

AUSF(ホーム)。SEAF は HRES*/HXRES* の一次照合を行うが、最終判定は AUSF(TS 33.501 §6.1.3.2)。

Q4. Synch failure のとき UE が返すトークンは?(解答)

AUTS。網はこれで SQN を再同期し、新しい AV で再チャレンジする。

Q5. EAP-AKA' で SEAF(AMF) の役割は?(解答)

EAP メッセージの passthrough(素通し中継)。照合は AUSF(EAPサーバ)に集約される。

演習

: 次の 5G-AKA 主要ステップを正しい順に並べ替えてください。

A. AUSF が RES* と XRES* を照合(最終判定)
B. SEAF → AUSF: Nausf_UEAuthentication_Authenticate(認証開始)
C. USIM が AUTN を検証し RES/RES* を算出
D. AUSF → UDM: Nudm_UEAuthentication_Get
E. SEAF が HRES* と HXRES* を照合(一次チェック)
F. UDM(SIDFがSUCI復号, ARPFがAV生成) → AUSF: HE AV(RAND,AUTN,XRES*,KAUSF)
G. SEAF → UE: Authentication Request(RAND,AUTN,ngKSI,ABBA)
H. AUSF が XRES*→HXRES*, KAUSF→KSEAF を導出し SE AV を SEAF へ
解答

B → D → F → H → G → C → E → A

  • B: 認証開始(SEAF→AUSF)
  • D: AV要求(AUSF→UDM)
  • F: SUCI復号+AV生成(UDM→AUSF)
  • H: AUSFがHXRES*/KSEAF導出→SE AVをSEAFへ
  • G: Authentication Request(SEAF→UE)
  • C: USIMがAUTN検証・RES*算出
  • E: SEAFの一次照合(HRES*/HXRES*)
  • A: AUSFの最終照合(RES*/XRES*)→成功でKSEAF引渡

Next Step

理解を深めるための次の一歩です。