程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 揭開Java 安全標准的神秘面紗

揭開Java 安全標准的神秘面紗

編輯:JAVA編程入門知識

在過去的三年中,人們開發出了許多關於信息安全(Information Security)的新標准。 <!-- frame contents --> <!-- /frame contents --> 其中最為人們所認可的是Web Services安全性(Web Services Security,WSS)、安全性斷言標記語言(Security Assertion Markup Language,SAML)和可擴展訪問控制標記語言(Extensible Access Control Markup Language,XACML)。本文會簡單介紹這三者,包括它們是如何開發出來的、為什麼需要它們、如何使用它們、它們之間以及它們與現有各種安全性標准之間的關聯。以後的文章會對這些內容進行更具體的介紹。

簡介

WSS、SAML和XACML之間有許多共性。或許最明顯的就是它們都使用XML表示信息。其次是,因為這三種可用的安全服務都已經在計算機系統中應用多年了,為了更加適用於大型分布式環境,如互聯網,它們都具有一些特定的功能。此外,三者都參考並結合了現有的安全性標准,並盡量減少對已有功能的重復。

兩個主要原因促使三者都采用了XML技術。第一,XML使它們便於擴展,以便可以以一種原有格式無法實現的方式來滿足某種非凡需求。第二,XML支持采用大量可用的軟件工具進行處理的實現。對於WSS來說,還有一個原因,即,WSS被設計為支持與SOAP的語法和處理模型進行緊密集成,而SOAP是用XML定義的。

SAML

授權和審計跟蹤是常見的安全服務。以前,大多數系統設計時都假設做出訪問控制決定所必需的所有信息都由單個系統來處理,並且所有要記錄的數據都放在審計跟蹤中。但是,大規模分布式系統通常是由多個組織使用各種產品建立的。這意味著用戶可能要由不同的驗證方使用不同的方法進行驗證。此外,不同的驗證方還要保存有關用戶特性和屬性的不同信息。集中治理所有這些能力和信息是不現實的。SAML提供了標准格式來表示身份驗證、用戶屬性以及請求和接受該標准的協議。這被稱為身份聯盟(Identity Federation)。

在OASIS的最初開發階段,SAML只指定了該身份信息的生產者與消費者之間的通信。SAML定義了如何創建有關用戶屬性和身份驗證事件的斷言,以及如何以一種靈活而可擴展(以便滿足其它需求)的方式獲得這些信息。SAML還具體定義了一些常見場景(如:Web單點登錄)來確保互操作性。

Liberty Alliance Project和Internet2 Shiboleth group進一步地增強和擴展了SAML。增加了許多新功能,以便支持SAML驗證方之間的通信,更加具體地描述身份驗證方法,注銷用戶並保護隱私。這些工作又提交給OASIS,並合並到SAML2.0中,SAML2.0在2005年3月成為一個OASIS標准。SAML被設計為用於多種不同的環境,支持使用不同的身份驗證和加密方法。它支持各種不同的消息流,甚至可以用於不使用XML的遺留環境中。

XACML

XACML,也是由OASIS開發的,是一種表示訪問控制策略的語言。大多數計算機專業人士都熟悉基於權限或訪問控制列表(ACL)的訪問控制。但是,這些機制缺少表示復雜策略(在現實系統中經常需要用到)的能力。因此,訪問控制策略通常會嵌入應用程序代碼中。這使得更改策略(或者只是找出哪些策略正在實施)變得很困難。

XACML能夠實際地使用任何可用的信息來決定是否該許可對一個資源的訪問。也可以關聯附加的動作、被調用的契約和決定,例如,要求請求的數據在90天後刪除。

XACML可以根據資源的屬性做出決定,包括資源的內容或環境因素,如日期、時間或位置。它也會考慮到與請求關聯的各方的特性,比如角色或組成員關系。這可能不只包括請求方,還包括其他方,比如接受數據方或請求中轉方。

XACML 2.0在2005年2月成為一個OASIS標准。它在具有多個創建策略的治理員的大規模環境中運行良好。因為SAML可用於任何訪問控制系統,XACML可以與SAML一起使用,或者單獨使用。有專門的支持它們一起工作的特性。

WSS

WSS指定了如何保護通過網絡傳遞的SOAP消息。它包括身份驗證、完整性保護和保密性。它沒有指定如何實現訪問控制,但提供了可以用於訪問控制的信息。在WSS出現之前,最常見的保護消息的方法是使用SSL或TLS協議。這些協議仍然適用於許多應用程序,但WSS提供了更多的功能和靈活性。


 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved