林素標


【摘要】 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