| Algorithm 12 proc_HN |
|
Played by: HN Input: K, , idHN [Step 1.3] in(sch,(c0, c1, c2, SNname)); new RAND: pubKey; let (, ) = get_hn_keys4supi(, c0, c1, c2) in if c2 <> hmac(, c1) && SUPI <> sdec(c1, ) true then exit; event endUE_HN_SUPI(SUPI, c0, pk(skHN)) [Step 2.1] get ueDB(=SUPI, K, sqn) in let = DHkey(sk(RAND), c0) in let (CONC, AK, MAC) = calc_hn_mac(RAND, , K, SQN, AMF) in let (XRES’, HXRES’, , ) = calc_hn_key(RAND, , K, SQN, AK) in event beginHN_UE_MAC(SUPI, K, RAND, SQN); out(sch, (RAND, CONC, AMF, MAC, HXRES’)); [Step 2.5] in(sch, , RES’); if XRES’ <> RES’ true then exit; event middleHN_RES(SUPI, K, RAND, SQN); out(sch, (SUPI, )); |