APP下载

基于WS—Security的业务接口安全实现

2015-05-30林素标

中国新通信 2015年8期

林素标

【摘要】 Web Service作为通用且标准的业务接口的最佳实现方式被广泛认可后,已经在电信运营商内的业务运营支撑系统中广泛的使用。但Web Service的安全问题始终困扰着运营商。通过介绍WS-Security相关技术以及一个具体的案例说明如何使用ws-Security以及WS-Security扩展技术去在运营支撑平台中构建一个安全可靠的业务接口。

【关键词】 Web Service 应用接口安全 运营支撑系统

一、引言

随着信息化技术的飞速发展,运营支撑系统已成为运营商内部最重要平台之一。在运营支撑系统中Web服务技术广泛应用,使得运营商内部各个业务系统相互联合,从而实现了系统间的数据共享和协同计算。采用Web服务的优势在于:Web服务是广泛普及的、简单的和平台中立的。其主要有点有两个:一是采用文档标记语言,例如XML,这就提供了强大的互操作性;二是采用了轻量级的文档传输协议,例如HTTP,这提供了有效且统一的数据传输机制。也就是说只要能理解XML和HTTP都可以提供对Web服务的支持。而通过Web服务构建的运营支撑系统的消息级安全隐患主要表现为:(1)消息截取:攻击方通过对SOAP消息的窃取和破译,将会造成如消息再现、消息窜改、消息欺诈等安全威胁。这可能会造成消息里,如用户手机号码,交易金额等机密信息外泄,而且对消息窜改或消息再现也会造成伪造或重复的交易信息,从而诈取各种交易信息。这里我们通常使用数字签名或者消息的加密来使得消息避免被窃取和破译。(2)中间人攻击:由于SOAP消息在请求者发出后需要经过一系列中转才能到达服务提供方。而消息中转是由媒介完成的,媒介可以对消息进行检查或者处理报头。因此对SOAP媒介的攻击将直接威胁道消息的安全性。相互认证是解决中间人攻击的最好方法,而对于传输的数据进行数字签名也将是一个很好的解决方案。(3)认证欺骗:攻击方会将自己伪装成为一个受信方对服务提供方进行攻击。这种攻击方式通常用于欺诈定购或者对客户机密信息的请求。而通过相互认证也能解决这类攻击带来的威胁。(4)再现攻击:攻击方会在截取一个SOAP消息后,将该消息再次发送给服务提供方,从而获取机密信息或者造成如订单重复等安全问题。而通过在SOAP消息上加入时间戳和顺序编号将能防卫这类攻击。(5)拒绝服务攻击:攻击方在截取或者伪造SOAP消息后,不停的向服务提供方重复发送消息,直到服务提供方因为系统资源耗尽而导致瘫痪。而选择正确的防火墙或者采用IP名单方法可以缓解这类攻击。面对林林总总的攻击手段,业务支撑系统不仅需要传统的安全解决方案,如防火墙、IPSeC等手段,我们还需要一种对消息级数据进行保护的方案。

二、WS-Security架构

WS-Security(Web服务安全)是通过扩充SOAP消息报头以继承各种安全方案的一套规范。它可以防止如消息窜改、消息泄漏等安全问题。同时WS-Security还可用于强密钥算法来保持消息完整性以及各种令牌机制来认证消息。

同时将WS-Policy、WS-Trust、WS-SecureConversation、WS-Federation、SAML等与WS-Security配合使用可以大大增强了消息的安全性、可靠性。如WS-Trust创建了一个发行、续用和验证安全令牌和评估或达成信任关系的协议。WS-SecureConversation定义了共享于多个消息交换空间的安全上下文。WS-Federation定义了创建跨区域的信任关。WS-Authorization描述了如何在Web服务基础架构中提供应用程序授权请求和决定。而SAML是一种用于支持单点登陆和传播授权信息的XML应用。这些技术可以使消息级的安全隐患从根本上削弱。

三、基于WS-Security的安全解决方案

下面将通过一个案例来说明WS-Security是如何保护业务支撑系统中SOAP消息的。在广东移动业务支撑系统中为了提升自身服务能力和服务透明度,自2007年起开始建设NGCRM统一接口平台,陆续开放了400余个基于WebService的业务接口,业务接口类型涉及业务订购、客户信息、消费信息、用户权鉴等四类,基本涵盖了广东移动所有对外服务内容。各地市公司和各合作伙伴所开发的第三方系统通过这些接口与广东移动业务支持系统实现了数据互通,从而达到了各系统数据融合的目的。但是统一接口平台在使用过程中也遇到了如下的一些安全风险:非法入侵系统,伪造订单或者重复发送相同的订单,客户数据欺诈,对于已经发生业务抵赖。针对上述安全问题,如果直接将统一接口平台不加任何安全措施,直接与第三方平台进行接口,会造成极大的安全隐患。WS-Security提供了把XML Encryption(消息机密性)和XML Signature(消息完整性)功能程序添加到Web服务中所必须的方法,并且提供在SOAP报头使用数字证书、Kerberos及X.509票据作为安全性令牌的方法。同时Web服务安全性模型被设计为允许利用现有的鉴别机制。

四、访问控制

由于统一接口平台和其中的客户数据都是数据公司的机密数据,因此我们需要对请求者的访问权限进行严格的控制。只有确保只有拥有合法令牌的客户才能访问统一接口平台,如Kerberos及X.509数字证书都是很好的选择,在统一接口平台中,广东移动选择X.509数字证书来验证请求者的身份。

相关的X.509证书格式如下:

xmlns:wgse=http: //sChemas.xmlsoap.org/ws/2002/04/secext

id="AliceToken"

valuetype=“wsse:X509v3”

encodingtype=”wsse”Base64Binary”>

T65thR546YRrw325GT