admin 管理员组

文章数量: 887021


2024年3月9日发(作者:万维网联盟是什么协会)

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反馈的消息.


本文标签: 鉴权 加密 完整性 保护