1 流程概述
鉴权流程有四个作用:
1) 允许网络检验 UE 的标识是否有效
2) 为 UE 计算UMTS 加密密钥提供参数
3) 为 UE 计算UMTS 完整性密钥提供参数
4) 允许 UE 鉴权网络
UMTS 鉴权流程总是由网络发起的,UE 和网络之间必须支持UMTS 的鉴权算法,但是UE有权拒绝网络发送的鉴权。
当 UMTS 的鉴权流程被执行后,在UE 和网络之间就建立了UMTS 的安全性上下文。对于一个成功的UMTS 鉴权,UMTS 加密密钥、UMTS 完整性密钥就存储在网络和移动台中。
2 流程参考标准
3GPP TS 33.102 3G security; Security architecture
3GPP TS 35系列协议定义了与加密、鉴权有关的算法规范:
TS 35.201 | Specification of the 3GPP confidentiality and integrity algorithms; Document 1: f8 and f9 specifications |
TS 35.202 | Specification of the 3GPP confidentiality and integrity algorithms; Document 2: Kasumi algorithm specification |
TS 35.203 | Specification of the 3GPP confidentiality and integrity algorithms; Document 3: Implementors' test data |
TS 35.204 | Specification of the 3GPP confidentiality and integrity algorithms; Document 4: Design conformance test data |
TS 35.205 | 3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 1: General |
TS 35.206 | 3G Security; Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 2: Algorithm specification |
TS 35.207 | 3G Security; Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 3: Implementors’ test data |
TS 35.208 | 3G Security; Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 4: Design conformance test data |
3GPP TS 24.008 Mobile radio interface Layer 3 specification; Core network protocols; Stage 3
3GPP TS 29.002 Mobile Application Part (MAP) specification
3 信令流程图
[attach]1753[/attach]
4 信令流程描述
1)、 网络在发起鉴权流程之前,如果SGSN中没有鉴权参数,那么SGSN 将首先发起到HLR 中取鉴权参数集的流程,直到HLR 返回鉴权参数的响应后才开始发起鉴权流程。鉴权步骤如后所描述。
2)、 网络向 UE 发起Authentication Request 鉴权请求消息,从而启动鉴权流程并启动定时器T3260 ,其中包含鉴权参数RAND 和AUTN。
3)、 当UE 收到鉴权请求后解释该消息的具体内容并将鉴权参数传递给USIM。
4)、 USIM 首先计算XMAC 值,然后和网络MAC 比较,对网络进行鉴权若两者一致说明网络合法,则发送Authentication Response 给网络,否则发送Authentication Failure。
5)、 同时 USIM 计算RES ,并将其发送给网络由网络比较鉴权响应中的RES 和VLR 数据库中的存储的鉴权参数中的XRES 是否一致,从而完成网络对UE 的鉴权。若两者一致说明鉴权成功则可以继续后面的流程,若不一致则鉴权失败并发起异常终止流程同时释放UE 和网络之间的信令连接包括无线资源网络资源。
6)、 然后,UE在USIM中算出CK和IK并存储在卡中,同时,SGSN/VLR也采用相同的CK和IK为后续的加密流程做准备(这两个CK和IK之所以相同,是由于他们都是通过同一个RAND算出来的。所以这样的话,UE和SGSN就能采用相同的CK和IK来进行数据加密)。
5 嵌套流程
流程名称 | 信令触发场景 |
GPRS标识流程 | 当鉴权失败时,如果UE 使用的标识是TMSI ,网络可能会决定发起标识流程,如果网络得到的IMSI 和TMSI 没有关联那么网络就会用正确的参数重新发起鉴权流程。 |
6 重要信令消息和参数
信令消息 | 重要参数 | 属性 | 参数作用 | |||
Req | Ind | Rsp | Cnf | |||
Authentication request | protocol discriminator | M | 用于标识L3消息所属的协议 | |||
Message type | M | 标识传递消息的类型 | ||||
GPRS Ciphering key sequence | M | 用于网络不必引入鉴权流程就可以鉴别Kc(GSM)或IK、CK(UMTS) | ||||
Authentication parameter RAND number | M | 用于网络向终端提供一个不可预知得序列用来计算鉴权响应签名和密钥 | ||||
Authentication Parameter AUTN | O | 用于UMTS中用户对网络的鉴权 | ||||
Authentication response | protocol discriminator | M | 用于标识L3消息所属的协议 | |||
Message type | M | 标识传递消息的类型 | ||||
Authentication Response Parameter | M | UMTS中用户对网络的鉴权响应参数 | ||||
Authentication Response Parameter (extension) | O | UMTS中用户对网络的鉴权响应参数,当且仅当属于3G鉴权且RES参数大于4字节时出现 | ||||
MAP_SEND_AUTHENTICATION_INFO | IMSI | C | C(=) | 唯一地标识移动用户 | ||
Number of requested vectors | C | C(=) | 指示返回的鉴权向量最大数目 | |||
Requesting node type | C | C(=) | 表明请求节点是VLR还是SGSN | |||
AuthenticationSetList | C | C(=) | HLR传送到VLR /SGSN.的鉴权向量 | |||
User error | C | C(=) | 指示用户错误的类型 | |||
Provider error | O | 指示系统错误的类型 |
7 异常流程
7.1 简单的失败流程和说明
7.1.1 被网络拒绝的鉴权
当鉴权失败时,电路域核心网首先区分UE 使用的标识是TMSI 或是IMSI。
如果是TMSI ,网络可能会决定发起标识流程,如果网络得到的IMSI 和TMSI 没有关联那么网络就会用正确的参数重新发起鉴权流程。
如果是IMSI 或网络决定不发起标识流程,就会发送一个AUTHENTICATION REJECT 给移动台。网络一旦发出该消息,所有正在激活的MM 连接都将被释放,同时网络还会发起RRC 连接释放流程。移动台一旦收到AUTHENTICATION REJECT 将USIM 卡中的更新状态设置为U3ROAMING NOT ALLOWED ,并删除从USIM 传来的存储在UE 中的TMSI LAI 加密密钥序列号等参数。此时该USIM 卡会认为是无效的,直到移动台重新进入有效服务网络或USIM 卡被去除。
而分组域核心网SGSN会发起一个鉴权失败报告消息给HLR,此时HLR可能会发起一个cancle location (也就是HLR发起的分离流程)。
7.1.2 被UE拒绝的鉴权
在 UMTS 的鉴权中鉴权流程已延伸到允许移动台检验核心网的合法性,所以当移动台收到不正确的AUTN参数时,移动台可以拒绝网络的鉴权要求。不正确的参数包括两种情况:
1)、MAC 失败
如果移动台认为网络提供的 AUTN 参数中的MAC 是无效的,那么移动台将会发送AUTHENTICATION FAILURE 响应给网络,同时指明拒绝的原因是是由MAC FAILURE 引起的。
[attach]1754[/attach]
2)、SQN失败
若移动台认为网络提供的AUTN参数的SQN 超出了规定的范围,也会发送AUTHENTICATION FAILURE响应给网络,同时指明拒绝的原因是是由Synch FAILURE 引起的。随后利用USIM 卡提供的AUTS 参数发起一个重同步的流程。网络侧再进行鉴权。
[attach]1755[/attach]
7.2 其他异常情况
1、RRC 连接失败
在收到 AUTHENTICATION RESPONSE 消息之前,一旦检测到RRC 连接失败,网络将会释放所有的MM 连接,并终止所有的被激活的MM 的特定流程。
2、定时器 T3260 超时
鉴权流程在网络一侧由定时器 T3260控制, 一旦定时器超时网络会释放RRC 连接,然后网络将会终止鉴权流程和所有激活的MM 的特定流程。释放所有的MM 连接,并发起RRC 连接的释放。
8 重要信令消息与参数
信令消息 | 重要参数 | 属性 | 参数作用 | |||
Req | Ind | Rsp | Cnf |
| ||
Authentication Failure | protocol discriminator | M | 用于标识L3消息所属的协议 | |||
Message type | M | 标识传递消息的类型 | ||||
Reject cause | M | 说明位置更新失败原因 | ||||
Authentication Failure parameter | O | 当鉴权失败原因为"Synch failure"时存在,它包括了USIM对鉴权的响应 | ||||
MAP_AUTHENTICATION_FAILURE_REPORT | IMSI | M | M(=) |
|
| 唯一地标识移动用户 |
Failure cause | M | M(=) |
|
| 导致鉴权失败的原因 | |
Re-attempt | M | M(=) |
|
| 表明该次鉴权失败发生在正常鉴权的流程还是再次鉴权的流程中 | |
Access Type | M | M(=) |
|
| 表明此次鉴权发生的原因,如短信、呼叫、位置更新等 | |
Rand | M | M(=) |
|
| 网络对用户鉴权的随机序列 | |
SGSN number | C | C(=) |
|
| 定义SGSN的ISDN号码 | |
User error |
|
| C | C(=) | 指示用户错误的类型 | |
Provider error |
|
|
| O | 指示系统错误的类型 |
9 重要网元参数
网元 | 参数 | 参数作用 |
SGSN | 鉴权流程开关(区分业务) | 控制本局针对不同业务设置是否进行鉴权 |
鉴权频次(区分离程、区分业务) | 控制用户使用业务时的鉴权频次。 | |
T3360用户鉴权超时定时器(区分离程) | 此定时器在发送AUTH AND CIPH REQUEST消息时启动,在收到AUTH AND CIPH RESPONSE消息后停止,如果超时,将重发AUTH AND CIPH REQUEST消息或鉴权失败。 | |
获取鉴权向量等待定时器 | SGSN网元向HLR网元获取鉴权向量时启动该定时器;该定时器第一次超时或收到获取鉴权向量响应时结束该定时器。 | |
用户申请的鉴权组数控制 | SGSN向HLR一次性请求鉴权参数组的组数 | |
鉴权集最小组数 | 当SGSN中剩余鉴权参数组达到或低于该值时,触发向HLR请求新的鉴权参数组 | |
| 三元组五元组转换开关 | 是否支持三元组,五元组之间的转换 |
HLR | 是否一次性返回鉴权组 | 是否在一条鉴权响应消息内,返回请求的所有鉴权组 |
10 重点说明
WCDMA和GSM在安全性的最大差别就是体现在鉴权上。WCDMA和GSM采用不同的鉴权算法和参数。GSM采用的是鉴权三元组鉴权参数是RAND、 SRES、 Kc。 而WCDMA采用的是鉴权五元组鉴权参数是RAND、 XRES、 AUTN、 CK和IK。 GSM实现的是单向鉴权只能由网络对移动台进行鉴权,而WCDMA实现的是双向鉴权;并且WCDMA还要在空中接口上对UE和网络之间的信令进行完整性保护,保证UE和网络之间的信令一致性,这也是GSM系统所没有的功能。
你是说实际的场景吗?这个肯定是异常的场景啦。
SQN机制用于防止重放攻击。AuC应在每一个认证令牌(AUTN)中包含一个刷新的SQN。USIM对SQN的刷新性验证是用户对网络实体鉴权的一部分,它将保证USIM拒绝应答VLR/SGSN重用的鉴权五元组。
所以,场景可能是SGSN/VLR使用了重复的鉴权五元组?
按照3GPP中TS33.102规范附录C.2中的描述,USIM卡对SQN的检查主要有三条规则,具体见下表,其中,SEQ代表从网络侧收到的序号,而SEQMS代表USIM侧矩阵中存储的最大序号。
序号 | USIM卡对SQN检测规则 | 检测机制说明 |
1 | SEQ -SEQMS ≤ D | 序号的循环:新从网络侧收到的序号SEQ超出矩阵中存储的最大序号SEQMS的范围不能大于D |
2 | SEQMS - SEQ < L | 序号的更新:现存矩阵中存储的最大序号SEQMS超出新从网络侧收到的序号SEQ的范围不能大于L |
3 | SEQ >SEQMS(i) | 序号的更新:新从网络侧收到的序号SEQ必须大于矩阵中相同记录(IND)上存储的序号SEQ |
USIM卡鉴权比较过程
欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) | Powered by Discuz! X2 |