|
基于H.323协议的VoIP安全问题探讨
http://www.cww.net.cn 2007年12月11日 09:18 中国联通网站
作 者:电信工程技术与标准化 姚玉坤 刘合武
(3)信令流的监听:由于H.323信令的开放性,任何人可以通过网络监听的方式监听VoIP通信建立过程的信令流,从而恶意用户可以进行对信令流的篡改并可造成会话劫持、中间人攻击、电话跟踪等后果。 (4)媒体流的监听:基于H.323的VoIP通信采用RTP/RTCP作为语音信息实时传输的协议。由于协议具有开放性的特点,恶意用户可以通过网络监听器监听媒体流,如果可以理解媒体流内容即可破坏媒体流的机密性。 3.2VoIP安全要求 上述VoIP系统存在的安全问题,实际上就是由信息的保密性、完整性、真实性得不到保证和通信主体的认证不足而造成的。要做到VoIP通信的安全,就应该加强安全措施来保证信息的保密性、完整性、真实性和实现通信主体的认证以及通信事件的不可否认性。 如图3所示,一次VoIP通信过程主要包括4个阶段,即RAS信道、H.225.0(Q.931)信道、H.245信道和媒体RTP信道顺序建立的过程。其中,前三个是信令信道,最后一个是媒体传输信道。H.323安全性不仅仅要求对RAS、H.225.0(Q.931)、H.245等呼叫建立过程中的信令进行保护,同时也要求对多媒体数据流本身进行保护,防止机密信息被窃取。 因此,要实现安全的H.323VoIP业务,首先要保证终端或MCU与关守之间安全传递RAS消息,以完成安全注册,确保只有合法用户可以使用H.323业务并进行相应的资源使用授权,如国际、长途业务授权等。 在保证RAS安全基础上,建立起安全的呼叫连接信道(H.225.0(Q.931)信道)与呼叫控制(H.245)信道来保证信令流安全,然后在此基础上,为采用RTP协议的实时媒体流通信进行加密算法与密钥协商,完成媒体流通信机密性。 4、基于H.323的VoIP安全机制及解决方案 目前,基于H.323的VoIP网络的安全实现主要有两种安全机制。 (1)采用外部协议的安全机制,如通过网络层/传输层安全通道(如IPSec、TLS等安全协议),实现H.323安全保护。 (2)通过对H.323协议簇中所涉及到的信令本身增加安全机制,实现各种信道安全能力协商与安全保护,即制定其自身的安全协议,如H.323协议的H.235安全协议。 这里重点介绍第二种机制。 H.323协议簇中有一成员H.235(又称为H.Security)是负责身份验证、数据完整性和媒体流加密。H.235建议为不提供可担保业务质量的基于分组网络的H.323系统引入了安全机制。H.235推荐了各种消息的流程、结构以及算法,来保证H.323系统中信令信道、媒体控制信道和媒体流的安全性。所采用的机制主要有: (1)H.225呼叫信令信道的保密需要采用TLS或IPSec。 (2)H.245媒体控制信道的安全也需要保障,以便实现媒体流的安全性。对于H.323系统,可以在H.225信令信道中传递各种安全相关的参数来实现H.245信道的安全。 (3)媒体流的最初密钥材料的传递需要通过H.245的OpenLogicalChannel或是其响应消息。当处理了一定数量的包以后,需要更换会话密钥,这时候使用H.245中的EncryptionUpdate Command等消息。 (4)适应不同的安全性要求,支持多种密码算法。为了实现终端之间的交互兼容操作,可以提供安全性、非安全性混合环境下的操作规则,并支持终端具有尽可能多的有效、专用的加密算法能力。 H.235协议提供了实现安全性的流程,它通过与H.323协议族中的其他协议交互来实现H.323体系的安全性,其具体实现如下。 4.1身份认证安全(H.225.0(RAS)) H.235协议中提供了两类认证方式:基于对称加密体系和基于非对称加密体系的认证。基于对称加密体系的认证方式中,常用的是利用用户ID和密码的唯一性,将用户密码作为信息加密的对称密钥,接收方通过用相同的密码解密信息来实现对用户的认证,也可以用散列函数对密码进行单向散列运算形成对称密钥进行数字签名,接收方通过对数字签名的验证来实现对用户的认证。还有一种基于对称加密体系的认证是利用DH(Diffie-Hellman)密钥交换算法,通信双方各自形成一对公/私密钥,只需和对方交换公钥,经过计算形成一个相同的密钥进行认证,在这种方式下,双方不需要事先商定一个密码,也避免了在通信中直接传输密钥的风险。基于非对称加密体系的认证通过数字证书的公钥/私钥对来进行数字签名和认证。这种方式需要证书管理的支持。 H.235中用户认证的位置很灵活,可以在H.255.0呼叫建立过程中,也可以在H.245呼叫控制过程中实现,还可以在IPSec中进行。此外,如果系统存在RAS信道,也需要在网关和终端之间进行单向或者双向认证。 4.2呼叫连接安全(H.225.0(Q.931)) 呼叫连接安全涉及到二个方面:一是在接收呼叫之前,要进行认证,以保证呼叫建立与连接信道安全(如H.225.0);二是通过对端点的认证来进行呼叫授权。 呼叫连接安全主要有以下两种方法。 利用独立的安全协议实现呼叫连接安全:在交换呼叫连接信令消息之前,可以通过在一个安全的众所周知端口上使用TLS或IPSec,保证呼叫信令信道安全。 利用证书在不安全信道上实现安全认证和完整性检查,并通过对安全能力与密钥的协商机制进行扩展,可以确定后续信道的安全。 H.323网络安全模式,在交换呼叫连接消息之前,即呼叫连接信道(H.225.0)与呼叫控制(H.245)信道在第一次消息交换内,就应确定安全的或不安全模式。安全模式是协商出双方共同支持的算法与密钥,以支持媒体流传输;非安全模式是以明文消息形式进行后面的媒体流传输。 4.3呼叫控制安全(H.245) H.245呼叫控制信道本身可以通过TLS或IPSec进行加密。H.245包含了对各种信道加密的加密算法和密钥,可以设置对媒体数据流加密的多种模式。在H.245信令过程中,在能力协商阶段进行双方的安全能力的协商(比如终端可以接收和发送H.261视频编码)。在主从决定的信令过程中生成媒体会话密钥。密钥分发是在打开逻辑通道的过程中实现的,这里可以使用DH密钥交换机制,通过在OpenLogicalChannel/OpenLogical Channel Ack的交互实现。 4.4媒体信道安全 媒体流使用H.245信道中给出的算法与密钥来进行加密。只加密RTP数据报的负荷。媒体会话密钥可以使用三种机制进行保护。如果H.245信道是安全的,会话密钥不需要施加任何保护;如果H.245信道是不安全的,可以使用证书(证书也可以用在安全H.245信道上),利用证书内的公钥加密媒体会话密钥。媒体流的最初密钥材料的传递需要通过H.245的OpenLogicalChannel或是其响应消息。当处理了一定数量的包以后,需要更换会话密钥,这时候使用H.245中的EncryptionUpdate和Encryption Update Request来完成密钥的更新的。一旦更新了密钥,RTP头部的负荷类型将改变以指出使用新的密钥。媒体流加密可以使用DES、Triple DES、RC5等加密算法。 4.5密钥管理安全 H.323安全的两个基本要素是加密算法和密钥管理。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠主要依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。H.323密钥管理主要包括RAS密钥管理和呼叫连接密钥管理。为了安全传输密钥,可以使用IPSec/SSL建立一个安全RAS或呼叫信令信道,或在不安全的明文信道使用公钥加密和证书实现。
编 辑:张翀 联系电话:010-67110006-884
文章评论【评论()】
|
重要新闻推荐 每日新闻排行 企业黄页 会议活动 |