| Algorithm 10 proc_UE |
|
Played by: UE Input: SUPI, sqn, , K [Step 1.1] new ; let (c0, c1, c2) = calc_ue_suci(, SUPI, ) in event beginUE_HN_SUPI(SUPI, c0, ); out(usch, (c0, c1, c2)); [Step 2.3] in(usch, (RAND, CONC, AMF, MAC1)); let = DHkey(sk(c0), RAND) in let (MAC2, SQN, AK) = calc_ue_mac(RAND, , K, CONC, AMF) in if MAC1 <> MAC2 true then MACFailure; if SQN <> calc_sqn(sqn, c0, RAND) true then SYNCFailure; event endUE_HN_MAC(SUPI, K, RAND, SQN); event beginUE_RES(SUPI, K, RAND, SQN); let (RES’, HXRES’, , ) = calc_hn_key(RAND, , K, SQN, AK) in out(usch, RES’); |