隨筆 - 19, 文章 - 93, 評論 - 17, 引用 - 0

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(6)

          隨筆分類(22)

          隨筆檔案(19)

          文章分類(107)

          文章檔案(93)

          信息安全

          商業

          工作流同行

          心情朋友

          搜索引擎

          智能化商業應用

          規則引擎

          軟件系統設計學友

          軟安全技術同盟會

          搜索

          •  

          最新評論

          Java 安全標準分類

          ?????????在過去的三年中,人們開發出了許多關于信息安全(Information Security)的新標準。其中最為人們所認可的是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提供了更多的功能和靈活性。

          ?????????SSL和TLS是對整個消息進行加密,而WSS允許有選擇性地實現加密。例如,它允許應用程序防火墻檢查沒有加密的部分。此外,WSS還支持復雜的多方交互,這是處理復雜的電子商務事務所需要的。

          ?????????此外,WSS在基礎架構選擇方面提供了更大的靈活性。同SSL和TLS一樣,它也支持X.509技術,還可以使用Kerberos、SAML或以前的普通用戶名和密碼。因為WSS作用于SOAP層,在信息在網絡上傳輸甚至在對消息進行排隊或存儲時,它都能發揮作用。

          ?????????WSS采用W3C所開發的XML數字簽名(XML Digital Signature)和XML加密(XML Encryption)標準。WSS通過將稱為Security的XML元素插入SOAP標題中而發揮作用。其中包含所有有關應用于消息的身份驗證、數字簽名和加密的信息。它向接受方提供解密和驗證消息所需的信息。密鑰和身份驗證信息可以使用X.509證書、Kerberos ticket、SAML斷言或其他方法進行定義。

          ?????????2004年,WSS 1.0成為一個OASIS標準。現在,WSS 1.1就要完成了。由于WSS所提供的靈活性,不同產品間的互操作可能會比較困難。為了解決這個問題,Web Services Interoperability Organization組織(WS-I)正在開發一個配置文件,以便減少可變性,并給出使用WSS(以及SSL和TLS)的最佳實踐。這個Basic Security Profile (BSP)的草案已經公布,并預計于2006年初完成。WS-I成員還構建了一個示例應用程序來說明WSS和測試工具(可以檢查消息是否服從BSP)的正確使用。

          結束語

          ?????????上面介紹的三個安全性標準在設計時就被賦予了極大的靈活性,這是通過使用XML而實現的。SAML和XACML在幾乎所有的環境中都支持身份驗證服務,但更適用于大規模分布式系統。在SOAP環境中,WSS提供了明確的消息保護,但是在軟件基礎架構方面,它提供了很多選擇。有XML作為其共同的基礎,這三個標準可以有效地共同使用,或者也可以單獨使用。

          posted on 2006-04-19 10:32 BPM 閱讀(283) 評論(0)  編輯  收藏 所屬分類: Java 安全標準

          主站蜘蛛池模板: 朝阳区| 凤庆县| 武鸣县| 麻阳| 普兰店市| 南城县| 社会| 合川市| 德清县| 曲阜市| 昭苏县| 原平市| 隆昌县| 六枝特区| 米泉市| 巴彦县| 富阳市| 南昌市| 宁海县| 泰顺县| 通城县| 朝阳市| 开化县| 外汇| 贵阳市| 郑州市| 苍南县| 岚皋县| 彭山县| 高青县| 广灵县| 柏乡县| 汶川县| 大城县| 察雅县| 屏边| 东辽县| 宁远县| 玉龙| 陵川县| 闽侯县|