专利名称:一种会话信息交互方法、装置及系统的制作方法
技术领域:
本发明涉及网络技术领域,更具体地说,涉及一种会话信息交互方法、装置及系统。
背景技术:
随着NGN(Next Generation Network,下一代网络)技术的不断发展,对于NGN在 IP网络上实现VoIP (Voice over Internet Protocol,声音在网路上传播协议)和多媒体 通信来讲,SIP (Session Initiation Protocol,会话初始化协议)在全面满足NGN特性要 求的应用上具有独特的优势,也逐渐成为下一代网络VoIP的重要解决方案。为了保证SIP会话信息的安全性,目前,常用TLS (Transport LayerSecurity,传 输层安全)和 S/MIME (Secure Multipurpose Internet MailExtensions,安全多用途因特 网邮件扩展)方式处理SIP消息,从而保护SIP消息的机密性和安全性。在发明创造过程中,发明人发现现有技术至少存在以下问题在采用TLS方式时,SIP消息通过SIP中间节点需要加密解密处理,而在进行加密 解密处理之前,需要建立TLS握手,这样就需要引入TLS握手流程这一新的流程来进行加密 支持。在S/MIME方式中,需要使用公钥对会话信息进行加密,为保证公钥的可信任度。 S/MIME方式需要SIP会话信息发送方首先必须从CA (CertificateAuthority,数字证书认 证)中心获得接收方的公共密钥,使得整个端到端系统必须引入第三方来实现;而且获取 公共密钥是一个新的流程,必需在发送加密消息前完成,这样也增加了逻辑的复杂性,影响 交互性能。
发明内容
本发明的实施例提供一种会话信息交互方法、装置及系统,以解决现有技术存在 的中间节点需要加密解密处理,或者,会话交互过程中加密需增加第三方流程的问题。本发明实施例提供一种会话信息交互方法,包括与对端进行加密协商,确定密钥及加密算法;利用所述确定的密钥及加密算法对会话信息的消息体加密后,将所述会话信息发 送给对端,或者,接收消息体由所述密钥及加密算法加密的会话信息。本发明实施例还提供了一种会话信息交互装置,包括加密协商单元,用于与对端进行加密协商,确定密钥及加密算法;加密单元,用于利用所述密钥及加密算法对会话信息的消息体进行加密;会话信息收发单元,用于将所述加密单元加密的会话信息发送给对端,或者,接收 消息体由所述密钥及加密算法加密的会话信息。本发明实施例还提供了一种会话信息交互系统,包括代理服务器和至少两个客户端,其中所述客户端用于通过所述代理服务器与系统中的其他客户端进行密钥协商,并 在密钥协商完成后,利用所述确定的密钥及加密算法对需要发送的会话信息的消息体加 密,或者,接收消息体由所述密钥及加密算法加密的会话信息;所述代理服务器用于实现所 述各客户端之间的密钥协商,以及,转发所述会话信息。从上述的技术方案可以看出,与现有技术相比,本发明的实施例中,客户端通过接收、发送包括密钥和加密算法内容的会话请求和会话响应信息,与交互的对端进行了加密 协商,而无需引入第三方流程,降低了流程复杂度。并且,本发明的实施例只对会话信息中 的消息体进行加密,使得会话信息在网络中传播时,中间节点不需要对会话信息进行加密、 解密处理,节约了时间,提高会话信息在网络中的传播效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明实施例中一种会话信息交互方法的流程图;图2为本发明实施例中加密协商的流程图;图3为本发明实施例中订阅/通知业务流程进行密钥协商及加密的示意图;图4为本发明实施例中具有crypto头域的订阅请求信息结构示意图;图5为本发明实施例中具有crypto头域的2000K信息结构示意图;图6为本发明实施例中加密前的SIP消息结构示意图;图7为本发明实施例中加密后的SIP消息结构示意图;图8为本发明实施例中对SIP VOIP基本呼叫流程中进行部分加密的示意图;图9为本发明实施例中INVITE-180的示意图;图10为本发明实施例中180-PRACK的示意图;图11为本发明实施例中PRACK-200的示意图;图12为本发明一种会话信息交互装置实施例的结构示意图;图13为本发明一种会话信息交互系统实施例的结构示意图;图14为本发明一种会话信息交互系统另一个实施例的结构示意图。
具体实施例方式本发明实施例提供了一种技术方案,可以解决现有技术存在的会话交互过程中加 密需增加第三方流程、收发消息双方无法协商加密细节的问题。为了引用和清楚起见,本文中使用的技术名词、简写或缩写总结如下SIP, Session Initiation Protocol, 即 会话初始化协议;TLS, Transport Layer Security,即 传输层安全;S/MIME, Secure Multipurpose Internet Mail Extensions,即 安全多用途因特 网邮件扩展;
VOIP, Voice over Internet Protocol,S卩声音在网路上传播协议 SDP,Session Description Protoco,艮口 会话描述协议NGN, Next Generation Network,艮:下一代网络
B2BUA, Business To Business User Agent,S卩企业对企业之间的营销关系用户 代理客户端;ISP, Internet Service Provider,即互联网服务提供商。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实 施例,都属于本发明保护的范围。参见图1示出的实施例公开的一种会话信息交互方法,包括步骤101,与对端进行加密协商,确定密钥及加密算法;步骤102,发送或接收会话信息,所述会话信息的消息体由所述密钥及加密算法进 行加密。在本发明的另一个优选实施例中,步骤101所进行的加密协商过程可以如图2所 示,包括如下步骤步骤201,接收会话请求,所述会话请求包括发送方标识、接收方标识、发送方公钥 及第一加密算法;步骤202,发送会话响应信息,所述会话响应信息包括接收方公钥及第二加密算 法。所述第一加密算法和第二加密算法可以相同,也可以不同,具体而言,可以根据用 户需求或者网络实际运行情况而定。下面通过SIP应用情景对采用本发明会话信息交互方法的SIP会话过程举例进行 描述在同一个域中的两个客户端进行SIP会话时,客户端A使用SIP电话,客户端B有 一台PC,运行支持语音和视频软件的客户程序,加电后,两个用户都在ISP网络中,客户端A 向客户端B发起会话请求,在会话请求信息中除了包含客户端A发送的消息体和客户端A 的标识,客户端B的标识等信息外,还包含了用于指示密钥和加密算法的信息,客户端B收 到会话请求后,向客户端A发送会话响应信息,该会话响应信息中包含了客户端B的公钥和 客户端B使用的加密算法,从而实现客户端A和客户端B之间的加密协商。当同一个域中的两个客户端使用代理服务器进行SIP会话时,具体过程如下客 户端A使用SIP电话,客户端B、C、D有一台PC,运行支持语音和视频的软客户程序。加电 后,四个用户都在ISP网络中的SIP代理服务器上注册了他们的空闲情况和IP地址。客户 端A发起此呼叫,告诉SIP代理服务器要联系客户端B。然后,SIP代理服务器向SIP注册 服务器发出请求,要求提供客户端B的IP地址,并收到客户端B的IP地址。SIP代理服务 器转发客户端A向客户端B进行通信的邀请信息,该信息不仅包括用于指示客户端要使用 的媒体的信息,还包括客户端A的公钥和使用的加密算法。客户端B通知SIP代理服务器 可以接受客户端A的邀请,且已做好接收消息的准备,客户端B回应的消息中包括客户端B 使用的公钥和加密算法。因此,在SIP代理服务器将此消息传达给客户端A后,建立上述客户端之间的SIP会话。本发明的技术方案的密钥协商过程在SIP标准订阅/通知业务流程、初始订阅流 程和SIP VOIP基本呼叫流程等常用流程中应用,下面通过几个实例进行说明图3给出了 RFC定义的SIP标准订阅/通知业务流程进 行密钥协商及加密的示意 图,包括如下步骤步骤301,在初始化订阅流程中进行加密协商;发送端发送订阅请求(Subscribe),该订阅请求中携带Crypto头域,用于指示密 钥及加密算法,接收端接收到所述请阅请求后,反馈响应信息(2000K),该信息中同样携带 Crypto头域。携带Crypto头域的Subscribe和2000K分别如图4和图5所示,其中,inline 字段指示用于协商的密钥,AES_CM_128表示使用AES加密算法,工作模式为Counter Mode。步骤302,根据协商结果对后续带有SIP BODY的NOTIFY消息的消息体加密。具体的加密过程如下对于消息的消息体进行加密,利用在此场景中,隐藏了用户语音邮箱账户信息; SIP消息其余头部不进行加密处理,减少了加密运算量,同时也不影响消息在不支持该加密 算法的SIP节点中传输。加密前SIP消息结构如图6所示,其中,61指的是SIP消息的头 部,62指的是SIP消息的消息体,加密后SIP消息结构如图7所示,其中,71指的是SIP消 息的头部,72指的是SIP消息的消息体。由此可见,该实施例中采取只对会话信息中的消息体进行加密的方式,使得会话 信息在网络中传播时,中间节点不需要对会话信息进行加密、解密处理,节约了时间,使得 会话信息在网络中过的传播效率更高。参考图8示出了本发明另一个实施例,给出了对SIP VOIP基本呼叫流程中进行部 分加密的流程步骤801,通过INVITE-180方式完成加密方式和密钥协商;具体过程为发送端发送Invite消息,该消息中不携带SDP,而携带用于指示发送 端采用的密钥及加密算法的信息,接收端接收到所述Invite消息后,先后发送IOOTring和 ISORinging (所述ISORinging携带接收端采用的密钥及加密算法的信息)以标志加密协商 过程完成。步骤802,通过200-ACK方式完成媒体协商,并对SDP消息体进行加密。所述Invite消息及ISORinging携带新增的Crypto头域,以指示所采用的密钥及 加密算法,所述新增的Crypto头域如图9中的901和902所示。对于支持RFC 3262的SIP系统,则可以使用更加灵活可靠的加、解密协商方式,除 了可采用INVITE-180以外,还可以采用180-PRACK、PRACK-200方式进行加、解密协商。在 180-PRACK方式中,一端(为方便描述,下文称为B端)发送180Ringing,所述180Ringing 携带Crypto头域,如图10中的1001,用于指示B端采用的密钥及加密算法,另一端(为描述 方便,下文称为A端)发送PRACK消息,该PRACK消息携带Crypto头域,如图10中的1002, 用于指示A端采用的密钥及加密算法;在PRACK-200方式中,A端向B端发送PRACK消息, B端发送2000K消息,所述PRACK消息和2000K消息中均携带用于指示密钥及加密算法的 Crypto头域,分别如图11中的1101和1102所示。上述各实施例利用新增Crypto头域进行加密算法及密钥协商,从而不需要扩展当前的流程,无需引入第三方流程,降低了流程的复杂度。另外,上述实施例中,对SIP消息的部分内容加密,这里所述的部分内容是指SIP 消息的消息体,对SIP消息中的携带身份信息的字段则不加密,这就使得SIP消息通过SIP 中间节点时不需要加密解密处理,因此不需要TLS握手流程。减少了加、解密处理时间,在 节点较多的网络情况下,效果尤其明显。针对上述方法,本发明实施例还提供了一种会话信息交互装置,图12示出了该 会话信息交互装置的一种结构形式,如图所示,该装置包括加密协商单元1201、加密单元 1202和会话信息收发单元1203 ;其中加密协商单元1201,用于与对端进行加密协商,确定密钥及加密算法;加密单元1202,用于利用所述密钥及加密算法对会话信息的消息体进行加密;会话信息收发单元1203,用于发送或接收会话信息,所述会话信息中的消息体由 所述密钥及加密算法进行加密。加密协商单元1201可以由接收单元1204和应答单元1205组成,其中接收单元1204,用于接收会话请求,所述会话请求包括发送方标识、接收方标识、 发送方公钥及第一加密算法;应答单元1204,用于发送会话响应信息,所述会话响应信息包括接收方公钥及第 二加密算法。所述第一加密算法和第二加密算法可以相同,也可以不同,具体而言,可以根据用 户需求或者网络实际运行情况而定。本发明实施例还公开了一种会话信息交互系统,其一种结构形式如图13所示,该 系统包括至少两个客户端1301、1302,所述客户端1301 (1302)包括加密协商单元1303、力口 密单元1304和会话信息收发单元1305。加密协商单元1303、加密单元1304和会话信息收 发单元1305的功能,与上述加密协商单元1201、加密单元1202和会话信息收发单元1203 的功能基本相同,在此不再赘述。需要说明的是,所述客户端1301、1302可以是应用服务器、软交换设备、背靠背用 户代理,或代理服务器,或以上任意组合。可以理解,对于非NGN网络,代理服务器就相当于软交换设备,B2BUA就相当于应 用服务器,只是在不同的网络中称谓不同而已,其他处理方式完全相同。上述实施例揭示了两个客户端之间直接进行会话交互的情景,在一些应用环境 下,客户端之间不能直接进行信息交互,需要代理服务器转发信息,下面以两个客户端之间 通过代理服务器实现本发明技术方案为实施例进行说明。图14示出了会话信息交互系统的另一种结构形式,该系统包括代理服务器1401 和至少两个客户端1402、1403。其中客户端1402、1403用于通过代理服务器1401与系统中的其他客户端进行密钥协 商,并在密钥协商完成后,利用所述确定的密钥及加密算法对需要发送的会话信息的消息 体加密,或者,接收消息体由所述密钥及加密算法加密的会话信息;代理服务器1401用于实现所述各客户端之间的密钥协商,以及,转发来自各客户端的会话信息,所述会话信息的消息体由所述密钥及加密算法进行加密。 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。专业人员可以理解,结合本文中所公开的实施例描述的各示例的单元及方法步 骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可 互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟 以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员 可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出 本发明的范围。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,所述程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为 磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory, RAM)等。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
一种会话信息交互方法,其特征在于,包括与对端进行加密协商,确定密钥及加密算法;利用所述确定的密钥及加密算法对会话信息的消息体加密后,将所述会话信息发送给对端,或者,接收消息体由所述密钥及加密算法加密的会话信息。
2.根据权利要求1所述的方法,其特征在于,所述加密协商包括如下步骤接收会话请求,所述会话请求包括发送方标识、接收方标识、发送方公钥及第一加密算法;发送会话响应信息,所述会话响应信息包括接收方公钥及第二加密算法。
3.根据权利要求2所述的方法,其特征在于所述会话请求或会话响应信息携带用于 指示密钥和加密算法的Crypto头域。
4.根据权利要求3所述的方法,其特征在于所述会话请求是Irwite消息,所述会话 响应是ISORing消息,或者,所述会话请求消息是ISORing消息,所述会话响应消息是PRACK 消息,或者,所述会话请求消息是PRACK消息,所述会话响应消息是2000K消息。
5.一种会话信息交互装置,其特征在于,包括加密协商单元,用于与对端进行加密协商,确定密钥及加密算法; 加密单元,用于利用所述密钥及加密算法对会话信息的消息体进行加密; 会话信息收发单元,用于将所述加密单元加密的会话信息发送给对端,或者,接收消息 体由所述密钥及加密算法加密的会话信息。
6.根据权利要求5所述的装置,其特征在于,所述加密协商单元包括接收单元,用于接收会话请求,所述会话请求包括发送方标识、接收方标识、发送方公 钥及第一加密算法;应答单元,用于发送会话响应信息,所述会话响应信息包括接收方公钥及第二加密算法。
7.根据权利要求5所述的装置,其特征在于所述会话请求和会话响应信息携带用于 指示密钥和加密算法的Crypto头域。
8.根据权利要求7所述的装置,其特征在于所述会话请求是Irwite消息,所述会话 响应是ISORing消息,或者,所述会话请求消息是ISORing消息,所述会话响应消息是PRACK 消息,或者,所述会话请求消息是PRACK消息,所述会话响应消息是2000K消息。
9.根据权利要求5所述的装置,其特征在于,所述装置为应用服务器、软交换设备、背 靠背用户代理,或代理服务器,或以上任意组合。
10.一种会话信息交互系统,其特征在于,包括代理服务器和至少两个客户端,其中 所述客户端用于通过所述代理服务器与系统中的其他客户端进行密钥协商,并在密钥协商完成后,利用所述确定的密钥及加密算法对需要发送的会话信息的消息体加密,或 者,接收消息体由所述密钥及加密算法加密的会话信息;所述代理服务器用于实现所述各客户端之间的密钥协商,以及,转发所述会话信息。
全文摘要
本发明实施例提供一种会话信息交互方法、装置及系统,所述方法包括与对端进行加密协商,确定密钥及加密算法;发送或接收会话信息,所述会话信息的消息体由所述密钥及加密算法进行加密。本发明的实施例中,客户端通过接收、发送包括密钥和加密算法内容的会话请求和会话响应信息,与交互的对端进行了加密协商,无需引入第三方流程,降低了加密流程的复杂度,并且,只对会话信息中的消息体进行加密,使得会话信息在网络中传播时,中间节点不需要对会话信息进行加密、解密处理,节约了传播时间。
文档编号H04M7/00GK101800734SQ20091000692
公开日2010年8月11日 申请日期2009年2月9日 优先权日2009年2月9日
发明者丁诚, 任潜, 俞逖, 张雪雯, 涂昕东, 谢竞 申请人:华为技术有限公司