首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文看懂LTE的鉴权

一文看懂LTE的鉴权

作者头像
鲜枣课堂
发布2019-07-19 21:22:11
3.2K0
发布2019-07-19 21:22:11
举报
文章被收录于专栏:鲜枣课堂鲜枣课堂鲜枣课堂

今天,我们来说说LTE的鉴权。

对于任何通信系统,安全都是至关重要的。

我们经常听说的复制卡、伪基站,都是对通信系统的威胁,对我们信息安全的威胁。

所谓鉴权,就是鉴别终端或网络的真伪,保证通信数据的安全(不被截取、不被篡改、不被伪造)。

我们就以LTE系统为例,说明一下移动通信网络的鉴权方法。

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

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

正如上图所示,LTE是一个分层的通信系统。UE和eNodeB之间,是RRC信令。UE和MME之间,是更上层的NAS信令。

正因为如此,针对不同信令,就要采取不同的安全管理层级,就是针对AS层的AS安全,以及针对NAS层NAS安全

AS(Access Stratum,接入层)安全

UE和eNB之间的安全,包括RRC信令的机密性保护和完整性保护,用户面机密性保护。

NAS(Non Access Stratum,非接入层)安全

UE和MME之间的安全,包括NAS信令的机密性保护和完整性保护。

说到鉴权,就一定要先知道什么是鉴权向量(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

我们把它们拎出来:

▶第①步

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

▶第②步

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

▶第③步

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

▶第④步

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

生成鉴权向量的算法如下:

SQN是啥?

为了抵御重放攻击,UE 和 HSS 都各自维持一个序列号计数器 SQN。

其中 HSS 维持的是SQNHSS负责为每一个生成的 AV 产生一个新的序列号 SQN。UE 维持的是SQNUE用于保存已接收 AV 中的最大 SQN 值。

KDF是啥?

密钥生成函数,Key derivation functions。KDF用于生成 Security各种算法的输入密钥。

▶第⑤步

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

▶第⑥步

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

▶第⑦步

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

算法如下:

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

▶第⑧步

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

▶第⑨步

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

▶第⑩步

⑩:在双向认证都完成后,MME 与 UE 将KASME(i)作为基础密钥,根据约定的算法推演出加密密钥CK完整性保护密钥IK,随后进行保密通信。

至此,EPS-AKA鉴权过程结束。

我们再看一遍整个过程(动图):

参数比较多哈!大家可能会比较晕。。。

其实,大家看到的K***什么的,都是从根密钥K里逐级生成的。不同的K***,存在于不同的地方,用于不同的目的。

各个密钥之间的关系如下图:

继续往下说,刚才①~⑩,是鉴权的过程。

鉴权之后,是完整性保护和加密过程。

首先我们介绍一下:安全模式控制(Security Mode Control,简称SMC)

  • SMC用于激活终端和网络侧间信息的安全交互,包括NAS SMC和AS SMC两部分。
  • 安全模式控制主要包括网络侧发给UE的 Security Mode Command和UE回复给网络侧的Security Mode Complete两条信令。
  • SMC流程主要完成终端和网络侧对所使用的安全算法的协商,并以KASME或KeNB为基础, 生成相应安全算法所需的密钥,初始网络侧和终端间消息的安全交互。

其实,消息安全交互的连接建立主要包括以下几个过程:

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安全模式控制流程

①: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安全模式控制流程

①: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课程”),老师的视频讲解,一定能让你彻底搞懂滴!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鲜枣课堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档