51学通信论坛2017新版

标题: 一文看懂LTE的鉴权 [打印本页]

作者: admin    时间: 2017-11-13 20:12
标题: 一文看懂LTE的鉴权
今天,我们来说说LTE的鉴权。
对于任何通信系统,安全都是至关重要的。
我们经常听说的复制卡、伪基站,都是对通信系统的威胁,对我们信息安全的威胁。
所谓鉴权,就是鉴别终端或网络的真伪,保证通信数据的安全(不被截取、不被篡改、不被伪造)。
我们就以LTE系统为例,说明一下移动通信网络的鉴权方法。

[attach]3650[/attach]

一个简单的LTE网络架构,是下面这样的:

[attach]3651[/attach]

LTE控制面的协议栈,如下图:

[attach]3652[/attach]

正如上图所示,LTE是一个分层的通信系统。UE和eNodeB之间,是RRC信令。UE和MME之间,是更上层的NAS信令。
正因为如此,针对不同信令,就要采取不同的安全管理层级,就是针对AS层的AS安全,以及针对NAS层NAS安全
AS(Access Stratum,接入层)安全
UE和eNB之间的安全,包括RRC信令的机密性保护和完整性保护,用户面机密性保护。
NAS(Non Access Stratum,非接入层)安全
UE和MME之间的安全,包括NAS信令的机密性保护和完整性保护。

[attach]3653[/attach]

说到鉴权,就一定要先知道什么是鉴权向量(Authentication Vector)
鉴权向量,就是一组用于鉴权的参数组。
这个参数组,包括4个参数,分别是:
RAND(RandomChallenge,随机数)
RAND是网络提供给UE的不可预知的随机数。
AUTN(AuthenticationToken,鉴权令牌)
AUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权。
XRES(ExpectedResponse,预期响应)
XRES是期望的UE鉴权响应参数。用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。
KASME
KASME是根据CK/IK以及ASME的PLMNID推演得到的一个根密钥。
说明:
1 XRES里面的X,就是Expected,“预期的”的意思。后面会提到的好几个词,都带有这个X。“X某某某”就是和“某某某”进行比较用的。
2 什么是ASME?
ASME,接入安全管理实体。该实体是接入网从HSS接收最高级(top-level)密钥的实体。在LTE网络下,MME扮演ASME的角色。
上面这4个参数,也就是通常我们所说的LTE鉴权四元组
我们还是直接看看完整的LTE鉴权流程,在流程中解释吧。
参与认证和密钥协商的有这三个主体:UE、MME 和 HSS

[attach]3654[/attach]

我们把它们拎出来:

[attach]3655[/attach]

第①步

[attach]3656[/attach]

①:UE 向 MME 发送自己的 IMSI 与 HSS 的 IDHSS标识等身份信息,请求接入;
第②步

[attach]3657[/attach]

②:MME 根据请求 IDHSS,向对应的 HSS 发送鉴权数据请求,在请求中包括有用户的身份信息 IMSI 与本服务网的身份信息 SNID;
第③步

[attach]3658[/attach]

③:HSS 收到鉴权请求后,在自己的数据库中查找 IMSI 与 SNID,验证这 2 个实体的合法性。如果验证通过,则生成鉴权向量组 AV(1,…,n)。
第④步

[attach]3659[/attach]

④:HSS将生成的鉴权向量组 AV(1,…,n)作为鉴权数据响应,发回给 MME。
生成鉴权向量的算法如下:

[attach]3660[/attach]

SQN是啥?
为了抵御重放攻击,UE 和 HSS 都各自维持一个序列号计数器 SQN。
其中 HSS 维持的是SQNHSS负责为每一个生成的 AV 产生一个新的序列号 SQN。UE 维持的是SQNUE用于保存已接收 AV 中的最大 SQN 值。
KDF是啥?
密钥生成函数,Key derivation functions。KDF用于生成 Security各种算法的输入密钥。
第⑤步

[attach]3661[/attach]

⑤:MME 收到应答后,存储 AV(1,…,n),再从中选择一个 AV(i),提取出 RAND(i)、AUTN(i)、KASME(i)等数据,同时为 KASME(i)分配一个密钥标识KSIASME(i)。
第⑥步

[attach]3662[/attach]

⑥:MME向 UE 发送用户认证请求,带有RAND(i)、AUTN(i)、KASME(i)等数据;
第⑦步

[attach]3663[/attach]

⑦:UE 收到认证请求后,通过提取和计算 AUTN(i)中的 MAC 等信息,计算XMAC,比较 XMAC 和 MAC 是否相等,同时检验序列号 SQN 是否在正常的范围内,以此来认证所接入的网络;
算法如下:

[attach]3664[/attach]

如果认证通过,则计算 RES(i)与 KASME (i)。
第⑧步

[attach]3665[/attach]

⑧:UE给MME发用户鉴权请求响应消息,将计算出的RES(i)传输给 MME。
第⑨步

[attach]3666[/attach]

⑨:MME 将收到的 RES(i)与 AV(i)中的 XRES(i)进行比较,如果一致,则通过认证;
第⑩步

[attach]3667[/attach]

⑩:在双向认证都完成后,MME 与 UE 将KASME(i)作为基础密钥,根据约定的算法推演出加密密钥CK完整性保护密钥IK,随后进行保密通信。
至此,EPS-AKA鉴权过程结束。
我们再看一遍整个过程(动图):

[attach]3668[/attach]

参数比较多哈!大家可能会比较晕。。。
其实,大家看到的K***什么的,都是从根密钥K里逐级生成的。不同的K***,存在于不同的地方,用于不同的目的。
各个密钥之间的关系如下图:

[attach]3669[/attach]

继续往下说,刚才①~⑩,是鉴权的过程。
鉴权之后,是完整性保护和加密过程。
首先我们介绍一下:安全模式控制(Security Mode Control,简称SMC)

其实,消息安全交互的连接建立主要包括以下几个过程:
1、建立RRC连接,同时也建立起SRB1(SRB,Signalling Radio Bearer);
2、建立NAS连接;
3、发起AKA过程,完成UE和网侧进行双向鉴权和共同基础密钥KASME的协商(上文中的①~⑩);
4、发起NAS安全模式控制(SMC)流程,激活NAS安全机制,随后交互的NAS消息都进行安全保护。
5、发起AS安全模式控制(SMC)流程,激活AS安全机制,随后交互的RRC消息都进行安全保护。
我们来分别看一下4和5的流程。
NAS安全模式控制流程

[attach]3670[/attach]

①:MME发送NAS Security Mode Command消息给UE,包括重放(replayed)UE安全性能,所选择的NAS算法,标识KASME的eKSI,以及在空闲移动状态下建立一个映射环境时所需的NONCEUE 和 NONCEMME。这条消息需要进行完整性保护(但不需要加密),所使用的NAS完整性保护密钥KNAS int基于消息中eKSI所标识(indicated)的KASME。
②:UE需要验证NAS Security Mode Command消息的完整性。包括确保MME发送的UE安全性能与UE中储存的UE安全性能相匹配,以确保UE安全性能不会被“攻击者”修改,并且使用所指示的NAS完整性保护算法和基于eKSI所标识的KASME生成的NAS完整性保护密钥KNAS int验证其完整性保护。
③:MME使用NAS Security Mode Command消息中标识的密钥和算法对NAS Security Mode Complete消息进行解密和检查完整性保护。
此时,可以认为NAS层的安全性已经激活,可以进行安全的NAS层对话。
注意:
MME在发送NAS security mode command消息后,开始进行再该安全环境下的NAS上行解密。
MME在接收到NAS security mode complete消息后,开始进行在该安全环境下的NAS下行加密。
④:如果ME中NAS Security Mode Command消息的验证不成功,ME应回复一条NAS Security Mode Reject消息。
AS安全模式控制流程

[attach]3671[/attach]

①:eNB发送AS Security Mode Command消息给UE,包括所选的AS算法。并且该消息使用当前KASME生成的完整性保护密钥KRRC int保护。
②:UE发送AS Security Mode Complete消息给eNB,使用AS Security Mode Command消息中所选择的AS算法和使用当前KASME生成的完整性保护密钥KRRC int保护。
此时,可以认为AS层的安全性已经激活,可以进行安全的AS层对话。
注意:
eNB中,发送AS Security Mode Command后开始RRC和UP的下行加密。
接收到AS Security Mode Complete并验证其完整性成功后开始上行解密。
UE中,接收到AS Security Mode Command并验证其完整性成功后开始下行解密。
发送AS Security Mode Complete后开始RRC和UP的上行加密。
③:如果在UE中AS Security Mode Command消息的任何控制都没有成功,ME将回复一条Security Mode Failure消息。
总之,NAS/AS安全模式控制流程,就是包装NAS/AS层面的完整性和加密安全。在这之后,一个安全的连接就算是真正建立起来了。
好啦,LTE的鉴权流程,就介绍到这里。
如果没有听明白,也没关系,LTE安全管理专题课程即将上线(更新入“从零开始学LTE课程”),老师的视频讲解,一定能让你彻底搞懂滴!

声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。




欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3