要保证软交换网络的安全,首先是要保证网络中核心设备的安全,如果将核心的网络设备置于开放的IP网络中,网络的安全性将很难保证,所以笔者认为网络的核心设备必须放在专用网络中,采用私有IP地址的方案。完全采用私有IP地址的方案也是不可行的,由于终端用户的接入方式和接入地点比较灵活,因此软交换设备要能够接入和控制终端用户,又要同时分配有对应的公有IP地址,这样才能保证各种方式用户的接入。为此,可以在核心网外侧设置防火墙,并将软交换网络中少数需要与外界用户进行通信的核心设备的私有地址映射到相应的公有地址,同时利用防火墙对进入核心网的数据包进行过滤,只允许特定端口号的数据包通过防火墙,这种方法可以对Ping of Death等一系列的DOS(分布式拒绝服务攻击)攻击进行过滤。
为了防止用户之间的媒体信息被窃听,可以对RTP包进行加密,目前主要采用对称加密算法对RTP包进行加密。为了对RTP包进行加密,需要在呼叫建立过程中向终端传送密钥信息。随着终端数量的增加,密钥的需求量会成倍增加。为了能够保证媒体信息的安全,用户的媒体通信可能都需要使用不同的密钥,所以对密钥的分发提出了严峻的考验,目前比较好的一种解决方案是采用Kerberos解决方案。Kerberos方案中提供一个安全的、可信任的密钥分发中心(Key Distribution Center,KDC),SIP终端/IAD设备只要知道与KDC进行通信的密钥就可以了,而不需要知道成百上千个不同的密钥。使用该方案首先需要在软交换网络中提供一个新的设备--密钥分发中心KDC,而且软交换网络中的终端设备需要支持和KDC之间的交互协议,并且该设备的安全也影响着整个系统的安全性,所以有关该方案还需要进一步的探讨。