本站小編為你精心準備了信息視域下旅游商務系統安全分析參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
引言
面向服務架構(service-orientedarchitecture,SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務定義的接口聯系起來。這些接口在設計時應該遵循“獨立性”原則[1],即采用中立的方式進行定義,獨立于實現服務的硬件平臺、操作系統和編程語言。SOA采用Web服務實現,改善了SOA所面臨的復雜性和接口多樣性,Web服務被認為是新一代的應用集成技術,電子商務采用SOA的架構是比較適合的架構,既具有對信息的實時訪問,減少了孤立系統間的數據復制,又增強了企業的靈活性,降低了復雜性,減少了集成系統的開銷并且保證了系統的開放性[2-3]。但是這種基于服務的提供與調用方式同時也帶來傳統的安全方案難以解決的安全問題,如何在充分享受SOA所帶來的松耦合、異構、分布式等靈活性的同時,保障系統的安全性是當前需要解決的問題。本文深入研究了系統的安全需求和安全技術,并在此基礎上提出了基于SOA的旅游電子商務系統安全模型,該模型采用Web服務安全技術與現有安全技術相結合,保障了SOAP消息的端到端安全。
1安全需求分析
在旅游電子商務系統中,旅游者經常需要向企業的合作伙伴請求服務,如酒店預訂服務、機票預訂服務等,由此希望借助SOA的開放性、易于集成的優勢,利用Web服務創建一個集吃、住、行、游、購、娛于一身的“一站式”旅游服務系統。隨著越來越多的交易在網絡上進行,網絡攻擊變得越來越復雜。由于SOA架構的開放性本質和Web服務被廣泛用于企業之間的應用集成,使得安全邊界由Intranet擴大到了Internet。由于開放網絡環境的全球性、開放、無縫連通性、動態性和共享性使得任何人都可以自由地介入,因此會存在黑客攻擊、搭線竊聽、偽裝、計算機病毒、信息泄露、信息丟失、篡改、銷毀和軟件漏洞的不安全因素[4],這無形中增加了網絡安全的風險性,嚴重地影響著企業與合作伙伴之間建立可靠、安全的信任關系。一個安全的電子商務服務系統必須滿足以下安全需求:機密性、身份驗證、授權、完整性、不可否認性、保密性和可用性[1]。傳統的安全解決方案中,采用SSL能夠保證數據傳輸過程中的點對點的安全通信,但消息可能經過多個中間節點,會在端點處暴露消息內容,導致第三方的竊取或篡改,這樣不能滿足基于SOA的端到端的消息級安全,WS-Security定義了將XML加密、XML數字簽名等安全機制嵌入到SOAP消息頭中的標準方法,而SAML則定義了用來交換身份驗證、授權和屬性斷言的一種格式,它無縫地映射到SOAP傳輸,在一定程度上彌補了WS-Security規范的不足。運用WS-Security和其他規范結合提供了對安全上下文的描述,可以跨越一個體系結構的各層傳遞。
2系統安全模型
構建全面的SOA企業安全架構必須采用和擴展現有的安全技術,在不同層次上實現其安全需求。組成任何的端到端的企業安全解決方案都需要用到以下3個安全層[5]:周邊安全技術、中間層安全技術、后端安全技術。首先,可以通過防火墻、SSL、TLS、IPSec和HTTPS來實現周邊安全,以便提供包括認證、授權、數據完整性、機密性等幾個安全性功能。其次,使用基于SOAP消息的加密、數字簽名、斷言服務等Web服務安全技術來保障中間層安全。最后,通過DBMS提供統一的數據保護功能和硬件加密卡技術來保證后端數據庫的安全可靠和正確有效,以保證數據的完整性和安全性。
圖1描述了一個旅游電子商務系統的安全模型,主要由SOAP/XML防火墻、傳統安全技術、SOAP消息安全處理服務、SOAP消息監控網關服務、合作服務提供者、身份管理服務幾大部分構成,為服務請求者和提供者之間消息的傳輸提供了可靠的安全保障。
3安全性分析
3.1周邊安全層
3.1.1SOAP/XML防火墻
傳統的防火墻主要針對網絡層提供安全保障,而在SOA中,Web服務主要部署在應用層,由于其本身的松散耦合、分布式等特點帶來了一系列新的安全問題。傳統防火墻不能對SOAP消息和有潛在威脅的XML文件進行區別,也不能檢測出SOAP消息和XML文件流量,并且部分安全隱患來自傳統防火墻所保護的企業網絡內部。另外,SOAP通常使用HTTP或者SMTP服務,很容易繞過傳統防火墻,以至于它無法阻止其對Web服務的非法訪問和攻擊,不能滿足Web服務的安全需求。為此有必要在傳統防火墻之后采用一臺應用層面上的SOAP/XML防火墻[6-7],它將安全措施提升到應用層,負責驗證SOAP/XML流量。SOAP/XML防火墻本身也是一種Web服務,它在允許服務請求方請求相關服務之前對傳入的請求消息進行必要檢查,然后再響應服務請求方的請求消息,在一定程度上確保用戶的行為不會對系統產生傷害,為服務提供了良好的安全保障,從而提高了系統的可用性。
3.1.2傳統安全技術
傳統的安全技術主要集中在對網絡層和傳輸層的保護。IPSec和傳統防火墻限制了IP對服務的訪問,保護數據完整性,但是無法檢測SOAP消息安全性。SSL提供客戶端與服務器之間的安全傳輸通道,提供了基于點到點的安全傳輸機制,保護數據的完整性、機密性,但是其無法保證端到端的消息安全,并且在對數據加密的時候只能對整個文檔加密。
3.2中間層安全
3.2.1XKMS
XKMS建立在傳統PKI系統之上,為系統提供安全服務的應用。由于PKI處理的問題很復雜,XKMS將復雜性轉移到能夠專門研究PKI管理的托管服務,通過XKMS服務訪問PKI,屏蔽了底層PKI的復雜性。XKMS使得SAML、XML數字簽名、XML加密更容易集成到應用中,它支持3種服務:契約服務注冊密鑰對、獲取XKMS服務注冊的公鑰和驗證密鑰。XKMS主要由XKISS和XKRSS兩個部分組成,XKISS用于定位所需公鑰,并將這些密鑰綁定到服務請求者,同時能夠驗證密鑰是否有效。XKRSS允許XKMS服務請求者將它的公鑰對和相關的綁定信息注冊到XKMS信任服務提供者[3]。XKMS的認證流程如圖2所示。
3.2.2SOAP消息安全處理服務
SOAP消息安全處理服務包括對SOAP消息的簽名、加密等問題。此模塊通過對SOAP消息加密實現了機密性,使得第三方無法得到通信之間傳輸的數據。通過時間戳和散列算法生成消息摘要,利用請求者認證書中的私鑰按照WS-Security[8]規范對其進行SOAP消息簽名,以保證消息的完整性,即使消息在傳輸過程中被篡改,這個消息也能被檢測到。同時對SOAP消息進行數字簽名也確保了消息的不可否認性。圖3是對消息進行數字簽名的流程圖。
3.2.3SOAP消息監控網關
SOAP消息監控網關包括SOAP消息攔截器、SOAP消息檢查器和SOAP消息路由器。該模塊在一定程度上保證了系統免受拒絕服務式攻擊,從而提高了系統的可用性。如圖4所示,消息監控網關對每條SOAP消息進行監控,攔截服務請求方傳來的SOAP消息,檢查消息是否符合標準的XML格式,確保消息的惟一性和源主機的惟一性,然后根據服務契約管理水平檢查該請求是否滿足契約水平:若滿足則將請求消息發送到服務提供方對消息進行處理;如果沒有滿足契約水平,消息監控網關則告知系統管理員有問題存在[9]。消息監控網關在一定程度上保證了SOAP消息的發送和接收安全,提高了服務的水平。
3.2.4身份管理服務
SOA的安全防御除了對人的防御外,更多地強調與合作伙伴之間的交互所帶來的安全問題的防御,所以身份驗證就不僅限于單一的安全控制域,如旅游者在請求機票預訂服務過程中,可能會涉及要調用網上支付服務,這需要跨平臺、跨企業的安全控制域的驗證,以確保旅游者能夠獲取授權范圍內的服務請求,而不能獲取未授權范圍內服務請求者和提供者之間傳遞的消息。
經過SOAP消息監控網關之后的服務請求消息,服務提供者要根據加密的消息進行身份驗證,從而判斷是否響應服務請求,而這個身份驗證過程由身份管理服務模塊來完成。身份管理服務模塊主要由SSO、憑證令牌和斷言服務3大模塊構成。服務請求者發送服務請求時,系統使用斷言服務為其創建一個SAML斷言,通過憑證令牌將憑證封裝至SAML斷言的安全令牌中,然后將其發送給服務提供者,其中存放了權限信息,從而確保消息的授權訪問,同時通過斷言服務向聯合身份驗證DB發送驗證請求,提供SOAP消息在傳輸過程中對用戶身份的驗證[9]。
3.3后端安全
后端安全用于保護后端數據庫系統。中間層可能會在消息通信過程中需要訪問某個數據庫,數據庫中大量數據集中存放,而且為許多用戶所共享,從而使其安全問題更為突出。實現數據庫安全的技術有多種,通過DBMS提供的統一的數據保護功能,采用存取控制技術和審計技術來保證后端系統的安全可靠和正確有效[10],同時又采用加密卡的硬件措施來保證數據加密、數據完整性、數字簽名、訪問控制等安全功能來保護數據庫系統。
4結束語
SOA安全的實現實質上就是將Web服務安全技術與現有的安全技術結合起來保障SOAP消息的端到端安全,提供了消息層面上的機密性、完整性、授權、身份驗證、不可否認性、可用性方面的安全需求。此模型不僅適用于旅游電子商務系統,也可用于SOA的網絡環境下其他的應用系統。SOA目前雖然還處于發展階段,SOA安全漏洞還不是很明顯,SOA應用還存在著一定的風險,但以服務為核心的SOA在系統集成和系統靈活性方面有著無可比擬的優勢,隨著SOA的不斷發展和應用,將使利用它開發的系統更加靈活和高效。