確保 Web Service 安全

來源:互聯網
上載者:User
原文地址:http://www.intel.com/cd/ids/developer/apac/zho/322087.htm?page=1在確保 Web Service 的安全性,以及實現該特性的可用技術方面,我們會遇到諸多問題,這些問題構成了本文探討的主題。與互通性有關的安全性問題,則是我們的另一個主題。此外,我們還將簡單闡述用以確保 Web Service 安全而開發的新標準,它們在未來將提供標準化安全服務。針對 Web Service 安全而提供的若干商用產品,也將是我們快速討論的內容。我們還將涉及到的內容包括:英特爾如何通過各項計劃,為 Web Service 安全域獻力獻策。

本文需要讀者對 Web Service 體繫結構、IIS 和 .NET 安全有一定程度的瞭解。

安全性基礎

應用安全解決方案需要解決與資訊安全有關的各式各樣的安全性問題。在諸如 Web Service 這類分布式客戶機伺服器環境之下,當資訊在各種開放式網路基礎設施中傳輸時,越來越多的安全性問題都與資訊安全有關,這類問題如下所述:

  • 保密性:確保聽到對話的任何第三方均無法讀取或解釋資料。
  • 完整性:為接收方提供檢測原始訊息或資料是否更改的能力,防止傳輸過程中有意或無意地更改資料。
  • 身分識別驗證:確保訪問資訊的客戶或使用者是使用者本人。
  • 授權:確保客戶或使用者擁有訪問資訊的許可權。
  • 預防抵賴:確保客戶或使用者日後無法否認對資訊的使用。

 

Web Service 體繫結構Web Service 體繫結構在最常用的傳輸協議 HTTP 上使用 XML/SOAP,因此,它允許以純文字形式交換資訊。但是第三方可以很輕鬆地截取並解釋這些資訊。所以,提供安全性變得日益重要。

上述安全服務可通過使用 SOAP 安全性在傳輸層或應用程式層提供。這將導致在不同安全機制下,會存在一些差異,之所以出現上述情況,原因即在於,安全性問題突然開始與 Web Service 供應商的平台效能存在關聯,同時這也會給互通性帶來影響,如下文所述。

.NET 環境下的安全性

.NET 環境下的 Web Service 由 IIS 來提供,在該環境下,可以利用 IIS 的內建安全特性。

  • 支援 HTTP 的 SSL 能夠為 HTTP 中傳輸的資料提供保密性和完整性。通過啟用用戶端 X.509 憑證(在 SSL 協議中是否使用用戶端認證是可選的)可以提供預防抵賴服務。一旦啟用 SSL,通過這些串連發送的所有資料都將加密並使用簽名。
     
  • IIS 提供多種身分識別驗證機制:基本驗證、摘要式驗證、整合 Windows 身分識別驗證 (NTLM/Kerberos) 或 X.509 憑證。對於提供 Web服務的特定目錄,可以啟用其中任何一種身分識別驗證機制,相應地客戶也可以提交相應認證,並通過 IIS 驗證。此外,需要修改 Web Service 中的 web.config 檔案以指明需要使用“windows”身分識別驗證。同時,IIS 中需禁用匿名訪問。
     
  • 可使用 .NET 提供的“代碼訪問安全”機制提供身分識別驗證。本質上,在採用 Web Service 方式時,這種機制能夠提供調用 Web Service 的使用者的身份。在已經對使用者身份(由客戶根據 IIS 配置驗證機制來提供)進行檢索以後,您可以顯式地檢查是否已授權使用者訪問該 Web 方法。
     
Java 環境下的安全性

  • 對於 Java 環境中提供的 Web Service,您也可以啟用面向 HTTP 的 SSL。這也將為通過 HTTP 傳輸的資料提供保密性和完整性。
     
  • 但是,此環境僅可採用基本驗證的身分識別驗證機制。這要求您向相應的 Web Service 器中添加相應的使用者名稱和密碼。
     
Web Service 相關安全標準

確保 Web Service 安全的另外一種方式是確保通過不夠安全的底層傳輸協議(例如 HTTP)傳輸的資料的安全。我們可以通過下面討論的各項技術實現這一點。

SOAP 是一種基於 XML 的簡單簡訊格式,用於產生 Web Service 請求和響應。SOAP 訊息分為兩部分:SOAP 訊息頭和 SOAP 訊息體。訊息頭用於儲存與請求有關的任何潛在的中繼資料,而訊息體用於儲存該訊息包含的基本資料內容。

為了提供訊息保密功能,SOAP 訊息體可包含加密訊息資料,而訊息頭可包含通過訊息發送方的私密金鑰進行加密的工作階段金鑰。在接收端,使用發送方公開金鑰可提取工作階段金鑰,然後使用該工作階段金鑰解密並提取 SOAP 訊息體中包含的資料。該過程還可以保證訊息來自特定使用者,因為只有該使用者才能訪問對工作階段金鑰進行加密的私密金鑰。

如欲瞭解有關 XML 加密的更多資訊,請參閱 XML 加密文法和處理;如欲瞭解有關 XML 簽名的資訊,請參閱 XML 簽名文法和處理。

同樣,為了提供訊息完整性,可以產生 SOAP 訊息體的訊息摘要,並通過 SOAP 訊息頭髮送。在接收端,接收方可以重建這些雜亂的訊息作為 SOAP 訊息體,並與通過訊息頭接收的摘要訊息進行比較。如果這兩個值相互匹配,則可以確定訊息沒有在傳輸過程中發生更改。

通過伺服器端和用戶端上的 Web Service 堆棧提供的支援,可以完成這種基於 XML 的加密、簽名以及完整性檢查功能。隨著標準的日益成熟和廣為接受,會有越來越多的工具包將支援這些標準。

另一種即將推出的標準是 SAML,它將在 Web Service 安全互操作中起到非常重要的作用。SAML 即安全聲明標記語言,它是一種基於 XML 的架構,可用於在截然不同的各種 Web 存取管理和安全產品之間交換身分識別驗證和授權資訊。通過使用 SAML,可以用 XML 文檔顯示安全資訊,並安全地從一個應用傳送到另一應用。該標準已通過結構資訊標準化促進組織(OASIS)進行了標準化。SAML 支援應用與不同廠商所提供的各種安全系統進行通訊。SAML 定義了不依賴於廠商的 XML 資料格式,用於表示安全資訊。因此,廠商 A 提供的軟體可以使用 SAML 產生使用者資訊或存取控制決策;廠商 B 提供的軟體則可以使用這些資訊,而不會泄漏廠商 A 的專有演算法或資料格式。如欲瞭解更多資訊,請訪問
http://www.oasis-open.org/committees/security/。用於 Web Service 安全的商用產品某些獨立廠商已經開發各種旨在為 Web Service 提供身分識別驗證和授權服務的產品。這樣,開發人員就無需再在每個不同的 Web Service 中都嵌入身分識別驗證和授權處理代碼。諸如 Negerity (http://www.netegrity.com) 提供的 Netegrity TransactionMinder產品可提供以行業標準(如我們之前討論的 XML 簽名和 SAML)為基礎的基於策略的身分識別驗證、授權和審計服務。這些產品允許使用現有使用者目錄以及簡單的使用者和策略管理。請注意,這些產品傳輸過程中的資料加密仍取決於傳輸層安全。英特爾和 Web Service 安全英特爾一直積極促進基礎結構的研發,進而推進 Web Service 的應用。由於 Web Service 安全是最重要的構建模組之一,只有將它確定下來,企業才能廣泛採用 Web Service ,因此,英特爾長期以來一直致力於下列事項:

  • 推動標準:英特爾是 OASIS WS-Security 技術委員會的成員。OASIS 是非贏利的全球性聯盟,它一直在推動電子商務標準的開發、融合和採用。WS-Security 定義了一套 SOAP 延伸模組,可以在 Web Service 應用中實現完整性和保密性,從而為聯盟、策略和信任等進階目標打下堅實基礎。
     
  • 新一代處理器:為啟用 Web Service 安全而採用的某些新技術(如 XML 簽名),與某些傳統技術相比,更耗資源。資源需求的不斷增大必將成為企業環境採用 Web Service 的一塊絆腳石。但是新一代的 IA64 處理器針對此類技術提供了更出色的效能。同時,採用進階 800 MHz 系統匯流排和超執行緒(HT)技術的英特爾 奔騰 4 處理器,提供了更能滿足 Web Service 安全解決方案不斷增長的需求的效能。
     
  • Web Service 最佳化工具:由於上文提及的各種 Web Service 安全技術都將佔用處理器大量資源,因此 Web Service 最佳化顯得更加重要,英特爾已開發出各種工具,支援 Web Service 最佳化。Vtune 企業分析器能夠測量和改進 n 層 Microsoft* DNA* 和 .NET* 應用的深層次代碼層級效能。此外,Vtune 企業分析器可通過 Web Service 為傳統應用提供支援,從而開發人員只需使用一種工具即可分析混合應用,藉助該工具,您還可以查看 HTTP、DCOM、Microsoft* SQL 和 SOAP 回應時間統計資料,並可使用這些資訊最佳化 Web Service 應用。
    如欲瞭解有關用於 .Net 版 Web 應用程式的英特爾 VTune 可視化效能分析器的更多資訊,請訪問 http://www3.intel.com/cd/software/products/apac/zho/vtune/index.htm
     
  • 英特爾的 Web Service :將 Web Service 加入到 EAI/B2Bi 策略
    英特爾資訊技術 (IT) 事業部意識到: Web Service 是一項非常有前景的新技術,它將提升英特爾公司的價值。英特爾計劃將 Web Service 整合到其公司專屬應用程式整合(EAI)及其供應鏈中,統稱為企業對企業 (B2B)的整合(B2Bi)。英特爾還投資研發其它面向 EAI 和 B2Bi 的技術。
     
  • 支援第三方產品:英特爾已投資多家獨立公司以支援 Web Service 安全解決方案。如總部位雩都柏林的獨立軟體廠商 Vordel,該公司已研發出一種實施開放標準的產品,可為 Web Service 提供最基本的安全和帳戶管理功能。通過提供安全和身分識別驗證,Vordel 使各個公司能夠安全、穩定地使用 Web Service 。作為一家英特爾戰略投資組合公司,Vordel 已經最佳化了其解決方案,可充分利用英特爾最先進的企業級處理器產品——英特爾 至強 處理器和英特爾 安騰 處理器。
    VordelSecure 2.0 為企業提供高效能、可擴充的企業安全管理解決方案,可確保其 XML 通訊的安全。通過使用基於代理的可擴充分布式體繫結構,可部署諸如 WS-Security 和 SAML等 XML 安全標準。
     
  • 諮詢: 英特爾 解決方案服務 (ISS) 是一家全球諮詢和服務研發機構,專業提供分布式解決方案和資料中心基礎設施服務。Web Service Practice 是 ISS 的一個組成部分,用以為 Web Service 安全提供設計和部署支援。歡迎登入英特爾 解決方案服務,瞭解更多資訊。
結論現在有許多技術用於 Web Service 安全,其中許多技術都在一定程度上依賴於平台。正在開發的新標準將允許不同平台和開發工具套件之間進行更多的互操作。儘管存在上述問題,我們仍然能夠通過可靠的方式確保 Web Service 的安全,使其能夠向外部提供傳統的功能,從而提高工作效率,並實現更多功能。

未來展望

本系列的下一篇文章將討論關於 Web Service 的其他話題,例如部署和效能管理。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.