web|電子商務|解決
統一安全服務體繫結構的基本想法就是將系統的安全體繫結構的複雜性遷移到所謂的統一安全服務層,因而使得系統的其他部分無須承擔任何的安全職責。
在統一安全體繫結構中,由一個單獨的伺服器來實現統一安全服務,在此伺服器上可以找到所有的安全演算法,該伺服器是對所定義域進行鑒別的唯一場所。因此,統一安全的鑒別/註冊方法還有另外一個優點:即便一個使用者在一個特定域中同許多不同的安全元素相互作用,它只需要進行一次登入。統一安全服務其本身可能就是一個Web service,這樣可以使得系統中其它子系統可以很方便的進行安全功能的整合。
被鑒別方首先調用統一安全服務來請求得到一個能夠在特定域中標識其自身的身份ID。為了能夠獲得這個身份ID,被鑒別的一方首先必須提供正確的鑒別資格資訊。鑒別資格資訊具有多種不同的形式:例如,可以是簡單的使用者名稱/口令或者認證,但是也可以採用別的方法。統一安全服務使用底層潛在的安全體繫結構對使用者的資格資訊進行驗證,然後才賦予使用者一個身份ID。
具體過程如下:
1:被鑒別方向統一安全服務發出登陸請求
2:統一安全服務返回被鑒別方身份ID
3:被鑒別方將應用請求與身份ID發往應用伺服器
4:應用伺服器將身份ID發往統一安全服務進行認證以及判權
5:統一安全服務返回認證以及判權結果
6:應用伺服器根據返回的資訊做出特定回應。
三、基於WS-Security實現傳輸資訊安全
電子商務環境中,除了對交易者的身份資訊需要認證和判權外,還對傳輸的內容的絕密性、完整性、不可否認性有很高的要求。由於web service 傳輸的是基於Soap協議的XML簡訊,為保證傳輸資訊的絕密性、完整性、不可否認性,可以利用Web service security擴充機制來實現。
WS-Security 主要是一個用於基於 XML 的安全性中繼資料容器的規範。業界已經對網路傳輸資訊安全提出了許多解決方案。例如 Kerberos 和 X.509 用於身分識別驗證;X.509 還使用現有的 PKI 進行密鑰管理;XML 加密和 XML 簽名描述了 XML 訊息內容的加密和簽名方法;XML 標準描述了為簽名和加密而準備 XML 的方法。WS-Security通過在現有規範中添加了一個架構,用於將這些機制嵌入到 SOAP 訊息中。實現了一種與傳輸無關的安全擴充方式。
WS-Security 定義了一個用於攜帶安全性相關資料的 SOAP 標頭元素。如果使用 XML 簽名,此標題可以包含由 XML 簽名定義的資訊,其中包括訊息的簽名方法、使用的密鑰以及得出的簽名值。同樣,如果訊息中的某個元素被加密,則 WS-Security 標題中還可以包含加密資訊(例如由 XML 加密定義的加密資訊)。WS-Security 並不指定簽名或加密的格式,而是指定如何在 SOAP 訊息中嵌入由其他規範定義的安全性資訊。
在基於WS-Security 擴充的Web Service中,Soap傳輸的不再是簡單的XML簡訊,而是實現了WS-Security擴充的XML檔案,身份認證作為XML header中的一個屬性被使用者私密金鑰加密,傳輸的XML BODY內容也進行了數位簽章。應用端對客戶傳輸來的資訊根據客戶使用者解密進行驗證,這樣就保證了資訊來源的準確以及資訊完整性、保密性。下面就是一個使用了WS-Security擴充的SOAP訊息,裡面使用了使用者令牌與數位簽章。