Commit a3fed038 authored by Yann Garcia's avatar Yann Garcia
Browse files

Remove useless files

parent 72e23229
Loading
Loading
Loading
Loading

UE_Reg_Failure_HMAC.plantuml

deleted100644 → 0
+0 −363
Original line number Diff line number Diff line
@startuml
title 5G UE Registration with HMAC-A Failure and gNodeB Session Termination\n(3GPP Release 16)

skinparam backgroundColor #FEFEFE
skinparam sequenceArrowThickness 2
skinparam roundcorner 10
skinparam maxmessagesize 200
skinparam sequenceParticipant underline

actor UE
participant "gNB" as RAN
participant AMF
participant AUSF
participant UDM

== RRC Connection Establishment ==
UE -> RAN: RRC Setup Request
activate RAN
RAN -> UE: RRC Setup
deactivate RAN
UE -> RAN: RRC Setup Complete\n(NAS: Registration Request attached)

note right of UE
UE enters RRC_CONNECTED state
RRC connection is established
end note

== Initial Registration Request ==
UE -> RAN: NAS: Registration Request\n(Registration Type: Initial,\n5G-GUTI/SUCI, Requested NSSAI,\nUE Security Capability)
activate RAN

RAN -> RAN: Store UE context\nAllocate RAN UE NGAP ID

RAN -> AMF: INITIAL UE MESSAGE\n(Registration Request, RAN UE NGAP ID,\nUser Location Info, RRC Establishment Cause)
activate AMF

AMF -> AMF: Allocate AMF UE NGAP ID\nCreate UE context
deactivate RAN

note over RAN, AMF
UE-associated logical NG connection
is now established between gNB and AMF
end note

== UE Identity Retrieval ==
alt SUCI provided
    AMF -> UDM: Nudm_UECM_Registration (SUCI)
    activate UDM
    UDM -> UDM: De-conceal SUCI\nRetrieve SUPI
    UDM -> AMF: SUPI, Subscription Data
    deactivate UDM
else 5G-GUTI provided
    note over AMF
    AMF resolves SUPI
    from 5G-GUTI mapping
    end note
end

== Authentication Vector Request ==
AMF -> AUSF: Nausf_UEAuthentication_Authenticate Request\n(SUPI, Serving Network Name)
activate AUSF

AUSF -> UDM: Nudm_Authentication_Get Request\n(SUPI, Serving Network Name)
activate UDM

UDM -> UDM: Generate 5G Authentication Vector:\n1. Retrieve permanent key K for SUPI\n2. Generate RAND (128 bits)\n3. Compute MAC-A = f1(K, SQN || RAND || AMF)\n4. Compute AUTN = SQN ⊕ AK || AMF || MAC-A\n5. Compute RES, CK, IK\n6. Derive XRES* = KDF(CK||IK, ...)\n7. Derive KAUSF

note right of UDM
5G AKA Authentication Vector:
- RAND: Random challenge
- AUTN: Authentication token
- XRES*: Expected response
- KAUSF: Key for AUSF
MAC-A = f1(K, SQN || RAND || AMF)
is critical for authentication
end note

UDM -> AUSF: 5G AV\n(RAND, AUTN, XRES*, KAUSF)
deactivate UDM

AUSF -> AUSF: Store XRES* and KAUSF\nDerive HXRES* = SHA-256(RAND || XRES*)

AUSF -> AMF: Authentication Material\n(RAND, AUTN, HXRES*)
deactivate AUSF

AMF -> AMF: Store HXRES*\nAllocate ngKSI\nStart authentication timer

== Authentication Request to UE ==
AMF -> RAN: DOWNLINK NAS TRANSPORT\n(AMF UE NGAP ID, RAN UE NGAP ID,\nNAS: Authentication Request: RAND, AUTN, ngKSI)
activate RAN
RAN -> UE: NAS: Authentication Request\n(RAND, AUTN, ngKSI, ABBA)
deactivate RAN

note right of UE
UE stores ngKSI and ABBA
Prepares to verify authentication
end note

== UE Authentication Processing - HMAC-A FAILURE ==
UE -> UE: Process AUTN\n1. Extract AK from AUTN\n2. Compute AK = f5(K, RAND)\n3. Retrieve SQN = (SQN ⊕ AK) ⊕ AK\n4. Extract AMF from AUTN\n5. Extract MAC-A from AUTN

UE -> UE: Verify MAC-A:\nCompute XMAC-A = f1(K, SQN || RAND || AMF)

note right of UE #FFB6C1
**CRITICAL FAILURE DETECTED**
XMAC-A ≠ MAC-A

Root Causes:
1. Key mismatch: K in USIM ≠ K in UDM
2. USIM malfunction or corruption
3. Incorrect subscription provisioning
4. Security breach attempt
5. SIM card authentication failure

Result: UE cannot authenticate network
Cannot derive security keys
Cannot proceed with registration
end note

UE -> UE: **AUTHENTICATION FAILED**\nDo NOT compute RES*\nDo NOT derive security keys

== Authentication Failure Reporting ==
UE -> RAN: NAS: Authentication Failure\n(Cause: "MAC failure",\nNo RES* included)
activate RAN

note right of UE
Authentication Failure Message:
- Cause: "MAC failure" (0x14)
- Indicates HMAC-A verification failed
- No RES* is computed or sent
- No security keys derived
end note

RAN -> AMF: UPLINK NAS TRANSPORT\n(AMF UE NGAP ID, RAN UE NGAP ID,\nNAS: Authentication Failure, Cause = "MAC failure")
deactivate RAN

AMF -> AMF: **Authentication Failed**\nStop authentication timer\nVerification impossible

note over AMF #FFB6C1
AMF cannot verify RES*
Authentication procedure failed
Cannot establish security context
Registration must be rejected
end note

== Failure Notification to AUSF/UDM ==
AMF -> AUSF: Nausf_UEAuthentication_Authenticate Response\n(SUPI, Result: FAILURE,\nFailure Cause: "MAC failure")
activate AUSF

AUSF -> AUSF: Record authentication failure\nIncrement failure counter for SUPI\nPrepare security alert

AUSF -> UDM: Nudm_Authentication_ResultConfirmation\n(SUPI, Auth Result: FAILURE)
activate UDM

UDM -> UDM: Log authentication failure:\n- Timestamp\n- SUPI\n- Failure type: MAC failure\n- Increment failure counter\n- Check threshold for blocking

note right of UDM #FFB6C1
Security Actions:
1. Log failure in security database
2. Increment failure counter
3. If threshold exceeded:
   - Temporary SUPI blocking
   - Security investigation trigger
   - Operator notification
4. Check for fraud patterns
end note

UDM -> AUSF: Confirmation\n(Failure recorded)
deactivate UDM

AUSF -> AMF: Authentication Failure Confirmed
deactivate AUSF

== Registration Rejection ==
AMF -> AMF: Prepare Registration Reject:\n- Clear temporary UE context\n- Select reject cause\n- Optionally set T3346 timer

note over AMF
Registration Reject Cause Options:
- #20: "MAC failure"
- #23: "Illegal UE"
- #3: "Illegal MS"
T3346 controls retry attempts
end note

AMF -> RAN: DOWNLINK NAS TRANSPORT\n(AMF UE NGAP ID, RAN UE NGAP ID,\nNAS: Registration Reject,\nCause = "MAC failure",\nT3346 = 1800 seconds)
activate RAN

RAN -> RAN: Forward NAS message\nStore reject information\nPrepare for cleanup

RAN -> UE: NAS: Registration Reject\n(Cause: "MAC failure",\nT3346 = 1800 seconds)
deactivate RAN

UE -> UE: **Registration REJECTED**\n- Delete temporary context\n- Start T3346 timer (30 min)\n- Enter limited service state

note right of UE #FFB6C1
UE Actions after Rejection:
1. Delete 5G-GUTI (if temporary)
2. Start T3346 timer
3. Disable 5G registration until:
   - T3346 expires
   - Power cycle
   - USIM removed/reinserted
   - Manual PLMN selection
4. May attempt EPS fallback
5. Inform user of failure
end note

== gNodeB Initiated Session Termination ==
note over RAN #FFFFE0
gNB Decision to Terminate Session:
- Authentication failed
- No security context established
- UE rejected by core network
- Resources need to be released
- No valid UE context to maintain
end note

RAN -> RAN: **Decision: Terminate UE session**\n- Release radio resources\n- Clear UE context\n- Prepare UE Context Release Request

== UE Context Release Request (gNB → AMF) ==
RAN -> AMF: UE CONTEXT RELEASE REQUEST\n(AMF UE NGAP ID, RAN UE NGAP ID,\nCause: "authentication-failure" or\n"unspecified-failure")
activate AMF

note over RAN, AMF
gNB requests AMF to release
UE-associated logical NG connection
and all related context
end note

AMF -> AMF: Receive release request\nValidate UE NGAP IDs\nPrepare context release

note over AMF
AMF verifies:
- UE context exists
- No active PDU sessions (none exist)
- No ongoing procedures
- Safe to release
end note

== UE Context Release Command (AMF → gNB) ==
AMF -> RAN: UE CONTEXT RELEASE COMMAND\n(UE NGAP ID pair,\nCause: "nas-normal-release")
deactivate AMF
activate RAN

note over AMF, RAN
AMF authorizes the release
All AMF-side UE context will be deleted
upon receiving release complete
end note

RAN -> RAN: Process release command:\n1. Validate UE context\n2. Prepare RRC release\n3. Stop all UE-related timers\n4. Prepare to release radio resources

== RRC Connection Release (gNB → UE) ==
RAN -> UE: RRC Release\n(Release Cause: "other",\nWait Time: optional,\nRedirection Info: optional)

note over RAN, UE
RRC Release message:
- Releases all radio bearers (SRBs)
- Releases RRC connection
- UE returns to RRC_IDLE state
- May include redirection to other RAT
- May include wait time before retry
end note

UE -> UE: **Process RRC Release:**\n1. Stop all RRC timers\n2. Release all radio resources\n3. Release SRB1, SRB2\n4. Clear RRC configuration\n5. Enter RRC_IDLE state\n6. Start cell selection

note right of UE
UE State Transition:
RRC_CONNECTED → RRC_IDLE

Actions:
- Release all radio bearers
- Stop T300, T301, T310, T311
- Clear RRC configuration
- Start cell reselection
- Remain in limited service
  (due to T3346 running)
end note

== Radio Resource Cleanup ==
RAN -> RAN: **Release Radio Resources:**\n1. De-allocate physical resources\n2. Release C-RNTI\n3. Clear UE scheduling\n4. Free RRC connection\n5. Clear RRM measurements\n6. Release PDCP/RLC/MAC entities

note over RAN #FFFFE0
Radio Resource Cleanup:
- C-RNTI released
- Physical resource blocks freed
- Scheduling contexts deleted
- L2 (PDCP/RLC/MAC) released
- L1 resources freed
- UE monitoring stopped
end note

== UE Context Release Complete (gNB → AMF) ==
RAN -> AMF: UE CONTEXT RELEASE COMPLETE\n(AMF UE NGAP ID, RAN UE NGAP ID,\nUser Location Info: final cell location,\nOptional: Information on Recommended Cells)
activate AMF
deactivate RAN

note over RAN, AMF
gNB confirms successful release
All NG-RAN resources released
UE-associated NG connection terminated
end note

== AMF Context Cleanup ==
AMF -> AMF: **Complete UE Context Release:**\n1. Delete UE NGAP context\n2. Delete AMF UE NGAP ID\n3. Delete temporary 5G-GUTI (if any)\n4. Clear security context\n5. Clear subscription data cache\n6. Release allocated resources\n7. Update UE reachability status

note over AMF #FFFFE0
AMF Cleanup Actions:
- Free AMF UE NGAP ID
- Delete UE-associated logical
  NG connection
- Clear all temporary UE data
- No PDU sessions to release
- Update analytics/statistics
- Log complete transaction
end note

AMF -> AMF: UE context fully deleted\nNG connection terminated
deactivate AMF

== Final State ==
note over UE #FFB6C1
**UE Final State:**
- RRC_IDLE mode
- No NAS security context
- No RRC connection
- T3346 timer running
- Limited service state
- 5G registration blocked until:
  * T3346 expires (30 min)
  * Power cycle
  * USIM change
  * Manual intervention

**User Actions Required:**
1. Check USIM/SIM card
2. Contact operator
3. Verify subscription status
4. Check for account issues
5. May need SIM replacement
end note

note over RAN #FFFFE0
**gNB Final State:**
- All UE resources released
- C-RNTI freed
- No UE context maintained
- Ready for new connections
- Resources available for other UEs
end note

note over AMF #FFFFE0
**AMF Final State:**
- No UE context stored
- UE not registered
- NG connection released
- Failure logged for analytics
- Security alert may be active
- Ready for new registration attempt
  after T3346 expires
end note

@enduml

UE_Registration.plantuml

deleted100644 → 0
+0 −256
Original line number Diff line number Diff line
@startuml
title 5G UE Registration Procedure for Voice and Data Access (3GPP Release 16)

skinparam backgroundColor #FEFEFE
skinparam sequenceArrowThickness 2
skinparam roundcorner 10
skinparam maxmessagesize 200
skinparam sequenceParticipant underline

actor UE
participant "gNB/ng-eNB (TA) 242.39" as RAN
participant "AMF (IUT) 242.37" as AMF
participant AUSF
participant UDM
participant PCF
participant SMF
participant UPF
participant DN

== RRC Connection Establishment ==
UE -> RAN: RRC Setup Request
activate RAN
RAN -> UE: RRC Setup
deactivate RAN
UE -> RAN: RRC Setup Complete

== Initial Registration Request ==
UE -> RAN: NAS: Registration Request\n(Registration Type: Initial,\n5G-GUTI/SUCI, Requested NSSAI,\nUE Security Capability)
activate RAN
RAN -> AMF: INITIAL UE MESSAGE\n(Registration Request, User Location Info,\nRRC Establishment Cause, 5G-S-TMSI)
activate AMF
deactivate RAN

== UE Identity Retrieval (if SUCI provided) ==
AMF -> UDM: Nudm_UECM_Registration (SUCI)
activate UDM
UDM -> AMF: SUPI, Subscription Data
deactivate UDM

== Authentication ==
AMF -> AUSF: Nausf_UEAuthentication_Authenticate Request (SUPI)
activate AUSF
AUSF -> UDM: Nudm_Authentication_Get Request
activate UDM
UDM -> AUSF: Authentication Vector (5G AV)
deactivate UDM
AUSF -> AMF: 5G AV (RAND, AUTN, HXRES*)
deactivate AUSF

AMF -> RAN: DOWNLINK NAS TRANSPORT\n(Authentication Request: RAND, AUTN)
activate RAN
RAN -> UE: NAS: Authentication Request
deactivate RAN

UE -> UE: Compute RES*\nDerive KAUSF, KSEAF
UE -> RAN: NAS: Authentication Response (RES*)
activate RAN
RAN -> AMF: UPLINK NAS TRANSPORT\n(Authentication Response: RES*)
deactivate RAN

AMF -> AMF: Verify RES* vs HXRES*\nDerive KAMF
AMF -> AUSF: Nausf_UEAuthentication_Authenticate Response (RES*)
activate AUSF
AUSF -> AMF: Authentication Result (Success)
deactivate AUSF

== NAS Security Mode Command ==
AMF -> AMF: Derive NAS Keys\n(KNASenc, KNASint)
AMF -> RAN: DOWNLINK NAS TRANSPORT\n(Security Mode Command:\nNAS Security Algorithms,\nngKSI, Replayed UE Security Capabilities)
activate RAN
RAN -> UE: NAS: Security Mode Command
deactivate RAN

UE -> UE: Derive NAS Keys\nVerify Security Algorithms
UE -> RAN: NAS: Security Mode Complete\n[NAS Protected with Integrity & Ciphering]
activate RAN
RAN -> AMF: UPLINK NAS TRANSPORT\n(Security Mode Complete)
deactivate RAN

note over UE, AMF: All subsequent NAS messages are integrity protected and ciphered

== Subscription Data Retrieval ==
AMF -> UDM: Nudm_SDM_Get (Access and Mobility Subscription Data)
activate UDM
UDM -> AMF: Subscription Data\n(Subscribed S-NSSAIs, DNN Configuration,\nSubscribed UE-AMBR, RFSP Index)
deactivate UDM

AMF -> UDM: Nudm_SDM_Subscribe (SDM Subscription)
activate UDM
UDM -> AMF: SDM Subscription Confirmation
deactivate UDM

== Policy Association ==
AMF -> PCF: Npcf_AMPolicyControl_Create\n(SUPI, DNN, S-NSSAI)
activate PCF
PCF -> UDM: Nudm_SDM_Get (Policy Data)
activate UDM
UDM -> PCF: Policy Data
deactivate UDM
PCF -> AMF: AM Policy (Access and Mobility Policy,\nUE-AMBR, RFSP Index)
deactivate PCF

== Registration Accept ==
AMF -> AMF: Allocate 5G-GUTI,\nSelect Allowed NSSAI,\nDetermine Registration Area

AMF -> RAN: INITIAL CONTEXT SETUP REQUEST\n(5G-GUTI, Allowed NSSAI, UE Security Capability,\nSecurity Key, UE Aggregate Maximum Bit Rate,\nMobility Restrictions, Registration Accept)
activate RAN

RAN -> RAN: Generate gNB Security Keys\n(KgNBenc, KgNBint)\nfrom KAMF

== AS Security Mode Command ==
RAN -> UE: RRC: Security Mode Command\n(AS Security Algorithms)
UE -> UE: Derive AS Keys\n(KgNBenc, KgNBint)
UE -> RAN: RRC: Security Mode Complete

note over UE, RAN: All subsequent RRC and UP messages are protected

== Registration Accept Delivery ==
RAN -> UE: NAS: Registration Accept\n(5G-GUTI, Registration Area,\nAllowed NSSAI, TAI List,\nMobility Restrictions, T3512)

UE -> UE: Store 5G-GUTI,\nAllowed NSSAI,\nRegistration Area

UE -> RAN: NAS: Registration Complete
RAN -> AMF: UPLINK NAS TRANSPORT\n(Registration Complete)

RAN -> AMF: INITIAL CONTEXT SETUP RESPONSE\n(PDU Session Resource Setup List)
deactivate RAN
deactivate AMF

note over UE, AMF: UE is now registered for mobility management

== PDU Session Establishment for Data ==
UE -> RAN: NAS: UL NAS Transport\n(PDU Session Establishment Request:\nPDU Session ID, S-NSSAI, DNN="internet",\nPDU Session Type=IPv4v6)
activate RAN
RAN -> AMF: UPLINK NAS TRANSPORT\n(PDU Session Establishment Request)
activate AMF
deactivate RAN

== SMF Selection and Session Creation ==
AMF -> SMF: Nsmf_PDUSession_CreateSMContext\n(SUPI, DNN, S-NSSAI, PDU Session ID)
activate SMF

SMF -> UDM: Nudm_SDM_Get (Session Management Subscription Data)
activate UDM
UDM -> SMF: SM Subscription Data\n(Subscribed DNN Configuration,\nSession-AMBR, 5QI, ARP)
deactivate UDM

SMF -> PCF: Npcf_SMPolicyControl_Create\n(SUPI, DNN, S-NSSAI, IP Address)
activate PCF
PCF -> SMF: SM Policy\n(PCC Rules, QoS, Charging Rules)
deactivate PCF

SMF -> SMF: Select UPF,\nAllocate IP Address,\nCreate QoS Rules

== N2 PDU Session Resource Setup ==
SMF -> AMF: Namf_Communication_N1N2MessageTransfer\n(N2 SM Information: QoS Flows, UL/DL Tunnels)
AMF -> RAN: PDU SESSION RESOURCE SETUP REQUEST\n(PDU Session ID, S-NSSAI, QoS Flows,\nUL NG-U TNL Info, NAS: PDU Session Establishment Accept)
activate RAN

RAN -> RAN: Establish DRBs,\nMap QoS Flows to DRBs

== PDU Session Accept Delivery ==
RAN -> UE: RRC: RRC Reconfiguration\n(DRB Configuration, QoS Flow Mapping)
RAN -> UE: NAS: DL NAS Transport\n(PDU Session Establishment Accept:\nPDU Session ID, PDU Session Type,\nSSC Mode, QoS Rules, QoS Flow Descriptions,\nAllocated IPv4/IPv6 Address)

UE -> UE: Configure DRBs,\nConfigure IP Address,\nStore QoS Rules

UE -> RAN: RRC: RRC Reconfiguration Complete
UE -> RAN: NAS: UL NAS Transport\n(PDU Session Establishment Accept Ack)

== N3 Tunnel Setup ==
RAN -> AMF: PDU SESSION RESOURCE SETUP RESPONSE\n(DL NG-U TNL Info, QoS Flows Setup List)
deactivate RAN

AMF -> SMF: Nsmf_PDUSession_UpdateSMContext\n(N2 SM Information: DL Tunnel Info)

SMF -> UPF: N4 Session Establishment Request\n(PDR, FAR, QER, URR for UL/DL)
activate UPF
UPF -> SMF: N4 Session Establishment Response
deactivate UPF

SMF -> AMF: Nsmf_PDUSession_UpdateSMContext Response
deactivate SMF
deactivate AMF

note over UE, UPF: User Plane is established for data services

== PDU Session Establishment for IMS (Voice) ==
UE -> RAN: NAS: UL NAS Transport\n(PDU Session Establishment Request:\nPDU Session ID, S-NSSAI, DNN="ims",\nPDU Session Type=IPv4v6, Request Type=Initial)
activate RAN
RAN -> AMF: UPLINK NAS TRANSPORT\n(PDU Session Establishment Request)
activate AMF
deactivate RAN

AMF -> SMF: Nsmf_PDUSession_CreateSMContext\n(SUPI, DNN="ims", S-NSSAI, PDU Session ID)
activate SMF

SMF -> UDM: Nudm_SDM_Get (IMS Session Management Data)
activate UDM
UDM -> SMF: IMS SM Subscription Data
deactivate UDM

SMF -> PCF: Npcf_SMPolicyControl_Create\n(SUPI, DNN="ims", S-NSSAI)
activate PCF
PCF -> SMF: IMS SM Policy\n(QoS for IMS Signaling and Media)
deactivate PCF

SMF -> SMF: Select UPF for IMS,\nAllocate IP Address for IMS,\nCreate QoS Rules for VoNR

SMF -> AMF: Namf_Communication_N1N2MessageTransfer\n(N2 SM Information for IMS Session)
AMF -> RAN: PDU SESSION RESOURCE SETUP REQUEST\n(PDU Session ID, QoS Flows for IMS,\nUL NG-U TNL Info, PDU Session Establishment Accept)
activate RAN

RAN -> UE: NAS: DL NAS Transport\n(PDU Session Establishment Accept for IMS:\nAllocated IP Address, QoS Rules for Voice)

UE -> UE: Configure IMS PDU Session,\nStore P-CSCF Address

UE -> RAN: NAS: UL NAS Transport\n(PDU Session Establishment Accept Ack)

RAN -> AMF: PDU SESSION RESOURCE SETUP RESPONSE\n(DL NG-U TNL Info for IMS)
deactivate RAN

AMF -> SMF: Nsmf_PDUSession_UpdateSMContext\n(N2 SM Information for IMS)
SMF -> UPF: N4 Session Establishment Request (IMS PDR/FAR/QER)
activate UPF
UPF -> SMF: N4 Session Establishment Response
deactivate UPF

SMF -> AMF: Nsmf_PDUSession_UpdateSMContext Response
deactivate SMF
deactivate AMF

note over UE, UPF: IMS PDU Session established for Voice over NR (VoNR)

== IMS Registration (for Voice Services) ==
UE -> UPF: SIP REGISTER (via IMS PDU Session)
activate UPF
UPF -> DN: Forward to IMS (P-CSCF)
activate DN
DN -> DN: IMS Authentication\nand Registration
DN -> UPF: SIP 200 OK (Registration Successful)
deactivate DN
UPF -> UE: SIP 200 OK
deactivate UPF

note over UE, DN: UE is now registered for IMS Voice Services\nand Data Services are active

== Data Flow ==
UE <-> UPF: User Plane Data Traffic\n(N3 Tunnel via gNB)
activate UPF
UPF <-> DN: N6 Interface (Internet)
activate DN
deactivate DN
deactivate UPF

@enduml