文档库 最新最全的文档下载
当前位置:文档库 › VoLTE主要流程

VoLTE主要流程

1附着流程、PDN连接、APN、SRVCC能力验证、CSFB能力验证

1.在S1-C接口的attach消息中,attach request消息中携带MS network capability信元的

SRVCC to GERAN/UTRAN capability为1;携带Mobile station classmark 3或者Mobile station classmark 2和supported codec list信元(UE支持SRVCC,必须带此信元);PCO信元中携带P-CSCF IPv4 Address Request(000CH)和P-CSCF IPv6 Address Request用来请求P-CSCF IPv4和IPv6地址;

2.MME向HSS发送update location request其中包含UE SRVCC capability为1,

Homogeneous Support of IMS Over PS Sessions指示该MME的IMS能力为support(1);

3.HSS回复update location ACK,其中包括STN-SR;

4.MME发送create session request给SGW,其中携带PCO信元;APN为IMS APN。

5.PGW收到Create session request后响应create session response,其中携带PCO信元(当终端

申请的为IPv4v6地址时,应回复P-CSCF的IPv4地址和IPv6地址);PGW向PCRF发送CCR-I消息,消息中携带IMS APN,以及UE签约的QOS信息。PCRF响应CCA-I消息,消息中携带QOS信息,其中QCI=5。

6.MME向eNodeB发送initial context setup request消息中携带SRVCC operation possible信元

为possible(0)以及E-RAB Level QoS Parameters,其中QCI为5;MME发送给UE的attach accept消息中EPS network feature support信元中IMS voice over PS session indicator

UE发起新的PDN连接

7.如果UE发起数据PDN连接建立时UE为ECM-IDLE态,会先触发Service Request,如果

UE为ECM-CONNECTED态,则无Service Request流程;

8.UE向MME发送PDN connectivity request消息,消息中携带APN信息,APN为数据APN;

9.MME发送create session request给SGW,APN为数据APN。

10.P-GW收到Create session request后响应create session response;

11.P-GW向PCRF发送CCR-I消息,消息中携带数据APN,以及UE签约的QOS信息。

PCRF响应CCA-I消息,消息中携带QOS信息。

12.MME向eNodeB发送bearer setup request消息,消息中携带E-RAB Level QoS Parameters;

MME发送给UE PDN connectivity accept消息;数据APN默认承载建立成功

36.508

1.1Procedure

Table 4.5.2.3-1: UE registration procedure (state 1 to state 2)

1.2Specific message contents

All specific message contents shall be referred to clause 4.6 and 4.7 with the exceptions below.

Table 4.5.2.4-1: RRCConnectionRequest(Step 2)

Table 4.5.2.4-2: UECapabilityInformation (Step 13)

Table 4.5.2.4-3: ACTIVATE DEFAULT EPS BEARER CONTEXT REQUEST (Step 14)

NOTE: The default message contents specified in table 4.7.3-6 apply unless the condition IPv4_address_only in table 4.5.2.4-3 is true.

2EPS承载相关

一个UE可以建立多个PDN Connection,原则是如果UE同时使用了多个APN(Access Point Name)或IP地址。例1:一个中国移动的用户同时使用cmnet和cmwap这两个APN,但PGW只给UE分配了一个IPv4的IP地址,此时该UE有2个PDN Connection。例2:一个中国移动的用户只使用了cmnet这个APN,但是他同时访问了IPv4的服务器和IPv6的服务器,此时该UE会拥有一个IPv4的IP地址和一个IPv6的IP地址,那么这个用户也同时拥有2个PDN Connection。例3:一个中国移动的用户同时使用cmnet和cmwap这两个APN,UE使用cmwap访问的服务器是IPv4的地址,但UE使用cmnet同时访问了IPv4地址和IPv6地址的两种服务器,此时该UE拥有2个IP地址,一个时IPv4类型的,另一个是IPv6类型的,而该UE此时拥有3个PDN Connnection。

在每条PDN Connection中,有且仅有一条Default EPS Bearer。

因此,按照上述的3个例子,如果UE有2条PDN Connection,那么他就有2条Default EPS Bearer;如果UE有3条PDN Connection,那么他就有3条Default EPS Bearer。

无论一个UE有多少条EPS Bearer,也无论这些EPS Bearer是Default的,还是Dedicated的,每条EPS Bearer都需要一个ID,3GPP规范定义的EPS Bearer ID的取值范围是5到15,即一个UE可以最多同时有11条EPS Bearer。注意,EPS Bearer ID是在一个UE内唯一,并非是在一个PDN Connection中唯一的。因此,在上述的例3中,3条Default EPS Bearer 的ID将分别是5、6和7。

3RoHc头压缩

附着时(UE capability enquiry)UE能力上报会有一个support RoHc profile,表明终端有能力支持头压缩。RoHc只在volte语音建立的时候才启用;当invite消息发出去,收到183后,网络会下发RRC重配消息,其中带有PDCP config消息的header compression 里RoHc profile,然后开始建立语音承载。在之前的附着流程中的RRC重配消息里,都是RoHc功能 null的。

RRCConnectionReconfiguration

Pkt Version = 9

RRC Release Number.Major.minor = 11.7.0

Radio Bearer ID = 1, Physical Cell ID = 201

Freq = 300

SysFrameNum = N/A, SubFrameNum = 5

PDU Number = DL_DCCH Message, Msg Length = 247

SIB Mask in SI = 0x00

Interpreted PDU:

value DL-DCCH-Message ::=

{

message c1 : rrcConnectionReconfiguration :

{

rrc-TransactionIdentifier 1,

criticalExtensions c1 : rrcConnectionReconfiguration-r8 :

{

dedicatedInfoNASList

{

'27437509FC197200C506050120282028A524104026206000000100 0141040000000000000305FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF301140C35A2141262 060000001000141040000000000000305FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF301150 721E1280262060000001000141040000000000000305FFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF301140C35B2381262060000001000141040000000000000305FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF301150721F5D01A0300C0D311F319720282128202801320381'H

},

radioResourceConfigDedicated

{

drb-ToAddModList

{

{

eps-BearerIdentity 7,

drb-Identity 5,

pdcp-Config

{

discardTimer ms100,

rlc-UM

{

pdcp-SN-Size len7bits

},

headerCompressionrohc :

{

profiles

{

profile0x0001 TRUE,

profile0x0002 TRUE,

profile0x0003 FALSE,

profile0x0004 FALSE,

profile0x0006 FALSE,

profile0x0101 FALSE,

profile0x0102 FALSE,

profile0x0103 FALSE,

profile0x0104 FALSE

}

}

},

rlc-Config um-Bi-Directional :

{

ul-UM-RLC

{

sn-FieldLength size5

},

dl-UM-RLC

{

sn-FieldLength size5,

t-Reordering ms35

}

},

logicalChannelIdentity 5,

logicalChannelConfig

{

ul-SpecificParameters

{

priority 2,

prioritisedBitRate kBps8,

bucketSizeDuration ms500,

logicalChannelGroup 1

}

}

}

},

mac-MainConfigexplicitValue :

{

ul-SCH-Config

{

maxHARQ-Tx n5,

periodicBSR-Timer sf5,

retxBSR-Timer sf320,

ttiBundling FALSE

},

drx-Config setup :

{

onDurationTimer psf5,

drx-InactivityTimer psf8,

drx-RetransmissionTimer psf8,

longDRX-CycleStartOffset sf20 : 7

},

timeAlignmentTimerDedicated infinity,

phr-Config setup :

{

periodicPHR-Timer sf1000,

prohibitPHR-Timer sf0,

dl-PathlossChange dB3

}

},

sps-Config

{

semiPersistSchedC-RNTI '00101011 01001010'B, sps-ConfigDL setup :

{

semiPersistSchedIntervalDL sf20,

numberOfConfSPS-Processes 2,

n1PUCCH-AN-PersistentList

{

72,

86,

99,

113

}

},

sps-ConfigUL setup :

{

semiPersistSchedIntervalUL sf20,

implicitReleaseAfter e3,

p0-Persistent

{

p0-NominalPUSCH-Persistent -75,

p0-UE-PUSCH-Persistent 1

}

}

},

physicalConfigDedicated

{

cqi-ReportConfig-r10

{

cqi-ReportAperiodic-r10 setup :

{

cqi-ReportModeAperiodic-r10 rm30

},

nomPDSCH-RS-EPRE-Offset 0,

cqi-ReportPeriodic-r10 setup :

{

cqi-PUCCH-ResourceIndex-r10 0,

cqi-pmi-ConfigIndex 46,

cqi-FormatIndicatorPeriodic-r10 widebandCQI-

r10 :

{

},

ri-ConfigIndex 161,

simultaneousAckNackAndCQI TRUE

},

csi-SubframePatternConfig-r10 release : NULL

}

}

}

}

}

}

4RB RAB SRB

RAB 是和业务一一对应的,比如voice call 需要一个rab来承载,表示的是Iu口的概念。RB 是RAB的无线承载,是Uu的概念。一句话,RAB需要RB来承载

RAB、RB、SRB三个概念之间既相互联系又有所区别。

首先看他们之间的联系(共性):

它们都是下层协议向上层协议提供的服务。例如,RAB是用户平面的接入层协议栈向非接入层提供的服务,而RB和SRB是RLC层向其用户提供的服务。

关键是他们之间的区别:RAB是运用在用户平面的UE和核心网之间的一个概念。当用户发起一个业务请求的时候,核心网根据被请求业务的特性要求接入网提供相应的无线接入承载

(RAB),而不关心该承载是以何种方式实现的,这样做的好处是简化了核心网和接入网之间的接口,并且使得这两个网元的独立性更好,便于彼此技术的独立更新。那么在WCDMA(TD-SCDMA)系统中,RAB是如何实现

的呢这就引出了RB的概念,RB是UE和SRNC之间的一个无线承载,是RLC层提供的服务,根据业务的属性,RLC层通过自己的三种不同类型的实体(AM/UM/TM),向高层提供点对点的带确认的数据传输、无确认的数据传输和透明的传输,以此来保证用户的数据以合理的方式到达RNC。到此,RAB在UE和RNC之间的“实现”就很明白了,它是通过RB来“实现”的。再进一步,RAB在IU接口上是如何“实现”的呢实际上,它通过IUUP协议,映射到了一个AAL2承载上。也就是说,RAB=RB+AAL2。现在举个具体的例子就更明白了,就拿AMR12.2k的语音业务来说,UE和MSC之间的一个RAB,在UE和SRNC之间映射到了3个RB上,在一个TTI内,这三个RB“输出”的三个PDU又被映射到一个IUUP帧中,然后在AAL2通道上发送给MSC。

至于SRB,其实就是RB,也是RLC提供的服务,只不过他们用来承载控制面的控制消息,为了区别于RB而称为SRB。

简单地说,rab就是你要传输的货物,srb就是为了传输货物而修的铁路,rb就是多个列车车厢

(1)RRC连接是为了建立UE和UTRAN之间的信令连接(SRB1-SRB4),可以通过CCH或者DCH,如果建立在DCH,上下行各占用1个码道(SF=16)〔在HS业务建立的时候,要占用两个码道;且PS的速率包括信令连接占的码道〕。类似还有RNC和NodeB之间的Iub连接,RNC和CN之间的IU连接,但是Iub连接是一直存在的,不需要在每次UE和CN连接都去建立和释放,而Iu连接则必须每次去建立和释放(这里是指面向连接的信令和数据承载,无连接的除外)。

(2)RL是为了建立RNC和NodeB之间的DCH的连接,只要数据走DCH,必须配置这个链路。RL是一个逻辑概念,其实就是一个格式集,数据在L2和L1之间传输(MAC-D->DCH/HS-DSCH/DSCH/USCH FP->DPCH/HS-DPSCH 传输信道和MAC-D FLOW(mac-dh->mac-hs)),在DCH时要增加/修改DCH FP/HS-DSCH FP,因此要配置,而在CCH时,L2->L1的链路已经建立完成,因此不需要配置RL,但RNC和NodeB的连接是存在的,所以RL 是格式集。在RL之下还有一个叫Iub数据传输承载的东西,

它和RL的主要区别在于Iub数据承载承载的是Iub接口的数据,而RL是Uu口的数据,RL是位于Iub承载之上的。(可以这样理解:Iub承载是AAL2承载,公共信道的FP是建立在AAL2上的,因此小区建立的时候会建立一些承载,如果要使用DCH信道,也要先建立DCH 的AAL2承载。)

(3)RB是UE和UTRAN之间的连接格式集,就是UU口L1、L2的格式问题,即物理信道、传输信道、逻辑信道的配置问题。如果没有业务,RB是不需要的,因此如果要在CN/URTRN 和UE之间传信令,只要有RRC连接即可(实际上也有无线承载,即SRB),但只要有业务,就必须配置RB,同样,必须配置Iub承载(只要有DCH就必须去配置DCH FP的承载,同RL一样)。

(4)RAB是UE和CN之间的连接的约定,体现在业务上,主要是Qos的配置。为了在无线环境中传输,就必须借助无线接入网,因此RAB分为UE和UTRAN之间的RB和CN和UTRAN之间的IU承载。

(5)相关的问题就可以这要理解了:

如果没有业务要建立,例如位置区登记、更新,只需要建立RRC连接、Iu连接,而不需要去建立RL、Iub承载、Iu承载、RAB、RB。如果要在CCH上建业务,比如PS8k业务,必须建立RRC连接,Iu连接,然后建立RAB、RB、Iub承载、Iu承载,但是不需要建立RL。这时一旦RB失败,业务已经失败,RNC将回复CN消息RAB指配响应指示失败,CN决定是否释放业务。如果要在DCH上建CS业务,则必须建所有的连接和承载,并且RRC连接必须建立在DCH上,这样:一旦RRC连接失败,释放所有的连接和承载,包括RL;一旦RL配置

失败,如果存在原先配置,则恢复到原先配置,RNC自己不会去释放RRC、RL、Iu等,回复CN RAB指配响应指示失败,按照CN新的指令去执行,业务肯定要失败的,一般来说,如果CN发现业务失败了,将会发起IU释放的流程。一旦RB配置失败,CS业务是不行了,如果是在RL RECFG COMMIT之前收到RB配置失败,RL恢复到原来的RL,RNC回复CN RAB 指配响应指示失败,由CN决定新的流程;如果是在RL RECFG COMMIT之后收到RB配置失败,因为RNC无法恢复原来的RL,因此所有的业务都失败了,RNC向CN回复RAB指配响应指示失败,同时释放所有的连接和承载。如果要在DCH上建PS业务,所有的连接和承载都得建立,如果RRC连接建立在DCH上,对于RRC、RL、RB配置失败的处理同CS一样,如果RRC连接建在CCH上时,其实处理还是一样的。注意一点:在PS业务释放的时候,CN发RAB指配,这时候需要去重新申请两个码道的资源去传信令,如果没有资源了,则异常释放,不会执行RL重配和RL删除了。

(6)在TD-SCDMA中,一个UE最多只有一个RRC连接,当执行硬切换时,最多可以有两条RL,但一般都只有一个RL(包括组合业务),多RAB,两个Iu连接(1CS+1PS),多RB。

(7)SRB呢从某种意义上说,SRB和RB是个孪生兄弟,SRB是信令RB,在建立RRC连接的时候,SRB就建立起来了,为了传递UE和UTRAN 之间的信令,而RB是用户面RB,只有在建立业务的时候,即需要传递用户面数据的时候才建立RB。在小区建立的时候,SRB0就已经建立了,传CCCH信令,SRB1-SRB4在RRC建立的时候建,传DCCH信令,SRB5以上都是业务RB,其实就是RB。

(8)相关的消息:

RRC连接相关消息:包括RRC连接请求、RRC连接建立(释放)、RRC连接建立(释放)完成,在这些消息中,主要有这些内容:

RB预存指示

UE信息

测量信息

SRB信息

传输信道信息

物理信道信息

无线资源信息

RL相关消息:RL建立、增加、重配置、删除等。

传输信道信息(包括MAC-D FLOW)

RL信息

RB相关消息:RB建立、释放、重配置

UE信息

CN信息

UTRAN移动性信息

RB信息

传输信道信息

物理信道信息

无线资源

RAB相关消息:RAB指配请求、RAB指配响应、RAB释放请求

RAB信息

Iu连接相关消息:Iu释放命令、Iu释放完成、Iu释放请求

RAB信息_

5AKA鉴权

AKA鉴权

目前IMS的鉴权的机制有“Sip Digest”、“AKA”、“CAVE-based AKA”三种。

在《中国电信IMS网络SIP协议总体技术要求》里对这三种方式的适用范围描述如下:?SIP Digest 鉴权适用于无ISIM 卡的移动和固定终端

?AKA 鉴权适用于具有ISIM 卡的移动和固定终端

?CAVE-based AKA 鉴权适用于具有R-UIM 卡的移动终端

在《中国电信IMS网络SIP IAD设备技术要求》里仅要求必须支持“Sip Digest”,其它方式没有特别说明。

“Sip Digest”机制目前我们已经实现了,考虑到设备已经开始支持插入SIM卡,所以当前需要实现“AKA”鉴权机制。

AKA机制是由IETF制定、并被3GPP采用,广泛用于3G无线网络的鉴权机制。IMS的鉴权机制沿用了这种机制的原理和核心算法,故称之为IMS-AKA机制。

IMS AKA 机制是对HTTP摘要认证机制的扩展,主要用于用户认证和会话密钥的分发,它的实现基于一个长期共享密钥(KEY)和一个序列号(SQN),它们仅在HSS与UE 中可见,由于HSS不与UE直接通信,而是由S-CSCF执行认证这程,因此它们不会将真实的KEY暴露给外界。

一、正常情况

1. 用户发起注册请求

用户在使用IMS服务之前必须向IMS网络进行注册,注册的目的是将用户的私有标识(IMPI)与用户想要注册的公有标识(IMPU)绑定。每个用户只有一个IMPI,而可拥有多个IMPU,每个IMPU对应相应的服务配置。(参见《IMS标识》小节)。

UE在初始的注册请求SIP REGISTER消息中发送它的IMPI,该IMPI对应我们当前设备的鉴权用户的配置。这个初始的REGISTER消息的主要头域和参数如下所示。

REGISTER sip:open-ims.test SIP/2.0

Authorization:Digestusername="ue@open-ims.test",

realm="open-ims.test",

nonce="",

uri="sip:open-ims.test",

response="",

algorithm=AKAv1-MD5

?由于3GPP AKA被映射到HTTP摘要机制,因此认证方案的值被设置为“Digest”

?username为用户的私有用户标识,将被S-CSCF和HSS用于识别用户并找到相应的AV

?“response”和“nonce”域的值在初始注册请求消息中都设置为空

?realmk和uri设置为用户的归属域

P-CSCF将这个REGISTER消息转发给I-CSCF,I-CSCF联系HSS,以选择为用户提供服务的S-CSCF,然后将REGISTER请求消息转发给选定的S-CSCF。当S-CSCF收到REGISTER 消息后,如果发现该用户还没有被认证,则S-CSCF向HSS发送多媒体认证请求(MAR)消息以请求认证数据。

1. HSS计算认证向量

HSS收到MAR消息之后,运行AKA算法,为该用户计算认证向量(AV),计算过程如下:首先产生最新的序列号SQN和一个不可预测的随机提问数(RAND)。然后HSS将根据它与该UE之间的共享密钥Key,以及刚刚产生的SQN和RAND来计算其他的参数,其原理如下图所示。

其中,各个参数的计算公式如下(⊕按位异或,||表示串接):

?计算消息认证码(MAC):MAC = F1K(SQN || RAND || AMF);

?计算期望的认证应答(XRES):XRES = F2K (RAND);

?计算保密性密钥(CK):CK = F3K (RAND);

?计算完整性密钥(IK):IK = F4K (RAND);

?匿名密钥(AK):AK = F5K (RAND);

?网络认证令牌(AUTN):AUTN = (SQN⊕AK )|| AMF || MAC;

?AV:AV=RAND||XRES||CK||IK||AUTN;

AK用来隐藏SQN,因为SQN可能会暴露用户的位置信息。如果不需要隐藏SQN,那么AK被设置为0。

1. 网络向用户提问

HSS通过上述的计算过程得到了一组AV,其中每个AV都是一个五元组(RAND, XRES,

AUTN, CK, IK),该认证五元组并不包括Key和SQN本身。然后,HSS将这些认证数据通过多媒体认证应答(MAA)消息发送给S-CSCF。

S-CSCF从HSS得到所需的安全相关的参数。这些参数使得S-CSCF可以在不需要知道共享密钥Key和SQN的情况下就可以执行认证过程。S-CSCF基于AV中的数据,通过401响应返回WWW-Authenticate消息。

SIP/2.0 401Unauthorized

WWW-Authenticate:Digest realm=” open-ims.test”,

nonce=ABDFER+FBDF4GDF45GGDF,

algorithm=AKAv1-MD5,

ik=”345345345345cbcvb”,

ck=”224234324cvvcbvbv”

?去除了XRES元素,S-CSCF保存在本地,用于后续终端把鉴权响应结果发送过来后,对比终端的合法性。

?其中,在nonce字段填入了将RAND和AUTN参数串接后进行Base64编码后的字符串。?在ik和ck字段加入完整性密钥和保密性密钥。

?在algorithm字段放入值“AKAv1-MD5”,表示使用的是3GPP AKA认证机制。

P-CSCF接收到S-CSCF返回的401应答消息后,在将其发往UE之前,将其中的完整性密钥IK和保密性密钥CK保存下来,并将它们从AV中删除掉(这两个元素属于AKA算法的附属产品,用于后期终端与P-CSCF之间实现安全机制的密钥使用,参见《安全机制协商》),然后将响应发往UE。

SIP/2.0 401Unauthorized

WWW-Authenticate:Digest realm=” open-ims.test”,

nonce=ABDFER+FBDF4GDF45GGDF,

algorithm=AKAv1-MD5

1. 用户认证网络身份

UE接收到网络返回的401应答消息后,进行AKA算法,执行以下工作:

?首先基于存储的共享密钥Key来校验网络认证令牌AUTN,如果AUTN校验成功,网络就被认证通过(即确认认证数据是从归属网络中发来的)。计算AKA参数的过程如下图片所示。UE中的认证服务模块通过随机数RAND计算出匿名密钥AK,然后使用匿名密钥AK来恢复序列号SQN,接着通过得到的序列号SQN、RAND和配置保存的认证管理域AMF来计算期望的消息认证码XMAC。将计算得到的期望的消息认证码XMAC和从网络认证令牌AUTN中取得的由HSS计算的消息认证码MAC相比较。如果这两个参数一致,那么用户认证网络身份成功,接着进行下面的步骤;如果不一致,

则用户认证网络身份失败,UE向网络发送不携带response字段的REGISTER消息,以此通知网络提问无效。

?如果用户认证网络身份成功,UE将接着检查序列号SQN是否在正确的范围之内(比较这次提问的序列号SQN是否比上次提问时使用的SQNi大)。如果SQN在正确的范围之内(即SQN >SQNi,将SQNi更新为SQN,并保存,以备下次使用),UE将会计算认证应答(RES)。如果SQN不大于SQNi,则认为本次提问的AV是不新鲜的,UE与网络失同步,则UE计算重同步参数AUTS,使用携带该重同步参数的REGISTER消息重新发起注册请求(参见(SQN同步失败情况))。

?如果UE确认SQN在正确的范围之内,则接着计算保密性密钥CK和完整性密钥IK,并将CK、IK进行保存,用于后继与P-CSCF之间实现安全机制的密钥使用,参见《安全机制协商》。

?最后,UE在发往S-CSCF的第二个REGISTER请求中返回认证挑战应答RES。

REGISTER sip:open-ims.test SIP/2.0

Authorization:Digestusername="ue@open-ims.test",

realm="open-ims.test",

nonce=" ABDFER+FBDF4GDF45GGDF ",

uri="sip:open-ims.test",

response="sfsdfrty6567567gjghtyu"

5) 网络认证用户身份

P-CSCF将这个携带认证应答的REGISTER消息转发给I-CSCF,I-CSCF重新查询HSS以发

现S-CSCF,然后将REGISTER消息转发给S-CSCF。当S-CSCF接收到REGISTER消息之后,进行解析并从认证头域Authorization中取出相应的参数:

?如果Authorization头域中的response字段为空,再检查重同步参数字段auts是否为空:如果AUTS参数不为空,说明UE检查出了SQN同步失败,S-CSCF使用这个重

同步参数AUTS重新向HSS请求认证数据,当下载认证数据成功后,再用新的认证向

量重新向UE提问。如果AUTS参数也为空,说明S-CSCF的提问无效,S-CSCF选

择下一个认证向量,重新用401消息进行提问。如果S-CSCF用完了所有的认证向量

后,用户仍然无法确认网络身份,S-CSCF认为本次认证失败,放弃本次认证过程,

并发送403Forbidden消息通知用户。《参见(SQN同步失败情况)》?如果Authorization头域中的response字段不为空,则S-CSCF取出其中的认证应答RES 参数,并将其和保存在S-CSCF中的认证应答XRES相比较。如果一致,S-CSCF就认为

用户回答提问正确,认证用户身份成功,允许用户接入网络,同时向UE回送200 OK

消息;如果不一致,S-CSCF就认为用户回答提问错误,认证用户身份失败,S-CSCF不

允许用户接入网络,那么S-CSCF应该发送403 Forbidden应答消息给UE,通知认证失

败,并且放弃本次认证过程。

二、SQN同步失败情况

每个终端为每一轮认证过程维护一个序列号,如果终端检测到超出了序列号码范围之外的认证请求,那么它就放弃该认证并向网络返回一个同步失败消息,一定程度上可以避免重放攻击。

完整AKA鉴权流程请参考上节《正常情况》,该小节仅描述涉及SQN同步失败情况下的一些关键处理点。

相关文档