在過去的三年中
人們開發出了許多關於信息安全(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和Internet
Shiboleth group進一步地增強和擴展了SAML
增加了許多新功能
以便支持SAML驗證方之間的通信
更加詳細地描述身份驗證方法
注銷用戶並保護隱私
這些工作又提交給OASIS
並合並到SAML
中
SAML
在
年
月成為一個OASIS標准
SAML被設計為用於多種不同的環境
支持使用不同的身份驗證和加密方法
它支持各種不同的消息流
甚至可以用於不使用XML的遺留環境中
XACML XACML
也是由OASIS開發的
是一種表示訪問控制策略的語言
大多數計算機專業人士都熟悉基於權限或訪問控制列表(ACL)的訪問控制
但是
這些機制缺少表示復雜策略(在現實系統中經常需要用到)的能力
因此
訪問控制策略通常會嵌入應用程序代碼中
這使得更改策略(或者只是找出哪些策略正在實施)變得很困難
XACML能夠實際地使用任何可用的信息來決定是否該許可對一個資源的訪問
也可以關聯附加的動作
被調用的契約和決定
例如
要求請求的數據在
天後刪除
XACML可以根據資源的屬性做出決定
包括資源的內容或環境因素
如日期
時間或位置
它也會考慮到與請求關聯的各方的特性
比如角色或組成員關系
這可能不只包括請求方
還包括其他方
比如接受數據方或請求中轉方
XACML
在
年
月成為一個OASIS標准
它在具有多個創建策略的管理員的大規模環境中運行良好
因為SAML可用於任何訪問控制系統
XACML可以與SAML一起使用
或者單獨使用
有專門的支持它們一起工作的特性
WSS WSS指定了如何保護通過網絡傳遞的SOAP消息
它包括身份驗證
完整性保護和保密性
它沒有指定如何實現訪問控制
但提供了可以用於訪問控制的信息
在WSS出現之前
最常見的保護消息的方法是使用SSL或TLS協議
這些協議仍然適用於許多應用程序
但WSS提供了更多的功能和靈活性
SSL和TLS是對整個消息進行加密
而WSS允許有選擇性地實現加密
例如
它允許應用程序防火牆檢查沒有加密的部分
此外
WSS還支持復雜的多方交互
這是處理復雜的電子商務事務所需要的
此外
WSS在基礎架構選擇方面提供了更大的靈活性
同SSL和TLS一樣
它也支持X
技術
還可以使用Kerberos
SAML或以前的普通用戶名和密碼
因為WSS作用於SOAP層
在信息在網絡上傳輸甚至在對消息進行排隊或存儲時
它都能發揮作用
WSS采用W
C所開發的XML數字簽名(XML Digital Signature)和XML加密(XML Encryption)標准
WSS通過將稱為Security的XML元素插入SOAP標題中而發揮作用
其中包含所有有關應用於消息的身份驗證
數字簽名和加密的信息
它向接受方提供解密和驗證消息所需的信息
密鑰和身份驗證信息可以使用X
證書
Kerberos ticket
SAML斷言或其他方法進行定義
年
WSS
成為一個OASIS標准
現在
WSS
就要完成了
由於WSS所提供的靈活性
不同產品間的互操作可能會比較困難
為了解決這個問題
Web Services Interoperability Organization組織(WS
I)正在開發一個配置文件
以便減少可變性
並給出使用WSS(以及SSL和TLS)的最佳實踐
這個Basic Security Profile (BSP)的草案已經公布
並預計於
年初完成
WS
I成員還構建了一個示例應用程序來說明WSS和測試工具(可以檢查消息是否服從BSP)的正確使用
結束語 上面介紹的三個安全性標准在設計時就被賦予了極大的靈活性
這是通過使用XML而實現的
SAML和XACML在幾乎所有的環境中都支持身份驗證服務
但更適用於大規模分布式系統
在SOAP環境中
WSS提供了明確的消息保護
但是在軟件基礎架構方面
它提供了很多選擇
有XML作為其共同的基礎
這三個標准可以有效地共同使用
或者也可以單獨使用
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27509.html