主页(http://www.pttcn.net):【LTE知识】MME的鉴权和加密过程 鉴权流程的目的是由HSS向MME提供EPS鉴权向量(RAND, AUTN, XRES, KASME),并用来对用户进行鉴权。
1) MME发送Authentication Data Request消息给HSS,消息中需要包含IMSI,网络ID,如MCC + MNC和网络类型,如E-UTRAN 2) HSS收到MME的请求后,使用authentication response消息将鉴权向量发送给MME 3) MME向UE发送User Authentication Request消息,对用户进行鉴权,消息中包含RAND和AUTN这两个参数 4) UE收到MME发来的请求后,先验证AUTN是否可接受,UE首先通过对比自己计算出来的XMAC和来自网络的MAC(包含在AUTN内)以对网络进行认证,如果不一致,则UE认为这是一个非法的网络。如果一致,然后计算RES值,并通过User Authentication Response消息发送给MME。MME检查RES和XRES的是否一致,如果一致,则鉴权通过。 EPS鉴权向量由RAND、AUTN、XRES和KASME四元组组成。EPS鉴权向量由MME向HSS请求获取。EPS鉴权四元组: l RAND(Random Challenge):RAND是网络提供给UE的不可预知的随机数,长度为16 octets。 l AUTN(Authentication Token):AUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权。AUTN的长度为17octets l XRES(Expected Response):XRES是期望的UE鉴权响应参数。用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。XRES的长度为4-16 octets。 l KASME 是根据CK/IK以及ASME(MME)的PLMN ID推演得到的一个根密钥。KASME 长度32octets。 l ASME从HSS中接收顶层密钥,在E-UTRAN接入模式下,MME扮演ASME的角色。 l CK:为加密密钥,CK长度为16 octets。 l IK:完整性保护密钥,长度为16 octets。 在鉴权过程中,MME向USIM发送RAND和AUTN,USIM可以决定返回RES还是拒绝鉴权。 1. MME发起AUTH REQ消息,携带鉴权相关信息RAND和AUTN; 第一条 S1AP_DL_NAS_TRANS
2. UE收到AUTH REQ消息后回复AUTH RES(携带RES参数)。 第一条 S1AP_UL_NAS_TRANS
3. MME收到AUTH RES后,触发安全模式流程,否则返回AUTH REJ消息。 EPS的安全架构如下:
EPS安全架构中有相互独立的分层安全: MME和UE执行NAS( Non-access stratum,非接入层)信令加密和完整性保护。 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(Next Hop)是用于在UE和eNodeB中派生KeNodeB*。当安全上下文建立时,NH由UE和MME从KeNodeB派生出来;当发生切换时,从上一个NH派生出来。 - NAS信令的密钥: - KNASint 是用于NAS信令完整性保护的密钥,是由UE和MME各自根据双方协商的完整性算保护算法计算得到的. - KNASenc 是用于NAS信令加密的密钥,是由UE和MME各自根据双方协商的加密算法计算得到的. - 用户数据的密钥: - KUP enc是专门用于加密用户面数据的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。 - RRC信令的密钥: - KRRC int是用于保护RRC信令完整性的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。 - KRRC enc是用于加密RRC信令的密钥,由KeNodeB派生出来,存在于UE和eNodeB中。 4 UE收到SMC消息后: - 根据SMC消息中的Selected NAS security algorithms信元计算出KnasEnc和KnasInt密钥; - 校验信元UE security capabilities和KSI是否合法,如果合法,则回复MME SECURITY MODE COMPLETE消息,否则返回SECURITY MODE REJECT消息。 第二条 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通过Security Mode Command通知UE启动完整性保护和加密过程,UE通过消息中的安全算法计算获取密钥。此时下行加密已开始。
1) RRC连接建立完成后,MME生成KeNodeB和NH,并向eNodeB发送UE的安全能力和KeNodeB。安全能力包含UE支持的加密算法和完整性算法。 2) eNodeB将完整性保护算法优先级列表和UE安全能力取交集,选取优先级最高的完整性算法。 3) eNodeB将加密算法优先级列表和UE安全能力取交集,选取优先级最高的加密算法。 4) eNodeB根据KeNodeB和选取的安全算法来计算出KUP enc,KRRC int和KRRC enc密钥,并为PDCP配置相应的加密参数和完整性参数。 5) eNodeB通过Security Mode Command消息向UE发送安全模式参数配置。Security Mode Command消息通过SRB1发送,由eNodeB进行完整性保护,没有加密保护。 6) eNodeB接收到UE反馈的消息. (中国集群通信网 | 责任编辑:陈晓亮) |