软件终端接入ip多媒体子系统的装置及方法

文档序号:7627666阅读:128来源:国知局
专利名称:软件终端接入ip多媒体子系统的装置及方法
技术领域
本发明涉及一种软件终端接入IP多媒体子系统的装置及方法,特别是一种将不支持通用用户识别模块及IP多媒体服务身份模块应用的软件终端通过模拟IP多媒体服务身份模块应用的数据,完成IP多媒体子系统域认证,使该软件终端接入IP多媒体子系统的装置及方法。
背景技术
IP多媒体子系统(IP Multimedia Subsystem,简称IMS)是第三代伙伴组织计划(Third Generation Partnership Projects,简称3GPP)在Release5版本标准中提出的支持IP多媒体业务的子系统。IMS基本出发点是将蜂窝移动通信网技术和Internet技术有机结合,建立一个基于分组网络向用户提供固定和移动语音、视频、数据和多媒体业务的,与接入网络无关的统一业务平台。IMS最大限度的重用了Internet技术和协议,继承了蜂窝移动通信系统特有的网络技术,并充分借鉴软交换网络技术,采用开放式业务提供结构,为移动通信构建了提供IP多媒体业务的统一的体系架构和基础设施。
作为下一代移动网、固定网和Internet融合的基础,IMS的一大特点是接入无关性。IMS将支持2G、3G、WLAN、LAN、宽带xDSL等多种接入方式。IMS认证独立于分组交换(Packet Switched,简称PS)域的认证,用户使用IMS业务时,终端需要先进行PS域的认证,再进行IMS域的认证,两次认证均采用3GPP定义的认证和密钥协商(Authentication and key agreement,简称AKA)认证机制。在3G接入方式下,移动终端需要使用集成了IP多媒体服务身份模块(IP Multimedia Services Identity Module,简称ISIM)应用的通用集成电路卡(Universal Integrated Circuit Card,简称UICC),为认证过程提供基本数据,以及按照各种算法计算各种参数的值。
AKA是3GPP定义的认证机制,基于存储在终端USIM/ISIM应用和网络例的共享密钥,通过挑战/响应的流程完成用户和网络的双向认证。AKA本身用于移动终端到网络PS域的接入认证,在3GPP R5引入了IMS域后,亦采用AKA认证技术。
移动终端接入IMS的第一次认证执行以下过程当移动终端接入GPRS网络时,会发送附着请求到服务GPRS支持节点(Serving GPRS Supporting Node,简称SGSN),从而触发GRPS认证。移动终端和SGSN之间采用GPRS移动性管理协议(GPRS Mobility Management,简称GMM),SGSN和归属用户服务器/鉴权中心(Home SubscriberServer/authentication centre,简称HSS/AuC)之间采用7号信令系统(Signalling System No.7,简称SS7)的移动应用部分(Mobile ApplicationPart,简称MAP)。
在第一次认证中,用户的认证请求携带国际移动用户标识符(international mobile subscriber identity,简称IMSI)作为参数,IMSI来源于终端SIM的SIM/USIM应用。(USIM和ISIM可以共存于一张UICC卡中。通用用户识别模块(Universal Subscriber Identity Module,简称USIM)应用用于接入GPRS的认证,而ISIM用于接入IMS的认证。)完成GPRS认证后,将完成后续GPRS注册过程,移动终端将进行分组数据协议(Packet Data Protocol,简称PDP)上下文激活从而接入到GPRS网络。PDP上下文指定了用于GPRS通信会话的应用层分组数据协议和路由信息。
移动终端接入IMS的第二次认证执行以下过程移动终端要使用IMS业务,需要在向CSCF发送注册请求时进行第二次认证。移动终端和呼叫会话控制功能(Call Server Control Function,简称CSCF)之间采用起始会话协议(Session Initiated Protocol,简称SIP)传送信令,CSCF和HSS/AuC之间采用Diameter协议。
在第二次认证中,用户认证请求携带的是私有用户身份作为参数,来源于ISIM应用。
从已有规范可以看出,要接入IMS域,使用IMS业务,移动终端至少需要支持USIM应用,而ISIM应用并非必要,因为私有用户身份和公共用户身份可以由IMSI按照一定机制导出(3GPP TS23.003),而认证所需的密钥K和算法也可以完全和接入GPRS网络时的认证一致;另一种方法是在注册到IMS前用户手动设置各种参数,包括私有用户身份、公共用户身份、P-CSCF地址。这种方法虽然也能完成AKA认证,但由于用户可以自己设置一些重要参数,比如从同一终端用不同私有用户身份完成到IMS的认证,因此安全性较差,不利于运营商部署。这种方法在移动终端和软件终端同时适用。
支持多种接入方式是IMS的一大特点,其意义在于能为各种终端提供丰富多样的业务。例如进行PC到PC或PC到手机的普通呼叫、即时消息、多媒体会议等。软件终端通过该认证方式,实现了通过Internet接入到IMS体验丰富多彩的业务,从而解决了运营商在无接入网资源下,用户同样能够使用业务的问题。软件终端和支持USIM/ISIM应用的终端最大的不同在于前者可使用其它任何类型的接入网资源,包括xDSL、LAN、WiFi、HFC等,利用第二次认证,终端通过IP网络直接发送请求到CSCF,进行接入IMS域的认证。但是,现有技术中,当某种终端不支持USIM应用时,例如PC,运行在其上的软件客户端(软件终端),由于3GPP的规范中没有定义该软件终端接入IMS的方式,此时,终端就不能接入IMS中。而如果采用HTTP Digest认证的方式,对于软件终端用户来说,需要手动输入用户名和密码,安全性较低。

发明内容
本发明的第一目的在于针对上述现有技术中,不支持USIM应用的终端就不能接入IMS或需要通过安全性较低的手动输入方式接入IMS的现状,提供一种软件终端接入IMS的装置,使得不支持USIM及ISIM应用的软件终端能够通过模拟ISIM应用的数据,完成IP多媒体子系统域认证,从而能够接入IMS。
本发明的第二目的在于针对上述现有技术存在的不足,提供一种接入IMS的方法,使得不支持USIM及ISIM应用的软件终端能够完成AKA认证,并且无需用户手动设置参数就能接入IMS。
为实现上述第一目的,本发明提供了一种软件终端接入IP多媒体子系统的装置,其中包括一认证数据加载读取模块,用于读取认证数据;一数据输入模块,用于提供从接收到的数据中得到的认证相关参数;一辅助数据提供模块,用于提供非认证相关数据;一非实时数据解析模块,与认证数据加载读取模块相连,用于解析认证数据中的非实时数据;一实时数据解析模块,与认证数据加载读取模块相连,用于解析认证数据中的实时数据;一数据校验模块,与非实时数据解析模块、实时数据解析模块及辅助数据提供模块相连,根据校验规则对已解析的数据进行校验;一参数计算模块,与数据校验模块及数据输入模块相连,用于计算认证所需参数,并完成参数比较,得出软件终端对网络的单向认证结果,生成状态报告、完整性密钥及加密密钥;一数据输出模块,与数据校验模块及参数计算模块相连,用于将认证参数、状态报告及解析后的非实时数据输出;一数据存储模块,与数据输出模块相连,用于存储完整性密钥及加密密钥。
本装置使得不支持USIM及ISIM应用的软件终端能够接入IMS,将软件功能模块化,减少功能模块之间的关联性,模块之间的逻辑结构相对独立,使软件开发易于分工实现,便于模块的扩展。
将数据的解析分为非实时解析与实时解析,使IMPI、IMPU、Domain、P-CSCF-Address四个数据能在AuDS文件加载后即可得到,并输出到用户界面;而对用户不可见的参数K和SQN,为降低安全风险,减少在内存中的停留时间,只在需要计算其他参数时进行解析并校验得到。
为实现上述第二目的,本发明提供了一种软件终端接入IP多媒体子系统的方法,其中软件终端与其归属网络的归属用户服务器/鉴权中心共享一个密钥,该方法包括以下步骤步骤1、软件终端调用认证数据加载读取模块,读取认证数据集中的数据;步骤2、软件终端调用非实时数据解析模块,解析出非实时数据;步骤3、软件终端调用数据校验模块及辅助数据提供模块,接收非认证相关数据,并对已解析的非实时数据进行校验;步骤4、调用数据输出模块,将校验后的非实时数据输出到底层软件模块进行消息封装,并输出到用户界面进行显示;步骤5、软件终端向服务-呼叫服务器控制功能发起注册请求;步骤6、服务-呼叫会话控制功能向归属用户服务器/鉴权中心请求认证向量;步骤7、归属用户服务器/鉴权中心基于密钥及一个序列号生成一组认证向量,并将该组认证向量返回给服务-呼叫会话控制功能;步骤8、服务-呼叫会话控制功能保存该组认证向量,并选定其中的一个认证向量,将其返回给软件终端;步骤9、软件终端调用数据输入模块,得到认证相关参数;步骤10、软件终端调用实时数据解析模块及数据校验模块,解析出实时数据并对其校验;步骤11、软件终端使用共享密钥和序列号完成对网络的认证,并生成一个认证响应,将其发送给服务-呼叫会话控制功能;步骤12、服务-呼叫会话控制功能验证认证响应,完成对软件终端的认证。
该方法使得不支持USIM及ISIM应用的软件终端能够接入IMS,并且无需用户手动设置参数,安全性较高,利于运营商部署。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明软件终端接入IP多媒体子系统装置的实施例的结构示意图;图2为本发明软件终端接入IP多媒体子系统方法的实施例1的流程图;图3为本发明软件终端接入IP多媒体子系统方法的实施例2的流程图;图4为本发明软件终端接入IP多媒体子系统方法的实施例2中软件终端进行参数计算的流程图。
具体实施例方式
如图1所示,为本发明软件终端接入IP多媒体子系统装置的一个实施例的结构示意图,其中包括认证数据加载读取模块1,用于接收认证数据,其输入为认证数据集文件,输出为认证数据集数据;数据输入模块2,用于提供认证所需要的参数,它从接收到的STP消息中得到认证所需要的参数,即随机数RAND和网络令牌AUTN;辅助数据提供模块3,用于提供非认证相关数据,如代理列表Proxy list、域列表Domain list;非实时数据解析模块4,与认证数据加载读取模块1相连,用于解析认证数据中的非实时数据,其输入为认证数据集数据,输出为私有用户身份IMPI、公共用户身份IMPU、归属网络域名Domain及代理CSCF(P-CSCF)地址;实时数据解析模块5,与认证数据加载读取模块1相连,用于解析认证数据中的实时数据,其输出为128位的共享密钥K及48位的序列号SQN;数据校验模块6,与非实时数据解析模块4、实时数据解析模块5及辅助数据提供模块3相连,根据校验规则对已解析的数据进行校验;,根据校验规则对已解析的数据进行校验,其输入为IMPI、IMPU、Domain、P-CSCF-Address、K及SQN,输出为校验后的以上6个数据和状态报告;校验原则可以为a、判断Domain、P-CSCF-Address是否分别在合法的Domin列表、P-CSCF列表中,b、判断IMPI是否为合法的NAI格式(RFC2486)、IMPU是否为合法的SIP URI格式(RFC3261),c、判断K是否为16字节,SQN是否为6字节;参数计算模块7,与数据校验模块6及数据输入模块2相连,用于计算认证所需参数,并完成参数比较,得出软件终端对网络的单向认证结果,生成状态报告、完整性密钥IK及加密密钥CK,其输入为RAND、AUTN、K、SQN,输出为RES、CK、IK或同步令牌AUTS、状态报告(单向认证成功、单向认证失败、同步失败);数据输出模块8,与数据校验模块6及参数计算模块7相连,用于将认证参数、状态报告及解析后的非实时数据输出,其输入为IMPI、IMPU、Domain、P-CSCF-Address、RES、CK、IK或AUTS,输出为确定格式的以上数据;数据存储模块9,与数据输出模块8相连,用于存储完整性密钥IK及加密密钥CK。
本装置将数据的解析分为非实时解析与实时解析,使IMPI、IMPU、Domain、P-CSCF-Address四个数据能在AuDS文件加载后即可得到,并输出到用户界面;而对用户不可见的参数K和SQN,为降低安全风险,减少在内存中的停留时间,只在需要计算其他参数时进行解析并校验得到。
如图2所示,为本发明软件终端接入IP多媒体子系统方法的实施例1的流程图,该方法包括以下步骤步骤101、软件终端调用认证数据加载读取模块,读取认证数据集中的数据;步骤102、软件终端调用非实时数据解析模块,解析出非实时数据;步骤103、软件终端调用数据校验模块及辅助数据提供模块,接收非认证相关数据,并对已解析的非实时数据进行校验;
步骤104、调用数据输出模块,将校验后的非实时数据输出到底层软件模块进行消息封装,并输出到用户界面进行显示;步骤105、软件终端向服务-呼叫服务器控制功能发起注册请求;步骤106、服务-呼叫会话控制功能向归属用户服务器/鉴权中心请求认证向量;步骤107、归属用户服务器/鉴权中心基于密钥及一个序列号生成一组认证向量,并将该组认证向量返回给服务-呼叫会话控制功能;步骤108、服务-呼叫会话控制功能保存该组认证向量,并选定其中的一个认证向量,将其返回给软件终端;步骤109、软件终端调用数据输入模块,得到认证相关参数;步骤110、软件终端调用实时数据解析模块及数据校验模块,解析出实时数据并对其校验;步骤111、软件终端使用共享密钥和序列号完成对网络的认证,并生成一个认证响应,将其发送给服务-呼叫会话控制功能;步骤112、服务-呼叫会话控制功能验证认证响应,完成对软件终端的认证。
该方法在不支持USIM及ISIM的软件终端实现了模拟ISIM应用的数据,使该软件终端可以接入到IMS网络当中。
如图3所示,为本发明软件终端接入IP多媒体子系统方法的实施例2的流程图,该方法包括以下步骤步骤201、软件终端调用认证数据加载读取模块,读取认证数据集AuDS中的数据;这里定义了一种认证数据集AuDS,AuDS包含私有用户身份、公共用户身份、共享密钥、序列号、归属网络域名、P-CSCF地址;按照使用时间不同分为非实时数据和实时数据;非实时数据指当软件终端认证模块AuM加载AuDS后,通过解析和校验就可以输出的数据,对用户可见,包括
私有用户身份IMPI包含唯一的私有用户身份,由归属网络运营商定义,具有唯一性,用于标识用户订购关系;格式遵循RFC定义的网络接入标识符(Network Access Identifier,简称NAI)的形式;公共用户身份IMPU包含一个或多个公共用户身份,用于在注册请求中标识要注册的身份,并且用于请求和其他用户通信;归属网络域名Domain包含归属网络入口点名称,用于在注册过程中将注册请求路由到用户的归属网络;P-CSCF地址(P-CSCF-Address)用于指定软终端发送注册请求的地址,可以是FQDN、IPv4地址或IPv6地址的格式;实时数据指只有在认证过程中才解析、校验并使用,对用户不可见,包括共享密钥K在软终端和网络之间共享的密钥,用于生成各种认证参数;序列号SQN用于软终端和网络的同步检查,是软终端收到的序列号的最大值;AuDS中的6种数据的指定格式如下IMPI采用RFC2486定义的NAI形式,格式为username@realm;IMPU采用RFC3261定义的SIP URI形式;K16字节字符串;SQN6字节;Domain采用RFC3261定义的SIP URI形式;P-CSCF-Address采用FQDN、IPv4地址、或IPv6地址形式;AuDS中数据按照一定形式组合并存储,例如“IMPI|IMPU|K|SQN|Domain|P-CSCF-Address”,AuDS中数据需要加密存储。
步骤202、软件终端调用非实时数据解析模块,解析出非实时数据;步骤203、软件终端调用数据校验模块及辅助数据提供模块,接收非认证相关数据,并对已解析的非实时数据进行校验,得到有效的IMPI、IMPU、Domain及P-CSCF-Address;步骤204、调用数据输出模块,将校验后的非实时数据输出到底层软件模块进行消息封装,并输出到用户界面进行显示;步骤205、软件终端向S-CSCF发起注册请求;步骤206、S-CSCF向HSS/AuC请求认证向量AV;步骤207、HSS/AuC基于密钥K及一个序列号SQN生成一组认证向量,每一个都包含随机数RAND、网络令牌AUTN、期望认证结果XRES、完整性密钥IK和加密密钥CK,并将该组认证向量返回给S-CSCF;步骤208、S-CSCF保存该组认证向量,并选定其中的一个认证向量,将其返回给软件终端的认证模块,保存XRES,保存RAND;步骤209、所述软件终端调用所述数据输入模块,得到认证相关参数RAND及AUTS;步骤210、软件终端调用实时数据解析模块,解析出实时数据;步骤211、软件终端调用数据校验模块,得到经过校验后有效的K及SQN;步骤212、软件终端调用参数计算模块,使用共享密钥K和序列号SQN验证AUTN,完成对网络的认证,并生成一个认证响应RES,同时生成IK和CK,将其发送给S-CSCF;如果失败,则生成一个同步参数AUTS;其中,如图4所示,软件终端进行参数计算的步骤如下步骤2121、计算匿名密钥AK=f5K(RAND),得到SQN’=(SQNAK)AK,其中为异或运算;步骤2122、计算期望的消息认证校验XMAC=f1K(SQN||RAND||AMF);步骤2123、比较XMAC是否与在AUTN中的消息认证校验MAC值相同,如果值不同,则执行步骤2064,否则执行2065;步骤2124、认证失败,软终端发送认证拒绝消息;步骤2125、检查序列号SQN是否在正确范围内,如果不在正确范围内,执行步骤2116,否则,执行2068;
步骤2126、同步失败,终止认证过程,随后使用K和SQN’产生一个同步参数AUTS,在响应中发给网络侧,HSS/AuC基于SQN’生成新的AV,由S-CSCF下载并再次发送认证请求;步骤2127、发送同步失败响应;步骤2128、计算RES=f2K(RAND),CK=f3K(RAND)和IK=f4K(RAND);其中,f1-f5定义在3GPP TS33.102中;步骤213、软件终端调用数据输出模块,输出RES、IK及CK或AUTS到底层软件模块进行消息封装,并输出IK及CK到数据存储模块;步骤214、S-CSCF验证认证响应,比较RES和XRES,完成对软件终端的认证,并从选择的AV中选定IK和CK。
为了保证安全性和可管理性,便于运营商部署,本方法将软件终端进行AKA认证所需要的数据以一个数据集的方式提供给软件终端。运营商部署软件终端时,可以为每个终端配置一个唯一的数据集,用户使用软终端进行注册时将自动读取其中的数据供认证使用,无需手动设置参数。
此方法包含两个方面,一是独立于软终端的认证数据集合AuDS(Authentication Data Set),包含认证相关数据和接入相关数据,以文件方式加密存储;二是软终端中需要有一个调用和读取AuDS中数据来进行AKA认证的认证模块AuM(Authentication Module)。
AuM能加载读取AuDS文件,解析出认证所需数据并进行校验,在认证过程中按照一定算法计算出认证参数,从而完成AKA认证。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种软件终端接入IP多媒体子系统的装置,其特征在于包括一认证数据加载读取模块,用于读取认证数据;一数据输入模块,用于提供从接收到的数据中得到认证相关参数;一辅助数据提供模块,用于提供非认证相关数据;一非实时数据解析模块,与所述认证数据加载读取模块相连,用于解析所述认证数据中的非实时数据;一实时数据解析模块,与所述认证数据加载读取模块相连,用于解析所述认证数据中的实时数据;一数据校验模块,与所述非实时数据解析模块、所述实时数据解析模块及所述辅助数据提供模块相连,根据校验规则对已解析的数据进行校验;一参数计算模块,与所述数据校验模块及所述数据输入模块相连,用于计算认证所需参数,并完成参数比较,得出软件终端对网络的单向认证结果,生成状态报告、完整性密钥及加密密钥;一数据输出模块,与所述数据校验模块及所述参数计算模块相连,用于将所述认证参数、所述状态报告及所述解析后的非实时数据输出;一数据存储模块,与所述数据输出模块相连,用于存储所述完整性密钥及加密密钥。
2.一种软件终端接入IP多媒体子系统的方法,其特征在于包括以下步骤步骤1、所述软件终端调用所述认证数据加载读取模块,从认证数据集读取数据;步骤2、所述软件终端调用所述非实时数据解析模块,解析出非实时数据;步骤3、所述软件终端调用所述数据校验模块及所述辅助数据提供模块,接收非认证相关数据,并对已解析的非实时数据进行校验;步骤4、调用所述数据输出模块,将校验后的非实时数据输出到底层软件模块进行消息封装,并输出到用户界面进行显示;步骤5、所述软件终端向服务-呼叫服务器控制功能发起注册请求;步骤6、所述服务-呼叫会话控制功能向所述归属用户服务器/鉴权中心请求认证向量;步骤7、所述归属用户服务器/鉴权中心基于所述软件终端与所述软件终端归属网络的归属用户服务器/鉴权中心共享的密钥及所述认证数据集中的序列号生成一组认证向量,并将所述一组认证向量返回给所述服务-呼叫会话控制功能;步骤8、所述服务-呼叫会话控制功能保存所述一组认证向量,并选定其中的一个认证向量,将其返回给所述软件终端;步骤9、所述软件终端调用所述数据输入模块,得到认证相关参数;步骤10、所述软件终端调用所述实时数据解析模块及数据校验模块,解析出实时数据并对其校验;步骤11、所述软件终端使用所述共享密钥和所述序列号完成对网络的认证,并生成一个认证响应,将其发送给所述服务-呼叫会话控制功能;步骤12、所述服务-呼叫会话控制功能验证所述认证响应,完成对所述软件终端的认证。
3.根据权利要求2所述的软件终端接入IP多媒体子系统的方法,其特征在于,所述步骤1中的软件终端从所述认证数据集读取私有用户身份、公共用户身份、共享密钥、归属网络域名、序列号及代理-呼叫会话控制功能的数据。
4.根据权利要求2或3所述的软件终端接入IP多媒体子系统的方法,其特征在于,所述步骤2中,所述非实时数据解析模块解析出私有用户身份、公共用户身份、归属网络域名及代理-呼叫会话控制功能的数据。
5.根据权利要求2或3所述的软件终端接入IP多媒体子系统的方法,其特征在于,所述步骤10中,所述实时数据解析模块解析出序列号及共享密钥。
全文摘要
本发明涉及一种软件终端接入IP多媒体子系统的装置及方法,装置中包括非实时数据解析模块,与认证数据加载读取模块相连,用于解析认证数据中的非实时数据;实时数据解析模块,与认证数据加载读取模块相连,用于解析认证数据中的实时数据;数据校验模块,与非实时数据解析模块、实时数据解析模块及辅助数据提供模块相连;参数计算模块,与数据校验模块及数据输入模块相连;数据输出模块,与数据校验模块及参数计算模块相连;数据存储模块,与数据输出模块相连。该方法为软件终端的认证模块与服务-呼叫会话控制功能及归属用户服务器/鉴权中心进行交互,从而完成认证的过程。本发明使得不支持USIM及ISIM应用的软件终端能够接入IMS。
文档编号H04Q7/38GK1777102SQ200510123390
公开日2006年5月24日 申请日期2005年11月25日 优先权日2005年11月25日
发明者王崇萍, 董朝晖, 唐剑峰, 郑朝晖, 范涛 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1