LTE知识MME的鉴权和加密过程.docx
《LTE知识MME的鉴权和加密过程.docx》由会员分享,可在线阅读,更多相关《LTE知识MME的鉴权和加密过程.docx(7页珍藏版)》请在冰豆网上搜索。
LTE知识MME的鉴权和加密过程
鉴权流程的目的是由HSS向MME提供EPS鉴权向量(RAND,AUTN,XRES,KASME),并用来对用户进行鉴权。
1)MME发送AuthenticationDataRequest消息给HSS,消息中需要包含IMSI,网络ID,如MCC+MNC和网络类型,如E-UTRAN
2)HSS收到MME的请求后,使用authenticationresponse消息将鉴权向量发送给MME
3)MME向UE发送UserAuthenticationRequest消息,对用户进行鉴权,消息中包含RAND和AUTN这两个参数
4)UE收到MME发来的请求后,先验证AUTN是否可接受,UE首先通过对比自己计算出来的XMAC和来自网络的MAC(包含在AUTN)以对网络进行认证,如果不一致,则UE认为这是一个非法的网络。
如果一致,然后计算RES值,并通过UserAuthenticationResponse消息发送给MME。
MME检查RES和XRES的是否一致,如果一致,则鉴权通过。
EPS鉴权向量由RAND、AUTN、XRES和KASME四元组组成。
EPS鉴权向量由MME向HSS请求获取。
EPS鉴权四元组:
lRAND(RandomChallenge):
RAND是网络提供给UE的不可预知的随机数,长度为16octets。
lAUTN(AuthenticationToken):
AUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权。
AUTN的长度为17octets
lXRES(ExpectedResponse):
XRES是期望的UE鉴权响应参数。
用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。
XRES的长度为4-16octets。
lKASME是根据CK/IK以及ASME(MME)的PLMNID推演得到的一个根密钥。
KASME长度32octets。
lASME从HSS中接收顶层密钥,在E-UTRAN接入模式下,MME扮演ASME的角色。
lCK:
为加密密钥,CK长度为16octets。
lIK:
完整性保护密钥,长度为16octets。
在鉴权过程中,MME向USIM发送RAND和AUTN,USIM可以决定返回RES还是拒绝鉴权。
1.MME发起AUTHREQ消息,携带鉴权相关信息RAND和AUTN;
第一条S1AP_DL_NAS_TRANS
2.UE收到AUTHREQ消息后回复AUTHRES(携带RES参数)。
第一条S1AP_UL_NAS_TRANS
3.MME收到AUTHRES后,触发安全模式流程,否则返回AUTHREJ消息。
EPS的安全架构如下:
EPS安全架构中有相互独立的分层安全:
MME和UE执行NAS(Non-accessstratum,非接入层)信令加密和完整性保护。
eNodeB和UE执行RRC信令加密和完整性保护,UP加密。
E-UTRAN里的密钥层次架构:
密钥的层次架构里包含以下密钥:
KeNodeB,KNASint,KNASenc,KUPenc,KRRCint和KRRCenc
-KeNodeB是由UE和MME各自根据KASME计算得到的,可用于派生KRRCint、KRRCenc和KUPenc,发生切换时也可用于派生KeNodeB*。
在初始连接建立时,由UE和MME分别从E-UTRAN的顶层密钥中派生出来的。
KeNodeB*是由UE和源eNodeB根据目的物理小区号、下行频率、KeNodeB(或新NH)派生出来,并在切换后被UE和目的eNodeB用作新的KeNodeB。
NH(NextHop)是用于在UE和eNodeB中派生KeNodeB*。
当安全上下文建立时,NH由UE和MME从KeNodeB派生出来;当发生切换时,从上一个NH派生出来。
-NAS信令的密钥:
-KNASint是用于NAS信令完整性保护的密钥,是由UE和MME各自根据双方协商的完整性算保护算法计算得到的.
-KNASenc是用于NAS信令加密的密钥,是由UE和MME各自根据双方协商的加密算法计算得到的.
-用户数据的密钥:
-KUPenc是专门用于加密用户面数据的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
-RRC信令的密钥:
-KRRCint是用于保护RRC信令完整性的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
-KRRCenc是用于加密RRC信令的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。
4UE收到SMC消息后:
-根据SMC消息中的SelectedNASsecurityalgorithms信元计算出KnasEnc和KnasInt密钥;
-校验信元UEsecuritycapabilities和KSI是否合法,如果合法,则回复MMESECURITYMODECOMPLETE消息,否则返回SECURITYMODEREJECT消息。
第二条S1AP_DL_NAS_TRANS
应用完整性保护和加密特性时,要求UE和MME满足33.401的如下要求:
-对于NAS信令加密,UE和MME需支持128-EEA0(NULL),128-EEA1(Snow3G)和128-EEA2(AES)。
-对于NAS信令的完整性保护,UE和MME需支持128-EIA1(Snow3G)和128-EIA2(AES)。
-(可选)UE和MME支持128-EIA0(NULL)。
对于未经认证的紧急呼叫,未要求必须支持,即使MME和eNodeB部署了128-EIA0(NULL)的配置也将失效。
无线侧的完整性保护和加密保护功能在eNodeB配置,对eNodeB上所有小区有效。
第二条S1AP_UL_NAS_TRANS
eNodeB通过SecurityModeCommand通知UE启动完整性保护和加密过程,UE通过消息中的安全算法计算获取密钥。
此时下行加密已开始。
1)RRC连接建立完成后,MME生成KeNodeB和NH,并向eNodeB发送UE的安全能力和KeNodeB。
安全能力包含UE支持的加密算法和完整性算法。
2)eNodeB将完整性保护算法优先级列表和UE安全能力取交集,选取优先级最高的完整性算法。
3)eNodeB将加密算法优先级列表和UE安全能力取交集,选取优先级最高的加密算法。
4)eNodeB根据KeNodeB和选取的安全算法来计算出KUPenc,KRRCint和KRRCenc密钥,并为PDCP配置相应的加密参数和完整性参数。
5)eNodeB通过SecurityModeCommand消息向UE发送安全模式参数配置。
SecurityModeCommand消息通过SRB1发送,由eNodeB进行完整性保护,没有加密保护。
6)eNodeB接收到UE反馈的消息.