刘锐,宋永恒
(广东省电信规划设计院有限公司,广州 510630)
H.323协议栈的最初版本是在1996年提出的,它的作用范围是局域网上的多媒体通信,基于此,H.323的功能最初是有限的,不能在更广的范围内支持多媒体通信。为了增强H.323的功能,第二版的H.323推出了,该版本受到了广泛欢迎,尤其是那些有深厚传统电话业背景的网络运营商以及设备制造厂家,对其给予了有力的支持。H.323不仅能发送和接受语音,而且可以支持多种视频业务(如电视会议),以及数据业务(如电子白板,文件传输)等。
H.323的作用范围如图1所示,这一体系结构包括了H.323终端、网关、关守、以及多点控制单元(MCU)。H.323的总体目标是实现H.323端点之间的媒体流交换。
H.323端点之间建立通信关系一般要经过如下3个信令过程。
图1 H.323系统结构图
(1)呼叫接入过程:执行RAS协议(H.225协议),传输信道为RAS信道(不可靠通道),网守同意接入后在端点和网守间或端点之间建立起呼叫信令信道,进入呼叫建立。
(2)呼叫建立过程:执行呼叫建立信令协议,传输信道为呼叫信令信道(可靠通道),呼叫建立成功后,在端点之间建立起H.245控制信道。
(3)连接控制过程:执行H.245控制协议,控制信道为媒体控制信道,简称控制信道(可靠通道),在端点之间建立起具有一定带宽的一个或多个实时通信的逻辑信道(均为不可靠通道)。
整个通信过程由以下5个阶段组成:
阶段1:呼叫建立过程,包括接入过程。
阶段2:初始通信与能力交换。
阶段3:可视通信的建立。
阶段4:通信进行中的信令,包括带宽改变。
阶段5:呼叫结束,关闭所有信道。
其中,阶段1主要涉及H.225协议过程,其余阶段则主要是H.245协议过程。
图2 H.323终端通信的主要消息流程图
图2给出了两个H.323终端A和B在有网守管理的网络环境下,网守路由呼叫信令模式的通信步骤流程图。
目前,基于H.323的系统广泛应用在IP电话(VoIP)、企业中的商务视频会议、远程教育、视频点播等。而这些应用都存在着各种安全性的要求。
通常而言,一个安全系统要向用户提供安全可靠的服务,就必须保证如下方面。
(1)用户通话内容是保密的。
(2)用户内容不被篡改(或能及时发现篡改的行为)。
(3)仅有拥有合法身份的用户才能使用系统提供的服务。
(4)用户的合法身份不能被冒充。
(5)系统可以对合法用户进行授权,以对不同用户提供不同级别的服务。
结合上一小节中介绍的H.323工作原理,对各个阶段的通信可能存在的安全威胁做分析。
首先,在呼叫建立过程阶段,存在两组通信,一是终端与网守之间的通信;二是两个终端之间的通信。
1.4.1.1 终端与网守之间的通信
在基于H.323的通信系统中,尽管网守是可选设备。但目前大多数企业级应用系统都会实现网守,因为网守起到很重要的管理作用;此外,要在应用层上实现系统的安全性,也必须设置网守,比如网守要对终端用户进行身份鉴别以确定是否允许该用户登陆系统或使用系统提供的服务,或是对合法用户进行授权,以对不同用户提供不同级别的服务。这些都需要通过网守来实现。
终端与网守之间的通信是在呼叫建立前在RAS信道上传送消息,一般来说达到两个目的:一是终端请求登录网守(做身份鉴别),二是网守对提供给终端的服务进行授权。
对终端和网守之间的通信可能存在攻击。其攻击的目的主要是取得授权以外的对系统的使用权,其解决办法是在网守和终端之间执行强有力的认证协议。认证用来验证应答者确实是他们所宣称的。通过认证,非法用户不能伪装成合法用户获得服务,而一个合法用户也不能伪装成另外一个身份去呼叫其他用户;此外,通过身份认证,还为正确执行网守上配置的授权策略提供了保证,反之,终端也需要对网守进行认证,以防止攻击者伪装成网守,进行中间人攻击。相互认证通过采用某种认证协议完成,对终端的服务授权通过在网守上配置一定的授权策略来实现。
在认证之外,终端和网守之间还要交换RAS消息来实现带宽分配等其他功能,对这些消息也可能存在篡改攻击。这就必须对交换的RAS消息加密-加密的同时进行完整性鉴别;此外,对网守还可能存在拒绝服务攻击,其解决办法是及时检测,迅速恢复,并记入审计日志。
分析结论:终端与网守之间的RAS信道需要通过相互认证,加密和完整性鉴别来保护。
1.4.1.2 两个终端之间的通信
在呼叫建立阶段,两个终端之间要交换呼叫信令——在H.225呼叫信道上通过网守中继或直接传递,以协商如何建立随后的H.245控制信道、其安全要求如何,被叫用户是否同意接收这个呼叫等。这些信息都需要被保护以防受到篡改攻击。其次,为了防止恶意用户的伪装攻击,两个终端还需要相互认证。
分析结论:两个终端之间的H.225呼叫信令信道需要通过相互认证、加密和完整性鉴别来保护。
H.245控制信令是在两个终端之间交换的,其作用是协商如何建立媒体信道。其交换的信息包括媒体信道的私有参数及其他编码参数;媒体信道的加密算法和密钥;打开、关闭媒体信道等。这些消息一旦遭到伪造、篡改或泄漏攻击,攻击者就可以控制或获取媒体信道的各种参数,从而获取媒体信道上的通话内容。防范伪造攻击需要进行身份认证,防范篡改攻击需要对消息完整性鉴别,防范泄漏需要对消息加密。
分析结论:H.245信道需要认证,加密和完整性鉴别。
媒体流和媒体控制流均在两个终端之间传输,媒体流必须加密,这是整个系统应用中需要被保护的核心。媒体控制流用来提供多媒体数据传输质量的反馈信息。对于媒体控制流的有效攻击有伪造和篡改,攻击者的目的是通过破坏媒体控制流来造成拒绝服务的攻击效果。媒体控制流可以不进行加密,但可以选择进行认证和完整性鉴别。
释放呼叫过程中的安全问题与呼叫建立过程相同。为保证呼叫被安全的释放,必须进行认证和加密(包括对消息的完整性鉴别)。
H.323协议本身对安全性能的支持不能满足实际应用系统的要求。有两种方法可以考虑用来保证通信过程的安全性。
方法1:通过修改H.323协议库,根据自身的安全需求来实现端点之间的认证以及信息流的加密。这种方法是在应用层上增强了系统的安全性,但存在以下几点不足。
(1)H.323协议比较复杂,所以在此基础上扩充其安全性能的话,需要投入大量的时间和人力。
(2)考虑到通信系统终端的处理能力一般不是很强,如果在应用层来实现安全措施的话,那么加解密算法必须在终端机器运行的程序中计算,这种高密集的运算会明显增加终端机器的负担,从而会导致终端之间的实时多媒体流质量受到影响。
(3)在应用层上安全保护对应用程序没有透明性,如果安全服务要求有所变动的话,应用程序也需要改动。
方法2:通过IPSec协议在IP层对上层应用系统进行安全保护。IPSec在网络层提供基于密码学的强认证和加密保障,能确保了上层应用系统通信过程各种信道中传输内容的机密性,消息完整性以及身份认证。也就是说不管应用程序如何,只要最后是通过IP传输的数据包都能得到安全保护,其优点如下。
(1)IPSec工作在网络层,因此对上层应用程序来说是透明的,如果安全要求需要改变,只需要改变IPSec的安全策略就行,应用程序不需要做任何改变。
(2)当在网关中实现IPSec时,IPSec提供了强大的安全性,能够应用到所有穿越边界网络的数据通信量上。由于网关机器处理能力较强,加上可以选择使用专用的加解密硬件设备来处理高密集的运算,这样可以减轻终端机器处理IPSec模块的负担。
(3)IPSec协议是专门为IPv6设计的,能实现与将来的IPv6网络的无缝结合,这点在未来的网络系统中具有优势。
综合考虑,可以采用在网络层通过IPSec协议来负责多媒体数据的安全传输,而在应用程序上不需要做额外的安全性考虑。
由于IPSec可以配置在终端主机上,也可以配置在两个网络的网关上,并且操作模式有传输模式和隧道模式两种,协议有AH和ESP两种。下面来具体讨论如何选择其工作模式。
在终端上配置IPSec的话能确保真正意义上的端到端的安全,但是这样的话每台终端机器都要配置,不能实现对用户的透明。而对于处理能力相对较弱的终端,让其来进行加解密及认证运算的话会增加负担。所以这种在终端配置IPSec的方法用的很少,一般只有在下面两种比较特殊的情况下会采用。
一种情况是有移动终端,那么需要在移动终端与网关之间建立安全通道,这种模式叫Road Warrior方式。
另一种情况,如果某个终端要求传输的机密性非常高的话,为了防止在内部网络泄密,那么需要在该终端和本地网关之间再实施一层IPSec保护,实现IPSec的嵌套模式。
但是从实际应用来看,上述的配置模式实现所需的成本较高。 对于一般的企业级应用而言,基于内部网络环境可信的前提下,IPSec可以配置在网关上,在两个子网之间建立一条安全通道,保护子网通信的安全。这种配置方案也可以满足系统安全传输的要求,实现也较为容易,应用比较广泛。
接下来需要确定实施的策略,IPSec有两种操作模式和传输模式,加上AH头和ESP两种协议,结合起来有几种选择,那在安全网关上如何选择安全策略呢?对于基于H.323多媒体通信程序来讲,它的安全要求是:除了端点之间相互认证外,在Internet上面传输的多媒体数据必须加密。AH只提供认证(包括IP头),ESP提供数据段认证与加密,所以安全策略必须包括ESP。如果在网关上实施IPSec的话,只能采用隧道模式。在隧道模式的ESP选择情况下,个人认为不必要加上AH来认证数据分组了。原因如下:ESP与AH都提供认证,虽然AH提供的认证看起来似乎更加强大,它除了认证数据段以外还认证了IP头部,但是通过计算ESP的认证数据就能判断对方是否知道共享的密钥,从而判别对方的身份。另外如果再加上AH的话,对网络带宽的要求也会明显增加,并增加其实施配置的复杂性。
以上对基于H.323系统的安全配置和工作模式进行了分析,可以根据实际环境和具体的需要选择合适的安全方案。
[1]ITU-T Recommendation H.323 Draft V4.Packet-based multimedia communications Systems[S].2000.
[2]ITU-T Recommendation H.245 Protocol for Multimedia Communications[S].2000.
[3]Naganand D.IPSec;新一代因特网安全标准[M].北京:机械工业出版社,1999.
[4]沈一平,许勇,吴国新.IPSec中密钥管理协议的研究[J].计算机工程,1999,(SI).
[5]王丽娜.网络多媒体信息安全保密技术[M].武汉:武汉大学出版社,2003.