跨协议的码流加密协商方法、装置及会议设备与流程

文档序号:15743930发布日期:2018-10-23 22:45阅读:278来源:国知局

本发明涉及视频会议技术领域,具体涉及一种跨协议的码流加密协商方法、装置及会议设备。



背景技术:

近年来,在Internet飞速发展的推动下,人们对安全、高效、节省开支的视频会议系统越来越关注。视频会议系统通过网络把两个或多个地点的会议终端连起来,使身处异地的成员可以就同一议题进行讨论,相互之间不仅可以听到发言者的声音而且还可以看到发言者的图像和背景,同时还可以对有关议题的数据、文字、图表等信息进行交流。在视频会议系统的各项技术中,协议技术无疑是核心技术之一。

然而,视频会议系统中各个会议终端的不同,会导致各个会议终端在进行音视频码流传输时,协商出的音视频码流格式的信令协议不同;即在同一视频会议系统中会出现音视频码流采用多种格式的信令协议进行传输,影响视频会议的效果。

现有技术中,为解决不同协议之间码流的对通,在一些标准中规定了非加密对通的方案。例如,视频会议系统中常采用的会话初始化协议(Session Initiation Protocol,简称为SIP)以及H.323协议,其中,RFC4123“Session Initiation Protocol(SIP)-H.323Interworking Requirements”,是IETF2005年7月正式公布的,定义了网关在H.323和SIP之间完成互通工作。

但是,现有技术中多协议之间码流的传输一般都是采用非加密对通的方案实现的,其跨协议码流传输的安全性较低。而随着通信技术的迅猛发展,人们对安全的要求越来越高,非加密对通的方案已经不能人们对跨协议码流传输安全性的需求。



技术实现要素:

有鉴于此,本发明实施例提供了一种跨协议的码流加密协商方法、装置及会议设备,以解决跨协议码流传输安全性低的问题。

根据第一方面,本发明实施例提供了一种跨协议的码流加密协商方法,包括:接收第一会议终端发送的第一协议连接请求信令,所述第一协议连接请求信令中携带码流加密信息以及加密后的第一码流密钥;

向第二会议终端发送第二协议连接请求信令,所述第二协议连接请求信令中携带所述码流加密信息以及所述加密后的第一码流密钥;

接收所述第二会议终端基于所述第二协议连接请求信令反馈的第二协议第一信令,所述第二协议第一信令携带主从决定以及第一消息体,所述第一消息体包括协商出的码流加密信息以及加密后的码流加密信息;

保存所述主从决定,向所述第一会议终端发送第一协议第一信令,所述第一协议第一信令携带所述第一消息体;

接收所述第一会议终端发送的第一协议第二信令,所述第一协议第二信令用于表示码流加密协商的结束。

本发明在采用不同协议通信的会议终端之间进行码流加密信息以及码流密钥的协商(第一协议与第一会议终端对应,第二协议与第二会议终端对应),并根据主从消息决定采用哪一会议终端的码流密钥对后续的码流进行加密;即本发明通过交互时序的控制,使得通信双方能够协商出码流密钥以及码流加密信息,并通过对不同协议加密部分的转换能够实现不同协议之间的加密通信,保证了在同一视频会议系统中采用不同通信协议的会议终端之间都能够实现码流的加密通信,实现了跨协议的安全对通。

结合第一方面,在第一方面第一实施方式中,所述接收第一会议终端发送的第一协议连接请求信令的步骤之前,还包括:

向服务器发送注册请求,所述注册请求中携带有公钥;

接收服务器发送的利用所述公钥加密后的主密码表以及所述主密码表的版本号,其中,所述主密码表中的主密钥与标号一一对应;

利用与所述公钥对应的私钥对所述加密后的主密码表进行解密,得到所述主密码表。

本发明通过在向服务器注册时发送公钥,即从服务器端注册获得的主密钥表是加密形式的,保证了主密钥表传输的可靠性,从而进一步提高了主密钥的安全性。

结合第一方面第一实施方式,在第一方面第二实施方式中,所述码流加密信息包括所述第一会议终端主密码表的版本号;

所述向第二会议终端发送第二协议连接请求信令的步骤之前,还包括:

判断所述第一会议终端主密码表的版本号与自身主密码表的版本号是否匹配;

当自身主密码表的版本号与所述第一会议终端主密码表的版本号不匹配时,根据版本号的高低向所述服务器重新进行注册,以更新所述版本号。

本发明通过在码流加密信息协商之前,通过匹配主密钥表,以保证通信双方使用的是同一主密码表,能够保证双方根据标号用的是同一主密钥,从而能够正确地解密出码流密钥。

结合第一方面第二实施方式,在第一方面第三实施方式中,所述码流加密信息还包括:若干加密算法以及第一标号,所述第一标号用于在所述主密码表中唯一确定所述主密钥。

结合第一方面第三实施方式,在第一方面第四实施方式中,所述协商出的加密后的码流密钥,包括:

当所述第一会议终端为主时,所述加密后的码流密钥由加密后的码流密钥决定;或,

当所述第一会议终端为从时,所述加密后的码流密钥由所述协商出的码流加密信息和所述第二会议终端生成的第二码流密钥决定。

本发明的第二协议的加密规则中,由master(主)决定码流密钥,因此,加密后的码流密钥经过两次交互实现码流密钥的协商;具体地,在获得主从消息后,最后决定使用哪一方的码流密钥;通过时序控制,能够在不同协议之间实现码流密钥的协商。

根据第二方面,本发明实施例还提供了一种跨协议的码流加密协商方法,包括:

接收第二会议终端发送的第二协议连接请求信令,所述第二协议连接请求信令中携带码流加密信息;

向第一会议终端发送第一协议连接请求信令,所述第一协议连接请求信令中携带所述码流加密信息;

接收所述第一会议终端基于所述第一协议连接请求信令反馈的第一协议第二信令,所述第一协议第二信令携带第二消息体,所述第二消息体包括协商出的码流加密信息以及加密后的第一码流密钥;

向所述第二会议终端发送第二协议第一信令,所述第二协议第一信令携带所述协商出的码流加密信息以及所述加密后的第一码流密钥;

接收所述第二会议终端基于所述第二协议第一信令反馈的第二协议第二信令,所述第二协议第二信令携带协商出的加密后的码流密钥以及主从决定;

保存所述主从决定,向所述第一会议终端发送第二协议第三信令,所述第二协议第三信令用于表示码流加密协商的结束。

本发明在采用不同协议通信的会议终端之间进行码流加密信息以及码流密钥的协商,并根据主从消息决定采用哪一会议终端的码流密钥对后续的码流进行加密;即本发明通过交互时序的控制,使得通信双方能够协商出码流密钥以及码流加密信息,并通过对不同协议加密部分的转换能够实现不同协议之间的加密通信,保证了在同一视频会议系统中采用不同通信协议的会议终端之间都能够实现码流的加密通信,实现了跨协议的安全对通。

根据第三方面,本发明实施例提供了一种跨协议的码流加密协商装置,包括:

第一接收模块,用于接收第一会议终端发送的第一协议连接请求信令,所述第一协议连接请求信令中携带码流加密信息以及若干加密后的第一码流密钥;

第一发送模块,用于向第二会议终端发送第二协议连接请求信令,所述第二协议连接请求信令中携带所述码流加密信息以及所述加密后的第一码流密钥;

第二接收模块,用于接收所述第二会议终端基于所述第二协议连接请求信令反馈的第二协议第一信令,所述第二协议第一信令携带主从决定以及第一消息体,所述第一消息体包括协商出的码流加密信息以及加密后的码流加密信息;

第二发送模块,用于保存所述主从决定,向所述第一会议终端发送第一协议第一信令,所述第一协议第一信令携带所述第一消息体;

第三接收模块,用于接收所述第一会议终端发送的第一协议第二信令,所述第一协议第二信令用于表示码流加密协商的结束。

根据第四方面,本发明实施例提供了一种跨协议的码流加密协商装置,包括:

第四接收模块,用于接收第二会议终端发送的第二协议连接请求信令,所述第二协议连接请求信令中携带码流加密信息;

第三发送模块,用于向第一会议终端发送第一协议连接请求信令,所述第一协议连接请求信令中携带所述码流加密信息;

第五接收模块,用于接收所述第一会议终端基于所述第一协议连接请求信令反馈的第一协议第二信令,所述第一协议第二信令携带第二消息体,所述第二消息体包括协商出的码流加密信息以及加密后的第一码流密钥;

第四发送模块,用于向所述第二会议终端发送第二协议第一信令,所述第二协议第一信令携带所述协商出的码流加密信息以及所述加密后的第一码流密钥;

第六接收模块,用于接收所述第二会议终端基于所述第二协议第一信令反馈的第二协议第二信令,所述第二协议第二信令携带协商出的加密后的码流密钥以及主从决定;

第五发送模块,用于保存所述主从决定,向所述第一会议终端发送第二协议第三信令,所述第二协议第三信令用于表示码流加密协商的结束。

根据第五方面,本发明实施例提供了一种会议设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式或第二方面中所述的跨协议的码流加密协商方法。

根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式或第二方面中所述的跨协议的码流加密协商方法。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了本发明实施例中跨协议的码流加密协商方法的一个具体示意的方法流程图;

图2示出了本发明另一实施例中跨协议的码流加密协商方法的一个具体示意的方法流程图;

图3示出了本发明另一实施例中跨协议的码流加密协商方法的一个具体示意的方法流程图;

图4示出了本发明实施例中第一会议终端主呼第二会议终端的交互流程图;

图5示出了本发明另一实施例中第一会议终端主呼第二会议终端的交互流程图;

图6示出了本发明实施例中第二会议终端主呼第一会议终端的交互流程图;

图7是示出了本发明实施例中SIP终端加密呼叫流程中主呼携带SDP的一个具体示意的方法流程图;

图8是示出了本发明实施例中SIP终端加密呼叫流程中主呼不携带SDP的一个具体示意的方法流程图;

图9示出了本发明实施例中网关注册的一个具体示意的流程;

图10示出了本发明实施例中SIP服务器向网关更新主密码表的一个具体示意的流程;

图11示出了本发明实施例中SIP终端主呼H.323终端的一个具体示意的流程;

图12示出了本发明实施例中H.323终端主呼SIP终端的一个具体示意的流程;

图13示出了本发明实施例中跨协议的码流加密协商装置的一个具体示意的结构图;

图14示出了本发明另一实施例中跨协议的码流加密协商装置的一个具体示意的结构图;

图15示出了本发明实施例中会议设备的一个具体示意的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明中的第一会议终端基于第一协议通信的,第二会议终端基于第二协议通信的,第一协议与第二协议不同。此外,第一码流密钥为第一会议终端生成的,第二码流密钥为第二会议终端生成的。

其中,本发明的技术方案包含以下概念:

主密钥:用来加密音视频码流密钥的密钥。

主密码表:就是一张有多个主密钥表的集合,集合中的每个主密钥都有一个mki号来对应。

SIP终端:表示使用SIP协议的终端或者MCU;

H.323终端:表示使用H.323协议的终端或者MCU。

H.323-SIP网关:表示进行H.323协议和SIP协议互相转换的网关。

本发明的技术方案包含以下缩写:

EAn:所有支持的加密算法集合,比如:3DES、AES128、AES256等。

EAx:选定的加密算法,在EAn中选择一种加密算法作为EAx。

EKn:使用[EAn、主密钥]加密码流秘钥后的集合。

EKx:使用[EAx、主密钥]加密码流秘钥后的值。

ver:主密码表版本号,由主密码表生成时间+ID组成。用来确认通信双方使用的主密码表是一致的。

mki:主密码表中的主密钥对应的id号,是一个非0的正整数,相同的主密码表对应的mki拥有相同的主密钥值。如果mki是0,则表明不用主密钥表的密钥,就用所有产品默认的一个主密钥。

本发明通过会议设备实现不同协议的会议终端之间的加密通信,具体地,通过会议设备控制会议终端之间消息交互的时序,并将协议加密部分进行转换,使得在同一会议系统中,能够实现信息的跨协议安全对通。

图1示出了本发明实施例中跨协议的码流加密协商方法的流程,该方法包括:

S101,接收第一会议终端发送的第一协议连接请求信令。

本发明中会议设备接收第一会议终端发送的第一协议连接请求信令,在第一协议连接请求信令中携带码流加密信息以及加密后的第一码流密钥。其中,不同协议对应的连接请求信令以及连接请求信令中携带的内容不同。例如,对于SIP协议,连接请求信令为INVITE,对应于H.323协议,连接请求信令为setup。

会议设备在接收到连接请求信令后,通过对连接请求信令的协议构造的分析,就能得出连接请求信令所采用的协议。当会议设备确定出连接请求信令所采用的协议之后(在本实施例中,确定出连接请求信令所采用的协议为第一协议,即为第一会议终端发送的该连接请求信令),提取出连接请求信令中携带的码流加密信息以及加密后的第一码流密钥。

其中,第一码流密钥以及第一协议连接请求信令与第一会议终端对应。具体地,第一会议终端生成第一码流密钥,利用码流加密信息对第一码流密钥加密后,形成加密后的第一码流密钥。

由于码流加密信息中可能存在多个对码流进行加密的信息,因此,在形成加密后的码流密钥时,需要利用所有的加密信息对第一码流密钥进行加密,即得到了若干加密后的第一码流密钥。因此,在第一协议连接请求信令中携带若干加密后的第一码流密钥以及码流加密信息。

S102,向第二会议终端发送第二协议连接请求信令。

由于连接请求信令中的码流加密信息以及加密后的第一码流密钥是以第一协议的信令格式表示的,会议设备在提取出的码流加密信息以及加密后的第一码流密钥后,需要进行转换,将码流加密信息以及加密后的第一码流密钥转换成第二协议的信令格式。

会议设备将经过转换后的码流加密信息以及加密后的第一码流密钥,携带在第二协议连接请求信令中,发送给第二会议终端。

S103,接收第二会议终端基于第二协议连接请求信令反馈的第二协议第一信令。

其中,第二协议第一信令携带主从决定以及第一消息体,第一消息体包括第一主从消息以及协商出的码流加密信息。此外,第一协议以及第二协议的主体是若干的信令实体,这些实体通过协议规定的过程与对端的信令实体交换信息,从而实现终端之间的通信控制。即,主从决定为第二协议对应的信令实体通过消息的形式确定会话中的主终端和从终端,以免在随后的通信过程中产生冲突而无解决方法。

第二会议终端在接收到会议设备发送的第二协议连接请求信令后,从该连接请求信令中提取出码流加密信息,并对该码流加密信息进行协商,形成协商出的码流加密信息。

同时,第二会议终端协商出主从决定,并根据主从决定以及协商出的码流加密信息,协商出加密后的码流密钥。

第二会议终端将协商出的码流加密信息以及协商出的加密后的码流密钥以第一消息体的形式在第二协议第一信令中携带,发送给会议设备;此外,在第二协议第一信令中还携带有主从决定。

S104,保存主从决定,向第一会议终端发送第一协议第一信令。

其中,第一协议第一信令携带第一消息体。会议设备在接收到第二会议终端发送的第二协议第一信令时,保存其中的主从决定。此外,还将第二协议第一信令中携带的第一消息体转换成第一协议的信令格式,携带在第一协议第一信令中发送给第一会议终端进行确认。

S105,接收第一会议终端发送的第一协议第二信令。

其中,第一协议第二信令用于表示码流加密协商的结束。

本实施例在采用不同协议通信的会议终端之间进行码流加密信息以及码流密钥的协商(第一协议与第一会议终端对应,第二协议与第二会议终端对应),并根据主从消息决定采用哪一会议终端的码流密钥对后续的码流进行加密;即本发明通过交互时序的控制,使得通信双方能够协商出码流密钥以及码流加密信息,并通过对不同协议加密部分的转换能够实现不同协议之间的加密通信,保证了在同一视频会议系统中采用不同通信协议的会议终端之间都能够实现码流的加密通信,实现了跨协议的安全对通。

在后续通信过程中,第一会议终端以及第二会议终端即可利用协商出的码流加密信息对协商出的加密后的码流密钥进行解密,以得到协商出的码流密钥。第一会议终端以及第二会议终端利用协商出的码流密钥以及协商出的码流加密信息对音视频码流进行加密,进行直接进行加密的通信。其中,第一会议终端以及第二会议终端可以直接进行加密通信,也可以经过会议设备进行中转。当会议终端之间进行直接加密通信时,就需要在码流加密协商过程中,带上两侧会议终端的地址。

在本实施例的一些可选实施方式中,第一协议为SIP协议,第一会议终端为SIP终端;第二协议为H.323协议,第二会议终端为H.323终端。

图2示出了本发明另一实施例中跨协议的码流加密协商方法的流程图,该方法包括:

S201,向服务器发送注册请求。

本实施例中的会议设备,在与第一会议终端以第一协议通信时,相当于第一协议的终端;当与第二会议终端与第二协议通信时,相当于第二协议的终端。因此,会议设备与会议终端进行信息交互之前,需要分别进行相应的注册。其中,对应于第二协议,会议终端向服务器进行注册时依据第二协议的规则进行,得到注册名称以及注册地址即可。

对应于第一协议,会议设备向服务器发送注册请求,以得到主密钥表,同时在注册请求中携带有公钥。在会议设备中,存储有与该公钥对应的私钥。在会议设备第一次向服务器发送注册请求之后,服务器中存储有对应会议设备的公钥,后续再次进行注册时,不需在发送公钥了,节约了通信带宽。

例如,当第一协议为SIP协议时,会议设备发送给服务器的注册请求为REGISTER+公钥,其中,REGISTER为注册请求。

S202,接收服务器发送的利用公钥加密后的主密码表以及主密码表的版本号。

其中,主密码表为所有主密钥的集合,在主密码表中标号与主密钥一一对应,即一个标号对应于唯一的主密钥。

服务器如果确认会议设备可以成功注册,则在发送200OK时把主密码表使用公钥加密后发送给该会议设备。

具体地,当第一协议为SIP协议时,会议设备收到的消息体为200OK+公钥加密后的主密码表。

其中,加密后的主密码表还包括主密钥表的版本号ver,该版本号ver由主密码表生成时间+ID组成,用于确认通信双方使用的主密码表是否一致。例如,主密码表的版本号ver为20170607+20。

S203,利用与公钥对应的私钥对加密后的主密码表进行解密,得到主密码表。

会议设备收到服务器的注册成功回复,再用自己的私钥解密消息体获取到主密钥表。

可选地,会议设备第一次向服务器注册时,服务器回复注册成功时会给出一个规定时间期限,会议设备要在此期限内再次向服务器注册,以达到让服务器知道会议设备是活动状态,否则,超时不保活注册服务器就会清除会议设备的注册信息。会议设备在后续保活注册时,只需要带上主密码表的版本号即可,以减少通信带宽。

S204,接收第一会议终端发送的第一协议连接请求信令。

详细请参照图1所示实施例的S101,在此不再赘述。

S205,判断第一会议终端主密码表的版本号与自身主密码表的版本号是否匹配。

本实施例中,码流加密信息包括第一会议终端主密码表的版本号ver。该版本号ver由主密码表生成时间+ID组成,用于确认通信双方使用的主密码表是否一致。例如,主密码表的版本号ver为20170607+20。

会议设备在进行后续信息交互之前,需要判断自身主密码表的版本号与第一会议终端主密码表的版本号是否一致,才能够在保证使用的是同一主密钥。

当第一会议终端主密码表的版本号与自身主密码表的版本号不匹配时,执行S206;当第一会议终端主密码表的版本号与自身主密码表的版本号匹配时,S207。

S206,根据版本号的高低向服务器重新进行注册,以更新版本号。

会议设备根据版本号的高低确认出是自身还是第一会议终端需要向服务器重新进行注册。当会议设备的版本号低于第一会议终端的版本号时,会议设备向服务器重新进行注册,以更新自身的版本号,再决定是否继续接收此次呼叫,若接受,则执行S207;否则,挂断此次连接呼叫请求,等待下次连接呼叫请求。当会议设备的版本号高于第一会议终端的版本号时,会议设备会挂断此次连接呼叫请求并携带原因发送给第一会议终端。其中,携带的原因:请更新主密码表后再呼叫。

具体地,当第一协议为SIP协议时,第一会议终端发送的连接请求信令(INVITE)携带的主密码表的版本号为20170607+20,会议设备收到后发现该版本号与自己的不一样,如果自己主密码表的版本号较高(比如为20170608+21),那么回复400(坏消息),并加入警告头字段(请更新主密码表后再呼叫)。第一会议终端收到后主动向服务器重新注册以更新自己的主密码表后再呼叫会议设备。如果会议设备收到INVITE后发现自己主密码表的版本号比第一会议终端的版本号低(比如为20170606+19),那么会议设备就先到服务器更新主密码表后,再选择是否继续接受此次呼叫。

可选地,如果服务器要更新主密码表,则使用INFO信令主动推送最新的主密码表给所有在该服务器上注册过的终端,发送的消息体就是使用对应的终端的公钥加密后的主密码表,并携带原因:更新主密码表。终端收到INFO信令后,提取出更新后的主密码表,并回复向服务器回复200OK,表示已经接受更新后的主密码表。

S207,向第二会议终端发送第二协议连接请求信令。

其中,第二协议连接请求信令中携带码流加密信息以及加密后的第一码流密钥。本实施例中,码流加密信息还包括若干加密算法以及第一标号,第一标号用于在主密码表中唯一确定主密钥。第二会议终端从若干加密算法中协商出一个加密算法,与主密钥对应的标号一起,形成协商出的码流加密信息。

此外,第一会议终端发送的连接请求信令中携带的若干加密后的第一码流密钥,具体是,第一会议终端利用主密钥以及一个加密算法对第一码流密钥加密后,形成加密后的第一码流密钥。

其余请参照图1所示实施例的S102的描述,在此不再赘述。

S208,接收第二会议终端基于第二协议连接请求信令反馈的第二协议第一信令。

第二会议终端在协商出码流加密信息之后,进行主从协商,生成主从决定。主从决定即确定了第一会议终端与第二会议终端谁是主,谁是从。此外,第二协议中规定了由master(主)决定码流密钥,因此根据主从决定,协商出加密后的码流密钥,分为如下两种情况:

当第一会议终端为主时,码流密钥由第一会议终端决定,即加密后的码流密钥由若干加密后的第一码流密钥决定。

当第一会议终端为从时,码流密钥由第二会议终端决定,即加密后的码流密钥由协商出的码流加密信息以及第二会议终端生成的第二码流密钥决定。具体地,第二会议终端利用协商出的加密算法以及主密钥对第二码流密钥进行加密,形成加密后的码流密钥。

其余详细步骤请参见图1所示实施例的S103,在此不再赘述。

S209,保存主从决定,向第一会议终端发送第一协议第一信令。

详细请参见图1所示实施例的S104,在此不再赘述。

S210,接收第一会议终端发送的第一协议第二信令。

详细请参见图1所示实施例的S105,在此不再赘述。

与图1所示实施例相比,本实施例在码流加密信息协商之前,通过匹配主密钥表,以保证通信双方使用的是同一主密码表,能够保证双方根据标号用的是同一主密钥,从而能够正确地解密出码流密钥。

图3示出了本发明另一实施例中跨协议的码流加密协商方法的流程图,该方法包括:

S301,接收第二会议终端发送的第二协议连接请求信令。

其中,第二协议连接请求信令中携带码流加密信息,并未携带加密后的码流密钥。会议设备在接收到连接请求信令后,通过对连接请求信令的协议构造的分析,就能得出连接请求信令所采用的协议。当会议设备确定出连接请求信令所采用的协议之后(在本实施例中,确定出连接请求信令所采用的协议为第二协议,即为第二会议终端发送的该第二协议连接请求信令),提取出连接请求信令中携带的码流加密信息。

S302,向第一会议终端发送第一协议连接请求信令。

其中,第二协议连接请求信令中携带码流加密信息。与图1所示实施例的S102类似,会议设备在向第一会议终端发送第一协议连接请求信令之前,需要对码流加密信息进行转换,即转换成第一协议的信令格式。

S303,接收第一会议终端基于第一协议连接请求信令反馈的第一协议第二信令。

其中,第一协议第二信令携带第二消息体,第二消息体包括协商出的码流加密信息以及加密后的第一码流密钥。

第一码流密钥由第一会议终端生成;第一会议终端首先协商出码流加密信息,再利用协商出的码流加密信息对第一码流密钥进行加密,形成加密后的第一码流密钥。

第一会议终端将协商出的码流加密信息以及加密后的第一码流密钥作为第二消息体,以第一协议第二信令的形式发送给会议设备。

S304,向第二会议终端发送第二协议第一信令。

其中,第二协议第一信令携带协商出的码流加密信息以及加密后的第一码流密钥。

S305,接收第二会议终端基于第二协议第一信令反馈的第二协议第二信令。

其中,第二协议第二信令携带协商出的加密后的码流密钥以及主从决定。

会议设备在接收第一会议终端发送的第一协议第二信令之后,建立与第二会议终端的连接。第二会议终端在与会议设备建立连接之后,协商出主从决定,并根据主从决定协商出加密后的码流密钥。

第二会议终端将协商出的加密后的码流密钥以及主从决定携带在第二协议第二信令中发送给会议设备。

S306,保存主从决定,向第一会议终端发送第二协议第三信令。

其中,第二协议第三信令用于表示码流加密协商的结束。本实施例中,第二协议第三信令携带有协商出的加密信息以及协商出的加密后的码流密钥。

本实施例在采用不同协议通信的会议终端之间进行码流加密信息以及码流密钥的协商,并根据主从消息决定采用哪一会议终端的码流密钥对后续的码流进行加密;即本发明通过交互时序的控制,使得通信双方能够协商出码流密钥以及码流加密信息,并通过对不同协议加密部分的转换能够实现不同协议之间的加密通信,保证了在同一视频会议系统中采用不同通信协议的会议终端之间都能够实现码流的加密通信,实现了跨协议的安全对通。

在本实施例的一些可选实施方式中,S301之前还包括会议设备向服务器进行注册的步骤,具体与图2所示实施例的S201至S203相同,在此不再赘述。

在本实施例的另一些可选实施方式中,S303之前还包括:进行主密码表版本号是否匹配的判断,具体与图2所示实施例的S205至S206类似,在此不再赘述。

在本实施例的一些可选实施方式中,S305中的根据主从决定协商出加密后的码流密钥,可以分为以下两种情况:

当第一会议终端为主时,加密后的码流密钥由加密后的第一码流密钥决定;

当第一会议终端为从时,加密后的码流密钥由协商出的码流加密信息以及第二会议终端生成的第二码流密钥决定。可选地,协商出的码流加密信息包括加密算法以及主密钥对应的标号,利用该标号即可确定出主密钥;第二会议终端利用协商出的加密算法以及主密钥对第二码流密钥进行加密,形成加密后的码流密钥。

本发明中提供了第一会议终端,会议设备以及第二会议终端之间的两种呼叫方法;第一种为第一会议终端主呼第二会议终端,第二种为第二会议终端主呼第一会议终端。在下文中,分别对上述两种情况以交互方式进行详细描述。

图4示出了第一会议终端主呼第二会议终端的交互流程图,在该呼叫方式下,跨协议的码流加密协商方法包括:

S401,接收第一会议终端发送的接收连接请求信令。其中,该连接请求信令中携带码流加密信息以及加密后的第一码流密钥。详细请参见图1所示实施例的S101,在此不再赘述。

S402,向第二会议终端发送第二协议连接请求信令。详细请参见图1所示实施例的S102,在此不再赘述。

S403,接收第二会议终端基于第二协议连接请求信令反馈的第二协议第一信令。详细请参见图1所示实施例的S103,在此不再赘述。

S404,保存主从决定,向第一会议终端发送第一协议第一信令。详细请参见图1所示实施例的S104,在此不再赘述。

S405,接收第一会议终端发送的第一协议第二信令。详细请参见图1所示实施例的S105,在此不再赘述。

图5示出了第一会议终端主呼第二会议终端的交互流程图,在该呼叫方式下的另一种跨协议的码流加密协商方法,包括:

S501,向服务器发送注册请求。详细请参见图2所示实施例的S201,在此不再赘述。

S502,接收服务器发送的利用公钥加密后的主密码表以及主密码表的版本号。详细请参见图2所示实施例的S202,在此不再赘述。

S503,利用与公钥对应的私钥对加密后的主密码表进行解密,得到主密码表。详细请参见图2所示实施例的S203,在此不再赘述。

S504,接收第一会议终端发送的连接请求信令。详细请参见图2所示实施例的S204,在此不再赘述。

S505,判断第一会议终端主密码表的版本号与自身主密码表的版本号是否匹配。详细请参见图2所示实施例的S205,在此不再赘述。

当第一会议终端主密码表的版本号与自身主密码表的版本号不匹配时,执行S506;当第一会议终端主密码表的版本号与自身主密码表的版本号匹配时,S507。

S506,根据版本号的高低向服务器重新进行注册,以更新版本号。详细请参见图2所示实施例的S206,在此不再赘述。

S507,向第二会议终端发送第二协议连接请求信令。详细请参见图2所示实施例的S207,在此不再赘述。

S508,接收第二会议终端基于第二协议连接请求信令反馈的第二协议第一信令。详细请参见图2所示实施例的S208,在此不再赘述。

S509,保存主从决定,向第一会议终端发送第一协议第一信令。详细请参见图2所示实施例的S209,在此不再赘述。

S510,接收第一会议终端发送的第一协议第二信令。详细请参见图2所示实施例的S210,在此不再赘述。

图6示出了第二会议终端主呼第一会议终端的交互流程图,在该呼叫方式下,跨协议的码流加密协商方法,包括:

S601,接收第二会议终端发送的第二协议连接请求信令。详细请参见图3所示实施例的S301,在此不再赘述。

S602,向第一会议终端发送第一协议连接请求信令。详细请参见图3所示实施例的S302,在此不再赘述。

S603,接收第一会议终端基于第一协议连接请求信令反馈的第一协议第二信令。详细请参见图3所示实施例的S303,在此不再赘述。

S604,向第二会议终端发送第二协议第一信令。详细请参见图3所示实施例的S304,在此不再赘述。

S605,接收第二会议终端基于第二协议第一信令反馈的第二协议第二信令。详细请参见图3所示实施例的S305,在此不再赘述。

S606,保存主从决定,向第一会议终端发送第二协议第三信令。详细请参见图3所示实施例的S306,在此不再赘述。

在本发明提供的跨协议的码流加密协商方法的基础上,下文基于第一协议为SIP协议,第二协议为H.323协议进行详细描述。本方案主要解决加密呼叫SIP和H.323加密互通问题。

使用H.235协议的H.323加密呼叫有特性:呼叫时通过DH交换协商算法和主密钥;主从决定后由master(主)决定码流密钥;在开通道时获得由[加密算法、主密钥]加密后的码流密钥。而SIP的加密呼叫如果要和H.323的对通,则必须兼容H.323的以上特性。

其中,音视频码流规则如下:在H.323使用H.235的加密规则中,master决定了码流密钥。而SIP没有主从协商过程,所以要使用一个规则来兼容H.323。SIP中音视频密钥在会话描述协议(SDP)中携带,SDP的交互至少有两次,那么规则就是使用需要改变密钥的一方的密钥。

需要改变密钥体现在三个方面:

1)SIP点对点呼叫,SDP的answer(应答)方想使用自己生成的码流密钥:

对于两个SIP终端点对点来说,如果SDP的answer方不需要改变码流密钥,那就使用SDP的offer(呼叫)方生成的码流密钥。那么SDP的answer方在回复SDP时,把offer方生成的码流密钥原封不动带过去即可;

如果SDP的answer方想要改变码流密钥,则带上自己的密钥回复SDP,SDP的offer方就使用answer方的密钥。

具体地,图7和图8是点对点SIP终端加密呼叫过程,在加密呼叫中,其中由于不同的音视频通道都可以用不同的通信密钥,那么我们用主密钥加密后的不同的码流秘钥放在每个m行中携带。如果信令头中是EAn,那么对于SDP中每个m行的码流密钥,用EAn中所有支持的加密算法、使用mki对应的主密钥进行加密,生成数个对应的码流密钥EK。如果信令头中是EAx,那么就只需用EAx的加密算法、使用mki对应的主密钥进行加密,生成一个对应的码流密钥EK。

图7是SIP终端加密呼叫流程中主呼携带SDP的过程,如图7所示,SIP终端MT1在INVITE时带上SDP、主密码表版本号ver、所有支持的加密算法EAn、选择主密码表中的一个主密钥对应的mki以及SDP的每个m行中使用加密算法EAn和主密钥加密了的码流密钥EKn,发送给SIP终端MT2;MT2如果同意此次加密呼叫,则选择其中的一种加密算法EAx,并根据码流密钥决定规则回复MT1。

如果MT2想要最后通信时使用自己产生的码流密钥,则使用主呼的mki对应的主密钥、选择后的加密算法EAx加密自己的码流密钥生成EKx,在200OK中回复;

如果MT2就使用MT1生成的码流密钥,则在200OK回复时直接原封不动带上选择的加密算法EAx对应的EKx回复即可。后续呼叫成功后就可以使用协商好的加密算法EAx以及码流秘钥进行加密的RTP音视频通信了。

图8是SIP终端加密呼叫流程中主呼不携带SDP的过程,如图8所示,SIP终端MT1在INVITE时带上主密码表版本号ver、选择主密码表中的一个主密钥对应的mki以及所有支持的加密算法EAx发送给SIP终端MT2;MT2如果同意此次加密呼叫,发现主呼INVITE没有带SDP,则带上SDP、选择的加密算法EAx以及SDP的每个m行中使用加密算法EAx和主密钥加密了的码流密钥EKx回复MT1。MT1收到MT2的200OK回复后,则确认此加密算法EAx,并根据码流密钥决定规则回复MT2。

如果MT1想要最后通信时使用自己产生的码流密钥,则使用主呼的mki对应的主密钥、加密算法EAx加密自己的码流密钥生成EKx,在ACK中回复;

如果MT1就使用MT2生成的码流密钥,则在ACK回复时直接原封不动带上EKx回复即可。

后续呼叫成功后就可以使用协商好的加密算法以及码流秘钥进行加密的RTP音视频通信了。

2)使用H.235加密协议的H.323的加密呼叫,会经过主从决定,密钥必须由master决定:

对于一个SIP终端和一个H.323终端通过H.323-SIP-网关呼叫来说,H.323终端是用H.235协议,密钥由master决定。

那么如果SIP终端成为master,那么密钥由SIP终端决定,H.323终端就没有改密钥的必须,网关回复SIP终端SDP时携带的还是SIP终端的密钥;

如果H.323终端是master,那么其就有了改密钥的必须了,网关回复SIP终端SDP时携带的是H.323终端生成的密钥。

3)对于一个多点会议,码流密钥需由MCU(多点控制单元)设定:

对于会议中,密钥由MCU决定,对于和H.323终端的呼叫来说,MCU常常就是master,所以MCU就有改密钥的必须;对于和SIP终端的呼叫来说,SIP终端就用MCU回复(或者生成)的密钥就好了。

整个方案设计主要涉及到SIP和H.323加密对通时的信令时序控制,以及加密表现形式的转换,这些功能都需要网关来完成。而呼叫分为SIP终端主呼H.323终端,和H.323终端主呼SIP终端两种情况。而两种方式中,SIP终端和网关对通的过程,一一对应SIP点对点加密呼叫的两种方式:

即SIP终端主呼H.323终端对应SIP点对点加密呼叫主呼INVITE带SDP的情况;

H.323终端主呼SIP终端对应SIP点对点加密呼叫主呼INVITE不带SDP的情况。

所以基于RFC4123的网关还需完成以下额外功能:

1)网关向SIP注册服务器注册时获取主密码表;

2)和SIP终端一样,呼叫时需判断主密码表的版本号,以及通过标号查询到对应的主密钥;

3)需要把SIP的加密算法EAn或者EAx和H.235的加密算法形式进行互相转换;

4)和SIP终端一样,需要根据加密算法协商规则、主密钥规则解密出码流密钥;

5)需保存H.323侧主从决定的结果;

6)需要根据音视频码流密钥使用规则完成SIP侧和H.323侧码流密钥的协商。

如图9网关注册过程,加密呼叫中,网关要和H.323终端进行H.323+H.235流程的加密呼叫,和SIP终端进行SIP加密呼叫,网关也要在向SIP注册服务器注册的时候,除了根据RFC4132的规则(注册名称为H.323的别名/E164,注册地址是网关的地址),还要带上网关的公钥,以使得能解析出主密码表。而网关向GK(网守)注册时则还是走正常的H.323流程,因为不需要获取主密钥表。图10示出了SIP服务器向网关更新主密码表过程。

图11和图12是SIP和H.323终端对通时序图,其中H.245过程包括:TCS能力集交互、MSD主从决定、OLC(audio、video)开音视频通道等。H.323-SIP-网关做的事情:除了进行H.323、SIP的正常信令转换,信令时序控制,同时需要转换加密相关,详细做法如下:

1)算法转换:把标准的H.235同SIP的用字符串表示的加密算法EAn和EAx的转换

比如EAn=

”AES-128”、

“AES-256”、

“3DES”

转换成H.235形式为:

OID=

"itu-t recommendation h(8)235 0 3 24"、

"itu-t recommendation h(8)235 0 3 45"、

"itu-t recommendation h(8)235 0 1 5"

2)保存主从决定值,以确定使用哪一方的码流密钥。和H.323终端经过主从决定后协商出:

H.323终端是master,那么SIP终端就是slave。密钥由H.323终端决定,网关在作为和SIP侧的SDP的answer方回复时带上经过OLC后H.323终端带过来的码流密钥给SIP终端;

类似的,如果SIP终端成为master,那么密钥由SIP终端决定,H.323终端就会等master生成码流密钥,网关在和H.323终端开通道时带上sip终端生成的码流密钥,回复SIP终端SDP时携带的还是SIP终端的生成的码流密钥。

加密算法、码流密钥协商成功后,H.323终端和SIP终端就可以直接进行加密的RTP通信,当然如果不经过网关直接加密RTP通信则需网关在开通道的时候带上两侧终端的地址,否则网关就要进行中转。

相应地,请参考图13,本发明实施例提供一种跨协议的码流加密协商装置,该装置包括:

第一接收模块1301,用于接收第一会议终端发送的第一协议连接请求信令,所述第一协议连接请求信令中携带码流加密信息以及加密后的第一码流密钥。

第一发送模块1302,用于向第二会议终端发送第二协议连接请求信令,所述第二协议连接请求信令中携带所述码流加密信息以及所述加密后的第一码流密钥。

第二接收模块1303,用于接收所述第二会议终端基于所述第二协议连接请求信令反馈的第二协议第一信令,所述第二协议第一信令携带主从决定以及第一消息体,所述第一消息体包括协商出的码流加密信息以及加密后的码流加密信息。

第二发送模块1304,用于保存所述主从决定,向所述第一会议终端发送第一协议第一信令,所述第一协议第一信令携带所述第一消息体。

第三接收模块1305,用于接收所述第一会议终端发送的第一协议第二信令,所述第一协议第二信令用于表示码流加密协商的结束。

相应地,请参考图14,本发明实施例还提供一种跨协议的码流加密协商装置,该装置包括:

第四接收模块1401,用于接收第二会议终端发送的第二协议连接请求信令,所述第二协议连接请求信令中携带码流加密信息。

第三发送模块1402,用于向第一会议终端发送第一协议连接请求信令,所述第一协议连接请求信令中携带所述码流加密信息。

第五接收模块1403,用于接收所述第一会议终端基于所述第一协议连接请求信令反馈的第一协议第二信令,所述第一协议第二信令携带第二消息体,所述第二消息体包括协商出的码流加密信息以及加密后的第一码流密钥。

第四发送模块1404,用于向所述第二会议终端发送第二协议第一信令,所述第二协议第一信令携带所述协商出的码流加密信息以及所述加密后的第一码流密钥。

第六接收模块1405,用于接收所述第二会议终端基于所述第二协议第一信令反馈的第二协议第二信令,所述第二协议第二信令携带协商出的加密后的码流密钥以及主从决定。

第五发送模块1406,用于保存所述主从决定,向所述第一会议终端发送第二协议第三信令,所述第二协议第三信令用于表示码流加密协商的结束。

本发明实施例还提供了一种会议设备,如图15所示,该会议设备可以包括处理器1501和存储器1502,其中处理器1501和存储器1502可以通过总线或者其他方式连接,图15中以通过总线连接为例。

处理器1501可以为中央处理器(Central Processing Unit,CPU)。处理器1501还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器1502作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的跨协议的码流加密协商装置的加密协商方法对应的程序指令/模块(例如,图13所示的第一接收模块1301、第一发送模块1302、第二接收模块1303、第二发送模块1304和第三接收模块1305)。处理器1501通过运行存储在存储器1502中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的跨协议的码流加密协商方法。

存储器1502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器1501所创建的数据等。此外,存储器1502可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器1502可选包括相对于处理器1501远程设置的存储器,这些远程存储器可以通过网络连接至处理器1501。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器1502中,当被所述处理器1501执行时,执行如图1-6所示实施例中的跨协议的码流加密协商方法。

上述会议设备具体细节可以对应参阅图1至图6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1