面向服務的系統(tǒng)架構(Service-Oriented Architecture,SOA)通過松散耦合、可重用的服務作為基本元素構建分布式應用,它的開放性特征增強了信息系統(tǒng)的靈活性。同時,SOA的開放性也造成了基于SOA的信息系統(tǒng)的安全性問題。因此,我們設計基于SOA的分布式應用必須要充分考慮其所面臨的安全威脅,設計相應的安全模式來避免或減少安全威脅。當前,SOA架構面臨許多關鍵性安全問題,安全問題的重要性呈現(xiàn)逐步上升趨勢,已成為制約SOA架構縱深應用的發(fā)展瓶頸。
1.SOA的應用現(xiàn)狀
SOA是一種全新模式,它支持企業(yè)將業(yè)務整合為一系列相互銜接的服務或重復性業(yè)務任務,從而使企業(yè)能夠高效、重復地利用現(xiàn)有技術。SOA可以更好地將IT 目標與業(yè)務目標達成一致,實現(xiàn)了業(yè)務靈活性,節(jié)省了成本。
SOA應用是一股不可阻擋的潮流,原因在于SOA的應用所能帶來的信息系統(tǒng)建設的靈活性和開放性。SOA最受人關注的是對分布式、大規(guī)模、異構環(huán)境下信息系統(tǒng)的整合能力,提高業(yè)務系統(tǒng)的敏捷性。SOA能解決在異構環(huán)境下,企業(yè)多個信息系統(tǒng)的應用集成,即不同應用系統(tǒng)之間的互聯(lián)互通和信息資源共享,使得企業(yè)的信息資源和業(yè)務可以更好地結合在一起。
根據(jù)Companies&Markets 公司的一份收費報告統(tǒng)計結果顯示,SOA市場正處于應用需求的旺盛時期。導致SOA市場強勁增長的原因是因為云計算的興起,對應用框架的需求越來越多,面向云計算的數(shù)據(jù)中心希望更多地整合和連接應用。SOA架構中基本組成元素是可重用的服務集合,而云計算強調一切資源皆以服務的形式面向用戶。云計算和SOA是互補的,SOA能夠將單一功能的云服務組合成能滿足復雜業(yè)務需求的應用,云服務為SOA提供了大量的可供其集成的遠端服務。因此,我們認為對SOA信息安全的深入研究對云計算安全也有著非常重要的借鑒意義。
2.SOA架構下的安全挑戰(zhàn)
2.1 技術安全威脅挑戰(zhàn)
2.1.1 SOA架構模式自身安全威脅
基于SOA的系統(tǒng)是開放的、分布式的、互連的,消息是服務與使用者之間傳輸數(shù)據(jù)的基本元素。我們可以控制服務內部的消息,也可以對服務使用者加以安全控制,但是對于服務與服務之間的空間缺少安全控制。Pat Helland 把這塊空間稱為“無人區(qū)”,特別是當消息是通過Internet 傳輸時,安全問題就顯得尤其重要。在服務與服務之間的“無人區(qū)”上傳輸?shù)南⒁子谑艿酵{攻擊。許多安全威脅都與一類被稱為“中間人”的攻擊有關。當服務或服務的使用者發(fā)出消息,攻擊者可以通過監(jiān)聽整個線路,獲取到消息或對之進行篡改。因此,SOA安全模式設計要充分考慮保護數(shù)據(jù)機密性、保護數(shù)據(jù)完整性、防止數(shù)據(jù)偽造和保證數(shù)據(jù)可用性。
2.1.2 外部惡意攻擊引發(fā)的安全威脅
當攻擊者發(fā)送給服務使用者惡意代碼時,服務使用者應該對接受的信息進行正確判斷。XML 拒絕服務攻擊即是一個典型的惡意攻擊。在這種類型的攻擊中,攻擊者在傳輸?shù)南⒅懈郊雍芏鄶?shù)字簽名,服務使用者收到這類消息,解析器將對所有簽名進行解析,導致相關服務負載過重,進而造成服務不可用。另一種常見的惡意攻擊是XPath 注入攻擊,有時甚至更為普通的SQL 注入攻擊都可以對系統(tǒng)注入惡意參數(shù),從而達到信息泄露或對服務中的數(shù)據(jù)執(zhí)行有危害的操作。
2.1.3 多服務系統(tǒng)融合衍生的安全威脅
由于缺乏安全關鍵技術支持,在利用基于多個SOA平臺共同構建應用系統(tǒng)時,將多個服務進行整合,必然提高整體系統(tǒng)的復雜性,進一步增加安全風險。
2.2 SOA安全管理需求
建立SOA安全標準及其測評體系是度量實施SOA架構系統(tǒng)安全能力的尺度,是構建基于SOA架構系統(tǒng)的重要參考。
2.2.1 對SOA安全標準和評測體系建設的需求
SOA安全標準不僅應支持用戶描述其數(shù)據(jù)安全保護目標、指定其所屬資產(chǎn)安全保護的范圍和程度,更重要的是,應支持用戶,尤其是企業(yè)用戶的安全管理需求。搜集安全信息,分析查看系統(tǒng)日志信息、了解數(shù)據(jù)使用情況以及展開違法操作調查會牽涉到SOA架構平臺服務提供者的核心數(shù)據(jù)或涉及到服務使用者的隱私數(shù)據(jù),帶來一定數(shù)據(jù)隱私保護問題。目前,SOA架構平臺對接融合運作模式并不成熟,尚未形成行業(yè)標準,服務使用者用戶與服務提供者之間的責權界定不清晰,因此,需要以安全標準形式將相關責權確定下來,明確指出服務信息范圍、獲取手段等,防止影響雙方的權益。此外,我們要堅持可測量、可驗證、可跟蹤的原則制定安全標準。
2.2.2 對SOA安全監(jiān)管的需求
由于SOA具有開放、透明和動態(tài)的特點,增加了對服務內容監(jiān)管的難度。SOA的靈活性使得構建基于SOA架構的系統(tǒng)更加容易,服務所發(fā)布的內容在網(wǎng)絡上跟蹤管理難度大,對內容監(jiān)管困難;多服務融合構建的系統(tǒng)存在跨區(qū)域、跨行業(yè)調用服務接口的可能,對服務封裝的功能和數(shù)據(jù)的監(jiān)管會涉及到多個部門,甚至多個行政區(qū)域。因此,當出現(xiàn)安全問題時,安全監(jiān)管者往往難以判斷問題出自哪里。
3.SOA三維信息安全空間體系模型設計
由上所述,不難得出以下結論,SOA信息安全不僅是技術問題,更是管理問題。信息安全是“三分技術,七分管理”的綜合性工作,任何技術措施只能起到增強信息安全防范能力的作用,信息安全應該重視安全技術,更應該注重管理,只有管理到位,才能保障技術措施充分發(fā)揮作用。因此,為保障SOA信息安全,應該從安全技術、安全服務、安全機制等三個維度建立SOA的信息安全空間體系模型,并將其作為信息安全方案設計和評價的參考模型,如圖1所示。
圖1 SOA的三維信息安全空間體系
3.1 安全技術
3.1.1 數(shù)據(jù)加密和數(shù)字簽名
加密和數(shù)字簽名是確保數(shù)據(jù)安全性的基本方法。SOA中采用受保護消息模式,由一個用于提升原始消息安全性的部件組成,加解密用于解決數(shù)據(jù)隱私問題,加密保護的強度取決于加密算法的設計和對密鑰的保護。數(shù)字簽名用于解決數(shù)據(jù)完整性問題。由于大部分SOA架構下的消息是基于XML描述的,因此我們常用到XML 加密和 XML 簽名這兩個開發(fā)標準,上述兩個標準都可以用來把安全加入到基于XML 的數(shù)據(jù)中去。XML 加密允許用戶加密XML 文檔中的具體元素。
3.1.2 訪問控制
訪問控制按照事先確定的規(guī)則決定服務請求者對服務的訪問是否合法。當服務請求者試圖非法使用一個未經(jīng)授權的服務時,訪問控制將拒絕該請求,并將這一事件報告給安全審計跟蹤系統(tǒng),審計跟蹤系統(tǒng)將給出報警并記錄日志檔案。
3.1.3 數(shù)據(jù)完整性驗證
在數(shù)據(jù)完整性方面,傳統(tǒng)方式將海量的數(shù)據(jù)下載到客戶端,從而帶來大量的通信代價。遠程數(shù)據(jù)完整性驗證協(xié)議能夠僅根據(jù)原始數(shù)據(jù)的一部分信息和數(shù)據(jù)的標識進行完整性驗證,因此適用于SOA架構下的數(shù)據(jù)完整性驗證。
3.1.4 認證技術
在SOA架構中認證主要有站點認證、報文認證、用戶和進程認證等。在SOA架構的系統(tǒng)建設,將面臨異構環(huán)境下不同平臺的眾多的用戶,實現(xiàn)身份聯(lián)合和單點登錄可以支持服務之間更加方便地共享用戶身份信息和認證服務,并減少重復認證帶來的運行開銷。
3.2 安全服務
SOA架構提供的是一種開放、透明的架構模式,在通過SOA進行異構系統(tǒng)整合時,服務使用者更希望直接面對的是SOA安全體系所提供的安全服務體系,而不是具體的底層技術。
3.2.1 實體認證服務
實體認證服務包括對等實體認證服務和數(shù)據(jù)源點認證服務。對等實體認證服務用于兩個開放的SOA架構下構建的系統(tǒng)對接時,同等層中的實體建立鏈接或數(shù)據(jù)傳輸時,需要對服務提供者和服務使用者的合法性和有效性進行驗證。數(shù)據(jù)源點認證服務用于確保數(shù)據(jù)發(fā)自真正的源點,防止假冒。
3.2.2 數(shù)據(jù)保密服務
數(shù)據(jù)保密服務包括多種保密服務,為了防止SOA架構下各系統(tǒng)之間的傳輸?shù)南?shù)據(jù)被截獲或被非法存取而泄密,提供密碼加密保護。數(shù)據(jù)保密服務應該提供鏈接方式和無鏈接方式兩種數(shù)據(jù)保密,同時也可對用戶指定字段的數(shù)據(jù)進行保護。
3.2.3 數(shù)據(jù)完整性服務
數(shù)據(jù)完整性服務引入可信計算理念,通過建立一種特定的完整性度量機制,使計算平臺運行時具備分辨可信程序代碼與不可信程序代碼的能力,從而對不可信的程序代碼建立有效的防治方法和措施[7],用以防止非法實體通過SOA服務,對傳輸?shù)臄?shù)據(jù)進行修改、插入、刪除以及在數(shù)據(jù)交換過程中的數(shù)據(jù)丟失。數(shù)據(jù)完整性服務更細分為:帶恢復功能鏈接方式的數(shù)據(jù)完整性、不帶恢復功能鏈接方式的數(shù)據(jù)完整性、選擇字段鏈接方式的數(shù)據(jù)完整性、選擇字段無鏈接方式的數(shù)據(jù)完整性、無鏈接方式的數(shù)據(jù)完整性。
3.2.4 禁止否認服務
禁止否認服務用以防止服務參與雙方否認自己通過服務發(fā)送過數(shù)據(jù)的行為,或接收方在收到數(shù)據(jù)后否認自己收到過此數(shù)據(jù)或偽造接收數(shù)據(jù)的行為。由兩種服務組成:不得否認發(fā)送和不得否認接收。
3.2.5 提供證據(jù)服務
管理人員能夠通過該服務,以最小代價得到SOA架構下軟硬件資源的使用情況,如獲取日志數(shù)據(jù)、跟蹤審計數(shù)據(jù)、動態(tài)實時更新審計數(shù)據(jù)等,了解資源的使用情況、安全情況,如有異常情況通過報警提示;能夠提供事后的取證、分析服務,使用歷史記錄可以取得特定環(huán)境、時間段或基于其他特定系統(tǒng)參數(shù)下,主機、服務器和網(wǎng)絡的使用信息,基于這些歷史記錄可以進行某些統(tǒng)計、分析操作;對于已經(jīng)發(fā)生的系統(tǒng)破壞行為提供有效的追究證據(jù)。
3.3 安全機制
3.3.1 動態(tài)閉環(huán)的管理流程
根據(jù)SOA架構下的系統(tǒng)生命周期特點,建立從規(guī)劃、建設、運行維護到結束的全過程安全管理機制,建立評估——響應——防護——評估的動態(tài)閉環(huán)的管理流程。
SOA架構下的系統(tǒng)處于不斷的建設和調整中,新的安全漏洞總是不斷地被發(fā)現(xiàn),單純的靜態(tài)管理流程已不能滿足要求,需要建立動態(tài)的、閉環(huán)的管理流程。動態(tài)、閉環(huán)的管理流程就是要通過安全評估和檢測工具(如漏洞掃描、入侵檢測等)及時了解存在的安全問題和安全隱患,據(jù)此制定安全建設規(guī)劃和安全加固方案。
3.3.2 基于模型的評測機制
SOA軟件的設計缺陷是運行錯誤的根源,但并非每一個缺陷都會產(chǎn)生錯誤,通過增加可信手段可以減少錯誤的發(fā)生,在SOA軟件生命周期中的不同階段,參考SOA軟件系統(tǒng)可信性模型、Web 服務可靠性的階段模型建立起安全度量和評測機制。
4.結束語
在互聯(lián)網(wǎng)應用環(huán)境下,無論是SOA的服務提供者還是服務使用者,安全問題都是第一大問題。通過分析SOA面臨的安全挑戰(zhàn),在充分考慮技術條件的同時,結合服務和機制等方面因素,設計SOA的三維信息安全空間體系模型。該模型在每個維度上的實施越豐富、越深入、越具體、越科學,則整個空間的安全性越好,因此在建設基于SOA的系統(tǒng)時,可以參考本文的安全模型評估信息系統(tǒng)的安全性,設計規(guī)劃安全建設方案。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網(wǎng)http://m.guhuozai8.cn/
本文標題:基于SOA架構的信息安全研究
本文網(wǎng)址:http://m.guhuozai8.cn/html/consultation/10839512739.html