一种安全算法发送、安全鉴权方法及装置 |
|||||||
申请号 | CN201410822786.5 | 申请日 | 2014-12-24 | 公开(公告)号 | CN104486352A | 公开(公告)日 | 2015-04-01 |
申请人 | 大唐移动通信设备有限公司; | 发明人 | 吴鹏程; | ||||
摘要 | 本 发明 公开了一种安全 算法 发送、安全鉴权方法及装置,用以实现在IMSSA中,能够使用用户设备支持的自定义安全算法进行安全保护。安全算法发送方法,包括:P-CSCF接收用户设备发送的注册 请求 ;P-CSCF从注册请求中获取用户设备的标识和该用户设备支持的安全算法集合,并将注册请求转发至网络侧;P-CSCF接收到网络侧发送的用于指示用户设备未鉴权的响应消息时,根据用户设备的标识确定该用户设备在P-CSCF中配置的安全算法集合;P-CSCF确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,并将共有的安全算法集合添加到未鉴权的响应消息中发送至用户设备。 | ||||||
权利要求 | 1.一种安全算法发送方法,其特征在于,包括: |
||||||
说明书全文 | 一种安全算法发送、安全鉴权方法及装置技术领域[0001] 本发明涉及通信技术领域,尤其涉及一种安全算法发送、安全鉴权方法及装置。 背景技术[0002] 目前的IP多媒体子系统(IP Multimedia Subsystem,IMS)安全关联(Security Association,SA)中,Internet协议安全性(Internet Protocol Security,IPSec)使用的完整性保护算法和加密算法,是由P-CSCF在常用的几种算法中选择其中一个并带给用户设备。具体来说,现在IMS网络中,SA建立过程,如图1所示,包括: [0004] 步骤104,P-CSCF 11将所述注册请求转发至查询呼叫会话控制实体(Interrogating Call Server Control Function,I-CSCF)12。 [0005] 步骤106,I-CSCF 12通过向归属地签约数据服务器(Home Subscriber Server,HSS)13发送用户授权请求(User Authorization Request,UAR)消息进行用户设备的接入权限认证。 [0006] 步骤108,HSS 13进行用户设备10的注册状态查询,根据用户设备10签约以及运营商的约束决定是否允许用户设备10通过P-CSCF 11进行注册,并向I-CSCF 12发送用户授权应答(User Authorization Answer,UAA)消息,该UAA消息反馈可以为用户设备服务的服务呼叫会话控制实体(Serving Call Server Control Function,S-CSCF)14名称或能力。 [0007] 步骤110,I-CSCF 12通过域名-地址机制,利用S-CSCF 14名称确定S-CSCF14的IP地址,将用户设备的注册请求转发至S-CSCF 14。 [0008] 步骤112,S-CSCF 14向HSS 13发送媒体鉴权请求(Multimedia Authorization Request,MAR)消息,请求获得用户设备的安全信息。 [0009] 步骤114,HSS 13发送媒体鉴权应答(Multimedia Authorization Answer,MAA)消息至S-CSCF 14,该消息中包含P-CSCF 11用于IPSEC的加密密钥和用户设备的验证信息。 [0010] 步骤116,S-CSCF 14发送用于指示该用户设备未鉴权的响应消息(例如:401消息)至I-CSCF 12,该消息中包含P-CSCF 11用于IPSEC的加密密钥和用户设备的验证信息。 [0011] 步骤118,I-CSCF 12转发未鉴权的响应消息(例如:401消息)至P-CSCF11。 [0012] 步骤120,P-CSCF 11更改未鉴权的响应消息,去除加密密钥增加包含IPSEC的安全服务包头。 [0013] 步骤122,用户设备10对S-CSCF 14进行验证,计算用于IPSEC通道的加密密钥,建立IPSEC通道,配置SA,发送注册请求至P-CSCF 11,用户设备10在常用的安全算法中选择一种对该注册请求进行加密保护。 [0014] 步骤124,P-CSCF 11转发注册请求至I-CSCF 12。 [0015] 步骤126,I-CSCF 12通过向HSS 13发送用户授权请求UAR消息进行用户设备的接入权限认证。 [0016] 步骤128,HSS 13进行用户设备10的注册状态查询,根据用户设备10签约以及运营商的约束决定是否允许用户设备10通过P-CSCF 11进行注册,并向I-CSCF 12发送UAA,该UAA消息反馈可以为用户设备服务的S-CSCF 14名称或能力。 [0017] 步骤130,I-CSCF12通过域名-地址机制,利用S-CSCF 14名称确定S-CSCF14的IP地址,将用户设备的注册请求转发至S-CSCF 14。 [0018] 步骤132,S-CSCF 14向HSS 13发送服务器指派请求(Server Assignment Request,SAR)消息。 [0019] 步骤134,HSS 13更改用户设备的注册状态,通过服务器指派应答(Server Assignment Answer,SAA)消息向S-CSCF 14发送用户设备的用户数据和计费信息。 [0020] 步骤136,S-CSCF 14向I-CSCF 12发送注册成功消息(例如:200OK消息)。 [0021] 步骤138,I-CSCF 12向P-CSCF 11发送注册成功消息(例如:200OK消息)。 [0022] 步骤140,P-CSCF 11向用户设备10发送注册成功消息(例如:200OK消息),若使用传输控制协议(Transmission Control Protocol,TCP),P-CSCF 11向用户设备10的端口(受保护)发送200OK;若使用用户数据报协议(UserDatagram Protocol,UDP),P-CSCF11向用户设备10的端口(受保护)发送200OK,会话建立成功。 [0023] 目前的IMS SA中,P-CSCF和用户设备之间,使用的完整性保护算法有消息摘要算法第五版(Message Digest Algorithm 5,MD5)、安全哈希算法(Secure Hash Algorithm,SHA1)等,加密算法有高级加密标准(Advanced Encryption Standard,AES)、三重数据加密算法(Triple Data Encryption Algorithm,TDES,又称3DES)等。P-CSCF和用户设备在会话初始协议(Session Initiation Protocol,SIP)消息的安全客户端(Security-Client)头域和安全服务器(Security-Server)头域中,会从这些安全算法集合中指定某一种安全算法,作为完整性保护算法和加密算法。该选择方法比较随机,网络侧(例如:P-CSCF、S-CSCF和HSS)无法根据不同的用户设备选择不同的安全算法,例如:军方需要使用某种自定义的安全算法,或者个人需要使用自己独有的某种安全算法保护信令传输,目前的IMS SA的安全算法选择方法无法选择用户设备私有的安全算法。 [0024] 综上所述,现有技术在IMS SA中,P-CSCF和用户设备之间使用的安全算法只能在常用的几种安全算法中选择,无法满足用户设备使用自定义安全算法的需求。 发明内容[0025] 本发明实施例提供了一种安全算法发送、安全鉴权方法及装置,用以实现在IP多媒体子系统安全关联建立过程中,能够使用用户设备支持的自定义安全算法进行安全保护,满足用户设备使用自定义安全算法的需求。 [0026] 本发明实施例提供的一种安全算法发送方法,包括:代理呼叫会话控制实体P-CSCF接收用户设备发送的注册请求,该注册请求中包括用户设备的标识和该用户设备支持的安全算法集合,其中,所述安全算法集合中包括该用户设备支持的自定义安全算法;所述P-CSCF从所述注册请求中获取用户设备的标识和该用户设备支持的安全算法集合,并将所述注册请求转发至网络侧;所述P-CSCF接收到网络侧发送的用于指示所述用户设备未鉴权的响应消息时,根据所述用户设备的标识确定该用户设备在所述P-CSCF中配置的安全算法集合;所述P-CSCF确定所述用户设备支持的安全算法集合与该用户设备在所述P-CSCF中配置的安全算法集合之间共有的安全算法集合,并将所述共有的安全算法集合添加到所述未鉴权的响应消息中发送至所述用户设备。 [0027] 本发明实施例提供的上述方法中,通过获取包括用户设备自定义安全算法的用户设备支持的安全算法集合,并确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用用户设备支持的自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足用户设备使用自定义安全算法的需求,同时通过确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0028] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述P-CSCF将所述共有的安全算法集合添加到所述未鉴权的响应消息中,具体为:所述P-CSCF在所述未鉴权的响应消息中增加扩展头域,将所述共有的安全算法集合添加到所述扩展头域中。 [0029] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述P-CSCF根据所述用户设备的标识确定该用户设备在所述P-CSCF中配置的安全算法集合,包括:所述P-CSCF根据所述用户设备的标识查找预设的第一安全算法列表确定该用户设备在所述P-CSCF中配置的安全算法集合,其中,所述第一安全算法列表中包括用户设备的标识与该用户设备在所述P-CSCF中配置的安全算法集合的对应关系。 [0030] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述第一安全算法列表是预先存储在所述P-CSCF中的;或者,在所述P-CSCF根据所述用户设备的标识查找预设的第一安全算法列表确定该用户设备在所述P-CSCF中配置的安全算法集合之前,该方法还包括:所述P-CSCF从接收到的网络侧发送的未鉴权的响应消息中获取网络侧为该用户设备的配置的安全算法集合;所述P-CSCF利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第一安全算法列表。 [0031] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述网络侧为用户设备配置的安全算法集合为所述S-CSCF根据所述用户设备的标识从用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0032] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述安全算法集合为所述S-CSCF根据所述用户设备的标识查找预设的第二安全算法列表得到的,其中,所述第二安全算法列表中包括用户设备的标识与该用户设备在所述S-CSCF中配置的安全算法集合的对应关系。 [0033] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述第二安全算法列表是预先存储在所述S-CSCF中的;或者,该方法还包括:所述S-CSCF接收归属地签约数据服务器HSS发送的媒体鉴权应答MAA消息,从所述MAA消息中获取网络侧为该用户设备配置的安全算法集合;所述S-CSCF利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第二安全算法列表。 [0034] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述网络侧为该用户设备配置的安全算法集合为所述HSS根据所述用户设备的标识从所述用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0035] 在一种可能的实施方式中,本发明实施例提供的上述方法中,在所述P-CSCF将所述共有的安全算法集合发送至所述用户设备之后,该方法还包括:所述P-CSCF接收所述用户设备发送的使用自定义安全算法进行加密的注册请求;所述P-CSCF从该注册请求中获取所述用户设备的标识,并根据所述用户设备的标识确定所述P-CSCF与该用户设备之间的共有的安全算法集合;所述P-CSCF使用所述共有的安全算法集合中的安全算法对所述注册请求进行解密、校验以及对该用户设备进行安全鉴权。 [0036] 本发明实施例提供的一种安全鉴权方法,包括:用户设备发送携带有自身支持的安全算法集合的注册请求至代理呼叫会话控制实体P-CSCF,以请求所述P-CSCF确定该用户设备支持的安全算法集合与该用户设备在所述P-CSCF中配置的安全算法集合之间共有的安全算法集合,其中,所述用户设备支持的安全算法集合中包括该用户设备支持的自定义安全算法;所述用户设备接收所述P-CSCF发送的携带有所述共有的安全算法集合的未鉴权的响应消息;所述用户设备从所述共有的安全算法集合中选择任一安全算法对注册请求进行加密,生成加密的注册请求,并将所述加密的注册请求发送至所述P-CSCF,以请求进行安全鉴权。 [0037] 本发明实施例提供的上述方法中,通过向P-CSCF发送包括自定义安全算法的安全算法集合,并接收P-CSCF发送的用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用支持的自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足使用自定义安全算法的需求,同时在IMS SA中使用共有的安全算法集合中的安全算法进行安全鉴权,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0038] 在一种可能的实施方式中,本发明实施例提供的上述方法中,所述用户设备发送携带有自身支持的安全算法集合的注册请求至所述P-CSCF,具体为:所述用户设备在所述注册请求中增加扩展头域,将自身支持的安全算法集合添加到所述扩展头域中,生成携带有自身支持的安全算法集合的注册请求发送至所述P-CSCF。 [0039] 本发明实施例提供的一种安全算法发送装置,包括:接收单元,用于接收用户设备发送的注册请求,该注册请求中包括用户设备的标识和该用户设备支持的安全算法集合,其中,所述安全算法集合中包括该用户设备支持的自定义安全算法;处理单元,连接至所述接收单元,用于从所述注册请求中获取用户设备的标识和该用户设备支持的安全算法集合,并将所述注册请求转发至网络侧;以及当接收到网络侧发送的用于指示所述用户设备未鉴权的响应消息时,根据所述用户设备的标识确定该用户设备在该处理单元所在的P-CSCF中配置的安全算法集合;发送单元,连接至所述处理单元,用于确定所述用户设备支持的安全算法集合与该用户设备在所述处理单元所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,并将所述共有的安全算法集合添加到所述未鉴权的响应消息中发送至所述用户设备。 [0040] 本发明实施例提供的上述装置中,通过获取包括用户设备自定义安全算法的用户设备支持的安全算法集合,并确定用户设备支持的安全算法集合与该用户设备在该装置所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用用户设备支持的自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和该装置所在的P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足用户设备使用自定义安全算法的需求,同时通过确定用户设备支持的安全算法集合与该用户设备在该装置所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0041] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述发送单元将所述共有的安全算法集合添加到所述未鉴权的响应消息中,具体为:所述发送单元在所述未鉴权的响应消息中增加扩展头域,将所述共有的安全算法集合添加到所述扩展头域中。 [0042] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述处理单元根据所述用户设备的标识确定该用户设备该处理单元所在的P-CSCF中配置的安全算法集合,包括:所述处理单元根据所述用户设备的标识查找预设的第一安全算法列表确定该用户设备在该处理单元所在的P-CSCF中配置的安全算法集合,其中,所述第一安全算法列表中包括用户设备的标识与该用户设备在该处理单元所在的P-CSCF中配置的安全算法集合的对应关系。 [0043] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述第一安全算法列表是预先存储在所述处理单元所在的P-CSCF中的;或者,所述处理单元从接收到的网络侧发送的未鉴权的响应消息中获取网络侧为该用户设备的配置的安全算法集合;所述处理单元利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第一安全算法列表。 [0044] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述网络侧为用户设备配置的安全算法集合为所述S-CSCF根据所述用户设备的标识从用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0045] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述安全算法集合为所述S-CSCF根据所述用户设备的标识查找预设的第二安全算法列表得到的,其中,所述第二安全算法列表中包括用户设备的标识与该用户设备在S-CSCF中配置的安全算法集合的对应关系。 [0046] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述第二安全算法列表是预先存储在所述S-CSCF中的;或者,所述S-CSCF接收归属地签约数据服务器HSS发送的媒体鉴权应答MAA消息,从所述MAA消息中获取网络侧为该用户设备配置的安全算法集合;所述S-CSCF利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第二安全算法列表。 [0047] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述网络侧为该用户设备配置的安全算法集合为所述HSS根据所述用户设备的标识从所述用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0048] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述接收单元还用于接收所述用户设备发送的使用自定义安全算法进行加密的注册请求;所述处理单元还用于从该注册请求中获取所述用户设备的标识,并根据所述用户设备的标识确定该处理单元所在的P-CSCF与该用户设备之间的共有的安全算法集合;以及,使用所述共有的安全算法集合中的安全算法对所述注册请求进行解密、校验和对该用户设备进行安全鉴权。 [0049] 本发明实施例提供的一种安全鉴权装置,包括:发送单元,用于发送携带有该发送单元所在的用户设备支持的安全算法集合的注册请求至代理呼叫会话控制实体P-CSCF,以请求所述P-CSCF确定该用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,其中,所述用户设备支持的安全算法集合中包括该用户设备支持的自定义安全算法;接收单元,用于接收所述P-CSCF发送的携带有所述共有的安全算法集合的未鉴权的响应消息;处理单元,连接至所述发送单元和所述接收单元,用于从所述共有的安全算法集合中选择任一安全算法对注册请求进行加密,生成加密的注册请求,并将所述加密的注册请求发送至所述P-CSCF,以请求进行安全鉴权。 [0050] 本发明实施例提供的上述装置中,通过向P-CSCF发送包括自定义安全算法的安全算法集合,并接收P-CSCF发送的该装置所在的用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用支持的自定义安全算法进行安全鉴权,并且在后续SA中,该装置所在的用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足使用自定义安全算法的需求,同时在IMSSA中使用共有的安全算法集合中的安全算法进行安全鉴权,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0051] 在一种可能的实施方式中,本发明实施例提供的上述装置中,所述发送单元具体用于:在所述注册请求中增加扩展头域,将该发送单元所在的用户设备支持的安全算法集合添加到所述扩展头域中,生成携带有该发送单元所在的用户设备支持的安全算法集合的注册请求发送至所述P-CSCF。附图说明 [0052] 图1为现有技术中IMS SA建立过程的示意流程图; [0053] 图2为本发明实施例提供的一种安全算法发送方法的流程示意图; [0054] 图3为本发明实施例提供的一种安全算法发送方法的具体流程示意图; [0055] 图4为本发明实施例提供的确定共有的安全算法集合的流程示意图; [0056] 图5为本发明实施例提供的IMS SA建立过程的流程示意图; [0057] 图6为本发明实施例提供的一种安全鉴权方法的流程示意图; [0058] 图7为本发明实施例提供的一种安全算法发送装置的结构示意图; [0059] 图8为本发明实施例提供的一种安全鉴权装置的结构示意图。 具体实施方式[0060] 下面结合附图,对本发明实施例提供的一种通信设备的性能指标的汇总方法及装置的具体实施方式进行详细地说明。 [0061] 需要说明的是,本发明实施例中提到的安全算法包括加密算法和完整性保护算法,加密算法有AES和3DES,完整性保护算法有MD5和SHA1,自定义安全算法可以是用户设备自定义的安全算法,也可以是现有算法中的某一种。 [0062] 在P-CSCF侧,本发明实施例提供的一种安全算法发送方法,如图2所示,包括: [0063] 步骤202,代理呼叫会话控制实体P-CSCF接收用户设备发送的注册请求,该注册请求中包括用户设备的标识和该用户设备支持的安全算法集合,其中,安全算法集合中包括该用户设备支持的自定义安全算法; [0064] 步骤204,P-CSCF从注册请求中获取用户设备的标识和该用户设备支持的安全算法集合,并将注册请求转发至网络侧; [0065] 步骤206,P-CSCF接收到网络侧发送的用于指示用户设备未鉴权的响应消息时,根据用户设备的标识确定该用户设备在P-CSCF中配置的安全算法集合; [0066] 步骤208,P-CSCF确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,并将共有的安全算法集合添加到未鉴权的响应消息中发送至用户设备。 [0067] 本发明实施例提供的方法中,通过获取包括用户设备自定义安全算法的用户设备支持的安全算法集合,并确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMSSA中,使用该自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用用户设备支持的自定义安全算法进行安全鉴权,满足用户设备使用自定义安全算法的需求,同时通过确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0068] 其中,用户设备的标识用于区分不同的用户设备,可以是用户设备的公共用户标识(Public User Identity,PUI)、国际移动用户识别码(International Mobile Subscriber Identification Number,IMSI)、移动设备国际识别码(International Mobile Equipment Identification Number,IMEI)等。 [0069] 具体实施时,P-CSCF确定用户设备支持的安全算法集合和该用户设备在P-CSCF中配置的安全算法集合之间的共有的安全算法集合,并将该共有的安全算法集合发送至用户设备,在IMS SA中使用该共有的安全算法集合中的安全算法进行安全鉴权,可以更准确的建立SA,具体来说,确定共有的安全算法集合建立SA的过程,如图3所示,包括: [0070] 步骤302,用户设备30发送携带有用户设备支持的安全算法集合的注册请求至P-CSCF 31,该安全算法集合中可以包括用户设备的自定义的安全算法。 [0071] 步骤304,P-CSCF 31接收到网络侧发送的用于指示用户设备30未鉴权的响应消息时,根据注册请求中用户设备30支持的安全算法集合,结合用户设备30在P-CSCF中配置的安全算法集合,确定共有的安全算法集合。 [0072] 步骤306,P-CSCF 31转发未鉴权的响应消息至用户设备30,该响应消息中携带P-CSCF 31确定的共有的安全算法集合。 [0073] 步骤308,用户设备30接收到未鉴权的响应消息时,从未鉴权的响应消息中获取共有的安全算法集合,并在共有的安全算法集合中选择一种安全算法作为IPSEC安全算法。 [0074] 步骤310,用户设备30使用选择的安全算法对注册请求进行完整性保护和加密保护,将受到安全算法保护的注册请求发送至P-CSCF 31。 [0075] 步骤312,P-CSCF 31对用户设备30安全鉴权通过时,发送注册成功消息至用户设备30,该注册成功的消息受到安全算法的保护,该安全算法可以与用户设备30选择的安全算法相同,也可以与用户设备30选择的安全算法不同,但该安全算法需要在共有的安全算法集合中进行选择。 [0076] 在步骤306中,P-CSCF将共有的安全算法集合添加到未鉴权的响应消息中,较佳地,P-CSCF在未鉴权的响应消息中增加扩展头域,将共有的安全算法集合添加到扩展头域中。 [0077] 值得说明的是,用户设备向P-CSCF发送的包括有该用户设备支持的安全算法的注册请求,也需要通过在注册请求增加扩展头域,将用户设备支持的安全算法集合添加到扩展头域中进行发送。 [0078] 作为较为具体的实施例,以注册请求消息为例,在SIP消息中,新增扩展头域安全算法集合。头域内容由支持的完整性保护算法集合和加密算法集合组成。 [0079] 例如:Security-algorithm-assemble:(安全算法集合) [0080] SIP-ialg-assemble(SIP完整性保护算法集合)=MD5,SHA1,SNOW3G(同步序列密码算法),AES,ZUC(祖冲之算法),Self-define(自定义) [0081] SIP-ealg-assemble(SIP加密算法集合)=3DES,SNOW3G(同步序列密码算法),AES,ZUC(祖冲之算法),Self-define(自定义) [0082] 在一种可能的实施方式中,本发明实施例提供的方法中,P-CSCF根据用户设备的标识确定该用户设备在P-CSCF中配置的安全算法集合,包括:P-CSCF根据用户设备的标识查找预设的第一安全算法列表确定该用户设备在P-CSCF中配置的安全算法集合,其中,第一安全算法列表中包括用户设备的标识与该用户设备在P-CSCF中配置的安全算法集合的对应关系。 [0083] 具体实施时,P-CSCF通过查找预设的第一安全算法列表确定用户设备在P-CSCF中配置的安全算法集合,有以下两种实施方式: [0084] 实施方式一 [0085] 第一安全算法列表是预先存储在所述P-CSCF中。具体来说,P-CSCF中保存用户设备的标识与该用户设备配置的安全算法的对应关系,从注册请求中获取到用户设备的标识之后,可以根据用户设备的标识直接查找存储的第一安全算法列表确定该用户设备在P-CSCF中配置的安全算法集合。 [0086] 实施方式二 [0087] P-CSCF利用用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立第一安全算法列表。具体来说,P-CSCF从接收到的网络侧发送的未鉴权的响应消息中获取网络侧为该用户设备的配置的安全算法集合;P-CSCF利用用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立第一安全算法列表,然后,P-CSCF根据用户设备的标识查找第一安全算法列表确定该用户设备在P-CSCF中配置的安全算法集合。 [0088] P-CSCF接收到的未鉴权的响应消息是网络侧的S-CSCF发送的,则作为一个较为具体的实施例,网络侧为用户设备配置的安全算法集合为S-CSCF根据用户设备的标识从用户设备的配置信息中获取的,其中,用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0089] 具体实施时,可以在S-CSCF中增加配置安全算法的界面,对用户设备进行安全算法的设定,当从注册请求消息中获取到用户设备的标识时,直接从该用户设备的配置信息中获取该用户设备对应的安全算法集合。 [0090] 作为另一较为具体的实施例,未鉴权的响应消息中携带的网络侧为用户设备配置的安全算法集合为S-CSCF根据用户设备的标识查找预设的第二安全算法列表得到的,其中,第二安全算法列表中包括用户设备的标识与该用户设备在S-CSCF中配置的安全算法集合的对应关系。 [0091] 当然,S-CSCF根据用户设备的标识查找预设的第二安全算法列表确定网络侧为用户设备配置的安全算法集合,有两种实施方式: [0092] 实施方式一 [0093] 第二安全算法列表是预先存储在所述S-CSCF中。具体来说,在S-CSCF中保存用户设备的标识与该用户设备配置的安全算法的对应关系,当P-CSCF通过I-CSCF将注册请求发送到S-CSCF时,S-CSCF从注册请求中获取到用户设备的标识之后,可以根据用户设备的标识直接查找存储的第二安全算法列表确定该用户设备在P-CSCF中配置的安全算法集合。 [0094] 实施方式二 [0095] S-CSCF利用用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立第二安全算法列表。具体来说,S-CSCF接收归属地签约数据服务器HSS发送的媒体鉴权应答MAA消息,从MAA消息中获取网络侧为该用户设备配置的安全算法集合;S-CSCF利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第二安全算法列表,然后,S-CSCF根据用户设备的标识查找第二安全算法列表确定该用户设备在S-CSCF中配置的安全算法集合。 [0096] 当然,在该实施方式中,S-CSCF建立第二安全算法列表中网络侧为该用户设备配置的安全算法集合是从HSS发送的MAA消息中获取的,则网络侧为该用户设备配置的安全算法集合为HSS根据用户设备的标识从用户设备的配置信息中获取的,其中,用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0097] 具体实施时,在HSS中,根据用户设备的标识配置不同的安全算法集合,包括完整性算法和加密算法,可以是某个用户设备所特殊使用的安全算法,该安全算法集合可以在HSS中进行配置,也可以通过业务运营支撑系统(Business&Operation Support System,BOSS)端等操作对HSS中安全算法集合进行操作,当然,值得说明的是,HSS中配置的安全算法集合中的安全算法需同时被用户设备和P-CSCF所支持。 [0098] 下面结合图4,以在HSS中配置用户设备的安全算法集合为例,对共有的安全算法集合的确定过程进行说明,具体来说,包括: [0099] 步骤402,用户设备40发送注册请求至P-CSCF 41,该注册请求中包括用户设备的标识和该用户设备40支持的安全算法集合。 [0100] 步骤404,P-CSCF 41从注册请求中获取用户设备40支持的安全算法集合和用户设备40的标识,将注册请求发送至I-CSCF 42。 [0101] 步骤406,I-CSCF 42将注册请求转发至S-CSCF 43。 [0102] 步骤408,S-CSCF 43发送MAR消息至HSS 44,请求对该用户设备40进行鉴权。 [0103] 步骤410,HSS 44从注册请求中获取用户设备40的标识,根据用户设备40的标识从用户设备40的配置信息中获取用户设备40在HSS 44中配置的安全算法集合,回复MAA消息至S-CSCF 43,MAA消息中携带用户设备40在HSS 44中配置的安全算法集合。 [0104] 步骤412,S-CSCF 43发送未鉴权的响应消息至I-CSCF 42,该未鉴权的响应消息中携带用户设备40在HSS 44中配置的安全算法集合。 [0105] 步骤414,I-CSCF 42发送未鉴权的响应消息至P-CSCF 41,该未鉴权的响应消息中携带用户设备40在HSS 44中配置的安全算法集合。 [0106] 步骤416,P-CSCF 41从未鉴权的响应消息中获取用户设备40在HSS 44中配置的安全算法集合,利用用户设备40的标识与用户设备40在HSS 44中配置的安全算法集合的对应关系建立第一安全算法列表,然后,对比计算用户设备40支持的安全算法集合与用户设备40在HSS 44中配置的安全算法集合之间共有的安全算法集合,去除未鉴权的响应消息中用户设备40在HSS 44中配置的安全算法集合,将共有的安全算法集合添加到未鉴权的响应消息中发送至用户设备40。 [0107] 在一种可能的实施方式中,本发明实施例提供的方法中,在P-CSCF将共有的安全算法集合发送至用户设备之后,该方法还包括:P-CSCF接收用户设备发送的使用自定义安全算法进行加密的注册请求;P-CSCF从该注册请求中获取用户设备的标识,并根据用户设备的标识确定P-CSCF与该用户设备之间的共有的安全算法集合;P-CSCF使用共有的安全算法集合中的安全算法对注册请求进行解密、校验以及对该用户设备进行安全鉴权。 [0108] 具体实施时,P-CSCF将共有的安全算法集合发送至用户设备之后,用户设备和P-CSCF可以利用共有的安全算法集合建立SA,当然,P-CSCF也可以保存该共有的安全算法集合。 [0109] 下面结合图5,对建立SA的过程进行具体说明,如图5所示,包括: [0110] 步骤502,用户设备50发送未受到安全算法保护的注册请求至P-CSCF 51。 [0111] 步骤504,P-CSCF 51将注册请求转发至网络侧(例如:I-CSCF、S-CSCF、HSS),并接收网络侧发送的未鉴权的响应消息,从未鉴权的响应消息中获取CK、IK以及安全算法并保存,准备网络侧IPSEC。 [0112] 步骤506,P-CSCF 51发送未受到安全算法保护的未鉴权的响应消息至用户设备50。 [0113] 步骤508,用户设备50接收到未鉴权的响应消息时,对网络侧进行鉴权。鉴权成功后,用户设备50再次向P-CSCF发送注册请求,使用CK、IK的扩展作为加密保护和完整性保护,使用自定义的安全算法对注册请求进行加密和完整性保护。 [0114] 步骤510,用户设备50发送受到安全算法保护的注册请求至P-CSCF 51。 [0115] 步骤512,P-CSCF 51收到用户设备50发送的受安全算法保护的注册请求时,对注册请求进行完整性校验,并解密数据,得到明文注册请求,使用摘要算法进行比较,完成对用户设备50的鉴权,转发注册请求至网络侧,收到网络侧发送的注册成功消息时,使用CK、IK作为密钥,对注册成功消息进行加密和完整性保护。 [0116] 步骤514,P-CSCF 51发送受到安全算法保护的注册成功消息至用户设备50。SA建立完成,P-CSCF 51和用户设备50后续的SIP消息交互受到使用自定义安全算法IPSEC的SA保护。 [0117] 在用户设备侧,本发明实施例提供的一种安全鉴权方法,如图6所示,包括: [0118] 步骤602,用户设备发送携带有自身支持的安全算法集合的注册请求至代理呼叫会话控制实体P-CSCF,以请求P-CSCF确定该用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,其中,用户设备支持的安全算法集合中包括该用户设备支持的自定义安全算法; [0119] 步骤604,用户设备接收P-CSCF发送的携带有共有的安全算法集合的未鉴权的响应消息; [0120] 步骤606,用户设备从共有的安全算法集合中选择任一安全算法对注册请求进行加密,生成加密的注册请求,并将加密的注册请求发送至P-CSCF,以请求进行安全鉴权。 [0121] 本发明实施例提供的方法中,通过向P-CSCF发送包括自定义安全算法的安全算法集合,并接收P-CSCF发送的用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMSSA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用支持的自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足使用自定义安全算法的需求,同时在IMS SA中使用共有的安全算法集合中的安全算法进行安全鉴权,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0122] 在一种可能的实施方式中,本发明实施例提供的方法中,用户设备发送携带有自身支持的安全算法集合的注册请求至P-CSCF,具体为:用户设备在注册请求中增加扩展头域,将自身支持的安全算法集合添加到扩展头域中,生成携带有自身支持的安全算法集合的注册请求发送至P-CSCF。 [0123] 在P-CSCF侧,本发明实施例提供的一种安全算法发送装置,如图7所示,包括:接收单元702,用于接收用户设备发送的注册请求,该注册请求中包括用户设备的标识和该用户设备支持的安全算法集合,其中,所述安全算法集合中包括该用户设备支持的自定义安全算法;处理单元704,连接至接收单元702,用于从所述注册请求中获取用户设备的标识和该用户设备支持的安全算法集合,并将所述注册请求转发至网络侧;以及当接收到网络侧发送的用于指示所述用户设备未鉴权的响应消息时,根据所述用户设备的标识确定该用户设备在该处理单元704所在的P-CSCF中配置的安全算法集合;发送单元706,连接至处理单元704,用于确定所述用户设备支持的安全算法集合与该用户设备在处理单元704所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,并将所述共有的安全算法集合添加到所述未鉴权的响应消息中发送至所述用户设备。 [0124] 本发明实施例提供的装置中,通过获取包括用户设备自定义安全算法的用户设备支持的安全算法集合,并确定用户设备支持的安全算法集合与该用户设备在该装置所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用用户设备支持的自定义安全算法进行安全鉴权,并且在后续SA中,用户设备和该装置所在的P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足用户设备使用自定义安全算法的需求,同时通过确定用户设备支持的安全算法集合与该用户设备在该装置所在的P-CSCF中配置的安全算法集合之间共有的安全算法集合,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0125] 在一种可能的实施方式中,本发明实施例提供的装置中,发送单元706将所述共有的安全算法集合添加到所述未鉴权的响应消息中,具体为:发送单元706在所述未鉴权的响应消息中增加扩展头域,将所述共有的安全算法集合添加到所述扩展头域中。 [0126] 在一种可能的实施方式中,本发明实施例提供的装置中,处理单元704根据所述用户设备的标识确定该用户设备该处理单元704所在的P-CSCF中配置的安全算法集合,包括:处理单元704根据所述用户设备的标识查找预设的第一安全算法列表确定该用户设备在该处理单元704所在的P-CSCF中配置的安全算法集合,其中,所述第一安全算法列表中包括用户设备的标识与该用户设备在该处理单元704所在的P-CSCF中配置的安全算法集合的对应关系。 [0127] 在一种可能的实施方式中,本发明实施例提供的装置中,所述第一安全算法列表是预先存储在所述处理单元704所在的P-CSCF中的;或者,处理单元704从接收到的网络侧发送的未鉴权的响应消息中获取网络侧为该用户设备的配置的安全算法集合;处理单元704利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第一安全算法列表。 [0128] 在一种可能的实施方式中,本发明实施例提供的装置中,所述网络侧为用户设备配置的安全算法集合为所述S-CSCF根据所述用户设备的标识从用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0129] 在一种可能的实施方式中,本发明实施例提供的装置中,所述安全算法集合为所述S-CSCF根据所述用户设备的标识查找预设的第二安全算法列表得到的,其中,所述第二安全算法列表中包括用户设备的标识与该用户设备在S-CSCF中配置的安全算法集合的对应关系。 [0130] 在一种可能的实施方式中,本发明实施例提供的装置中,所述第二安全算法列表是预先存储在所述S-CSCF中的;或者,所述S-CSCF接收归属地签约数据服务器HSS发送的媒体鉴权应答MAA消息,从所述MAA消息中获取网络侧为该用户设备配置的安全算法集合;所述S-CSCF利用所述用户设备的标识与网络侧为该用户设备配置的安全算法集合的对应关系建立所述第二安全算法列表。 [0131] 在一种可能的实施方式中,本发明实施例提供的装置中,所述网络侧为该用户设备配置的安全算法集合为所述HSS根据所述用户设备的标识从所述用户设备的配置信息中获取的,其中,所述用户设备的配置信息中预先配置用户设备对应的安全算法集合。 [0132] 在一种可能的实施方式中,本发明实施例提供的装置中,接收单元702还用于接收所述用户设备发送的使用自定义安全算法进行加密的注册请求;处理单元704还用于从该注册请求中获取所述用户设备的标识,并根据所述用户设备的标识确定该处理单元704所在的P-CSCF与该用户设备之间的共有的安全算法集合;以及,使用所述共有的安全算法集合中的安全算法对所述注册请求进行解密、校验和对该用户设备进行安全鉴权。 [0133] 本发明实施例提供的安全算法发送装置可以是P-CSCF,也可以是P-CSCF的一部分,集成在P-CSCF中。其中,接收单元702可以采用接收机或信号接收器等,处理单元704可以采用CPU处理器等,发送单元706可以采用发射机或信号发射器等。 [0134] 在用户设备侧,本发明实施例提供的一种安全鉴权装置,如图8所示,包括:发送单元802,用于发送携带有该发送单元所在的用户设备支持的安全算法集合的注册请求至代理呼叫会话控制实体P-CSCF,以请求所述P-CSCF确定该用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,其中,所述用户设备支持的安全算法集合中包括该用户设备支持的自定义安全算法;接收单元804,用于接收所述P-CSCF发送的携带有所述共有的安全算法集合的未鉴权的响应消息;处理单元806,连接至发送单元802和接收单元804,用于从所述共有的安全算法集合中选择任一安全算法对注册请求进行加密,生成加密的注册请求,并将所述加密的注册请求发送至所述P-CSCF,以请求进行安全鉴权。 [0135] 本发明实施例提供的装置中,通过向P-CSCF发送包括自定义安全算法的安全算法集合,并接收P-CSCF发送的该装置所在的用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,与现有技术中只能在常用的几种安全算法中进行选择,无法使用用户设备支持的自定义安全算法相比,实现了使用支持的自定义安全算法进行安全鉴权,并且在后续SA中,该装置所在的用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足使用自定义安全算法的需求,同时在IMSSA中使用共有的安全算法集合中的安全算法进行安全鉴权,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0136] 在一种可能的实施方式中,本发明实施例提供的装置中,发送单元802具体用于:在所述注册请求中增加扩展头域,将该发送单元802所在的用户设备支持的安全算法集合添加到所述扩展头域中,生成携带有该发送单元802所在的用户设备支持的安全算法集合的注册请求发送至所述P-CSCF。 [0137] 本发明实施例提供的安全鉴权装置可以是用户设备的一部分,集成在用户设备中。其中,发送单元802可以采用发射机或信号发射器等,接收单元804可以采用接收机或信号接收器等,处理单元806可以采用CPU处理器等。 [0138] 综上所述,本发明实施例提供的一种安全算法发送、安全鉴权方法及装置,通过获取包括用户设备自定义安全算法的用户设备支持的安全算法集合,并确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,从而使得在共有的安全算法集合中包括该用户设备支持的自定义安全算法时,能够在IMS SA中,使用该自定义安全算法进行安全鉴权,实现了使用用户设备支持的自定义安全算法进行安全鉴权,并且在后续SA中,该装置所在的用户设备和P-CSCF将使用自定义安全算法作为完整性保护算法和加密算法进行消息交互,满足用户设备使用自定义安全算法的需求,同时通过确定用户设备支持的安全算法集合与该用户设备在P-CSCF中配置的安全算法集合之间共有的安全算法集合,避免了因用户设备或P-CSCF选择的安全算法不被对方支持导致的注册失败。 [0139] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。 [0140] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。 [0141] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。 [0142] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。 |