用户数据是详细描述每个用户特征的数据,形式上可包括描述用户业务的特征信息、鉴权信息等。
3.6.1 现有PSTN的现状
现有PSTN的用户数据都保留在PSTN端局,各个端局只负责自己所属用户的数据。
在PSTN中,用户数据分散放置,各个交换端局只负责各自用户数据的存储,由此造成用户属性管理分散、用户数据不能共享等缺点,这也是固网运营商不能快速、有效的向用户提供业务的一个原因。
另外,PSTN中的业务触发点SSP过高(端局不具备SSP功能),造成部分业务无法触发(如用户属性触发业务),因此PSTN为了提高网络的业务提供能力,会较其他网络首先引入HLR这一网元设备,解决网络中业务属性触发问题。
3.6.2 现有GSM网络的状况
GSM网络中,用户数据从交换机设备中独立出来,集中放置在一个统一数据库中,GSM网络将此设备称为HLR(HomeLocationRegistrar),我们也形象地称为集中数据库设备。
PSTN中的用户没有漫游特性,用户在网络中的位置是确定的(每个用户只能归属于网络中的某个特定端局),因此在寻址时,只要找到端局,就一定能够找到用户。由端局根据用户业务特性决定相应的信令流程,这是初期PSTN认为固定网络不需要统一数据库的原因。
但在移动网络中,由于移动用户存在漫游特性,用户在不同时刻可能受网络中任何一个(理论上)交换机(移动网络将交换机称为MSC设备)控制。由于控制用户的交换机位置的不确定性,导致网络中需要一个节点能够提供用户当前位置信息、用户业务信息等内容,HLR设备正是为了解决这个需求而提出的。
简单来讲,在PSTN中,为用户服务的交换机是惟一的,找到交换机就相当于找到了用户,用户数据存储在该交换机上即可,没有必要集中存放;在GSM网络中,为用户服务的交换机是可变的,但为用户服务的HLR设备是惟一的,寻找用户时,网络首先需要寻找为用户服务的HLR设备,通过相关信息的交互找到为该用户服务的交换机设备。
同时,为了避免MSC每次查询HLR设备,GSM网络中存在VLR(VisiterLocationRegistrar)概念。VLR设备一般与交换设备合设在一起,当移动用户注册成功后,为该用户服务的MSC设备将会把用户业务属性下载到本地VLR,这样该用户的业务属性将暂时存储在MSC设备中,从而避免MSC每次都需要查询HLR的情形。
通过以上分析,在GSM网络中,有关用户数据的交互主要存在于以下几个接口;
1)MSC与HLR之间。
2)VLR与HLR之间。
在GSM网络中,主要通过MAP进行用户数据的查询或交互。
3.6.3 3G网络的思路
3G网络中,存在三个域:
1)电路域CS(CircuitSwitched);
2)分组域PS(PackageSwitched);
3)多媒体域IMS(IPMultimediaCoreNetworkSubsystem)。
CS域主要提供基于语音的业务,是现有GSM网络向下一代网络演进的一个方向。同现有软交换呼叫中心网络思路一样(实际上,固定网络提出的软交换呼叫中心概念或思路,是受到3G网络的总体架构启发的),CS域采用分层架构,原来GSM网络中的MSC设备,独立成信令控制设备和媒体网关设备。沿用GSM网络中的特性,CS域中也存在HLR设备、VLR设备,专门存储移动用户的业务数据。相关设备之间的数据查询或交互的协议,仍然采用MAP.
对IMS域,也存在一个存储用户属性的统一数据库,IMS域将其称为HSS(HomeSubscriberServer)oIMS将进行呼叫控制的交换机设备称为CSCF(CaUSessionControlFunction),CSCF在访问HSS时,采用Diameter协议。
实际上,CS域中的HLR设备和IMS域中HSS设备都是逻辑功能单元,具体产品实现时,完全可能集成在同一个物理实体中。这样就要求统一集中数据库能够支持多协议,根据不同的查询请求返回不同的信息。这是集中数据库的一个发展方向。
3.6.4软交换呼叫中心网络
在当前提出的软交换呼叫中心网络架构中,并没有用于存放用户数据的HLR设备。根据现有PSTN的经验教训和现有移动网络实现业务的怏捷性和便利性,软交换呼叫中心网络增加HLR设备是技术发展的趋势。软交换呼叫中心网络中引入HLR设备主要有以下必要性:
1.网络发展的趋势
在向下一代网络的演进过程中,可以发现3G网络中仍然存在集中数据库这样一个设备(无论是CS域中的HLR设备还是IMS域中的HSS设备),这说明集中数据库确实给移动网络运营商带来一定的好处。特别地,IMS域实际上就是SIP用户的一个解决方案,而软交换呼叫中心网络中也存在SIP用户。SIP用户的一个特征就是可漫游,对SIP而言,存在于固网还是移动网络只是接入手段的不同而已,因此软交换呼叫中心网络应当借鉴3G网络中对SIP用户的定义和业务实现流程。
结合现有网络和未来网络,GSM网络中存在HLR设备,3G网络的CS域和IMS域也存在HLR设备,软交换呼叫中心网络不应当成为通信网络中的一个孤岛。
2.便于快速引入业务
对一个全业务的运营商,引入HLR设备实现一些跨网络业务时具有很大优势,如跨网络中的统一放号业务。那么软交换呼叫中心网络中提供HLR设备是实现这一目标的前提。
3.应用服务器鉴枳的需要
应用服务器是未来实现业务的一个很重要的平台,不同的应用可能都需要对用户进行业务层面的鉴权,鉴权数据完全可以统一放置,避免各个网络单元的分散管理。
4.用户数据集中存放,易于网络维护管理
当用户数据集中后,HLR设备可集中管理不同种类的用户,集中管理比分布管理更简单,同时便于各种统计的数据挖掘。
5.有利于实现PSTN、NGN、移动网络的融合
从网络融合的角度,作为一个全业务的运营商,未来可能需要用户数据的统一管理,这样必然要求软交换呼叫中心网络中的用户数据能够独立于软交换呼叫中心设备。这是实现移动用户数据和固网用户数据统一管理的前提。
6.容灾的考虑
当用户数据从软交换呼叫中心设备分离出后,用户的业务信息、鉴权等信息将保留在HLR中,而不是绑定在某一个软交换呼叫中心设备上。
如果用户数据没有从软交换呼叫中心设备上分离出,从容灾的角度,作为容灾备份的软交换呼叫中心之间需要进行实时注册信息、业务信息的同步。此时的同步、备份的数据是一个海量数据。
如果将用户数据从软交换呼叫中心设备分离出,(理论上)软交换呼叫中心设备在容灾时并不需要同步用户数据以及业务信息。相对而言,这对软交换呼叫中心的性能是一个质的飞跃。
3.7软交换呼叫中心网络安全
3.7.1安全相关问题及解决安全问题的思路
通信网的安全通常存在五个方面的隐患,即通信网络的脆弱性、网络通信协议(特别是TCP/IP)的固有缺陷、网络通信软件和网络服务的漏洞、网络结构的安全隐患、硬件安全缺陷。软交换呼叫中心网络作为架构在分组网络之上的下一代的通信网,在上面几个方面都面临着一定的安全风险•这里我们搁置通用计算机平台和互联网连接时都会遇到的安全问题一这类安全问题有着大量的通用的安全解决方案,重点看看软交换呼叫中心系统特有的安全问题。目前软交换呼叫中心网络中影响运营、急需雄决的安全问题主要有:大型网元的安全问题、媒体安全问题、用户控制和管理问题等。
1.大型网元的安全问题
软交换呼叫中心网络中软交换呼叫中心负责几十万甚至几百万呼叫的控制,网关设备为大量原有PSTN用户提供媒体转换,这类软交换呼叫中心大型网元设备的安全事关重大。在软交换呼叫中心网络中,大型网元除去需要考虑硬件安全、操作系统安全、网络层安全、应用软件安全等安全问题,如何抵抗应用层消息攻击也是需要重点考虑的问题。软交换呼叫中心或网关在收到大量用户注册等应用层消息时可能引起拒绝服务、系统过载,而互联网上产生应用层消息的攻击是相当容易的。
2.媒体的安全问题
现有的软交换呼叫中心网络出于设备性能等考虑一般没有对媒体进行加密,这在一般的用户通信中没有太大的安全威胁。但对于存在二次拨号的呼叫,用户媒体的安全问题就凸现出来了。二次拨号通常涉及账号、卡号、密码等有价值的信息,如果直接在网络上透明传送极为不安全,一旦被窃取影响较大、后果严重。二次拨号的安全问题不解决,运营商的业务推广将受到很大限制。
3.用户和业务的安全
软交换实现了控制和承载分离,用户信息不再和物理线路绑定。在开放的互联网络上通信双方不再像PSTN一样可以根据物理连接建立信任关系,因此通信双方或多方需要在通信之前进行1识别和确认,通信过程中消息的真实性也要确认,以防出现假冒网元、假冒用户、盗用业务、非法管理网元等问题,影响软交换网络的运营。
软交换呼叫中心组网的安全与多种因素相关,需要通过一系列措施帮助软交换网络提升安全防护能力。
1.安全网络组织
通过安全的组网技术组建安全的网络,并通过防火墙、攻击检测、流量控制、访问控制等安全防护手段保护网络和设备免受非法攻击。不同的运营需求可以采用不同组网方案,提供网关类终端为主的软交换呼叫中心网络和提供软终端为主的软交换呼叫中心网络安全考虑重点不同,选择的安全组网方式也会有不同。
2.接入安全防线
设置接入安全防线,接入设备/用户接入需要经过身份认证才可以接入软交换呼叫中心网络,同时在这个点可以根据用户的业务权限设置用户的业务权限、QoS带宽限定等,这条防线可以避免非法用户进入软交换呼叫中心网络,同时用户的身份得到确认,可以方便进行事后审计与追踪,有效防止用户侧的网络攻击行为。
3.系统层安全
对操作系统进行及时加固,避免攻击,关闭不必要的服务。
4.应用层安全
考虑软交换呼叫中心中常用的媒体控制信令的安全,及时填补应用层设计和实现的漏洞协议,在信令协议中启动加密和鉴权机制,保证媒体网关控制器对媒体网关的控制权,防止非法用户对业务的盗用或干扰;
5.业务安全
业务安全防线设置在网络设备上,主要实现网络业务的安全防护,如通过设备相互认证进行设备间的访问控制,通过对用户的业务权限认证避免业务被非法使用,通过协议信令的加密来防止网络监听等。
6.网管安全
设备通过单独的网管接口组成逻辑上独立的网管网。在互联网络上慎用SNMP,及时为SNMP漏洞打补丁,以提高网管的安全性。
7.容灾备份
当遭受到攻击,造成业务瘫痪时,应当有有效的措施及时地恢复,保证业务的正常运行。此时应当通过一定的容灾措施及时接替服务。
8.动态的安全防护
无论在理论上还是在实践中,试图一次性彻底填补一个网络或系统的安全漏洞都是不可能的,攻击手段总是推陈出新,系统的安全漏洞也会不断械发现,网络的安全总是处于一个动态的过程之中。以防火墙为核心的网络安全防护、在信息传输和存储中采用加密技术、采用用户身份验证等都是网络安全的基本措施,要实现长期的安全,还必须不断地对网络和系统的安全漏洞进行扫描,并不断地进行系统加固、策略更新。只有通过不断更新的防护响应措施加固网络和系统,才能真正地实现网络安全。因此在网络安全部署上应当采用入侵检测工具(Detection)与防火墙实现联动,实时发现非法入侵,并采取相应的响应措施(Response).除此以外,定期的漏洞扫描、安全加固、安全审计和安全策略调整都是必要的加丽安全的响应措施。
9.安全管理制度和体系
运营商根据需求制订完善的安全管理制度和体系,并保证制度的有效实施。
保障软交换呼叫中心网络安全涉及方方面面,下面重点对网络组织、信令协议、媒体安全等问题的技术解决方案进行分析。
3.7.2网络的组织
从安全的角度考虑软交换呼叫中心网络组网,确定组网方案的思路是划分安全区域一确定不同安全区的访问策略一在安全区边界部署安全设备。
1.安全区域的划分
对软交换呼叫中心网络进行安全区域的划分,就是将具有相类似的被保护资产属性和安全防范需求系统归入同一安全区域。根据软交换呼叫中心网络中设备的安全需求,软交换呼叫中心网络的安全区域可以划分成内网区、隔离区和外网区三个安全区域,如图3-24所示。
图3-24 软交换网络安全区域划分
软交换网络内网区:由软交换呼叫中心设备、信令网关、应用服务器、媒体服务器、中继网关、大容量接入网关等设备组成的网络区域。该网络区域设备完全由运营商控制,面向大量用户提供服务,安全等级要求高。
软交换呼叫中心网络隔离区:由软交换呼叫中心用户下载服务器、应用门户服务器、DNS等设备组成的网络区域。该网络区域设备需要向公共互联网用户提供服务,同时与内网区设备存在联系。
软交换呼叫中心网络外网区:由SIP终端、普通用户IAD等终端设备组成的网络区域,该网络区域设备放置在用户侧,面向个人用户提供服务。设备一般通过公共互联网接入,通常的接入手段包括ADSL、以太网等。
为实现安全风险限制,在软交换呼叫中心内网区还需根据具体功能和权限的不同再细分安全区域,如业务数据安全区、网络管理安全区、计费管理安全区、第三方互联安全区等等。
2,网络访问控制策略
软交换呼叫中心网络的三个安全区域间需要制定一些访问控制策略,才能保证安全区域间的互通和控制隔离。运营商需要根据具体需求定制网络访问控制策略,下面列出了一些访问控制策略,供读者参考。
1)外网区终端获得允许后可以使用隔离区服务器提供的服务;
2)外网区终端允许使用SIP、MGCP或H.248协议通过边缘接入控制设备作为代理访问内网区,在通过用户和业务认证后,允许RTP/RTCP数据包通过边缘接入控制设备作为代理进入内部网。
3)外网区终端不允许使用除SIP、MGCP和H.248之外的协议直接访问内部网络,对内部网络设备的访问必须通过隔离区设备代理进行。
4)在一般情况下,内网区系统设备可以在不认证的情况下实现对隔离区的访问,但隔离区对内网的访问必须通过认证的方式。
5)根据网络安全的最小化服务原则,内网区对隔离区、隔离区对外网区只能开放必须的服务端口,对于其他的不需要的端口一律通过防火墙实现屏蔽。
6)内网区设备不允许访问Internet。
3.安全设备部署
图3-25给出了软交换呼叫中心网络安全分区之间安全设备部署的示意。
图3-25安全设备的部署示意图
(1)隔离区和内网区以及隔离区和外网区间安全设备的部署由于软交换呼叫中心网络隔离区内的服务器提供网页访问、软件下载、DNS查询等通用服务,内网区与隔离区、外网区与隔离区间可以使用通用防火墙设备,并设置防病毒网关和入侵检测设备防御病毒以及其他基于应用程序和系统漏洞的攻击行为。
(2)内网区和外网区间安全设备的部署软交换呼叫中心内网区与外网区间需要部署支持软交换呼叫中心应用层协议的应用层防火墙设备,应用层防火墙具体需要支持的协议根据运营商开放的协议决定,比如只开放SIP用户的运营商网络可以使用支持SIP的应用层防火墙,而部署了MGCP和H.248IAD的运营商需要选择支持MGCP和H.248协议的应用层防火墙。
当内网区和外网区使用统一的IP地址编址——如内网区设备和外网区设备都使用公有IP地址或都使用私有IP地址时,应用层防火墙不需要涉及地址转换的功能。
当内网区和外网区使用不同的IP地址编制时——如内网区使用私有地址、外网区使用公有地址的情况,应用层防火墙同时需要完成地址转换的功能,而这一功能的引入涉及地址转换设备NAT穿越的问题(地址转换设备引起的问题可以见3.5章节)。这时,应用层防火墙设备需要完成信令中用户地址更改和媒体转接的功能,这种将软交换应用协议防火墙和NAT穿越功能合并在一起的设备称为软交换边缘接入控制设备,简称BAC。
边缘接入控制设备识别和解析软交换呼叫中心网络应用层协议,实现对软交换呼叫中心内部网络的安全防护,同时解决应用层协议的穿越问题,完成不同网络间的业务互通。边缘接入控制设备的详细介绍请参见4.2节。
3.7.3信令协议的考虑
信令消息流的安全通常包括四个部分:完整性、保密性、可用性和真实性,表3-2列出了四个方面的安全威胁、可能产生的后果和常见的对策。
表3-2 信息安全的影响
信息流安全的有效措施之一是加密,分为对全部信息进行加密和对部分关键信息进行加密两种。通常对一些敏感信息进行加密,例如,对身份认证中用户的账号和密码进行加密传输。该手段在对用户进行身份认证时采用是非常必要的,可以防止用户账号和密码的明文传输,防止密码被截获。对整个信息的加密安全性较高,但是对资源消耗较大,实施时应根据具体情况在加密的代价和安全性要求之间进行衡量。下面分别对软交换呼叫中心网络中使用SIP、MGCP和H.248协议的安全性和安全机制进行分析。
1.SIP
SIP信令可能面临下面几种攻击:
(1)注册劫持(registrationhijacking)SIP中允许第三方代表用户来注册联系信息,From字头又可以由UA的所有者改写,这就给攻击者恶意注册提供了方便之门。攻击者为一个URI的所有Contact发注册注销消息,然后注册自己的设备为Contact地址,这样就将所有到用户的呼叫全部转向攻击者的设备。
(2)服务器伪装(ImpersonatingaServer)呼叫请求的域是在Request-URI指定的,UA通常直接向域中的服务器发出呼叫请求,但这就给攻击者机会伪装成SIP服务器。例如,攻击者伪装成重定向服务器向用户发送301消息,即当前SIP服务器已退出服务,同时将自己的地址指定为接替服务的sip服务器,那么所有用户的呼叫请求都被攻击者截获,而并非发向服务器。要防止这种攻击就要求UA能对发送呼叫请求的服务器进行鉴权。
(3)消息窜改(TamperingwithMessageBodies)SIPUA通过信任的Proxy来路由呼叫,UA通过SIP消息体来传送媒体会话加密的密钥时,恶意的Proxy就可以改动消息体,或者作为中间人,或者直接改写会话加密的安全特性。这种攻击并不一定针对会话密钥,大部分在端到端SIP消息中的内容都在可窜改之列,例如MIME、SDP、被封装的电话信令。攻击者可以改动消息的SDP部分,将RTP媒体流指向分接线设备,对通信进行搭线窃听。
(4)会话终止(TearingDownSessions)当会话被建立以后,可以发送消息来修改会话/通话的状态,因此必须保证这些消息不是攻击者伪造的。例如,一个会话被第三方——攻击者截获,获得了To,From内容,然后在消息中插入了BYE请求,于是用户的正常会话被终止。类似的会话过程中的攻击包括发送伪造的re-INVITE消息。对这种攻击最有效的措施就是对BYE消息进行认证,即该消息只接受从会话对方发来的BYE消息,如果会话的私密性得到保证的话,攻击者无法得到消息参数,也就无法伪造BYE消息。
(5)拒绝服务和服务放大(DenialofServiceandAmplification)通常SIPProxy需要接受SIP呼叫请求,因此直接面对开放的IP网络的众多的终端设备,较容易受到DDOS攻击。攻击者通过伪造一个虚假的IP地址和相应的Via字段假装是某个主机发来的请求,然后大量发送给SIP服务器,从而使服务器遭受DDOS攻击。如果REGISTER消息没有被认证和授权,遭受DDOS攻击的机会就会大大增加,通过多播来传播SIP请求消息使DDOS更容易实现。
通过上述分析,可以看到对信息完全加密是保证消息安全最可靠的方式,但是SIP消息并不能完全加密,因为Request-URI,Route和Via的信息必须被Proxy可见,SIP请求才能被正确地路由。同时Proxy还必须对某些信息进行改写,例如,增加Via头的值。软交换呼叫中心信令协议备选的安全方案包括:传输层安全(TLS)保护、HTTPDigest身份认证、端到端的PGP加密和S/MIME加密等等。
(1)传输层安全(TLS)保护TLS是面向连接即TCP之上的传输层安全保护,该协议分为上层的TLSHandshake协议和下层的TLSRecord协议。TLSHandshake协议为一个安全的会话建立加密参数。TLS客户端同时也是TCP的客户端,在TCP链接建立之后,发出一个CHentHello来发起握手,这个消息里面包含了自己可实现的算法列表和其他一些需要的消息。TLS的服务器端收到消息后回应一个ServerHeHo,确定本次通信所需要的算法,然后发过去自己的证书,证书中包含了身份和自己的公钥。CUent在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,TLS服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。
TLS不能在1)0?之上运行,对SIP服务器来说,同时维持大量的TLS连接也是负荷比较重的,这就带了扩展性的问题。此外,还需要考虑TLS的FWZNAT穿越问题。
(2)端到端的PGP加密和S/MIME加密方式S/MIME是扩展的安全邮件协议,利用单向散列算法和公/私钥加密体系,认证机制依赖于严格的层次结构,采用与PGP类似的不严格的信任模型,证书格式采用X.509»加密采用对称加密与非对称加密结合,用公钥加密会话密钥,会话密钥来加密消息,密钥采用768〜1024位之间的密钥对,常用的加密算法有:RC4(默认)、RC2、DES、3DES等。
S/MIME可以对消息体(如SDP)进行加密,也可以对包括消息头在内的整个消息进行加密。对整个消息进行S/MIME加密也称为TunnelingSIP,加密后消息分为“inner”和“outer”两个部分,外部保留一份消息头,后面是S/MIME头部,加密后的消息附在SZMIME头之后。某些消息头必须在“outer”中保留一份明文版本,因为该部分必须对网络透明的部分,如“To”、“From”、“Call-ID”、“CSeq”、“Contact"。S/MIME加密可以很好地保证被加密消息部分的完整性和私密性。
支持S/MIME的UA必须为每个最终用户保存一份用户的公钥证书,在用户账号与相应的证书之间建立对应关系,维护公钥钥匙圈,同时维护本地的私钥钥匙圈。在没有可靠的第三方证书机构的情况下,用户可以生成自签名的证书,即由用户自己来签发X.509证书。也可以使用预置证书,在所有的SIP实体间建立信任关系。如果没有集中的分发用户证书的机构,UAC必须支持手工或自动从公开站点上获得证书。
SIP自身也可以作为分发公钥的一种渠道。当在S/MIME中使用CMS签名数据信息时,可以携带由可信用户用数字签名签发的公钥。当UAS接收到含有S/MIME的请求时,首先对其数字签名进行验证,验证通过则将该证书加入本地公钥钥匙圈(keyring)保存。这种密钥交换机制是不够安全的,容易遭受中间人攻击。S/MIME的最大的缺陷就是缺乏有效的公钥基础设施。另一个缺陷就是加密特别是使用TunnelingSIP时将产生非常长的消息,此时应当采用TCP来做为传输层协议。
SIP信息体和部分信息头部也可以通过PGP进行加密。PGP采用128位RSA算法,加密密钥包括:公钥、私钥和一次性的会话密钥。
发送方用自己的私钥来对“消息摘要”进行加密形成数字签名,用接收方的公钥来加密一次性的传送会话密钥。接收方用自己的私钥来恢复会话密钥,再用会话密钥解密消息。对数字签名则用发送方的公钥来恢复,并通过对“摘要消息”的验证确认发送方的身份。
PGP没有定义严格的公/私钥的分发的机制,它更像一种基于双方信任的加密的机制,可由信任的用户之间建立信任网,相互传递公钥,实现公钥的传播。PGP用户由系统产生公/私钥对,在本地钥匙圈保存自己的私钥,在第三方站点上公布公钥信息,使通信对方可获得自己的公钥。为了提高密钥分发的安全性,避免“中间人”攻击,用户可以通过电话验证密钥的“指纹”(16个2位十六进制数)或从双方都信任的个体处获得对方的公钥,也可以从信任的CA中心获取对方的公钥。PGP还提供增加所分发的公钥可信度的机制,即用户可收集多份经过共同的信任的不同的第三方个体来签发的公钥证书,被验证次数较多的公钥获得较高的可信度,因而可以有效地减少证书被纂改的可能性。
目前所有的软交换呼叫中心设备和SIP终端均不支持PGP和S/MIME加密。
(3)HTTPDigest身份认证UAS可以通过HTTPDigest对请求方进行身份认证。SIP的安全身份认证采用基于HTTP的Challenge/Response的机制,即只接受有证书(credential)的请求,对没有证书的请求则通过401/407消息要求对方重发包含认证信息的请求。SIP用户注册的鉴权过程如图3-26所示。
SIP UA向SIP服务器发送REGISTER消息,服务器回复401/407消息(注册服务器、重定向服务器回复401,Proxy服务器回复407消息表示UA首先要与Proxy进行身份认证),表示需要经过鉴权才能获得服务,401/407消息中包括一个或多个的由密钥计算方法和密钥参数组成的域,同时带有一个消息回应的随机数鉴别符nonce,防止重放攻击,通常在SIP中采用HTTPDigest的密钥检验算法和MD5算法。SIPUA重新发起一个REGISTER消息,消息中包含鉴权因子,包括用户名和UA对用户名和密码、realm、Request-URI和随机数计算生成的加密结果response。注册服务器根据一定的算式重算response,并且判断与UA发送过来的response是否相等,相同则通过鉴权。SIP服务器验证用户的合法性和安全性后,将用户信息登记到数据库,并返回一个成功响应(200 OK)给终端代理UA。
图3-26SIP终端代理注册鉴权流程
对于forked请求消息,多个Proxy或UAS将对UAC发出鉴权要求(challenge),forkedProxy将负责将多个challenge组合成一个单独的响应消息,UAC将对每个鉴权要求填写相应的参数。
一旦通过认证和授权建立会话连接,UAC就会在整个通信过程中缓存信任状,接下来的所有的来自同一个主叫的其他请求消息可用同一证书(credential)来进行鉴权。这样就可避免攻击者恶意中断连接或进行其他非法操作。
根据上面的分析来看,在SIP的安全机制中,目前比较可用的只有HTTPDigest身份认证和逐跳加密。TLS不适合通常SIP运行于UDP之上的场合,而PGP和S/MIME加密机制涉及到分发和管理密钥的第三方,使用较复杂,且目前缺乏具有可操作性的方案。对SIP应采用以下几种安全措施:
(1)HTTPDigest身份认证基本认证中用户名与密码没有经过加密,仅用编码方式传输,是一种不够安全的技术。在没有应用底层安全保证技术的前提下,不应当使用基本认证方式。SIP应采用HTTPDigest进行身份认证。
(2) 呼叫路由消息隐藏路由信息的隐藏可以通过逐跳对Via字段加密来实现,也可以通过软交换呼叫中心内外网区之间的应用层防火墙设备增加功能来实现。
(3) 禁止第三方注册由于允许第三方为用户注册会带来一系列问题,例如,注册时注册用户和第三方的鉴权、注册劫持等,因此在SIP实现时应禁止第三方注册,只有From和To字段中的address-of-record一致时,注册服务器才允许注册。
(4) 禁止消息头From、To字段改写当Proxy以B2BUA的方式工作时,应禁止对消息头From、To字段改写,这样可以保证会话消息的请求方和目的方的账号信息的真实性和直观性,防止第三方伪装消息。
2.H.248/Megaco及MGCP
相对于SIP来说,应用H.248和MGCPTG和AG的用户基本上使用双绞线的电话终端,遭遇攻击的机会相对较低。与SIP这种基于文本格式的协议相比,H.248和MGCP这种专用的通信协议不为人所熟悉、专用攻击工具获取的渠道少,伪装难度相对较高。SIP用户广泛地分布于公用IP网上,IP地址不可知,安全防范的范围非常大,这使得ACL等安全措施较难部署,并且也不利用攻击发生后事后追查。对H.248和MGCP来说,用户相对固定,可以有针对性地实施一些IP过滤策略,加上H.248和MGCP的自身在安全上的一些保护机制,信令消息的安全可以得到一定的保证。
在H.248和MGCP中均提出可以通过IPSec增加协议的安全性。IPSec给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议AuthenticationHeader(AH)、封装安全载荷协议EncapsulatingSecurityPayload(ESP),密钥管理协议InternetKeyExchange(IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
网络认证协议(AH)提供数据源认证、数据完整性保证和防止重放攻击,它能保护通信免受篡改,但不能防止窃听,可被用于保护媒体网关控制器(MGC)和媒体网关(MG)之间的协议连接(Protocol Connections
封装安全载荷协议(ESP)为IP数据包提供完整性检查、认证和加密,在MGC向MG传送会话密钥(Session Key)时用于加密包含密钥的会话描述信息。同时,MGCP采用IPSec的密钥管理协议(IKE)来保证密钥的安全性。
理论上对H.248协议连接的保护可以通过在H.248协议头之中定义认证头来实现,但由于IPSec要求AH头或ESP头紧跟在IP包头后面,这在应用层上的实现有一定难度,H.248定义了一种折衷的AH头,调整了数据完整性检查的范围,对IPSec进行简化,它只解决信令安全问题,不解决媒体安全问题,这在一定程度上削弱了协议的安全性。采用这种方式,需要IAD/AG和软交换呼叫中心支持AH,应用该种加密方式后对IAD/AG以及软交换的性能造成负面影响。AH方式目前只基于H.248的设备上实现,无法在MGCP设备上实现,不能解决MGCP的安全问题。
当前具有可操作性的安全措施是对基于H.248和MGCP的设备注册进行鉴权并在注册通过后在MGC与MG之间周期性进行鉴权验证。目前软交换呼叫中心设备产品提供商对H.248和MGCP做了一些扩展,使其能传送认证参数,支持加密的设备身份认证。
目前主要有两种注册鉴权方式:
(1)MG主动发起由MG主动发起注册鉴权,鉴权通过后,双方进行DH密钥交换,同时对MGC的身份进行鉴权。此后MGC通过新的密钥定期对MG进行鉴权。图3-27是这种鉴权过程的示意图。
1)MG在注册消息中发送加密的设备识别码和其他认证参数,MGC用保存的设备识别码和共享密钥与收到的认证参数(随机数等)一起进行MD5计算后得到的结果与接收到的加密后的设备识别码比较,如果相同则通过认证,否则拒绝。对应协议消息(1)〜(2)。
2)MGC向MG发送Modify/RQNT消息,在消息中双方通过DH算法交换密钥,MGC向MG发送新的加密的认证参数,MG通过新的共享密钥验证是否是合法的MGC发回的消息,MGC的身份也得到了认证。对应协议消息(3)〜(4)。
图3-27基于H.248的MG注册鉴权过程(方式一)
3)MGC定期向MG发送Modify/RQNT命令进行鉴权。对应协议消息(5)〜(6)。
(2)软交换呼叫中心主动发起采用基于Challenge/Response的鉴权机制,由软交换呼叫中心来发起鉴权要求,由MG来响应该要求发送认证参数供软交换呼叫中心对MG身份进行验证。
如果软交换呼叫中心认为MG需要进行鉴权,则向MG发出鉴权请求,鉴权请求中包含一个随机数。由于在MG和软交换呼叫中心已经配置了相同的设备识别码和鉴权密钥,MG使用加密算法对设备识别码和软交换呼叫中心发来的随机数进行加密,并将加密的结果发给软交换呼叫中心鉴权。如果软交换呼叫中心判断该加密结果与软交换呼叫中心本身计算的结果相同,则认证通过。
在注册鉴权通过后,该鉴权流程还可以周期进行。图3-28是鉴权过程的流程示意。
图3-28 基于H.248/MGCP的MG注册鉴权过程(方式二)
1) MG向软交换呼叫中心发起MGCP/H.248注册消息,软交换呼叫中心接收的注册信息后,根据配置决定是否发起鉴权;如需鉴权,软交换呼叫中心生成一个随机数,同时包含设备识别码,通过自定义的扩展包,由协议命令发给MG。对应协议消息(1)〜(2)。
2)如果MG支持该扩展包,则MG将随机数、设备识别码、事务ID用加密算法进行加密,并将加密后的结果作为检测到的事件上报给软交换呼叫中心。软交换呼叫中心将MG发来的加密结果与用相同加密算法的计算出的结果比较,如果相同,则鉴权通过;如果认证不通过,则该MG为非法。对应协议消息(3)〜(6)o
3)根据鉴权的结果给MG回正确或错误响应。对应协议消息(3)〜(6)可以根据软交换呼叫中心的策略,周期性地对MG进行鉴权。
对于服务器仿冒,必须在媒体网关中配置可以提供服务的MGC的列表。此外,设备的身份认证机制也能有效地防止非法用户取得对媒体网关的控制权。
3.7.4 媒体安全
媒体安全最直接的解决方案是端到端媒体加密,但目前的大部分设备受性能限制并不支持这种方式。这里我们重点讨论当前问题最为突出的二次拨号的安全。
呼叫中二次拨号DTMF的传递方式可以分为两种:带内方式和带外方式。带内方式又可分为两种:1)将D1MF按照语音一样,打入RTP包,传到对端还原。2)采用RFC2833的方式。前一种方式在非G711编解码以及网络条件不良好时,可能引起信息的丢失。后一种方式与编解码无关,网络的影响也降低到最小程度。
根据目前设备的情况,带内方式传送二次拨号与带外方式比较有一定的优势,主要体现在:
1)媒体服务器和第三方应用服务器问题。采用带外方式,需要软交换呼叫中心参与业务的过程,不利于应用服务器和媒体服务器的使用,也可能增加了软交换呼叫中心的负担。另外,二次拨号可以衍生很大业务,可以通过增加应用服务器来增加不同的业务,这些应用服务器可以是第三方的应用服务器,如果采用带外方式,软交换呼叫中心需要和这些应用服务器,尤其是媒体服务器,有特殊的信令/字段交互。
2)当软交换呼叫中心作为长途汇接等情况使用时,为兼顾已经存在的客户端,例如银行电话,TG需要支持这些特殊的信令/字段,并将它转为PSTN的PCMA,较为繁复。
3)同步问题。DTMF的传递和媒体流的传递采用不同的路径,可能在接收方造成媒体流和DTMF的时序和发送方不一致。例如IVR,它的拨号、听放音是有顺序的,采用带外的方式,两者之间存在同步和顺序问题。
无论带内还是带外方式,只要没有对DTMF进行加密,就存在窃听的可能。由于二次拨号有拨打分机号码的普通业务,还有涉及卡号密码的信息,这些信息一旦被盗听,将对用户造成经济损失,并被用户投诉。
二次拨号的安全目前主要靠组网方式来支持,如安全组网方案中将软交换呼叫中心网络分为内网区和外网区,同在内网区的AG、TG、MS之间的DTMF的传递被认为是安全可靠的。对于外网区的设备,二次拨号的安全依赖用户接入方式和网络状况。通过ADSL接入的用户,其DTMF传递是相对安全的。用户端存在本地局域网的情况,被认为是不安全的。
全面解决二次拨号的安全问题,需要对RFC2833方式传送的二次拨号信息进行加密。
1.RFC2833加密涉及的设备
目前大部分设备并不支持这一能力,RFC2833加密改造需要涉及很多网络设备。要保证DTMF网络传递的安全,就要对RFC2833的RTP包进行加密,这就涉及了所有产生和接受RFC2833的设备。虽然TG位于软交换呼叫中心的核心网络,它和其他核心网络内的设备信息传递安全可靠,由于TG可能接收IAD的二次拨号,再通过PSTN传递银行的应用服务器上,TG必须能够解读IAD送来的经过加密的2833,所以TG也必须支持RFC2833的加密方式。总的来说,需要支持的设备包括:中继网关、接入网关、媒体服务器、应用服务器、硬终端和软终端等。
2.RFC2833加密涉及的协议
对信息进行加密,需要合适的加密算法,以及加密算法需要的key和rand。这些,需要在2833传递之前确定,需要确定双方使用的加密算法,需要确定双方共享的key和rand。这些需要软交换呼叫中心的参与,在呼叫建立的过程中,完成相关的协商,涉及的协议包括有:MGCP、H.248、SIP。由于涉及的呼叫协议较多,为了避免对原有协议和流程的过多改动,建议尽可能地使用SDP来携带加密算法,进行密钥的传递。
由于在实际应用中,需要二次拨号的呼叫比例较少,二次拨号中也不是所有的均需要安全保密。为了减轻各设备的负荷,可以在软交换中登记需要安全加密二次拨号的号码,当用户拨打这些号码时,启动安全加密机制。
3.7.5网管安全
软交换呼叫中心设备的管理办法主要通过SNMP进行。SNMPvl版本的SNMP代理和SNMP管理站在处理Trap消息和其他请求消息方面存在安全隐患,可能会引发服务中断、DDOS攻击或非法获取设备访问权限。SNMPV2增强了安全机制和其他功能,在安全性、保密性、操作性能、管理能力方面较SNMPvl有了很大的改进,但仍然存在许多安全隐患,例如,继续使用SNMPvl的基于明文密钥的身份验证方式。目前设备基本支持SNMPV2版本,而不支持安全性较高SNMPV3版本。
为了提高网管的安全,需要采用以下安全措施:
1)在软交换呼叫中心控制网内采取网管网段与业务网段分离的措施,在设备上网络管理的端口与其他端口分离,这样可以实现SNMP服务与其他服务隔离,可以有效地提高网管的安全。在必要的时候可以关闭SNMP,通过操作台直接对设备进行网管操作。
2)对于分散的、大量小容量的接入层设备如IAD,因为必须进行远程管理并且需要穿过公网,SNMP的不安全性的危险更加明显。对IAD进行带外管理的代价较高,此时只能尽量提高SNMP的安全性,通常有两种做法:
√ 从厂商及时获得补丁程序。
√ 对SNMPV2在SNMP服务器与代理之间采用基本MD5的摘要认证,进行身份认证。
3)对IAD的NMS系统,由于安全性的原因,必须与软交换呼叫中心的控制网的设备的网管系统、AG的网管系统都分开设置,并将其放置在安全隔离区,如DMZ区域,实现风险隔离。
4)此外,可以通过防火墙等过滤设备对SNMP服务的请求进行访问控制。例如,除指
定的服务器外,缺省情况下通通禁止对SNMP服务的请求,对于大多数的SNMP代理,可以设置仅接受有限几台主机的SNMP请求,这样可以降低攻击风险。
3.7.6安全管理体系及制度
仅有安全技术防范,而无严格的安全管理体系相配套,难以保障网络的安全。“三分技术、七分管理”已经成为网络安全部署的一个共识。
网络安全产品应用的方方面面无不关系到管理问题。比如,防病毒软件要求病毒代码每周至少升级2〜3次;系统要求定期对网络扫描,发现系统的漏洞,指导打补丁;防火墙的策略也需要针对网络通信的实际情况的变化进行调整;网络入侵检测系统则要求随着网络结构和应用的变化调整重点预警区,不但要求网管员了解预警产品的功能及响应,还必须进行正确的配置。实际上,安全策略的制订和实施是一个动态的延续过程。
为保证安全策略的顺利实施和建立全方位的立体安全体系,安全管理制度应主要包括以下几个方面:
1)建立严格制度和文档:网络建设方案、网络技术体制、网络拓扑结构、设备配置、IP地址和域名分配方案等相关技术文档;
2)机房管理制度:包括对网络机房实行分域控制,保护重点网络设备和服务器的物理环境安全;
3)各类人员职责分工:根据职责分离和多人负责的原则,划分部门和人员职责。包括对领导、网络管理员、安全保密员和网络用户职责进行分工;
4)安全保密规定:制定颁布本部门计算机网络安全保密管理规定;
5)网络安全方案:网络安全项目规划、分步实施方案、安全监控中心建设方案、安全等级划分等整体安全策略;
6)安全策略文档:建立防火墙、入侵检测、安全扫描和防病毒系统等安全设备的安全配置和升级策略以及策略修改登记;
7)口令管理制度:严格网络设备、安全设备、应用系统以及个人计算机的口令管理制度;
8)系统操作规程:对不同应用系统明确操作规程,规范网络行为;
9)应急响应方案:建立网络数据备份策略和安全应急方案,确保网络的应急响应。
10)用户授权管理:以最小权限原则对网络用户划分数据库等应用系统操作权限,并做记录;
11)安全防护记录:记录重大网络安全事件,对网络设备和安全系统迸行日志分析,并提出修复意见;
12)安全审计制度:定期对系统运行、用户操作等进行安全评估,提交网络安全报告。
13)其他制度还有信息发布审批、设备安装维护管理规定、人员培训和应用系统管理等,以及全面建立计算机网络各类文档,堵塞安全管理漏洞。
3.7.7总体安全考虑
通过下列几个方面的有针对性的措施,可以改善软交换呼叫中心网络的安全情况,将安全风险大大降低。
1.划分安全区域,实现安全风险限制
软交换网络中安全要求等级较高的设备,如软交换呼叫中心、信令网关、应用服务器、中继网关、 综合接入网关等设备,组成软交换呼叫中心内部网络,最大程度地保证网络、设备、业务和用户的安全,并实现一定的服务质量保证。小型的接入设备IAD和SIP用户位于外网区,通过公用IP网络接入,以保证网络的可扩展性和实施的简单性。用户需要直接访问的通用服务器和软交换呼叫中心应用服务器的门户等位于隔离区。
为实现安全风险限制,在软交换呼叫中心内网区还需根据具体功能和权限的不同再细分安全区域,如用户信令安全区、业务数据安全区、网管安全区、计费安全区等等。
2.在安全区域边界使用防火墙和边缘接入控制设备,设置网络访问控制策略,有效控制安全区域间的通信。
软交换呼叫中心内网区与隔离区、外网区与隔离区间使用通用的包过滤防火墙,并设置防病毒网关和入侵检测设备,来防御病毒以及其他基于应用程序和系统漏洞的攻击行为。
内网区与外网区间使用软交换呼叫中心专用应用层(SIP/MGCP/H.248)防火墙,该设备应能识别和解析软交换呼叫中心网络应用层协议,可实现对软交换呼叫中心内部网络的安全预警和防护,同时应能解决或配合软交换呼叫中心解决应用层协议的穿越问题,完成不同网络间的业务互通。结合软交换呼叫中心业务QoS的考虑,设备需要同时实现媒体转接功能。
设备选择目前有软交换呼叫中心边缘接入控制设备(BAC)和厂家专用设备两类,BAC能独立解决穿越问题,与软交换呼叫中心间信令互通遵循已有规范;厂家专用设备与软交换呼叫中心间使用了私有协议,目前需与同一厂商软交换呼叫中心配合使用。
3.软交换呼叫中心网络设备进行系统加固和设备改进,降低安全风险。
软交换呼叫中心设备在软、硬件的设计和实现上进一步提升抵御IP网络各种攻击的能力。设备应不断进行系统加固,对操作系统的漏洞及时打补丁,进行最小化端口设置,关闭不必要的服务,检查账号和口令安全。
软交换呼叫中心的设备需要进行相应的改进:如对单独的网管端口的支持,支持多个网段设置,媒体网关能对媒体端口进行动态开闭管理,面向用户的服务采取由Web或Portal面对用户,进行业务代理方式来降低风险。软交换呼叫中心的部分设备需要专门的软/硬件平台设计。
4.在信令协议中启动加密和鉴权机制,保证媒体网关控制器对媒体网关等接入设备的控制权,防止非法用户对业务的盗用或干扰。
5.采用多种手段来保护网络、设备和业务的安全,如部署漏洞扫描产品,定期扫描,查补漏洞;制定严密的管理制度并将责任定位到人,合理定义并分配安全职责;做好安全记录并进行仔细的安全审计等。
软交换呼叫中心网络中各种安全风险总是处于不断的变化中,保障网络的安全需要建立安全预警、安全定位、安全隔离、安全处理到安全恢复的完整的网络安全闭环管理系统和流程。
随着软交换呼叫中心网络设备规模和用户规模的扩大、软交换呼叫中心网络的价值提升,软交换呼叫中心网络的安全需要在网络组织、系统安全、应用层安全、业务安全、管理体系及制度等各个方面进行综合考虑。为了更好地保障网络安全,软交换呼叫中心网络设备将进一步改进以加强自身安全性;软交换呼叫中心网络将进行安全区域的细分;安全加密技术将逐渐应用到用户信令和媒体的传送中;在应用通用安全技术产品的同时,现有边缘接入设备将逐渐发展成为软交换呼叫中心专用的应用层防火墙,对信令进行安全过滤和代理,对媒体进行控制与转发,真正实现软交换呼叫中心网络守门人的角色。