Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

0502 Windwos Server 2008 Card Space 新一代身份驗證機制

From sabc, 3 months ago

668 views  |  0 comments  |  0 favorites  |  14 downloads  |  1 embed (Stats)
Embed
options

More Info

This slideshow is Public
Total Views: 668
on Slideshare: 654
from embeds: 14

Slideshow transcript

Slide 1: 新一代身份驗證機制 - Windows Card Space 曹祖聖 台灣微軟資深講師 jimycao@syset.com http://teacher.allok.com.tw MCP, MCP+I, MCSA, MCSE,MCDBA, MCAD, MCSD, MCT, MVP

Slide 2: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 3: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 4: 身份識別上面臨的問題 • Internet 太危險了 ! 小偷、身份偽造、釣魚網站 … username + password 的保護太弱 • 企業面臨管理大量身份識別資料的問題 25% 不瀏覽 22% 不購買 www.antiphishing.org

Slide 5: 我們需要什麼 ? 簡單、一致、安全的身份識別系統 • 任何人在任何地點都可以使用 • 讓使用者可以 100% 控管自己的身份資 料 移除系統之間身份識別障礙

Slide 6: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 7: IIS 7.0 存取控制 1. 檢查來源 IP 2. 檢查使用者 3. 檢查伺服器存取權限 4. 檢查共用權限 ( 如果 是 UNC 路徑 ) 5. 檢查 NTFS 權限

Slide 8: 身份驗證介紹 • IIS 中的身份驗證 • 要求進入 IIS 匿名 • IIS 將要求轉送到匿名 provider: 基本 IIS 建立路徑 (w3svc/1/root) 並且檢 Server 查匿名證是否有啓用 Kerberos 是 : 提供路徑與 Anon.users token 給 authorization manager Core 否 : IIS 將路徑交給其它每一個 NTLM provider ,檢查該路徑是否啓用 該 provider 提供的驗證 摘要 • 每一個有啓用的 provider 檢 查查使用者身份 之後,會回 傳適當的表頭給 IIS

Slide 9: IIS 7.0 身份驗證流程 Request received by IIS Authentication Providers Anonymous Basic IIS Server Kerberos Core NTLM Digest Passport

Slide 10: 匿名驗證流程 Client IIS 伺服器 Web 瀏覽器 default.htm

Slide 11: 匿名驗證帳號 • 匿名帳號 : IUSR_[ 電腦名稱 ] IIS 安裝時建立,並加入 Guests 系統群組 • 請注意套用到 Guests 的自訂原則 預設狀況下, IUSR 帳號被授予所有資料夾的讀取權限 IUSR 帳號也使用在 FTP 伺服器的匿名驗證上 • IIS Sub-authentication 避免密碼同步的問題

Slide 12: 基本驗證流程 401 Error IIS 伺服器 Base64 編碼的 Web 瀏覽器 使用者名稱和密碼 default.htm

Slide 13: 基本驗證 • 使用 Base64 編碼來傳送密碼 • 優點 RFC 相容 (RFC 2617) 支援透過 Web Proxy 瀏覽器支援廣泛 如果配合 SSL ,是很好的驗證方式 • 缺點 使用者需要輸入 Windows 帳號 密碼直接傳送,如果沒有 SSL 配合,非常不安全

Slide 14: 整合式 Windows 驗證 要求 Negotiate 首先試試 接下來再試 Kerberos NTLM 1. 也可以只用 NTLM ,但不能只用 Kerberos 2. 兩者都不支援 Web Proxy

Slide 15: 整合式 Windows 驗證 • MetaBase 屬性 : AuthNTLM • 如果同時啓用基本驗證和 整合式 Windows 驗證, Internet Explorer 會使用 整合式 Windows 驗證 • NTAuthenticationProviders 屬性 : Negotiate,NTLM NTLM • NTAuthenticationProviders 沒有任 何管理介面,必須使用 adsutil.vbs 工具或 Metabase Explorer 來修改

Slide 16: NTLM 的行為 • 連線導向 每個要求永遠使用相同連線 必須啓動 HTTP Keep-Alives 功能 • 驗證對話方塊 NTLM, 預設不會顯示 如果原本要求傳回 401.1 錯誤,則會顯示對話方塊 • NTLM 如何使用 Domain Username Password Domain 和 Username 永遠會在 client 與 server 之 間分享 Password 則不會,會使用密碼的雜湊碼 驗證標頭中會包含 : • Domain Username HashedPassword

Slide 17: NTLM 的安全性 • 駭客無法透過封包擷取,來得知密碼的雜湊演算法 • 如果連線斷掉、被修改 ( 透過 Web Proxy) ,那麼 NTLM 就會失敗 • NTLM 版本 Lan Manager – Windows 95 NTLM v1 – NT 4.0 NTLM v2 – Windows 2000 / 2003

Slide 18: NTLM 的驗證過程 Get /Default.HTM Client Get /Default.HTM w/ AuthNTLM Get /Default.HTM w/ AuthNTLM Hashed IIS Server 401 – Access Denied Client 401 – WWW Auth: NTLM 200 - OK IIS Server

Slide 19: Kerberos • 為什麼要另外建立出一個驗證協定 NTLM 的限制 • NTLM Tokens 無法被委派 • NTLM 只支援 Windows 平台 • NTLM 不支援其它瀏覽器 • 這是全新的協定嗎 ? 不是,它只是一個轉換介面,根據用戶端的要 求來決定要使用 Kerberos 或 NTLM

Slide 20: Kerberos • 用戶端 : Internet Explorer • 伺服端 : IIS Server (Active Directory 網 域成員 ) • Active Directory: Key Distribution Center (KDC) Ticket Granting Service: 負責發出所有的 tickets (aka tokens)

Slide 21: Kerberos 運作機制 IIS Server IIS 啓動後,當伺服器 跟 KDC 做驗證成功後 ,會取得 ticket Domain Controller (KDC) Ticket Granting Services

Slide 22: Kerberos 運作機制 戶 用 端使用匿名身份 Domain Controller 連線至 IIS (KDC) IIS 回傳 401 錯誤, 加上 WWWAuth 標頭 ,要求進行協調 戶 用 端向 KDC 要求 存取 IIS 的的 ticket 如果 IIS 是 AD 成員 , KDC 會發出 Shared shared key 戶 用 端使用這支 shared key 來建立雜湊 碼,並且傳送到 IIS IIS 使用 shared key 來 查 密碼是否正確 檢 IIS Server

Slide 23: 摘要式驗證流程 IIS 伺服器 網域控制站 Active Directory 資料庫 Web 瀏覽器

Slide 24: 摘要式驗證 • 使用雜湊演算法傳送密碼的雜湊碼 必要條件 • IIS Sub-Auth (iissuba - LocalSystem) • Active Directory • 密碼使用可逆式加密儲存在 AD 資料庫上 支援平台 • Windows 2000 • Windows 2003

Slide 25: 進階式摘要式驗證 • 什麼是進階式摘要式驗證 ? 使用 MD5 雜湊 必要條件 • IIS 6.0 ( 全新安裝,非升級 !) • 2003 Active Directory Forest • IIS Sub-Authentication • 建立使用者帳號時事先編譯好雜湊碼 RFC 2617 • UseDigestSSP Metabase 屬性 1: 使用進階式摘要式驗證 0: 使用摘要式驗證

Slide 26: 憑證驗證 • 在用戶端安裝有憑證,需要 SSL • 憑證在伺服端可以對應到使用者帳戶 Request: Welcome.aspx Response: Certificate request Request: Login.aspx + Certificate Response: Welcome.aspx Web Server Client Certificate Validation Domain Controller

Slide 27: IIS 7.0 驗證比較表

Slide 28: IIS 與 ASP.NET 身份驗證流程 Web 瀏覽器 允許該 IP address 和 domain? 否 絕 拒 存取 是 使用者身份驗證通過 ? IIS 否 是 執行 ASP.NET 程式 有設定 ASP.NET impersonation ? 使用應用 沒有 程式集區帳號 有 查 ACL 檢 通過 ? 使用指定帳號 否 ASP.NET 允許存取 是

Slide 29: ASP.NET Authentication Providers • ASP.NET 2.0 支援 4 種驗證 Provider Windows – 由 IIS 與 AD 處理驗證 Forms – 使用表單與 Cookies Passport – 使用 Passport 服務 自訂 • 在 Web.config 中設定 <!-- web.config file --> <authentication mode = "[Windows|Forms|Passport|None]"> </authentication>

Slide 30: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 31: CardSpace 的目標 • 讓網際網路存取更安全 •讓使用者可以安全的識別與使 用網站… • 讓系統與系統之間的連接更安 全 •不論是對內還對外 .

Slide 32: .NET Passport ? • Windows Live ID • http://www.passport.net • 疑慮 ?

Slide 33: 什麼是 Windows CardSpace ? • Windows 平台上的身份識別選擇器 以卡片的方式呈現出使用者的數位身份 • 當使用選擇卡片時 … 從 Identity Provider 取得 token 在使用者確認之後,送交給 Relying Party • 使用者 100% 控制整個流程 ! Security 服務 Token 使用者 經驗 提供者 Service

Slide 34: Windows CardSpace • 容易且安全的管理使用者自己的身份識別資料 • 使用在網站與 web services 的身份驗證上 簡單 安全 不再需要 防止釣魚 usernames 與 多重驗證 passwords 一致的登入與註冊 方式 架構在 WS-* Web Service 通訊協定之上

Slide 35: demo 管理 Windows CardSpace

Slide 36: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 37: 真實世界的 STS RP token token STS STS token token

Slide 38: CardSpace 運作流程 使用者 7 使用者決定可以送出 token Client 1 使用者要存取某項資源 4 使用者選擇 IP 5 向該 IP 要求 token 查 3檢 那些 IPs 可以滿足要求 ? 2 RP 提出身份識別要求 6 根據 RP 要需求傳回 token 8 Token 送交給 RP Identity Provider (IP) Security Token Service (STS) Relying Party (RP)

Slide 39: 選擇卡片 – 安全性 • 使用者自行決定是否要信任 Relying Party Identity Provider • 使用 X.509 憑證進行識別 進一步進行對象確認 使用 Logos • Windows CardSpace 會負責追蹤卡片 用到那裡去了 !

Slide 40: demo 使用 Windows CardSpace 登入網 站

Slide 41: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 42: Federation by STS Contoso Fabrikam AD/STS Linux STS “ 請給我一個 Fabrikam token !” “ 請給我一個 token !” SAML “ 請出示您的身份 ContosoLisa !” Fabrikam “ 請出示您的身份 !” App SAML Fabrikam “ 能不能幫我 …” Fabrikam 說 先從 Fabrikam STS 拿到 token 再 “ “Lisa 您好,有什麼可以為您服務的嗎 ?” !”

Slide 43: 網站應用 1 HTTP/GET ( 保護頁面 )  6 轉向到登入頁面 網站 2 HTTP/GET ( 登入頁面 )  戶 客 資料庫 登入頁面 (HTML) + x-informationcard 標籤 3 前端 Web 網站 5 HTTP/GET|POST 目標頁面 + token 使用者選擇卡片 Relying Party 4 透過 WS-Mex 與 WS-Trust 取得 token STS Identity Provider

Slide 44: 網站應用 – 減少對網站的影響 1 HTTP/GET ( 保護的頁面 )  網站 轉向到登入頁面 2 HTTP/GET ( 登入頁面 )  傳出登入頁面 HTML 8 HTTP/GET|POST 目標頁面 + token 前端 Web 網站 4 3 WS -Mex 使用者選擇卡片 7 6透過 WS-Tru 透過 st/RST WS-Tru 傳送 5 st/RST token 透過 WS-Mex 與 WS-Trust 取得 token R 取得 token 戶 客 資料庫 STS STS Identity Provider Relying Party

Slide 45: 大綱 Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變

Slide 46: Login Page <button onclick="javascript:return infocardlogin.submit();"> public partial class Login_aspx : System.Web.UI.Page { Sign in with your Information Card </button> void Page_Load(object sender, EventArgs e) protected { string xmlToken = Request["xmlToken"]; <form name="infocardlogin" target="_self" method="post"> <object type="application/x-informationcard" name="xmlToken"> Token token = new TokenProcessor.Token(xmlToken); <param name="tokenType" value="urn:oasis:names:tc:SAML:1.0:assertion" > // Lookup the account using the uniqueId <param name="issuer" string username = MembershipHelper.GetUser(token.UniqueID); if (username != null) value="http://schemas..../identity/issuer/self" > { <param name="requiredClaims" MembershipUser user = Membership.GetUser(username); value="http://.../claims/givenname, http://.../claims/surname, // give the cookie back to the browser http://../claims/emailaddress, FormsAuthentication.SetLoginCookie(user.UserName, false); } http://.../claims/privatepersonalidentifier" > } </object> </form> }

Slide 47: 結論 • CardSpace 是全新的身份驗證機制 • 使用者身份資料由使用者自行管理 • 滿足各類型應用程式身份驗證的需求

Slide 48: 在何處取得 TechNet 相關資訊? • 訂閱 TechNet 資訊技術人快訊 http://www.microsoft.com/taiwan/technet/flash/ • 訂閱 TechNet Plus http://www.microsoft.com/taiwan/technet/ • 參加 TechNet 的活動 http://www.microsoft.com/taiwan/technet/ • 下載 TechNet 研討會簡報與錄影檔 http://www.microsoft.com/taiwan/technet/webcast/