SOA(Service-Oriented Architecture,面向服務的體系結構)是一個組件模型,它將應用程序的不同功能單元通過這些單元之間定義良好的接口和契約聯系起來。這些接口獨立于實現服務的硬件平臺、操作系統和編程語言,使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。和以往聯網的分布式的系統不同,SOA 與平臺相獨立,其通信和特定的平臺和技術沒有必然的聯系。
在企業中,將日常的各種業務應用劃分為若干服務,然后通過SOA,用戶可以構建、部署和整合這些服務,且無須依賴應用程序及其運行平臺,從而提高業務流程的靈活性。例如,一個電子商務網站建立SOA 架構后能夠使自己與供應商、分銷商、信用卡公司和消費者無縫地集成在一起。在一個客戶下訂單之后,系統將自動編排大量的信息,而不需要在每一次登錄時都詢問用戶或者系統。對于企業來說,這種業務靈活性可以大大加快開發新業務的速度,并降低總體擁有成本,同時改善對及時、準確性業務信息的訪問。
不過,SOA 在帶給企業靈活性,便捷性的同時,對于現實的要求也是很高的。因為整個SOA 應用架構相當于企業的信息平臺,而企業本身對于平臺本身的安全性、可靠性以及相關的服務質量都有相當高的要求。為了確保SOA 能夠切實給企業帶來效益,企業必須通盤考慮這種新架構的運行平臺。因為,SOA 在提供價值鏈上企業之間信息共享和業務流程自動化的同時,也給業務信息安全帶來了負面影響,且存在安全隱患。
一 SOA架構的負面影響
SOA架構是一種松耦合服務模式,通過標準化的接口來聯系各種形式的服務,無論服務置于何地,均能通過一種便捷而統一的方式實現相關功能,這對信息資源的二次利用和服務模式的二次重整具有極大的作用。但是,如果沒有適當的安全措施,它也會把這個服務平臺的鑰匙交給黑客。另外,SOA安全標準的不成熟加劇了互操作性方面的難題。如果想嚴加保護涉及多個企業的龐大Web服務網絡,每個企業必須就采用的技術、甚至安全策略達成共識。
此外,企業中使用Web服務進行相互操作的系統對于內、外部攻擊的防御能力越來越差。當這些系統使用的Web服務由供應商和業務伙伴等外部機構提供時,SOA和Web服務的部署工作將變得更加復雜,不得不謹慎部署最新的安全解決方案,如應用級防火墻、IDP、SSL VPN 和SSL卸載產品等,以便為企業中的SOA環境提供安全保護。
二 基于SOA架構的業務安全隱患
SOA雖然在某些方面使安全簡化,但是在其他方面卻使安全問題變得復雜。由于在基礎設施中使用了XML一類的數據結構通用協議、IP 通信協議和通用操作系統,SOA 有助于簡化某些安全決策;但在模塊程序中,由于許多移動部件作為最終應用要集成在一起,使得安全決策變得復雜。
2.1 企業機構中缺乏對安全風險嚴重性的認識和知識
企業機構中的人員普遍認為被攻擊的幾率極低,不可能發生在他們身上,因此對安全風險缺乏認識。沒有安全意識,則導致對保障系統信息安全的知識不重視。事實上,安全應該作為一套核心的服務實施,允許集中管理和維護安全。此外,管理層必須理解這個風險并且提供適當的支持和資金以便有效地保證企業的安全。
2.2 信息泄露的問題
以一個電子商務網站為例,一個訂單能夠引發一個包含提供給一個供應商、分銷商和信用卡公司的XML數據,由于每一方都有不同的安全要求,比如只有信用卡公司有權訪問信用卡信息(信用卡信息應該按照PCI的要求加密),供應商需要知道什么產品及產品在目錄的什么地方,分銷商需要知道有關產品和發貨地址的信息。如果不能保證XML傳送的安全性,將泄漏交易過程中的敏感信息。
2.3 欺詐問題
欺詐主要是指未授權的用戶訪問授權用戶被授權的資源,并以授權用戶的名義進行交易,使得真正的授權用戶的利益受到損失和破壞。在SOA系統中,強調設備與設備的交互,而大多數IT安全性都是基于人與設備的交互。傳統的安全防御對象主要是針對人,而SOA更多地強調了設備與設備的交互,即所謂服務的互操作性,那么如何應對來自合作伙伴或第三方服務交互請求的欺詐威脅(因為大多數情況下,這些請求被人惡意利用和操縱),將是SOA安全防御的一項重要課題。身份驗證和授權在這個環境中變得更加富于挑戰性。在未受保護的SOA中,想要阻止Web服務的未授權使用實際上是不可能的。未授權用戶可以非常輕松地訪問Web服務,而Web服務往往不具備跟蹤誰在使用它們或者誰被允許使用它們的固有毛病。
2.4 其它方面的安全問題
SOA整套架構在應用層與表示層的隔離上做得不完美,這會導致在未來階段新的代理程序很容易尋找和利用SOA的安全漏洞,僵尸網絡工具準確找到應用系統中安全漏洞的概率比較大,準確性也比較高。
總之,SOA的應用還處于起始階段,還存在許多的安全隱患。
三 基于SOA架構的業務安全對策
SOA從本質上說是一種由元數據和XML一類的標準數據結構協議生成的應用程序,從而SOA所面臨的安全問題與應用其他任何分布式系統時所遇到的安全問題是相同的,即如何確保機密性(Confidentiality)、完整性(Integrity)和可用性(Availability)。
3.1 提高認識和明確責任感
針對企業機構中缺乏對安全風險嚴重性的認識和知識的安全隱患,有兩件事情能夠緩解這種風險。第一是提高認識,通常采用培訓安全知識的方式。不僅僅對開發人員進行培訓,對于管理層、架構師、審計師、測試人員和其他人等都進行針對他們需求的培訓。第二,安全是每一個人的責任,不僅僅是企業架構師和安全架構師的責任。機構要全力保證企業的安全。建議企業雇用有經驗的SOA 安全人員或者雇用一個安全顧問把這個知識傳授給機構內部的安全部門。
3.2 采用加密和認證等技術防止信息泄露
針對信息泄露的問題,需要進行多層次防范措施。采用加密和認證技術,在公共網絡上建立安全專用隧道的網絡,也就是常說的VPN;其次,網絡服務的訪問大多數通過HTTP協議,HTTP上實現的安全套接字層 (Security Socket Layer,SSL)也是成熟的安全通訊方式;但是,在上面的電子商務網站例子中,同樣的信息要同時發給三個不同的公司,并且不需要任何一家公司登錄,所以僅使用SSL是不夠的。可以結合使用第三種即針對XML處理專門制定的消息級別的XML加密和處理標準,它把消息轉換為一段經過加密的XML,消息仍然是XML格式的,但是使用加密算法將內容隱藏起來了。另外,保證XML傳送安全在SOA安全中也非常重要。XML傳送的安全包括兩個部分:基礎設施安全和加密。為了保證基礎設施安全,硬件防火墻、安全設備都可以用來保護網絡內部和外部的通信,通常這些設備都是SOA系統所必備的。但是,前提是需要對這些硬件防火墻和安全設備進行正確的配置以便保證XML信息在入口和網絡界限之間能正常工作。這些XML信息包括數字簽名的或者擁有其它安全標記的信息。而加密則是對SOA系統使用的XML文件進行加密。XML文件數字簽名和加密有兩個World Wide Web Consortium 規范:XML-加密和XML-簽名。對于在HTTP連接之上發送的XML文件,則應使用SSL保護文件傳送的安全。
3.3 采用身份認證和消息的數字簽名應對欺詐問題
針對欺詐問題,可以使用身份認證和消息的數字簽名來解決。身份認證保證授權的用戶能夠訪問被授權的資源。由于在企業級SOA中身份認證不局限于單一安全控制域,而安全斷言標記語言(Security Assertion Markup Language,SAML)標準提供了不同安全域之間認證的交互,以一種可為用戶調用的Web 服務所接受的方式表達用戶的真實性,并且,SAML基于XML的標準,為以標準方式描述安全性信息提供了一個框架。通過一個標準的認證過程,多方可以達成一致,使用一組給定的標準來對一組指定的用戶進行身份驗證,參加這個過程的安全域組成一個身份聯邦(Identity Federation)。接下來,SOAP消息被傳遞給目的Web服務,并附加上一個SAML斷言。但是需要注意SAML斷言不依賴于聯邦身份驗證過程。
數字簽名用于保證消息真正創建者身份的真實性以及消息在發送系統到接受系統之間傳輸時未被篡改。數字簽名是對身份和消息內容進行惟一的處理得到的一個基于密鑰的非常大的數,是一種消息級的安全措施,它結合了數字證書密鑰和加密等安全方法。如果消息被改變了,那么惟一的數字簽名將不再與密鑰和用于創建密鑰的原始消息相匹配。為此,數字簽名提供了個不可否認性,例如,數字簽名可以證明你的供應商收到的電子訂單確實是由你發出而且在傳輸中沒有被篡改過。針對企業級SOA,可以使用專門制定的處理XML消息級別的XML數字簽名標準。
四 總結
雖然關于SOA技術的標準已經有很多了,專門針對安全問題而制定的標準卻屈指可數。OASIS技術委員會制定了一系列技術標準,WS-Security是迄今為止得到認可的安全性標準集合的總稱,包括WS-Security(描述如何將XML加密和XML簽名應用于SOAP文檔或信息)、WS-Trust(應用WS-Security標準傳輸密碼、數字證書以及SAML斷言等安全標識)、WS-SecurityPolicy(對哪些人被允許訪問某個服務以及訪問方式做出規定,并對認證方式的類型和/或所需要的加密等級做出限制)、WS-Federation(根據WS-SecurityPolicy 中描述的服務規則,應用WS-Trust 中提到的被傳輸的安全標識,通過Web服務的認證)、WS-SecureConversation( 按照WS-Security標準,實施WS-SecurityPolicy中所描述的策略的方法)等。現在,SOA領域的“物質基礎”已塵埃落定,而“上層建筑”仍在建立之中。
需要注意的是,就像在IT的其他領域中一樣,若想保障基于SOA架構業務的安全性,就需要有大量開銷。因為在到達目的地之前,每條消息都必須經過好幾個地方,另外證書文件可能會很大,從而給網絡造成很大的負擔,而且整個過程往往會降低性能。但遺憾的是,為了安全這些開銷和負擔是必不可少的。
此外,如果想保護牽涉多家企業的龐大Web服務網絡,每家企業必須就采用的技術、甚至安全策略達成共識,因為如果合作伙伴的員工使用弱密碼來訪問系統,那么即使要求本企業的員工使用生物特征識別技術和物理令牌也是毫無用處的。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于SOA架構的業務安全性研究