51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 8976|回复: 9
打印 上一主题 下一主题

GPRS鉴权流程 [复制链接]

Rank: 9Rank: 9

懒

跳转到指定楼层
楼主
发表于 2012-10-14 22:51:18 |只看该作者 |倒序浏览
一键分享 一键分享
本帖最后由 爱卫生 于 2012-10-14 22:51 编辑

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.201Specification of the 3GPP confidentiality and integrity algorithms; Document 1: f8 and f9 specifications
TS 35.202Specification of the 3GPP confidentiality and integrity algorithms; Document 2: Kasumi algorithm specification
TS 35.203Specification of the 3GPP confidentiality and integrity algorithms; Document 3: Implementors' test data
TS 35.204Specification of the 3GPP confidentiality and integrity algorithms; Document 4: Design conformance test data
TS 35.2053G 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.2063G 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.2073G 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.2083G 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 信令流程图

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 重要信令消息和参数

信令消息重要参数属性参数作用
ReqIndRspCnf
Authentication requestprotocol discriminatorM用于标识L3消息所属的协议
Message typeM标识传递消息的类型
GPRS Ciphering key sequenceM用于网络不必引入鉴权流程就可以鉴别KcGSM)或IKCKUMTS
Authentication parameter RAND numberM用于网络向终端提供一个不可预知得序列用来计算鉴权响应签名和密钥
Authentication Parameter AUTNO用于UMTS中用户对网络的鉴权
Authentication responseprotocol discriminatorM用于标识L3消息所属的协议
Message typeM标识传递消息的类型
Authentication Response ParameterMUMTS中用户对网络的鉴权响应参数
Authentication Response Parameter (extension)OUMTS中用户对网络的鉴权响应参数,当且仅当属于3G鉴权且RES参数大于4字节时出现
MAP_SEND_AUTHENTICATION_INFOIMSICC(=)唯一地标识移动用户
Number of requested vectorsCC(=)指示返回的鉴权向量最大数目
Requesting node typeCC(=)表明请求节点是VLR还是SGSN
AuthenticationSetListCC(=)HLR传送到VLR /SGSN.的鉴权向量
User errorCC(=)指示用户错误的类型
Provider errorO指示系统错误的类型

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

Rank: 9Rank: 9

懒

沙发
发表于 2012-10-14 22:58:04 |只看该作者

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 引起的。

2)、SQN失败

若移动台认为网络提供的AUTN参数的SQN 超出了规定的范围,也会发送AUTHENTICATION FAILURE响应给网络,同时指明拒绝的原因是是由Synch FAILURE 引起的。随后利用USIM 卡提供的AUTS 参数发起一个重同步的流程。网络侧再进行鉴权。

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(=)

定义SGSNISDN号码

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系统所没有的功能。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 3Rank: 3Rank: 3

板凳
发表于 2013-1-2 11:31:02 |只看该作者
爱卫生 发表于 2012-10-14 22:58
7 异常流程 7.1 简单的失败流程和说明 7.1.1 被网络拒绝的鉴权 当鉴权失败时,电路域核心网首先区分UE 使用 ...

1.对于SQN超出范围而导致的鉴权拒绝。SQN(MS)应该是手机SIM卡生成的还是在最近从网络侧接收的32个SQN中,选择一个最大的保存在手机中?
2.如果由于SQN超出范围而导致鉴权失败,启动重同步流程,重同步后,HLR发送鉴权参数给SGSN,重新发起鉴权请求,这个鉴权请求是几次,固定1次?还是可以在SGSN中设置为5次?(最近发现有这种连续5次鉴权没有成功,原因就是SQN超出了范围,然后就释放掉无线链路了)
3.对于多次发起鉴权但是均是以SQN超出范围而失败,我觉得很奇怪,应为就算原来的SQN(NET)超出了范围,但是经过重同步后,手机发送了自己的SQN(MS),那么经过第二次鉴权后应该不会再出现SQN超出范围而失败,但是目前发现实际情况确实一直会失败,不知道大家有什么看法?

使用道具 举报

Rank: 2Rank: 2

地板
发表于 2013-2-25 09:34:16 |只看该作者
MAC failure 和SQN failure我都遇到过,后来都莫名其妙的好了。感觉跟HLR核心网的配置有一定关系

使用道具 举报

Rank: 3Rank: 3Rank: 3

5#
发表于 2013-10-31 20:15:44 |只看该作者
若移动台认为网络提供的AUTN参数的SQN 超出了规定的范围,也会发送AUTHENTICATION FAILURE响应给网络,同时指明拒绝的原因是是由Synch FAILURE 引起的。

爱总,对这句话可以举个例子讲解下吗?

使用道具 举报

Rank: 9Rank: 9

懒

6#
发表于 2013-11-4 23:54:08 |只看该作者
hou3331 发表于 2013-10-31 20:15
若移动台认为网络提供的AUTN参数的SQN 超出了规定的范围,也会发送AUTHENTICATION FAILURE响应给网络,同时 ...

你是说实际的场景吗?这个肯定是异常的场景啦。

SQN机制用于防止重放攻击。AuC应在每一个认证令牌(AUTN)中包含一个刷新的SQN。USIM对SQN的刷新性验证是用户对网络实体鉴权的一部分,它将保证USIM拒绝应答VLR/SGSN重用的鉴权五元组。

所以,场景可能是SGSN/VLR使用了重复的鉴权五元组?

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 9Rank: 9

懒

7#
发表于 2013-11-5 00:03:48 |只看该作者
hou3331 发表于 2013-10-31 20:15
若移动台认为网络提供的AUTN参数的SQN 超出了规定的范围,也会发送AUTHENTICATION FAILURE响应给网络,同时 ...

按照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卡鉴权比较过程

  • 先解读USIM收到网络下发AUTN中携带的SEQ|IND,然后与USIM卡中保存的相同IND的SEQ(即SEQMS(i))进行比较,若SEQ≤ SEQMS(i) 则鉴权失败。
  • 若SEQ> SEQMS,则继续进行SEQ -SEQMS 是否小于等于D的比较,若大于D,则鉴权失败。
  • 若SEQ -SEQMS ≤D,则继续进行SEQMS –SEQ是否小于L的比较,若大于L,则鉴权失败,反之则鉴权通过。

www.gprshome.com: GPRS及移动通信技术学习交流分享平台。

使用道具 举报

Rank: 3Rank: 3Rank: 3

8#
发表于 2013-12-4 14:16:51 |只看该作者
爱卫生 发表于 2013-11-4 23:54
你是说实际的场景吗?这个肯定是异常的场景啦。SQN机制用于防止重放攻击。AuC应在每一个认证令牌(AUTN)中 ...

SGSN肯定是下发了未使用过的AUTN,是从MME中获取过来的鉴权5元组。
失业了

使用道具 举报

Rank: 3Rank: 3Rank: 3

9#
发表于 2013-12-4 14:19:01 |只看该作者
小燕-smile 发表于 2013-1-2 11:31
1.对于SQN超出范围而导致的鉴权拒绝。SQN(MS)应该是手机SIM卡生成的还是在最近从网络侧接收的32个SQN中 ...

测试中发现某款终端,对于已经resynchronization的鉴权5元组也reject了,其他终端第二次都是正常的。
失业了

使用道具 举报

Rank: 3Rank: 3Rank: 3

10#
发表于 2013-12-31 20:37:21 |只看该作者
hou3331 发表于 2013-12-4 14:19
测试中发现某款终端,对于已经resynchronization的鉴权5元组也reject了,其他终端第二次都是正常的。

hi,
    也就是说这种SQN拒绝和终端有关?和SIM卡没有关系?谢谢!

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-11-29 13:13 , Processed in 0.054640 second(s), 13 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部