IMS终端在获取非IMS业务时的认证系统、装置及方法转让专利

申请号 : CN200910238579.4

文献号 : CN102082769B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘利军杨波路晓明彭华熹王静

申请人 : 中国移动通信集团公司

摘要 :

一种IMS终端在获取非IMS业务时的系统、装置及方法,设置认证网关,IMS终端通过提供非IMS业务的AS将认证请求发送给认证网关;认证网关生成随机数,向HSS获取终端用户的鉴权数据,通过该AS向IMS终端发送生成的随机数;IMS终端根据随机数和自身保存的鉴权数据计算响应值,通过该AS转发给认证网关;认证网关根据自身生成的随机数和从HSS获取到的IMS终端的鉴权数据计算,计算得到值和接收的响应值比较,确定一致后,IMS终端的认证通过,完成认证,将认证通过结果发送给该AS;该AS和IMS终端建立连接,为IMS终端提供非IMS业务。保证IMS终端获取不同AS提供的非IMS业务时实现简单地且统一认证。

权利要求 :

1.一种IMS终端在获取非IMS业务时的认证系统,包括IMS和提供非IMS业务的应用服务器AS,其特征在于,还包括认证网关分别与IMS的归属签约用户服务器HSS及AS连接,其中,IMS系统中的HSS,用于给认证网关提供IMS终端的鉴权数据;

IMS系统中的IMS终端,用于向AS发起认证请求,接收AS返回的携带随机数的认证响应,根据携带的随机数和自身存储的鉴权数据计算得到响应值后发送给AS;从AS获取非IMS业务;

AS,用于接收到IMS终端发起的认证请求后,转发给认证网关,接收认证网关返回的携带随机数的认证响应,转发给IMS终端;从IMS终端接收到响应值后,发送给认证网关,接收认证网关发送的认证通过结果后与IMS终端建立连接,给IMS终端提供非IMS业务;

认证网关,用于从HSS获取IMS终端的鉴权数据;接收到AS转发的认证请求后,将生成的随机数携带在认证响应中发送给AS,从AS接收到响应值后,采用生成的随机数和从HSS获取的鉴权数据计算的值和从AS接收到的响应值进行比较,确认一致后认证通过,发送认证通过结果给AS。

2.如权利要求1所述的系统,其特征在于,

IMS终端,还用于生成第二随机数发送给AS,采用第二随机数和自身存储的鉴权数据计算的值和从AS接收到的第二响应值比较,确定一致后对AS认证通过;

AS,还用于将第二随机数转发给认证网关,将第二响应值发送给IMS终端;

认证网关,还用于根据第二随机数和从HSS获取的IMS终端的鉴权数据计算得到第二响应值,发送给AS。

3.如权利要求1或2所述的系统,其特征在于,当IMS终端为具有网络浏览器的终端时,所述认证网关,还用于生成会话标识SessionID发送给AS,由AS发送给IMS终端,存储在网络浏览器的Cookie中进行认证使用。

4.一种IMS终端在获取非IMS业务时的认证网关,其特征在于,包括:收发模块及鉴权模块,其中,收发模块,用于从HSS获取IMS终端的鉴权数据后发送给鉴权模块,接收IMS终端通过AS转发的认证请求,将生成的随机数携带在认证响应中通过AS发送给IMS终端;将接收到的IMS终端通过AS发送的响应值发送给鉴权模块,所述响应值是由IMS终端根据所述随机数和自身存储的鉴权数据计算得到;将从鉴权模块接收到的认证通过结果通过AS发送给IMS终端;

鉴权模块,用于根据所述生成的随机数和IMS终端的鉴权数据计算的值,和接收到的响应值进行比较,确认一致后认证通过,将认证通过结果发送给收发模块。

5.如权利要求4所述的认证网关,其特征在于,收发模块,还用于接收第二随机数并发送给鉴权模块,将从鉴权模块接收到的第二响应值,发送给AS;

鉴权模块,还用于根据第二随机数和从HSS获取的IMS终端的鉴权数据计算得到第二响应值,发送给收发模块。

6.如权利要求4或5所述的认证网关,其特征在于,

收发模块,用于在认证后,生成会话标识,发送给AS。

7.一种IMS终端在获取非IMS业务时的方法,其特征在于,在IMS设置认证网关,该方法包括:IMS终端通过提供非IMS业务的AS将认证请求发送给认证网关;

认证网关通过该AS向IMS终端发送生成的随机数;

IMS终端根据随机数和自身保存的鉴权数据计算响应值,通过该AS转发给认证网关;

认证网关根据自身生成的随机数和从HSS获取到的IMS终端的鉴权数据计算,计算得到的值和接收到的响应值比较,确定一致后,IMS终端的认证通过,完成认证,并将认证通过结果发送给该AS;

该AS接收到后,和IMS终端建立连接,为IMS终端提供非IMS业务。

8.如权利要求7所述的方法,其特征在于,该方法还包括:

IMS终端通过AS转发第二随机数给认证网关;

认证网关根据第二随机数和从HSS获取到的IMS终端的鉴权数据计算得到第二响应值,通过AS转发给IMS终端;

IMS终端接收到第二响应值后,与根据第二随机数和自身的鉴权数据计算的值比较,如果相一致,则确认认证AS通过,获取AS提供的非IMS业务。

9.如权利要求7或8所述的方法,其特征在于,当IMS终端上具有网络浏览器,通过网络浏览器获取非IMS业务时,在认证后,该方法还包括:在认证网关生成会话标识,通过该AS发送给该IMS终端;

该IMS终端所具有的网络浏览器通过该会话标识从该AS中获取AS所提供的非IMS业务。

10.如权利要求9所述的方法,其特征在于,所述会话标识加密发送;

所述IMS终端接收到加密的会话标识后进行解密得到会话标识。

11.如权利要求7或8所述的方法,其特征在于,认证网关从HSS获取IMS终端的鉴权数据时,携带IMS终端当前注册的S-CSCF信息,该S-CSCF保存在认证网关或者预先从HSS中获取。

12.如权利要求7或8所述的方法,其特征在于,该方法还包括:认证网关提供采用AS加密的IMS终端的鉴权数据给AS;

AS在下次认证时,使用该AS加密的IMS终端的鉴权数据对IMS终端进行认证。

说明书 :

IMS终端在获取非IMS业务时的认证系统、装置及方法

技术领域

[0001] 本发明涉及多媒体子系统(IMS)领域,特别涉及一种IMS终端在获取非IMS业务时的认证系统、装置及方法。

背景技术

[0002] 随着宽带网络的发展,移动通信系统不仅仅局限于传统的语音通信,而且可以结合音频、视频、图片和文本等多种媒体业务。多种媒体业务通过与呈现业务(presence)、短消息、网页(WEB)浏览、定位信息、推送业务(PUSH)和文件共享等数据业务的结合,可以满足用户终端的多种需求。
[0003] 在多种数据业务应用的推动下,3GPP以及3GPP2等标准组织都先后推出了IMS架构,目的是在移动通信系统中使用一种标准化开放结构实现多种多样的多媒体业务应用,提供给用户终端更多的选择和更丰富的感受。
[0004] 在3GPP版本5(R5,Release)阶段,引入了IMS,IMS叠加在分组域网络之上,由呼叫控制功能(CSCF)、媒体网关控制功能(MGCF)、媒体资源功能中心(MRFC),归属签约用户服务器(HSS)和边界网关控制功能(BGCF)等功能实体组成。其中CSCF又可以分为服务CSCF(S-CSCF)、代理CSCF(P-CSCF)和查询CSCF(I-CSCF)三个逻辑实体。S-CSCF是IMS的业务交换中心,执行会话控制,维持会话状态,负责管理IMS终端信息,产生计费信息等;P-CSCF是IMS终端接入IMS的接入点,完成IMS终端注册,负责服务质量(QoS)控制和安全管理等;I-CSCF负责IMS域之间的互通,管理S-CSCF的分配和选择,对外隐藏网络拓扑和配置,产生计费数据等。MGCF控制网关,实现IMS和其它网络的互通。MRFC提供媒体资源。
HSS存储IMS终端的签约数据、配置信息及IMS终端的鉴权数据等。BGCF用于提供和其他移动通信网络的通信控制。
[0005] 图1为现有技术中的IMS结构示意图,包括:IMS终端、P-CSCF、S-CSCF、I-CSCF、BGCF、MGCF、MRFC、HSS及媒体资源功能代理(MRFP),其中,
[0006] IMS终端接入P-SCCF,完成在IMS的注册、QoS控制和安全管理等,IMS终端还通过Ut接口和提供非IMS业务的应用服务器(AS)相连接,获取非IMS业务;P-CSCF分别与S-CSCF相连接及蜂窝移动通信系统(GPRS)相连接;S-CSCF分别和MRFC、MGCF、BGCF、I-CSCF、HSS及其他的IMS相连接,作为IMS的业务交互中心执行会话控制,维持会话状态,负责管理IMS终端信息,产生计费信息等。S-CSCF和提供IMS业务的AS通过ISC接口相连接,给IMS终端提供IMS业务;MGCF通过媒体网关(MGW)和公用交换电话网(PSTN)或电路域系统(CS)相连接,MRFC通过MRFP和GPRS网络相连接;BGCF有一个或多个,接入其他的IMS。HSS还具有接口,比如接口Sh和Si,可以使得提供IMS业务的AS获取到IMS终端的鉴权数据等。
[0007] 如图1所示,在IMS终端要从AS获取业务时,该AS可以为在提供IMS业务的AS(称为IMS AS),该AS也可以为在提供非IMS业务的AS(称为非IMS AS),有两种获取方式:
[0008] 1)经过IMS的核心功能实体,即S-CSCF后,通过接口ISC获取IMS业务;
[0009] 2)不经过IMS的核心功能实体,通过接口Ut直接获取非IMS业务。
[0010] 不管采用哪一种方式,都需要在获取IMS业务或非IMS业务之前对IMS终端进行认证后才获取。
[0011] 图2为现有技术IMS终端获取IMS业务的方法流程图,涉及的实体包括IMS终端、P-SCSF/S-CSCF、HSS和IMS AS,其中,当P-CSCF存在时,直接通过同时具有P-CSCF和S-CSCF功能的S-CSCF处理,如果存在P-CSCF时,则通过IMS终端当前所属的P-CSCF和S-CSCF交互,该方法的具体步骤为:
[0012] 步骤201、IMS终端登陆IMS,向P-SCSF/S-CSCF发起IMS注册和认证过程;
[0013] 步骤202、P-SCSF/S-CSCF和HSS交互,在HSS注册IMS终端登记状态;
[0014] 在本步骤中,在HSS存储了IMS终端的签约数据和配置信息;
[0015] 步骤203、IMS终端发起会话初始化协议(SIP)请求,携带IMS终端的用户标识;
[0016] 在本步骤中,IMS终端的用户标识携带在SIP头的“P-Preferred-Identity”;
[0017] 步骤204、P-SCSF接收到该SIP请求后,检验IMS终端的注册状态;如果IMS终端已经注册,则标识该用户标识经过认证;
[0018] 在本步骤中,标识该用户标识经过认证为采用“P-Asserted-Identity”替换SIP头的“P-Preferred-Identity”,在其中包含经过认证的用户标识;
[0019] IMS终端在注册时,就会在P-CSCF存储该IMS终端的用户标识,所以直接由P-CSCF认证;
[0020] P-CSCF通过S-CSCF向IMS AS转发修改后的SIP请求;
[0021] 步骤205、IMS AS接收到该修改后的SIP消息后,确认是否携带该用户标识经过认证的标识,如果是,则通过用户标识认证,向P-SCSF/S-CSCF回复认证结果;
[0022] 步骤206、P-SCSF/S-CSCF向IMS终端回复业务应用请求,IMS终端通过认证;
[0023] 步骤207、IMS终端和IMS AS直接进行交互,获取IMS AS提供的IMS业务。
[0024] 在该过程中,可以看出,是由P-CSCF替代IMS AS进行IMS终端的认证过程,而无需IMS AS完成对IMS终端的认证过程。
[0025] 图3为现有技术IMS终端获取非IMS业务的方法流程图,涉及的实体包括IMS终端和提供非IMS业务的AS,该方法的具体步骤为:
[0026] 步骤301、IMS终端向AS发起超文本传输协议(HTTP)请求;
[0027] 步骤302、AS回复未授权消息,携带随机数和IMS终端范围(realm);
[0028] 在本步骤中,随机数和realm携带在未授权消息的消息头中,其中,realm提示IMS终端要使用的用户名和密码,随机数为AS随机生成的;
[0029] 在本步骤中,未授权消息还可以携带摘要算法,比如MD5加密算法,也可以不携带,而预先和IMS终端协商好;
[0030] 步骤303、IMS终端接收到该消息后,根据该消息携带的用户名、密码及随机数按照设定的摘要算法计算得到响应值,携带在HTTP响应消息中发送给AS,该HTTP响应消息还携带IMS终端随机生成的随机数;
[0031] 步骤304、AS接收到该响应消息后,采用AS生成的随机数以及该IMS终端的用户名和密码采用设置的摘要算法计算得到的值,确定和该响应消息中携带的响应值一致,则完成对IMS终端认证;
[0032] 在该步骤中,AS还可以采用该消息携带的IMS终端随机生成的随机数以及该IMS终端的用户名和密码采用设置的认证算法计算得到第二响应值,通过200OK消息发送给IMS终端进行双向认证;
[0033] 步骤305、IMS终端接收到200OK消息后,采用IMS终端随机生成的随机数以及该IMS终端的用户名和密码采用设置的认证算法计算得到的值,确定和该消息携带的第二响应值一致,完成对AS的认证;
[0034] IMS终端向AS发送HTTP业务请求;
[0035] 步骤306、AS回复200OK消息,AS和IMS终端之间的认证完成,IMS终端和AS建立连接,获取AS提供的非IMS业务。
[0036] 该过程为IMS终端和提供非IMS业务的AS之间的双向认证,如果只实现对IMS终端的认证,在步骤203中,IMS终端不生成随机数。
[0037] 从图3所示的过程看出,在对IMS终端进行认证时,由于无法从IMS中获取到IMS终端的鉴权数据,所以需要AS和IMS终端之间进行直接认证,不同AS和IMS终端之间认证的方式也没有统一标准,图3只是一个AS和IMS终端之间认证的例子。对于IMS中的IMS终端来说,和提供非IMS业务的AS之间进行认证,采用的认证机制还可以为:用户名/密码认证机制、HTTP摘要(Digest)机制、预先分享关键字传输层安全(Pre-SharedKeyTLS)机制等。
[0038] 这种IMS终端和提供非IMS业务的AS认证过程比较复杂,需要提供非IMS业务的AS预先与IMS终端协商好认证机制,且存储相应IMS终端的鉴权数据,才能在IMS终端要获取AS提供的非IMS业务时,实现认证过程。

发明内容

[0039] 有鉴于此,本发明提供一种IMS终端在获取非IMS业务时的认证系统,该系统能够保证IMS终端在获取不同AS提供的非IMS业务时,实现简单地且统一认证,而无需一一和提供非IMS业务的AS协商认证机制。
[0040] 本发明还提供一种IMS终端在获取非IMS业务时的认证装置,该装置能够保证IMS终端在获取不同AS提供的非IMS业务时,实现简单地且统一认证,而无需一一和提供非IMS业务的AS协商认证机制。
[0041] 本发明还提供一种IMS终端在获取非IMS业务时的认证方法,该方法能够保证IMS终端在获取不同AS提供的非IMS业务时,实现简单地且统一认证,而无需一一和提供非IMS业务的AS协商认证机制。
[0042] 为达到上述目的,本发明实施例的技术方案具体是这样实现的:
[0043] 一种IMS终端在获取非IMS业务时的认证系统,包括IMS和提供非IMS业务的应用服务器AS,还包括认证网关,其中,
[0044] IMS中的HSS,用于给认证网关提供IMS终端的鉴权数据;
[0045] IMS中的IMS终端,用于向AS发起认证请求,根据AS返回的认证响应携带的随机数和自身存储的鉴权数据计算得到响应值后发送给AS;从AS获取非IMS业务;
[0046] AS,用于将认证请求转发给认证网关,将认证网关返回的携带随机数的认证响应转发给IMS终端,将IMS终端发送的响应值转发给认证网关,接收认证网关发送的认证通过结果后与IMS终端建立连接,给IMS终端提供非IMS业务;
[0047] 认证网关,用于从HSS获取IMS终端的鉴权数据;接收AS转发的认证请求后,将生成的随机数携带在认证响应中发送给AS,从AS接收响应值后,采用生成的随机数和从HSS获取的鉴权数据计算的值与从AS接收的响应值进行比较,确认一致后认证通过,发送认证通过结果给AS。
[0048] 一种IMS终端在获取非IMS业务时的IMS终端,包括:收发模块、计算模块及存储模块,其中,
[0049] 收发模块,用于向AS发起认证请求,将从AS接收的携带随机数认证响应发送给计算模块;从计算模块接收响应值发送给AS;从AS获取非IMS业务;
[0050] 计算模块,用于根据随机数和从存储模块获取的IMS终端的鉴权数据计算得到响应值后发送给收发模块;
[0051] 存储模块,用于存储IMS终端的鉴权数据。
[0052] 一种IMS终端在获取非IMS业务时的认证网关,包括:收发模块及鉴权模块,其中,[0053] 收发模块,用于从HSS获取IMS终端的鉴权数据后发送给鉴权模块,接收AS转发的认证请求,将鉴权数据中的随机数携带在认证响应中发送给AS;将从AS接收到的响应值发送给鉴权模块,将从鉴权模块接收到的鉴权通过结果发送给AS;
[0054] 鉴权模块,用于根据从收发模块接收的随机数和IMS终端的鉴权数据计算的值,与接收到的响应值进行比较,确认一致后认证通过,将认证通过结果发送给收发模块。
[0055] 一种IMS终端在获取非IMS业务时的方法,设置认证网关,该方法包括:
[0056] IMS终端通过提供非IMS业务的AS将认证请求发送给认证网关;
[0057] 认证网关通过该AS向IMS终端发送生成的随机数;
[0058] IMS终端根据随机数和自身保存的鉴权数据计算响应值,通过该AS转发给认证网关;
[0059] 认证网关根据自身生成的随机数和从HSS获取到的IMS终端的鉴权数据计算,计算得到的值与接收到的响应值比较,确定一致后,IMS终端的认证通过,完成认证,并将认证通过结果发送给该AS;
[0060] 该AS和IMS终端建立连接,为IMS终端提供非IMS业务。
[0061] 由上述技术方案可见,本发明在IMS中,设置了认证网关(AUG),该认证网关分别与HSS和AS进行信息交互,从HSS获取用于认证IMS终端的鉴权数据后,替代AS对IMS终端进行认证,将认证通过结果提供给AS,再由AS根据认证通过结果确定给IMS终端提供非IMS业务。因此,本发明提供的系统、装置及方法实现了提供非IMS业务的不同AS对IMS终端简单且统一地认证,IMS终端无需一一和提供非IMS业务的AS协商认证机制,认证易于实现。

附图说明

[0062] 图1为现有技术中的IMS结构示意图;
[0063] 图2为现有技术IMS终端获取IMS业务的方法流程图;
[0064] 图3为现有技术IMS终端获取非IMS业务的方法流程图;
[0065] 图4为本发明提供的IMS终端在获取非IMS业务时的认证系统;
[0066] 图5为本发明提供的IMS终端结构示意图;
[0067] 图6为本发明提供的认证网关结构示意图;
[0068] 图7为本发明提供的IMS终端在获取非IMS业务时的认证方法流程图;
[0069] 图8为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法流程图;
[0070] 图9为本发明提供的IMS终端在获取非IMS业务时的认证方法实施例一流程图;
[0071] 图10为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法实施例一流程图;
[0072] 图11为本发明提供的本发明提供的IMS终端在获取非IMS业务时的认证方法实施例二流程图;
[0073] 图12为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法实施例二流程图。

具体实施方式

[0074] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
[0075] 在现有技术中,IMS终端获取非IMS业务时,就需要和非IMS业务的AS建立连接。在建立连接之前,该AS需要对IMS终端进行认证。由于IMS终端直接通过Ut接口与AS交互,不经过IMS的核心网,所以无法按照图1的过程由IMS的核心网替代AS对终端进行认证。而IMS终端直接和AS之间认证,则需要预先在两者之间预先协商认证机制后再认证,对于一个IMS终端来说,其需要和不同的AS认证,以获取不同AS所提供的不同非IMS业务,这就需要一一和不同AS之间预先协商认证机制后再认证,且在认证时,不同AS都保存有IMS终端的鉴权数据,这会造成IMS终端的鉴权数据泄露,而导致不安全性。
[0076] 因此,为了解决上述问题,本发明在IMS中增加认证网关,该认证网关分别与HSS和提供非IMS业务的AS进行信息交互,从HSS获取用于认证IMS终端的鉴权数据,替代AS对IMS终端进行认证后,将认证通过结果提供给AS,再由AS根据认证通过结果确定给IMS终端提供非IMS业务。这样,对于提供非IMS业务的不同AS,在对IMS终端进行认证时,可以由该认证网关替代执行,从而实现了提供非IMS业务的不同AS对IMS终端简单且统一地认证,而IMS终端无需一一和提供非IMS业务的AS协商认证机制,该认证过程易于实现。
[0077] 另外,由于IMS终端的鉴权数据保存在认证网关或者由认证网关到HSS中获取,而不是保存在所有具有IMS终端要获取非IMS业务的AS中,所以不会造成IMS终端的鉴权数据泄露,提高了认证的可靠性以及后续获取非IMS业务的安全性。
[0078] 以下对本发明提供的系统、装置及方法进行详细说明。
[0079] 图4为本发明提供的IMS终端在获取非IMS业务时的认证系统,该系统包括图1所示的IMS、认证网关及AS,认证网关分别与IMS的HSS及提供非IMS业务的AS进行交互,认证网关和HSS之间的接口为接口Sh,可以采用直径(Diameter)协议,和AS之间的接口为非SIP协议,比如HTTP协议,也可以通过互联网相连接,其中,
[0080] IMS中的HSS,用于给认证网关提供IMS终端的鉴权数据;
[0081] IMS中的IMS终端,用于向AS发起认证请求,根据AS返回的认证响应携带的随机数和自身存储的鉴权数据计算得到响应值后发送给AS;从AS获取非IMS业务;
[0082] AS,用于将认证请求转发给认证网关,将认证网关返回的携带随机数的认证响应转发给IMS终端,将IMS终端发送的响应值转发给认证网关,接收认证网关发送的认证通过结果后与IMS终端建立连接,给IMS终端提供非IMS业务;
[0083] 认证网关,用于从HSS获取IMS终端的鉴权数据;接收AS转发的认证请求后,将生成的随机数携带在认证响应中发送给AS,从AS接收响应值后,采用生成的随机数和从HSS获取的鉴权数据计算的值与从AS接收的响应值进行比较,确认一致后认证通过,发送认证通过结果给AS。
[0084] 上述过程为对IMS终端的单向认证,当然,也可以实现双向认证,这时,[0085] IMS终端,还用于生成第二随机数发送给AS,采用第二随机数和自身存储的鉴权数据计算的值和从AS接收到的第二响应值比较,确定一致后对AS认证通过;
[0086] AS,还用于将第二随机数转发给认证网关,将第二响应值发送给IMS终端;
[0087] 认证网关,还用于根据第二随机数和从HSS获取的IMS终端的鉴权数据计算得到第二响应值,发送给AS。
[0088] 在本发明提供的系统中,当IMS终端为具有网络浏览器的终端时,在认证过程中,认证网关还生成会话标识(SessionID),发送给AS,由AS发送给IMS终端,存储在网络浏览器的Cookie中,在IMS终端通过网络浏览器获取非IMS业务时,直接获取即可,而无需在采用网络浏览器时再次填写。
[0089] 图5为本发明提供的IMS终端结构示意图,包括:收发模块、计算模块及存储模块,其中,
[0090] 收发模块,用于向AS发起认证请,将从AS接收的携带随机数认证响应发送给计算模块;从计算模块接收响应值发送给AS;从AS获取非IMS业务;
[0091] 计算模块,用于根据随机数和从存储模块获取的IMS终端的鉴权数据计算得到响应值后发送给收发模块;
[0092] 存储模块,用于存储IMS终端的鉴权数据。
[0093] 在该IMS终端中,还包括:
[0094] 收发模块,还用于生成第二随机数发送给AS,将第二随机数发送给计算模块;
[0095] 计算模块,还用于采用第二随机数和自身存储的鉴权数据计算的值和从AS接收到的第二响应值比较,确定一致后对AS认证通过。
[0096] 在该IMS终端中,还包括:
[0097] 收发模块,用于接收会话标识,在采用浏览器访问AS时,直接采用会话标识填写。
[0098] 图6为本发明提供的认证网关结构示意图,包括:收发模块及鉴权模块,其中,[0099] 收发模块,用于从HSS获取IMS终端的鉴权数据后发送给鉴权模块,接收AS转发的认证请求,将鉴权数据中的随机数携带在认证响应中发送给AS;将从AS接收到的响应值发送给鉴权模块,将从鉴权模块接收到的鉴权通过结果发送给AS;
[0100] 鉴权模块,用于根据从收发模块接收的随机数和IMS终端的鉴权数据计算的值,与接收到的响应值进行比较,确认一致后认证通过,将认证通过结果发送给收发模块。
[0101] 认证网关,还包括:
[0102] 收发模块,还用于接收第二随机数并发送给鉴权模块,将从鉴权模块接收到的第二响应值,发送给AS;
[0103] 鉴权模块,还用于根据第二随机数和从HSS获取的IMS终端的鉴权数据计算得到第二响应值,发送给收发模块。
[0104] 认证网关,还包括:
[0105] 收发模块,用于在认证后,生成会话标识,发送给AS。
[0106] 图7为本发明提供的IMS终端在获取非IMS业务时的认证方法流程图,设置认证网关分别与HSS和提供非IMS业务的AS交互,其具体步骤为:
[0107] 步骤701、IMS终端向提供非IMS业务的AS发起认证请求,AS将该认证请求转发给认证网关;
[0108] 步骤702、认证网关接收到认证请求后,认证网关向HSS获取IMS终端的鉴权数据;
[0109] 在本步骤中,认证请求携带有IMS终端的用户标识,认证网关到HSS获取IMS的鉴权数据时,根据用户标识就可以获取到;
[0110] 步骤703、HSS向认证网关返回IMS终端的鉴权数据后,由认证网关存储,认证网关向AS发送生成的随机数;
[0111] 在本步骤中,并不将鉴权数据发送给AS,防止在认证IMS终端时被窃听或假冒鉴权,保证安全性;
[0112] 步骤704、AS向IMS终端发送随机数,IMS终端根据随机数和自身保存的鉴权数据计算响应值,发送给AS,由AS转发给认证网关;
[0113] 计算方法为预先设定,和认证网关设置的计算方法相同,比如都可以采用MD5认证方法;
[0114] 步骤705、认证网关根据自身生成的随机数和IMS终端的鉴权数据,计算得到的值和接收到的响应值比较,确定一致后,IMS终端的认证通过,完成认证,并将认证通过结果发送给AS;
[0115] 在该步骤中,计算方法为预先设定,和IMS终端计算方法相同;
[0116] 在本步骤中,如果不一致,则认证失败;
[0117] 步骤706、AS接收到后,和IMS终端建立连接,为IMS终端提供非IMS业务。
[0118] 在该过程中,IMS终端还可以对AS进行认证,也就是发送第二随机数给AS,由AS转发给认证网关,认证网关根据第二随机数和IMS终端的鉴权数据计算得到第二响应值,通过AS转发给IMS终端,IMS终端接收到后,与根据第二随机数和自身的鉴权数据计算的值比较,相一致,则确认认证AS通过,获取AS提供的非IMS业务。
[0119] 对于IMS终端上具有网络浏览器,通过网络浏览器获取非IMS业务时,由于网络浏览器在认证过程中无法自动获取到IMS终端的鉴权数据,需要由用户填写,这样在用户使用时感受不好,因此,本发明也对这种IMS终端的认证过程进行了更改。
[0120] 图8为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法流程图,其具体步骤为:
[0121] 步骤801、具有网络浏览器的IMS终端启动认证过程;
[0122] 步骤802、在按照图7所述的步骤701~步骤705完成对该IMS终端的认证后,由认证网关生成会话标识(SessionID),通过AS发送给该IMS终端;
[0123] 在发送过程中,为了保证安全性,可以通过该IMS终端的鉴权数据加密发送,该IMS终端接收到后再解密;
[0124] 步骤803、该IMS终端通过该SessionID从AS中获取AS所提供的非IMS业务,[0125] 也就是将SessionID保存在网络浏览器的Cookie中,在访问AS时,就可以直接从Cookie中得到进行填写后,获取AS提供非IMS业务。
[0126] 在本步骤中,AS通过SessionID识别该IMS终端。
[0127] 以下对上述两个方法举例进行详细说明。
[0128] 图9为本发明提供的IMS终端在获取非IMS业务时的认证方法实施例一流程图,设置认证网关分别与HSS和提供非IMS业务的AS交互,在该方案中,假设IMS终端的鉴权数据为H(A1),其具体步骤为:
[0129] 步骤901、IMS终端登陆IMS,完成现有的IMS注册和认证过程;
[0130] 这是现有技术,这里不再累述;
[0131] 步骤902、IMS终端向提供非IMS业务的AS2发送认证请求;
[0132] 在本步骤中,认证请求为HTTP请求,携带网际协议多媒体公共标识(IMPU),该IMPU在IMS中唯一标识IMS终端;
[0133] 步骤903、AS2将接收到认证请求转发给认证网关,该认证请求携带IMPU;
[0134] 步骤904、认证网关接收到该请求后,根据携带的IMPU通过接口Sh从HSS获取IMS终端的鉴权数据;
[0135] 在本步骤中,获取的鉴权数据为H(A1);
[0136] 步骤905、HSS将H(A1)发送给认证网关;
[0137] 步骤906、认证网关保存H(A1),将生成的随机数携带在认证响应中发送给AS2;
[0138] 步骤907、AS2发起HTTP Digest双向认证;
[0139] 步骤908、AS2向IMS终端发送HTTP认证响应,携带随机数;
[0140] 步骤909、IMS终端根据IMPU和由IMS终端的密码计算出H(A1)参数,根据H(A1)参数和随机数计算得到响应值;
[0141] 步骤910、IMS终端向AS2返回响应值及IMS终端生成的第二随机数;
[0142] 步骤911、AS2转发该响应值及IMS终端生成的第二随机数给认证网关,认证网关基于IMS终端的鉴权数据和自身生成的随机数计算得到的值和响应值比较,相一致,通过认证;根据第二随机数和H(A1)计算得到第二响应值;
[0143] 步骤912、认证网关将得到的第二响应值携带在认证通过结果中发送给AS2;
[0144] 步骤913、AS2将该认证通过结果发送给IMS终端,IMS终端根据第二随机数以及IMPU参数和由IMS终端的密码计算出H(A1)计算得到的值和第二响应值比较,相一致后,通过认证;
[0145] 在本步骤中,该认证通过结果通过200OK消息发送;
[0146] 步骤914、IMS终端和AS2之间建立连接,IMS终端从AS2获取非IMS业务。
[0147] 图10为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法实施例一流程图,其具体步骤为:
[0148] 步骤1001、IMS终端登陆IMS,完成现有的IMS注册和认证过程;
[0149] 步骤1002、IMS终端向提供非IMS业务的AS2发送认证请求;
[0150] 在本步骤中,认证请求为HTTP请求,携带参数IMPU;
[0151] 步骤1003、AS2将接收到认证请求转发给认证网关,该认证请求携带IMPU;
[0152] 步骤1004、认证网关接收到该请求后,根据携带的IMPU参数通过Sh接口从HSS获取IMS终端的鉴权数据;
[0153] 步骤1005、HSS将IMS终端的鉴权数据发送给认证网关;
[0154] 步骤1006、认证网关保存IMS终端的鉴权数据,将生成的随机数携带在认证响应中发送给AS2;
[0155] 步骤1007、AS2发起HTTP Digest双向认证;
[0156] 步骤1008、AS2向IMS终端发送HTTP认证响应,携带随机数;
[0157] 步骤1009、IMS终端根据IMPU参数和由IMS终端的密码计算出H(A1),根据H(A1)和随机数计算得到响应值;
[0158] 步骤1010、IMS终端向AS2返回响应值及IMS终端生成的第二随机数;
[0159] 步骤1011、AS2转发该响应值及IMS终端生成的第二随机数给认证网关,认证网关基于IMS终端的鉴权数据和自身生成的随机数计算得到的值和响应值比较,相一致,通过认证;根据第二随机数和IMS终端的鉴权数据计算得到第二响应值;认证网关生成SessionID,采用H(A1)加密后,即EH(A1)(SessionID);
[0160] 步骤1012、认证网关将得到的第二响应值、SessionID以及EH(A1)(SessionID)携带在认证通过结果中发送给AS2;
[0161] 步骤1013、AS2将第二响应值以及EH(A1)(SessionID)携带在认证通过结果中发送给IMS终端;在自身保存IMPU和SessionID的对应关系;
[0162] IMS终端根据第二随机数以及IMPU参数和由IMS终端的密码计算出H(A1)参数计算得到的值和第二响应值比较,相一致后,通过认证,采用H(A1)解密EH(A1)(SessionID),得到SessionID;
[0163] IMS终端以SessionID和IMPU作为统一资源定位(URL)参数启动网络浏览器,向AS2发送HTTP请求,携带IMPU和SessionID;
[0164] 在本步骤中,该认证通过结果通过200OK消息发送;
[0165] 步骤1014、AS2接收到该HTTP请求后,根据保存的对应关系对携带IMPU和SessionID进行认证,如果认证通过,删除该条所保存的对应关系,防止重放攻击;
[0166] 步骤1015、AS2在对应该IMS终端所具有的浏览器的Cookie中采用IMPU和SessionID标识该IMS终端;
[0167] 在本步骤后,该IMS终端在运行浏览器时,直接请求AS2通过Cookie认证,无需再次进行上述步骤的认证了;
[0168] 步骤1016、AS2和该IMS终端建立连接,为该IMS终端提供非IMS业务。
[0169] 在上述两个过程中,由于AS有可能处于非信任域,而认证网关为IMS中的网元,为了保证认证网关的安全性,在AUG和AS之间,可以采用建立的传输层安全/互联网协议安全(TLS/IPSec)隧道的方式进行信息交互,保证安全性。
[0170] 在本发明中,当进行了如图9的认证后,还可以由认证网关将IMS终端的鉴权数据H(A1)加密,比如和AS2的域名计算,得到加密值H(A1)’,然后发送给AS2,AS2采用该加密值H(A1)’和IMS终端之间进行认证,从而增强了AS的功能。以下以一般的IMS终端和具有浏览器的IMS终端分别举例说明这个方案。
[0171] 图11为本发明提供的本发明提供的IMS终端在获取非IMS业务时的认证方法实施例二流程图,其具体步骤为:
[0172] 步骤1101、IMS终端登陆IMS,完成现有的IMS注册和认证过程;
[0173] 步骤1102、IMS终端向提供非IMS业务的AS2发送认证请求;
[0174] 在本步骤中,认证请求为HTTP请求,携带IMPU;
[0175] 步骤1103、AS2判断是否保存有IMPU对应的H(A1)’,如果有,则直接生成随机数发送给IMS终端,和IMS终端之间完成HTTP digest认证过程(这个过程和现有技术相同,这里不再累述);如果没有,则AS2将接收到认证请求转发给认证网关,该认证请求携带IMPU;
[0176] 步骤1104、认证网关接收到该请求后,根据携带的IMPU参数通过Sh接口从HSS获取IMS终端的鉴权数据;
[0177] 整个的获取过程为:认证网关向HSS发送用户位置信息查询(LIR)消息,以查询IMPU当前注册的S-CSCF的全称域名(FQDN);
[0178] HSS向认证网关发送LIA消息;
[0179] 认证网关对HSS返回的LIA消息进行判断:如果IMPU为通配IMPU,则向AS2发送失败应答,如果IMPU对应的IMS终端未注册到IMS,则向AS2返回失败应答,如果IMPU对应的IMS终端已经成功注册,认证网关从LIA消息的Server-Name AVP中获取为IMS终端注册的S-CSCF的FQDN;
[0180] 认证网关根据IMPU和IMS私有用户标识(IMPI)对应规则导出IMS终端的IMPI;
[0181] 认证网关将携带IMPU、IMPI和FQDN为参数向HSS发送多媒体认证请求消息(MAR);
[0182] HSS返回多媒体认证响应(MAA中文解释Multimedia Auth Answer,)消息,携带IMS终端的鉴权数据H(A1);
[0183] 步骤1105、认证网关保存IMS终端的鉴权数据,将生成的随机数携带在认证响应中发送给AS2;
[0184] 在本步骤中,认证响应为HTTP 401 Unauthentication应答;
[0185] 步骤1106、AS2向IMS终端发送HTTP认证响应,携带随机数;
[0186] 在本步骤中,该消息为HTTP401消息;
[0187] 步骤1107、IMS终端根据IMPU参数和由IMS终端的密码计算出H(A1),根据H(A1)和随机数计算得到响应值;
[0188] 在本步骤中,IMS终端根据保存的在IMS域密码及AS的FQDNAS采用MD5加密算法计算H(A1)’,然后根据H(A1)’和随机数计算得到响应值;
[0189] 步骤1108、IMS终端向AS2返回响应值及IMS终端生成的第二随机数;
[0190] 步骤1109、AS2转发该响应值及IMS终端生成的第二随机数给认证网关,认证网关基于IMS终端的鉴权数据和自身生成的随机数计算得到的值和响应值比较,相一致,通过认证;根据第二随机数和IMS终端的鉴权数据计算得到第二响应值;
[0191] 在本步骤中,认证网关计算值的方法和IMS终端的方式一致;
[0192] 在本步骤中,认证网关还根据保存的在IMS域密码及AS的FQDNAS采用MD5加密算法计算H(A1)’;
[0193] 步骤1110、认证网关将得到的第二响应值以及H(A1)’携带在认证通过结果中发送给AS2;
[0194] 步骤1112、AS2对应IMS终端的IMPU保存H(A1)’,将携带第二响应值的认证通过结果发送给IMS终端,IMS终端根据第二随机数以及IMPU参数和由IMS终端的密码计算出H(A1)参数计算得到的值和第二响应值比较,相一致后,通过认证;
[0195] 在该步骤中,还包括:将H(A1)’对应IMS终端的Cookie设置;
[0196] 在本步骤中,该认证通过结果通过200OK消息发送;
[0197] 步骤1113、IMS终端和AS2之间建立连接,IMS终端从AS2获取非IMS业务,在IMS终端后续访问AS2时,将携带该Cookie;
[0198] 步骤1114、当该Cookie失效后,当IMS终端访问AS2时,IMS2终端之间和AS2通过H(A1)’认证,不需要认证网关参与,节省认证的步骤及时间。
[0199] 在该过程中,认证网关和HSS之间除了接口sh外,还采用了Cx接口,用于查询IMS终端当前注册的S-CSCF的FQDN,对于认证网关和HSS之间采用Cx接口时,步骤1107中的AS的FQDNAS为IMS终端当前的S-CSCF,对于AUG和Hss之间采用Zh接口时,步骤1107中的AS可以直接采用认证网关的FQDN。
[0200] 图12为本发明提供的具有网络浏览器的IMS终端在获取非IMS业务时的认证方法实施例二流程图,其具体步骤为:
[0201] 步骤1201、IMS终端登陆IMS,完成现有的IMS注册和认证过程;
[0202] 步骤1202、IMS终端向提供非IMS业务的AS2发送认证请求;
[0203] 在本步骤中,认证请求为HTTP请求,携带IMPU;
[0204] 步骤1203、AS2判断是否保存有IMPU对应的H(A1)’,如果有,则直接生成随机数发送给IMS终端,和IMS终端之间完成HTTP digest认证过程(这个过程和现有技术相同,这里不再累述);如果没有,则AS2将接收到认证请求转发给认证网关,该认证请求携带IMPU;
[0205] 步骤1204、认证网关接收到该请求后,根据携带的IMPU参数通过Sh接口从HSS获取IMS终端的鉴权数据;
[0206] 整个的获取过程为:认证网关向HSS发送LIR消息,以查询IMPU当前注册的S-CSCF的全称域名(FQDN);
[0207] HSS向认证网关发送LIA消息;
[0208] 认证网关对HSS返回的LIA消息进行判断:如果IMPU为通配IMPU,则向AS2发送失败应答,如果IMPU对应的IMS终端未注册到IMS,则向AS2返回失败应答,如果IMPU对应的IMS终端已经成功注册,认证网关从LIA消息的Server-Name AVP中获取为IMS终端注册的S-CSCF的FQDN;
[0209] 认证网关根据IMPU和IMPI对应规则导出IMS终端的IMPI;
[0210] 认证网关将携带IMPU、IMPI和FQDN为参数向HSS发送MAR消息;
[0211] HSS返回MAA响应消息,携带IMS终端的鉴权数据H(A1);
[0212] 步骤1205、认证网关保存IMS终端的鉴权数据,将生成的随机数携带在认证响应中发送给AS2;
[0213] 在本步骤中,认证响应为HTTP 401 Unauthentication应答;
[0214] 步骤1206、AS2向IMS终端发送HTTP认证响应,携带随机数;
[0215] 在本步骤中,该消息为HTTP401消息;
[0216] 步骤1207、IMS终端根据IMPU参数和由IMS终端的密码计算出H(A1),根据H(A1)和随机数计算得到响应值;
[0217] 在本步骤中,IMS终端根据保存的在IMS域密码及AS的FQDNAS采用MD5加密算法计算H(A1)’,然后根据H(A1)’和随机数计算得到响应值;
[0218] 步骤1208、IMS终端向AS2返回响应值及IMS终端生成的第二随机数;
[0219] 步骤1209、AS2转发该响应值及IMS终端生成的第二随机数给认证网关,认证网关基于IMS终端的鉴权数据和自身生成的随机数计算得到的值和响应值比较,相一致,通过认证;根据第二随机数和IMS终端的鉴权数据计算得到第二响应值;
[0220] 在本步骤中,认证网关还生成SessionID作为AS2和IMS终端具有的网络浏览器交互一次的会话标识,采用H(A1)加密后,即EH(A1)(SessionID);
[0221] 在本步骤中,认证网关计算值的方法和IMS终端的方式一致;
[0222] 步骤1210、认证网关将得到的第二响应值、H(A1)’、SessionID及EH(A1)(SessionID)携带在认证通过结果中发送给AS2;
[0223] 步骤1211、AS2对应IMS终端的IMPU保存H(A1)’,将携带第二响应值和EH(A1)(SessionID)的认证通过结果发送给IMS终端,IMS终端根据第二随机数以及IMPU参数和由IMS终端的密码计算出H(A1)参数计算得到的值和第二响应值比较,相一致后,通过认证;IMS终端解密EH(A1)(SessionID),得到SessionID;
[0224] 在该步骤中,还包括:将H(A1)’对应IMS终端的Cookie设置;
[0225] 在本步骤中,该认证通过结果通过200OK消息发送;
[0226] 在该步骤中,AS2还保存IMPU和SessionID的对应关系;
[0227] 步骤1212、IMS终端以SessionID和IMPU作为URL参数启动网络浏览器,向AS2发送HTTP请求,携带IMPU和SessionID;
[0228] 在本步骤中,该认证通过结果通过200OK消息发送;
[0229] 步骤1213、AS2接收到该HTTP请求后,根据保存的对应关系对携带IMPU和SessionID进行认证,如果认证通过,删除该条所保存的对应关系,防止重放攻击;
[0230] 步骤1214、AS2在对应该IMS终端所具有的浏览器的Cookie中采用IMPU和SessionID标识该IMS终端;
[0231] 在本步骤后,该IMS终端在运行浏览器时,直接请求AS2通过Cookie认证,无需再次进行上述步骤的认证了;
[0232] 步骤1215、AS2和该IMS终端建立连接,为该IMS终端提供非IMS业务。
[0233] 步骤1216、当该Cookie失效后,当IMS终端访问AS2时,IMS2终端之间和AS2通过H(A1)’认证。
[0234] 在上述两个实施例中,在IMS终端从HSS获取IMS终端的鉴权数据时,当HSS接到认证网关发送的MAR请求消息后,会比较其中的Server-name所指明的S-CSCF是否与其中已保存的相同,如果不同则会触发对IMS终端当前服务的S-CSCF的一个去注册过程,为了避免该问题,本发明提供的方法有两种解决方式:
[0235] 方式一,在认证网关上配置IMS终端的IMPU和S-CSCF之间的对应关系,认证网关在转发该MAR认证请求时,携带S-CSCF信息;
[0236] 方式二,认证网关在接收到AS2发送的认证请求时,先向HSS发送LIR请求获取IMS终端当前服务的S-CSCF,再在MAR请求中携带S-CSCF信息。
[0237] 在本发明中,IMS终端在第一次经过认证后,认证网关保存了IMS终端的鉴权数据和随机数,在下次认证时,可以重新使用并认证。保存时可以定期更新。
[0238] 采用本发明提供的系统、装置及方法,提供了对IMS终端和不同AS之间的统一认证平台,降低了获取非IMS业务时的复杂度,改进用户使用感受;为IMS终端提供非IMS业务的AS不具有IMS终端的鉴权数据,减少了AS的认证过程和数据维护负担;设置的认证网关在认证时,不将IMS终端的鉴权数据下发到AS上,防止了篡改、窃听及虚假鉴权;具有网络浏览器的IMS终端在认证过程中,采用SessionID进行加密传输,防止SessionID被篡改,并通过对SessionID传递以及存储关系的处理,防止重放攻击。
[0239] 以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。