重庆信息港

当前位置:

基于H323协议的VoIP安全问题探讨

2019/04/25 来源:重庆信息港

导读

摘要本文扼要介绍了H.323协议络结构、子协议功能及工作流程。分析了VoIP络系统潜在的威胁及安全要求,结合H.323VoIP的通讯流程

摘要本文扼要介绍了H.323协议络结构、子协议功能及工作流程。分析了VoIP络系统潜在的威胁及安全要求,结合H.323VoIP的通讯流程,分析了H.235建议所采用的安全措施。

1、引言

VoIP(VoiceoverIP)通过对语音信号进行编码数字化,紧缩处理成紧缩帧,然后转换为IP数据包在IP络上传输,从而完成语音通话的业务。VoIP技术使我们可以基于互联实现业务。这类语音通话业务的实现模式能提供更多的集成功能、更高的通讯带宽和更灵活的管理能力,并能够显著降低成本。近年来,VoIP得到了迅猛发展和广泛应用。

目前,VoIP有两种经常使用的应用层控制(信令)协议:H.323协议和会话初始协议(SIP,SessionInitiationProtocol)。两者的信令功能基本相同,都是利用实时传输协议(RTP,Real-timeTransport Protocol)进行媒体传输。SIP是由IETF提出的一个在基于IP络中实现实时通讯运用的一个运用层控制信令协议。H.323由ITU-T提出,它描写了在服务质量无保证的分组络中提供多媒体通讯业务的多媒体通讯系统,它继承了通讯领域传统的集中、分层控制的设计思想,在传统电信络向基于IP的电信络过渡的进程中,可以利用原有很多设备,避免了资源浪费。正是这些方面的特点,使得H.323已成为电信运营商、行业部门、企业建设VoIP络广泛采取的协议方案。本文主要以H.323为例来分析和探讨VoIP络的安全问题。

2、基于H.323的VoIP系统简介

H.323起初并不是为VoIP专门提出的,但由于非常合适到经由关的这种VoIP工作方式,所以被借过来作为VoIP的标准。基于H.323的VoIP络系统通常包括H.323终端(如PSTN话机、PC终端等)、关、关守(gatekeeper)和多点控制单元(MCU),如图1所示。

图1 基于H.323VoIP络体系示意图

图1中,H.323VoIP络的各实体的功能以下。

H.323终端是IP络中能提供实时、双向通信的节点装备,也是一种终端用户设备,可以和关、多点接入控制单元进行多媒体通讯。

关用于连接H.323络与非H.323络(如ISDN,POTS),关通过转换呼唤建立和释放协议,来转换两个络的不同媒体格式。

关守主要负责号码和IP地址之间的转换。它们还负责管理带宽并提供终端登记和认证机制。同时关守还提供了诸如呼唤传输、呼唤转发等服务。

MCU提供对3方终端以上的会议的支持。所有参与会议的终端与MCU建立一个连接。MCU管理会议资源,语音(视频)编码算法,还可以管理媒体流。

H.323协议是一个庞大的协议族,其中又包括许多相干的子协议,形成了一个协议栈,如图2所示。

图2 H.323协议栈

从图2可以看到,H.225.0和H.245是H.323系统的核心协议。H.225.0负责呼唤控制,主要包括两部分:呼唤接纳信令(RAS)和呼叫信令协议。RAS主要用于传送终端登记信息、认证信息和呼唤处理信息;呼叫信令协议基于Q.931而制定,主要用于完成呼唤建立过程,也常称为Q.931信令。H.245用于媒体控制,主要实现媒体流通信信道的建立、保护和释放。RTCP是媒体流实时传输控制协议,RTP是媒体流实时传输协议。媒体流安全传输将使用H.245信道中给出的算法与密钥进行编码。

H.323终端之间建立通讯关系通常履行四个控制进程:RAS,H.225.0呼唤控制(Q.931信令),连接控制(H.245)及媒体RTP信道建立的进程。

图3扼要描写了一个基于H.323的PC2PC的VoIP呼叫的建立进程和呼唤进程中各相干协议的控制作用。当一个H.323终端想要与另一个端点建立呼唤时,首先,源端点使用RAS信令从一个关守那里获得许可;然后,源端点使用H.225.0呼唤控制(Q.931信令)来建立与目的端点的通信;接着,源端点使用H.245连接控制信令与目的端点协商媒体参数并建立RTP信道;,两端点通过RTP信道进行媒体传送。

图3 H.323的呼叫建立进程与协议控制

3、基于H.323的VoIP安全分析

3.1VoIP的安全威逼

VoIP作为一种多媒体通信服务运行在IP上,语音分组数据包是在IP中传输的,由于IP络的开放性、可获得性及广域性,所有在互联中存在的安全问题,VoIP系统同样存在。VoIP遭到多方面的安全威逼,主要有:

(1)DoS攻击:DoS(拒绝服务)攻击是包括任何导致系统不能正常提供服务的攻击,基本的DoS攻击就是利用公道的服务器请求来占用过量的服务资源,从而使合法用户没法得到服务的响应。目前,基于H.323的VoIP系统采取了很多开放端口用于呼唤建立和业务传输。在呼唤建立进程中,如果没有做好认证工作,就为DoS攻击提供了机会。

(2)服务盗取:一方面是盗取合法用户身份,假冒合法用户身份,例如通过络窃听方式窃取使用者IP的登录密码就可以获得使用账号的权利。另一方面是冒充合法的络节点进行相应的欺骗,例如通过冒充合法的关守,在终端没有进行对关守进行认证的情况下,不法分子获得用户的登录口令等个人信息。

(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(又称为curity)是负责身份验证、数据完整性和媒体流加密。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))

呼唤连接安全涉及到2个方面:1是在接收呼唤之前,要进行认证,以保证呼唤建立与连接信道安全(如H.225.0);2是通过对端点的认证来进行呼唤授权。

呼叫连接安全主要有以下两种方法。

利用独立的安全协议实现呼唤连接安全:在交换呼唤连接信令消息之前,可以通过在一个安全的尽人皆知端口上使用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数据报的负荷。媒体会话密钥可以使用3种机制进行保护。如果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或呼唤信令信道,或在不安全的明文信道使用公钥加密和证书实现。

5、结束语

近年来,VoIP技术凭仗带宽宽、开发升级快、价格低等优势,得到了迅猛发展。特别基于H.323的VoIP,继承了通信领域传统的设计思想,并可以在传统电信络向基于IP的电信络过渡的进程中,可以利用原有很多设备,避免资源浪费的优势,在我国得到广泛应用。但同时,随着VoIP的快速发展,VoIP系统所存在的安全问题也愈来愈受大家的关注。H.235协议为H.323协议提供了比较全面的安全体系结构,为H.323的身份验证和加密提供了多种方法。H.323VoIP所面临的一些安全问题,实际是IP络上存在的若干安全问题的延续。只要很好地解决了IP络的安全问题,同时配合H.323自身的一些安全机制,基于H.323的VoIP络的安全问题才可以终解决。

吃什么保肝护肝
小孩低烧怎么办
孩子流感反复发烧
标签