windows card space n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
新一代身份驗證機制 - Windows Card Space PowerPoint Presentation
Download Presentation
新一代身份驗證機制 - Windows Card Space

Loading in 2 Seconds...

play fullscreen
1 / 49

新一代身份驗證機制 - Windows Card Space - PowerPoint PPT Presentation


  • 154 Views
  • Uploaded on

新一代身份驗證機制 - Windows Card Space. 曹祖聖 台灣微軟資深講師 jimycao@syset.com http://teacher.allok.com.tw MCP, MCP+I, MCSA, MCSE,MCDBA, MCAD, MCSD, MCT, MVP. 大綱. Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ? CardSpace 的運作機制 各種應用方式 登入頁面的改變. 大綱. Web 應用程式身份驗證所面臨的問題 過去的身份驗證機制 什麼是 CardSpace ?

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '新一代身份驗證機制 - Windows Card Space' - blade


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
windows card space

新一代身份驗證機制- Windows Card Space

曹祖聖

台灣微軟資深講師

jimycao@syset.com

http://teacher.allok.com.tw

MCP, MCP+I, MCSA, MCSE,MCDBA, MCAD, MCSD, MCT, MVP

slide2
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
slide3
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
slide4
身份識別上面臨的問題
  • Internet 太危險了 !
    • 小偷、身份偽造、釣魚網站 …
    • username + password 的保護太弱
  • 企業面臨管理大量身份識別資料的問題

25% 不瀏覽

22% 不購買

www.antiphishing.org

slide5
我們需要什麼 ?
  • 任何人在任何地點都可以使用
  • 讓使用者可以 100% 控管自己的身份資料

 移除系統之間身份識別障礙

簡單、一致、安全的身份識別系統

slide6
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
iis 7 0
IIS 7.0 存取控制
  • 檢查來源 IP
  • 檢查使用者
  • 檢查伺服器存取權限
  • 檢查共用權限 (如果是 UNC 路徑)
  • 檢查 NTFS 權限
slide8
身份驗證介紹

IIS 中的身份驗證

要求進入 IIS

IIS 將要求轉送到匿名 provider:

IIS 建立路徑(w3svc/1/root) 並且檢查匿名證是否有啓用

是: 提供路徑與Anon.users token 給authorization manager

否: IIS 將路徑交給其它每一個 provider,檢查該路徑是否啓用該 provider 提供的驗證

每一個有啓用的 provider 檢查查使用者身份 之後,會回傳適當的表頭給 IIS

Server

Core

匿名

基本

Kerberos

NTLM

摘要

iis 7 01
IIS 7.0 身份驗證流程

Request received by IIS

Authentication

Providers

IIS

Server

Core

Anonymous

Basic

Kerberos

NTLM

Digest

Passport

slide10

匿名驗證流程

Client

IIS 伺服器

Web 瀏覽器

default.htm

slide11
匿名驗證帳號

匿名帳號: IUSR_[電腦名稱]

IIS 安裝時建立,並加入 Guests 系統群組

請注意套用到 Guests 的自訂原則

預設狀況下,IUSR 帳號被授予所有資料夾的讀取權限

IUSR 帳號也使用在 FTP 伺服器的匿名驗證上

IIS Sub-authentication

避免密碼同步的問題

slide12
基本驗證流程

401 Error

IIS 伺服器

Base64 編碼的使用者名稱和密碼

Web 瀏覽器

default.htm

slide13
基本驗證

使用 Base64 編碼來傳送密碼

優點

RFC 相容(RFC 2617)

支援透過 Web Proxy

瀏覽器支援廣泛

如果配合 SSL,是很好的驗證方式

缺點

使用者需要輸入 Windows 帳號

密碼直接傳送,如果沒有 SSL 配合,非常不安全

windows
整合式 Windows 驗證

要求

Negotiate

接下來再試

首先試試

NTLM

Kerberos

也可以只用 NTLM,但不能只用 Kerberos

兩者都不支援 Web Proxy

windows1
整合式 Windows 驗證

MetaBase 屬性: AuthNTLM

如果同時啓用基本驗證和 整合式 Windows 驗證,Internet Explorer 會使用 整合式 Windows 驗證

NTAuthenticationProviders 屬性:

Negotiate,NTLM

NTLM

NTAuthenticationProviders 沒有任何管理介面,必須使用 adsutil.vbs 工具或 Metabase Explorer 來修改

slide16
NTLM 的行為

連線導向

每個要求永遠使用相同連線

必須啓動 HTTP Keep-Alives 功能

驗證對話方塊

NTLM, 預設不會顯示

如果原本要求傳回 401.1 錯誤,則會顯示對話方塊

NTLM 如何使用 Domain \ Username \ Password

Domain 和Username 永遠會在 client 與 server 之間分享

Password 則不會,會使用密碼的雜湊碼

驗證標頭中會包含:

Domain \ Username \ HashedPassword

slide17
NTLM 的安全性

駭客無法透過封包擷取,來得知密碼的雜湊演算法

如果連線斷掉、被修改 (透過 Web Proxy),那麼 NTLM 就會失敗

NTLM 版本

Lan Manager – Windows 95

NTLM v1 – NT 4.0

NTLM v2 – Windows 2000 / 2003

slide18
NTLM 的驗證過程

Get /Default.HTM

Get /Default.HTM w/ AuthNTLM

Client

Get /Default.HTM w/ AuthNTLM Hashed

IIS Server

401 – Access Denied

Client

401 – WWW Auth: NTLM

200 - OK

IIS Server

kerberos
Kerberos

為什麼要另外建立出一個驗證協定

NTLM 的限制

NTLM Tokens 無法被委派

NTLM 只支援 Windows 平台

NTLM 不支援其它瀏覽器

這是全新的協定嗎 ?

不是,它只是一個轉換介面,根據用戶端的要求來決定要使用 Kerberos 或 NTLM

kerberos1
Kerberos

用戶端: Internet Explorer

伺服端: IIS Server (Active Directory 網域成員)

Active Directory:

Key Distribution Center (KDC)

Ticket Granting Service: 負責發出所有的tickets (aka tokens)

kerberos2
Kerberos 運作機制

IIS Server

IIS 啓動後,當伺服器跟 KDC 做驗證成功後,會取得 ticket

Domain Controller (KDC)

Ticket Granting Services

kerberos3
Kerberos 運作機制

Domain Controller (KDC)

用戶端使用匿名身份連線至 IIS

IIS 回傳 401 錯誤,加上 WWWAuth 標頭,要求進行協調

用戶端向 KDC 要求 存取 IIS 的的 ticket

如果 IIS 是 AD 成員, KDC 會發出 shared key

Shared

用戶端使用這支 shared key 來建立雜湊碼,並且傳送到 IIS

IIS 使用 shared key 來檢查密碼是否正確

IIS Server

slide23
摘要式驗證流程

IIS 伺服器

網域控制站

Active Directory 資料庫

Web 瀏覽器

slide24
摘要式驗證

使用雜湊演算法傳送密碼的雜湊碼

必要條件

IIS Sub-Auth (iissuba - LocalSystem)

Active Directory

密碼使用可逆式加密儲存在 AD 資料庫上

支援平台

Windows 2000

Windows 2003

slide25
進階式摘要式驗證

什麼是進階式摘要式驗證 ?

使用 MD5 雜湊

必要條件

IIS 6.0 (全新安裝,非升級 !)

2003 Active Directory Forest

IIS Sub-Authentication

建立使用者帳號時事先編譯好雜湊碼

RFC 2617

UseDigestSSP Metabase 屬性

1: 使用進階式摘要式驗證

0: 使用摘要式驗證

slide26
憑證驗證

Request: Welcome.aspx

Response: Certificate request

Request: Login.aspx + Certificate

Response: Welcome.aspx

Certificate

Validation

  • 在用戶端安裝有憑證,需要 SSL
  • 憑證在伺服端可以對應到使用者帳戶

Web Server

Client

DomainController

iis asp net
IIS 與 ASP.NET 身份驗證流程

Web 瀏覽器

IIS

允許該 IP address 和 domain?

拒絕存取

使用者身份驗證通過 ?

執行 ASP.NET 程式

有設定 ASP.NET impersonation ?

ASP.NET

使用應用

程式集區帳號

沒有

ACL 檢查通過 ?

使用指定帳號

允許存取

asp net authentication providers
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>

slide30
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
cardspace
CardSpace 的目標
  • 讓網際網路存取更安全
    • 讓使用者可以安全的識別與使用網站…
  • 讓系統與系統之間的連接更安全
    • 不論是對內還對外.
net passport
.NET Passport ?
  • Windows Live ID
  • http://www.passport.net
  • 疑慮 ?
windows cardspace
什麼是 Windows CardSpace ?

SecurityToken

Service

使用者經驗

服務提供者

  • Windows 平台上的身份識別選擇器
    • 以卡片的方式呈現出使用者的數位身份
  • 當使用選擇卡片時 …
    • 從 Identity Provider 取得 token
    • 在使用者確認之後,送交給 Relying Party
  • 使用者 100% 控制整個流程 !
windows cardspace1
Windows CardSpace
  • 容易且安全的管理使用者自己的身份識別資料
  • 使用在網站與 web services 的身份驗證上

安全

簡單

不再需要 usernames 與 passwords

一致的登入與註冊方式

防止釣魚

多重驗證

架構在 WS-* Web Service 通訊協定之上

slide35

demo

管理 Windows CardSpace

slide36
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
slide37
真實世界的 STS

RP

token

token

STS

token

STS

token

cardspace1
CardSpace 運作流程

使用者

使用者決定可以送出 token

7

Client

使用者要存取某項資源

1

使用者選擇 IP

4

5

檢查那些 IPs 可以滿足要求 ?

3

向該 IP 要求 token

RP 提出身份識別要求

2

6

根據 RP 要需求傳回 token

Token 送交給 RP

8

Identity Provider(IP)Security Token Service (STS)

Relying Party (RP)

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

demo

使用 Windows CardSpace 登入網站

slide41
大綱
  • Web 應用程式身份驗證所面臨的問題
  • 過去的身份驗證機制
  • 什麼是 CardSpace ?
  • CardSpace 的運作機制
  • 各種應用方式
  • 登入頁面的改變
federation by sts
Federation by STS

Fabrikam

Contoso

AD/STS

LinuxSTS

“請給我一個 Fabrikam token !”

SAML

“請給我一個 token !”

Contoso\Lisa

Fabrikam

App

“請出示您的身份 !”

“請出示您的身份 !”

SAML

Fabrikam

“能不能幫我 …”

Fabrikam

“先從 Fabrikam STS 拿到 token 再說 !”

“Lisa 您好,有什麼可以為您服務的嗎 ?”

slide43
網站應用

1

HTTP/GET (保護頁面) 

 轉向到登入頁面

6

HTTP/GET (登入頁面) 

2

登入頁面 (HTML) + x-informationcard 標籤

客戶資料庫

5

HTTP/GET|POST 目標頁面 + token

4

透過 WS-Mex 與 WS-Trust 取得 token

網站

前端 Web 網站

3

使用者選擇卡片

Relying Party

STS

Identity Provider

slide44
網站應用 – 減少對網站的影響

1

HTTP/GET (保護的頁面) 

 轉向到登入頁面

7

2

HTTP/GET (登入頁面) 

傳出登入頁面 HTML

客戶資料庫

8

HTTP/GET|POST 目標頁面 + token

3

WS-Mex

6

透過 WS-Trust/RST 傳送 token

透過 WS-Trust/RSTR 取得 token

5

透過 WS-Mex 與 WS-Trust 取得 token

網站

前端 Web 網站

4

使用者選擇卡片

STS

STS

Identity Provider

Relying Party

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

<buttononclick="javascript:return infocardlogin.submit();">

Sign in with your Information Card

</button>

<formname="infocardlogin"target="_self"method="post">

<objecttype="application/x-informationcard"name="xmlToken">

<paramname="tokenType"

value="urn:oasis:names:tc:SAML:1.0:assertion" >

<paramname="issuer"

value="http://schemas..../identity/issuer/self" >

<paramname="requiredClaims"

value="http://.../claims/givenname,

http://.../claims/surname, http://../claims/emailaddress,

http://.../claims/privatepersonalidentifier" >

</object>

</form>

publicpartialclassLogin_aspx : System.Web.UI.Page

{

protectedvoid Page_Load(object sender, EventArgs e)

{

string xmlToken = Request["xmlToken"];

Token token = newTokenProcessor.Token(xmlToken);

// Lookup the account using the uniqueId

string username = MembershipHelper.GetUser(token.UniqueID);

if (username != null)

{

MembershipUser user = Membership.GetUser(username);

// give the cookie back to the browser

FormsAuthentication.SetLoginCookie(user.UserName, false);

}

}

}

slide47
結論
  • CardSpace 是全新的身份驗證機制
  • 使用者身份資料由使用者自行管理
  • 滿足各類型應用程式身份驗證的需求
technet
在何處取得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/