Research Article

Hierarchical Group Based Mutual Authentication and Key Agreement for Machine Type Communication in LTE and Future 5G Networks

Algorithm 4

Role of MME in HLPSL.
role mme(MTCD,GW,MME: agent,
      Kg1_1, Gkg1: symmetric_key,
      IMSIg1_1, GIDg1:text,
      HMAC: function,
      F1,F2,F3,F4,F5,F6,KDF:function,
      SQN:text,
      SND,RCV:channel(dy))
played_by MME def=
local
    State:nat,
    SNID,Aggmacg1,Aggres,Rhss, Macg1:text,
    GTKg1,Kasmeg1_1:symmetric_key,
    Authhss:text,
    Akg1_1,Ckg1_1,Ikg1_1,Xresg1_1, Rmme,Rg1_1,Macmme:text,
init
    State:=3
transition
      State=3 RCV(IMSIg1_1.Rg1_1'.GIDg1.(xor(Aggmacg1,(IMSIg1_1.Rg1_1'_Gkg1)).SNID) =|>
     State':=5 Rhss':=new() GTKg1':=(Rhss'.SNID_Gkg1 secret(GTKg1',gtkg1,,)
Macg1':=(Rhss'.GIDg1_GTKg1' Authhss':= Rhss'.Macg1' Akg1_1':= (Rhss'_Kg1_1 Ckg1_1':=
(Rhss'_Kg1_1 Ikg1_1':= (Rhss'_Kg1_1 Kasmeg1_1':=KDF(xor(SQN,Akg1_1'),Ckg1_1',Ikg1_1',SNID)
secret(Kasmeg1_1',kasme,,) Xresg1_1':= (Rhss'.Rg1_1'_Kg1_1 Rmme':= new() Macmme':=
(Rmme'.Authhss'_GTKg1' SND(Authhss'.Rmme'.Macmme') witness(MME,MTCD,mtcd_mme_rmme,Rmme)
witness(MME,MTCD,mtcd_mme_rhss,Rhss)
     State=5 RCV(xor(Aggres,(Rhss.Rg1_1'_Kg1_1)) =|>
     State':=6 request(MTCD,MME,mme_mtcd_rg11,Rg1_1')
end role