首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WIF 基本原理 (3):安全權杖服務 (STS) 架構與宣告轉換機制

     編輯:關於.NET

安全權杖服務 (STS) 依據 WS-Trust/WS-Federation 簽發、驗證、續約、取消安全權杖。WIF 封裝協定細節,讓開發者輕鬆建構自訂 STS (主動/被動),或使用 ADFS 2.0、LiveID STS 等現成產品。

STS 支援案例

  • 分離驗證與授權,應用程式專注宣告授權
  • 支援多種憑證類型不複雜化應用
  • 聯合案例:跨網域信任存取資源
  • 簡化身分委派:下游服務複用上游身分
  • 宣告轉換:調整宣告內容符合下游需求

主動 vs 被動聯合

主動:WS-Trust 訊息交換 (RST/RSTR),用於 Windows 客戶端。權杖通常為 Holder-of-Key SAML,含證明金鑰證明持有者身分(圖 15-4)。
被動:瀏覽器導向流程,RST 為查詢字串,RSTR 為表單 POST。權杖為 Bearer SAML,無證明金鑰,依賴傳輸層安全(圖 15-5)。

圖 15-4 主動權杖簽發 RST/RSTR

圖 15-5 被動權杖簽發流程

簡單主動聯合架構

RP、IP-STS、Windows 客戶端 (含代理) 三方互動(圖 15-6)。自訂 STS 實作點:SecurityTokenService、WSTrustServiceHost、WSTrustContract 端點配置(圖 15-7)。

圖 15-6 簡單主動聯合方案

圖 15-7 自訂 STS 實作架構

宣告轉換關鍵角色

  • IP-STS:將驗證時的原始身分宣告轉為標準應用宣告 (角色、細粒度權限),圖 15-8 示例 Admin 獲 Role 與 CRUD Action 宣告。
  • 跨網域轉換:IP-STS 簽發 RP-STS 能理解的宣告,RP-STS 再轉為 RP 專用宣告(圖 15-10),雙方需預先約定宣告契約並建立信任。
  • 隱私保護:避免洩露敏感宣告 (如 Age),改簽發衍生宣告 (如 IsOver13)。

圖 15-8 IP-STS 宣告轉換範例

圖 15-10 跨網域宣告轉換

建議優先使用成熟 STS 產品降低安全風險,WIF 適合需高度客製化的場景。

作者:玄魂
出處:https://www.cnblogs.com/xuanhun/ (改編自《.NET 安全揭秘》)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved