Skip to main content
. 2024 Dec 13;24(24):7979. doi: 10.3390/s24247979
Algorithm 6 The Challenge–Response Step 2.3 [UE]
   Inputs:  (RAND,AUTN)
      UE computes a Diffie-Hellman key DHKepkUE1·RAND
      Parse AUTN as (CONC,AMF,MAC)
      Compute AKf5(k,RANDDHK)
      De-conceal SQNHNAKCONC
      Check if f1(k,SQNHN,AMF,RANDDHK)      
  • If this check does not pass, the UE returns ⊥ and sends a failure message Mac_Failure to SN (case i). Otherwise, proceed to the next step.

      Check SQNUE<SQNHN<SQNUE+Δ
  • If this check does not pass, the SIM card computes

    MAC*f1*(k,SQNUE,AMF,RANDDHK)

    AK*f5*(k,RANDDHK)

    AUTS(AK*SQNUE,AMF,MAC*)

    After the SIM card computes AUTS, then UE re-synchronizes with HN by sending a failure message Sync_Failure and AUTS to SN (case ii)

  • Otherwise, proceed to the next step.

      Update SQNUESQNHN
      Compute CKf3(k,RANDDHK) and IKf4(k,RANDDHK)
      Compute RESf2(k,RANDDHK)
      SIM return RES,CK and IK to ME
      The ME compute RES*KDF(CKIK,IDSNRANDRES)
      Derive KAUSFKDF(CKIK,IDSNCONCDHK)
      Derive KSEAFKDF(KAUSF,IDSN)
      The UE returns (KSEAF,RES*)
   Outputs. The UE stores KSEAF and sends RES* to SN (case iii)