久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

WCF安全體系結(jié)構(gòu)

 賢人好客 2010-05-17
作者:KidYang tags:WCF MS from from MSDN
安全體系結(jié)構(gòu)

本節(jié)說明可用于修改或擴展 windows communication foundation (wcf) 安全組件的功能的各個擴展點,。若要了解這些擴展點,,必須了解總體 wcf 安全體系結(jié)構(gòu)。本主題從組件及其關(guān)系方面說明 wcf 安全體系結(jié)構(gòu)以及本節(jié)后面說明的擴展點如何適應(yīng)總體體系結(jié)構(gòu)模型。

wcf 安全組件的范圍

wcf 安全性跨越 wcf 體系結(jié)構(gòu)中的多個組件,。wcf 中安全性的主要目的是,,為建立在 wcf 框架基礎(chǔ)之上的應(yīng)用程序提供完整性、保密性,、身份驗證,、授權(quán)和審核。wcf 體系結(jié)構(gòu)將這些功能拆分為以下部分:

  • 傳輸安全 - 負(fù)責(zé)提供消息保密性,、數(shù)據(jù)完整性和通信方的身份驗證,。
  • 授權(quán) - 負(fù)責(zé)為授權(quán)決策提供框架。
  • 審核 - 負(fù)責(zé)將安全相關(guān)事件記錄到審核日志中,。

本文檔說明的安全模式和范圍

傳輸安全可使用以下安全模式之一來執(zhí)行:

  • 傳輸,。在客戶端和服務(wù)之間傳輸消息時使用的傳輸將提供所有三種通信安全功能。
  • 消息,。僅在 soap 消息級別提供傳輸安全,,這意味著直接在 xml 級別將安全應(yīng)用于 soap 消息。
  • 使用消息憑據(jù)的傳輸,。在傳輸層和消息層上都執(zhí)行傳輸安全,。傳輸層提供通信保密性、數(shù)據(jù)完整性和服務(wù)身份驗證,。消息層提供客戶端身份驗證,。

本文檔的其余部分著重介紹“消息”安全模式,但某些信息同樣適用于“使用消息憑據(jù)的傳輸”模式,。具體而言,,本文檔適用于客戶端身份驗證的部分也適用于“使用消息憑據(jù)的傳輸”模式,因為“使用消息憑據(jù)的傳輸”模式使用消息層執(zhí)行客戶端身份驗證的方式與“消息”模式相同,。

有關(guān)“身份驗證”和“審核”組件的討論同樣適用于所有三種安全模式,。因此,本文檔中說明的與這些組件相關(guān)的所有信息適用于所有支持的安全模式,。

消息安全模式概念

ws-security 模式

“消息”安全模式的基礎(chǔ)是 ws-security 規(guī)范,。ws-security 規(guī)范定義一個框架,該框架答應(yīng)對 soap 消息應(yīng)用安全,。該規(guī)范指定了一種結(jié)合數(shù)字簽名和加密使用安全令牌來保護 soap 消息并對其進行身份驗證的消息安全模式,。有關(guān)該規(guī)范的信息,請參見 web 服務(wù)安全 (ws-security)(可能為英文網(wǎng)頁),。

術(shù)語

安全令牌斷言聲明并可用于斷言身份驗證秘密或密鑰和安全標(biāo)識之間的綁定,。

聲明是由實體所做的有關(guān)實體(例如名稱、標(biāo)識,、組,、密鑰或特權(quán))的聲明,。作出聲明的實體稱為“聲明頒發(fā)者”;對其作出聲明的有關(guān)實體稱為“聲明主題”,。

聲明頒發(fā)者可以通過使用其密鑰對安全令牌進行簽名或加密來保證或認(rèn)可安全令牌中的聲明,。這會在安全令牌中啟用聲明的身份驗證。

消息簽名用于驗證消息來源和完整性,。消息簽名還可供消息創(chuàng)作者用于證實他們知道密鑰(通常來自第三方,,用于確認(rèn)安全令牌中的聲明),因此會將消息創(chuàng)作者的標(biāo)識(以及由安全令牌表示的任何其他聲明)綁定到所創(chuàng)建的消息,。

安全令牌

ws-security 定義了多種類型的安全令牌,,并提供了一個可擴展模型,答應(yīng)單獨定義其他的安全令牌類型,。每個令牌類型定義均包含令牌的 xml 序列化,。這答應(yīng)直接向消息添加令牌表示形式。

下面是 ws-security 中定義的一些安全令牌類型:

  • 用戶名令牌,。
  • x.509 證書令牌,。
  • kerberos 令牌。
  • saml 令牌,。

已定義四種令牌使用方式,,附加到給定消息的令牌只能屬于其中的一個類別:

  • signedsupporting
  • signedendorsing
  • signedencrypted
  • encryptedendorsing

在 .net framework 3.0 中,客戶端消息只能包含任何給定類型的一個令牌,,但是可以包含不同類型的令牌,。

在 .net framework 3.5 中,客戶端消息可以包含給定類型的多個令牌,,也可以包含不同類型的令牌,。

通過此功能可以實現(xiàn)多個方案,如下所述:

  • 增量聲明發(fā)送,。對服務(wù)執(zhí)行的所有操作可能都要求一組聲明存在,,但是某些操作可能需要其他聲明??蛻舳瞬粚γ宽棽僮魇褂脝为氼C發(fā)的令牌,,而是獲得一個具有初始聲明集的已頒發(fā)令牌,并使用另一個已頒發(fā)的令牌(該令牌具有要調(diào)用的操作所需的其余聲明),。
  • 多因素身份驗證,。在客戶端必須先收集多個頒發(fā)者頒發(fā)的令牌或具有不同聲明集的令牌,然后才能執(zhí)行操作時執(zhí)行,。wcf 將頒發(fā)的令牌視為一個令牌類型,,因此,在這種情況下會要求消息中能夠包含兩個已頒發(fā)的支持令牌,。

請注重,,不能以這種方式配置服務(wù):一個服務(wù)只能包含一個支持令牌。

有關(guān)更多信息,,請參見 如何:使用相同類型的多個安全令牌,。

ws-security 實現(xiàn)

由于 ws-security 為消息安全奠定了基礎(chǔ),因此 ws-security 的 wcf 實現(xiàn)是整個“消息”安全模式的基礎(chǔ),。若要擴展“消息”安全模式功能,,必須了解 ws-security 實現(xiàn)的工作方式。

wcf 中的 ws-security 實現(xiàn)處理以下操作:

  • 安全令牌與 soap 消息之間的序列化,。
  • 安全令牌的身份驗證,。
  • 消息簽名的應(yīng)用和驗證。
  • soap 消息的加密和解密,。

wcf 擴展點答應(yīng)自定義前兩項,。可以更改現(xiàn)有安全令牌的序列化或 wcf 安全對這些令牌進行身份驗證的方式,。也可能向 wcf 安全引入全新的安全令牌類型,,包括序列化和身份驗證功能。

本節(jié)的以下主題演示如何使用 ws-security 實現(xiàn)擴展點來自定義安全令牌功能,。

授權(quán)

安全令牌會在傳入消息中進行反序列化并進行身份驗證,。身份驗證過程會產(chǎn)生一組授權(quán)策略對象。每個對象均表示安全令牌數(shù)據(jù)的一部分,。在授權(quán)階段將使用這些數(shù)據(jù),。

授權(quán)策略創(chuàng)建給定的安全令牌表示的一組聲明。然后,,會將此聲明集提供給 serviceauthorizationmanagerauthorizationcontext 屬性內(nèi)的邏輯以便作出授權(quán)決策,。

標(biāo)識

除了聲明外,wcf 還會創(chuàng)建 iidentity 接口的實現(xiàn),,用于表示現(xiàn)有基礎(chǔ)結(jié)構(gòu)(使用 .net framework 安全模型創(chuàng)建)的調(diào)用方,。此 iidentity 實例表示調(diào)用方的 windows 標(biāo)識(假如該安全令牌映射到 windows 帳戶)或包含調(diào)用方名稱的主標(biāo)識。這些標(biāo)識還可以使用 servicesecuritycontext 進行訪問,。(有關(guān)更多信息,,請參見 如何:檢查安全上下文。)通過使用以下方法之一,,可以自定義在 wcf 中創(chuàng)建標(biāo)識的方式:

僅當(dāng)使用用戶名/密碼身份驗證對調(diào)用方進行身份驗證時,,自定義成員資格提供程序才能工作,。membershipprovider 驗證 用戶名/密碼對,。假如為有效對,wcf 將在 membershipprovider 驗證后創(chuàng)建表示已進行身份驗證的調(diào)用方的主標(biāo)識,。

為便于與現(xiàn)有的 .net framework 安全基礎(chǔ)結(jié)構(gòu)集成,,默認(rèn)情況下,wcf 將 currentprincipal 屬性設(shè)置為一個表示調(diào)用方的 iprincipal 實例,。iprincipal 實例是基于所生成的 iidentity 中包含的信息創(chuàng)建的,。

通過與 asp.net roleprovider 集成,可以進一步擴充 iidentity,。roleprovider 會添加調(diào)用方所屬的角色集,。授權(quán)邏輯將使用此信息做出訪問決策。

有關(guān) 標(biāo)識的更多信息,,請參見服務(wù)標(biāo)識和身份驗證,。

發(fā)送安全消息

下圖顯示使用“消息”安全模式時如何在客戶端保證消息的安全。該圖顯示了涉及的組件和它們之間的關(guān)系:

  1. 應(yīng)用程序代碼運行并生成消息,。
  2. 在令牌配置階段,,附加客戶端憑據(jù)(如 x.509 證書)。在聯(lián)合身份驗證方案中,,將聯(lián)系令牌頒發(fā)者以提供憑據(jù),。
  3. 使用這些憑據(jù)創(chuàng)建安全令牌。
  4. 在令牌身份驗證階段驗證令牌,。
  5. 最后,,序列化并發(fā)送安全令牌。
發(fā)送安全消息

接收安全消息

下圖顯示在從網(wǎng)絡(luò)提取安全消息并在接收端驗證這些安全消息時發(fā)生的過程:

  1. 在令牌身份驗證階段對安全令牌進行反序列化和處理,。假如需要,,可以在此時使用 asp.net 成員資格提供程序提供用戶名和密碼。
  2. 進行身份驗證后,,提取授權(quán)策略,。
  3. 在授權(quán)策略評估階段,評估授權(quán)策略并可將聲明添加到評估上下文中,。此時也使用外部授權(quán)策略,。這一步以及下一步是通過 serviceauthorizationmanager 的方法完成的。
  4. 在服務(wù)授權(quán)階段,,基于由授權(quán)策略添加的聲明賦予正確的授權(quán),。這一步是通過 serviceauthorizationmanager 的方法完成的。
  5. 授權(quán)之后,,假如調(diào)用方答應(yīng)且服務(wù)方法需要進行調(diào)用方模擬,,或?qū)Ψ?wù)授權(quán)行為設(shè)置了 impersonatecallerforalloperations 屬性,則會進行調(diào)用方模擬,。有關(guān)更多信息,,請參見 wcf 的委派和模擬,。
  6. 此時,wcf 將使用憑據(jù)生成 principalpermission,。假如需要,,可以在此時使用 asp.net 角色提供程序。
  7. 應(yīng)用程序代碼運行,。
接收安全消息

安全擴展點概述

下圖顯示由 wcf 安全組件提供的擴展點,。該圖分為四個不同類別,,具體取決于消息處理過程中到達擴展點的時間,。這些類別可映射到消息安全處理階段,如前兩節(jié)所述,。該圖還顯示可以將現(xiàn)有基礎(chǔ)結(jié)構(gòu)技術(shù)與 wcf 安全相集成,。

wcf 安全擴展點

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多