Windows CardSpace

Windows CardSpace

Windows CardSpace,是一組代號為CardSpace的Windows新功能。該組功能提供了一種基於標準的解決方案,用於使用和管理不同的數字標識。

基本介紹

  • 中文名:Windows CardSpace
  • 性質:CardSpace的Windows新功能
  • 生產單位微軟
  • 類型:計算機專業術語
基本簡介,主要功能,檢查信息卡,了解數字標識,需要通過合作來實現該標識元系統,Microsoft 與其他公司通力協作,Windows 是一種廣泛使用的作業系統,表示數字標識:安全令牌,使用數字標識,用戶、標識提供者和依賴方角色間的互動,CardSpace 標識選擇螢幕,使用方法示例,其他用途,簡單總結,

基本簡介

Windows CardSpace 介紹
Windows CardSpace是一套目前已被淘汰掉的身份驗證管理系統,該系統最早由微軟在其Windows Vista系統中引進。不過,在2011年2月15日,微軟已聲稱放棄該系統,取而代之的將是它的2.0版本,更名為U-Prove。
適用於:
Windows Vista
Windows XP
Windows Server 2003
Windows 7
Windows Server 2008
本頁內容
了解數字標識

主要功能

Windows CardSpace 提供了哪些功能

檢查信息卡

與 Windows CardSpace 進行互操作
Windows CardSpace 和其他 Microsoft 技術
結束語
更多參考資料

了解數字標識

您是誰? 這個問題很簡單,但答案卻並不簡單。 您的身份表示方法會因所到之處的不同而有所變化。 當您在機場的出入境通關口出示護照時,您的身份是某一國家的公民。 當您由於超速行駛而被警察攔截並出示自己的駕駛執照時,您的身份是居住在某一地區的合法司機。 當您使用信用卡在書店購買最暢銷的小說時,您的身份是具有某一特定帳號的顧客。 不同的環境中需要使用不同的標識,每種標識的表示方法和所提供的信息均不盡相同。
在所有這些環境中,您可以通過一些便於理解的方法來確定自己的標識。 但在一個非常重要的環境,即網路環境中,標識的確定目前還比較混亂。 正如在現實環境中一樣,我們都擁有多種數字標識,並以不同的方法表達它們。 但是,現在並沒有一種統一的方法來處理這些數字標識。 相反,我們仍然在一個複雜、混亂且不安全的環境中苦苦掙扎。
然而,不同種類的數字標識始終是必不可少的,因為只憑單個標識不可能滿足全部需求。 實際上,這些標識始終是由一些不同的源所提供的,因為只憑單個標識提供者同樣不可能滿足全部的需求。 這就意味著解決之道不是去強制要求使用一個數字標識系統,更合適的做法是尋找一致的方法來使用多個數字標識系統。 我們需要的是由多個主要用於處理標識的元系統所組成的系統。

需要通過合作來實現該標識元系統

單個組織只憑一己之力不可能完成一個解決方案。 幸運的是,可以通過使用與供應商無關的通信標準來解決此問題。 這些標準基於 SOAP 和 XML,包括 WS-Security、WS-Trust、WS-MetadataExchange 和 WS-SecurityPolicy。 通過使用這些 Web 服務技術,可以定義一致的方法,來使用由任何源通過任何標識技術所創建的任何數字標識。

Microsoft 與其他公司通力協作

在定義此基於標準的標識元系統方面起著舉足輕重的作用。 Microsoft 還在 Windows 中添加了新功能,從而幫助實現標識元系統。 任何 Windows 應用程式,包括諸如下一版的 Internet Explorer 等 Microsoft 技術產品,以及由其他方開發的應用程式,都可以通過 Windows CardSpace(最初代號為“InfoCard”)為用戶提供一種通用的方法來使用數字標識。 CardSpace 作為 .NET Framework 3.0 的一部分,計畫於 2007 年初發布,適用於 Windows Vista、Windows XP 和 Windows Server 2003。

Windows 是一種廣泛使用的作業系統

因而 Cardspace 便成為實現標識元系統的重要部分。 除非其他組織也實現了此方案,否則該解決方案仍然無法成功實施。 因此,Microsoft 積極鼓勵創建和使用能參與到標識元系統中的軟體。 其目的是讓相關人員可以在運行任何作業系統的任何機器上,就像當前在現實環境中使用標識那樣,方便、有效和安全地使用數字標識。  介紹數字標識 同現實環境中的標識一樣,數字標識也擁有各種形式和大小。 例如,您或許擁有一個 Yahoo 的電子郵件帳戶,它通過電子郵件地址進行標識。 您可能還擁有諸如 Amazon 或 eBay 等各種商業組織的數字標識,以及諸如 MySpace等站點的標識。這些組織和站點一般由您定義的用戶名來標識。 在工作中,您可能還擁有僱主分配給您的數字標識,由您的網路登錄信息進行標識。 此標識可能由某些目錄服務進行維護,例如 Active Directory,並且通常只在公司網路範圍內可用。
正如在現實環境中那樣,我們有充分的理由在不同環境中使用不同的數字標識。 例如,通常需要將不同的信息與每個標識關聯起來。 您使用的 Amazon 標識可以允許您訪問信用卡號,而 MySpace 標識則不允許此操作。 每個標識的獲取規則也不盡相同。 在 Amazon 獲取數字標識比較容易, 只需創建一個用戶名和密碼即可。 從您的僱主那裡獲取數字標識可能有點困難,因為您至少需要得到運行公司網路的管理員的批准。

表示數字標識:安全令牌

儘管數字標識間存在差異,但它們都擁有一個重要的共性: 當在網路上傳輸數字標識時,每個標識都由某種安全令牌表示。 安全令牌其實是用於表達數字標識信息的一組位元組。 如圖 1 所示,此信息由一個或多個聲明組成,每個聲明包含此標識所傳遞的總信息的某一部分。 一個簡單的安全令牌可能只包括一個含有用戶名的聲明,而稍複雜一點的安全令牌可能包括含有用戶的名、姓、家庭住址及更多信息的多個聲明。 某些數字標識的安全令牌可能還包括含有諸如信用卡號等敏感性信息的聲明。
安全令牌 大多數安全令牌都提供了某些信息,以證實這些聲明確實屬於提出這些聲明的用戶。 執行此操作的一個簡單(且目前比較常用)的方法是將密碼連同聲明一起傳送。 一個較為有效的方法是使用私有密鑰對全部或部分聲明進行數字簽名,然後提供相應的公共密鑰(可能包裝在證書中)。 此外,表示數字標識的安全令牌通常還會提供某種證明,供令牌接收方驗證此令牌確實代表擁有該標識的個人或組織。
每個安全令牌的基本理念都是相同的,即都是一個聲明的集合,現今使用各種不同的格式來表示這些令牌。 最簡單的例子是一個只用文本字元串表示的用戶名,但較為複雜的格式,例如 X.509 證書和 Kerberos 票證也比較常見。 這些格式的設計都不允許傳遞一組任意的聲明,儘管一些聲明對於某些數字標識而言十分有用。 使用安全聲明標記語言(SAML,一個由行業組織 OASIS 創建的標準)創建的令牌則允許執行此操作。 SAML 基於 XML,可以用於定義含有任何所需聲明集的安全令牌。
一直以來,數字標識主要用於驗證。 現今最為常見的安全令牌格式,如用戶名、X.509 證書和 Kerberos 票證,就反映了這一點,因為這些安全令牌格式所包含的信息主要集中於驗證標識方面。 但為什麼數字標識不能像實際標識那樣得到廣泛套用呢? 您錢夾中的每張卡都反映了某種標識,而且其上還帶有某機構證實的有用信息。 例如,您的駕駛執照中包括您的姓名、年齡、或許還有您的照片和其他信息,這些都是經過某政府機構證實的信息。 表達此信息的數字標識有助於了解多方面的情況,例如證實您年滿 21 周歲,或者您的確戴有眼鏡。 類似地,您的每張信用卡上都帶有卡號、過期日期及您的姓名。 正如這些卡在現實環境中很有用一樣,為每張卡創建數字標識(用於生成帶有正確聲明的安全令牌)也非常有用。
儘管安全令牌一直以來只著重於傳遞驗證信息,但有必要認識到數字標識的概念要比這寬泛得多。 例如,通常我們不會使用信用卡來驗證自己的身份,但此標識所傳遞的信息(例如信用卡號)仍然是有價值的。 實際上,術語“安全令牌”本身就是用詞不當,因為令牌可以包含與安全性無關的信息。 使用 SAML 或其他方法可以定義幾乎包含任何所需信息的安全令牌。 數字標識目前在網路環境中已得到廣泛套用,正如我們在現實環境中所使用的許多標識一樣。

使用數字標識

Windows CardSpace 和標識元系統
如果能對所有事物使用由單個安全令牌格式表示的單個數字標識,生活就簡單多了。 然而在現實環境中我們擁有不同的標識,同理,在數字環境中我們也需要擁有不同的標識。 因此,所面臨的挑戰就是以一種既容易理解而又行之有效的方法來創建、使用和管理這些不同的數字標識。
這正是標識元系統所要解決的問題。 標識元系統不是通過創造另一種技術來創建和表示數字標識,而是提供了一致的方法來使用多個數字標識,無論這些數字標識使用的是何種安全令牌。 標識元系統使用任何人可以在任何平台上執行的標準協定,允許獲取和使用任何種類的安全令牌以傳遞標識。
Windows CardSpace 為用戶提供了一種選擇標識和更多信息的方法,因此是標識元系統的重要組成部分。 本文介紹了 CardSpace 以及它如何適合標識元系統。 目的在於讓您了解此技術所提供的功能及工作原理。 但請注意,這裡的介紹基於系統的 Beta 版本。 通常,在技術的最終版本發布之前,某些內容可能會有所變動。
返回頁首
Windows CardSpace 提供了哪些功能
此技術有四個比較突出、也是最為重要的方面:
· 支持任何數字標識系統
· 一致的數字標識用戶控制項
· 替代基於密碼的 Web 登錄
· 提高了用戶對遠程應用程式標識的信任度
此部分介紹 CardSpace(作為標識元系統的一部分)如何提供這四方面的功能。
支持任何數字標識系統  我們使用的多個數字標識來自幾個不同的源,而且其表示方法也是多樣的。 換句話說,我們通常依賴於許多不同的數字標識系統,其中每個標識系統可能使用了一種不同的底層技術。 要從總體上考慮這種差異性,定義三個不同的角色會很有幫助:
· 用戶 — 也稱為主體,它是與數字標識關聯的實體。 用戶通常指人,但組織、應用程式、計算機和其他事物也可以擁有數字標識。
· 標識提供者 — 顧名思義,標識提供者是指 可以為用戶提供數字標識的事物。 例如,對於僱主分配給您的數字標識,其標識提供者一般指諸如 Active Directory 之類的系統。 對於您所使用的 Amazon 數字標識,標識提供者實際上就是您,因為您自己定義了用戶名和密碼。 不同標識提供者所創建的數字標識可以包含不同的信息,並提供不同的用戶真實身份保證級別。
· 依賴方 — 依賴方是一個應用程式,以某種方式依賴於數字標識。 依賴方將頻繁使用標識(即組成該標識安全令牌的聲明中包含的信息)來驗證用戶,然後作出授權決定,如允許該用戶訪問某些信息等。 依賴方也會使用該標識獲得信用卡號,來驗證不同時間或出於不同目的而進行訪問的同一用戶。 依賴方的典型示例包括 Internet 網站,如網上書店、拍賣站點,以及其他通過 Web 服務接受請求的所有應用程式。
給定這三個角色後,對於 Windows CardSpace 和標識元系統支持任何數字標識的方式就不難理解了。 圖 2 顯示了三個角色間的基本互動。

用戶、標識提供者和依賴方角色間的互動

如圖 2 所示,用戶可以依賴支持 CardSpace 的應用程式(例如 Web 瀏覽器)來訪問幾個依賴方中的任何一方。 還可以從一組標識提供者中進行選擇,作為要顯示給這些依賴方的數字標識源。 無論用戶進行哪種選擇,這三方間的基本信息交換都可分為以下三個步驟:
· 第一步,應用程式獲取用戶想要訪問的依賴方的安全令牌要求。 此信息包含在依賴方的策略中,其中還包含了諸如依賴方將接受的安全令牌格式,以及這些令牌必須包含的聲明等信息。
· 應用程式一旦擁有了此依賴方所需安全令牌的詳細信息,就會將該信息傳遞給 CardSpace,並要求其從適當的標識提供者處請求令牌。
· CardSpace 接收到此安全令牌後,隨即會將其傳給應用程式,然後再傳給依賴方。
接下來,依賴方就可以使用此令牌驗證用戶或用於其他目的。
此高級視圖說明了交換過程中最為重要的方面。 如下所示:
· Windows CardSpace 和標識元系統對於從標識提供者處請求繼而傳遞到依賴方的安全令牌格式完全不知。 事實上,CardSpace 甚至不知道此令牌所採用的格式。正是由於這個原因,CardSpace 可以通過任何類型的安全令牌(包括簡單的用戶名、X.509 證書、Kerberos 票證、SAML 令牌或其他類型)來使用任何數字標識系統。 這允許 CardSpace 和標識元系統與任何適當的數字標識技術結合使用。 還允許插入現在需要創建、也許會在將來問世的數字標識系統
· 由標識元系統定義並由 CardSpace 實現的所有交換,都是使用已發布的開放協定來執行的。
在最基本的方案中,通過 WS-SecurityPolicy 描述依賴方策略,使用 WS-MetadataExchange 對策略進行檢索,利用 WS-Trust 獲得安全令牌,並使用 WS-Security 將該令牌傳遞給依賴方。實現上述所有操作的前提是,啟用標識元系統中標識令牌安全交換所必需的 WS-* 協定已提交或即將提交給標準主體。
在 Web 瀏覽器與網站互動這種較簡單(大概也比較普遍)的方案中,可以通過 HTML 表達依賴方策略,並且可使用 HTTPS 在該策略信息與站點之間以及安全令牌與站點之間進行交換。 雖然與標識提供者的互動仍要依賴於 WS-Trust,但網站不需要實現任何 WS-* 規範以充當依賴方角色。
在以上任意一種方案中,都不需要通過依賴方或標識提供者實施任何專用協定來使用 CardSpace。
如圖 2 所示,只有當標識提供者和依賴方實現了標識元系統所使用的協定時,CardSpace 才有用。 雖然 Microsoft 致力於元系統定義的研究,並且已經創建了可以為 Windows 提供重要元系統組件的 Windows CardSpace,但沒有其他組織的參與是不可能成功的。
一致的數字標識用戶控制項  通過標準協定獲取和傳輸安全令牌確實非常有效。 然而,如果沒有某種方法可供用戶理解這些令牌所代表的數字標識並對其作出明智的決定,則系統將會癱瘓,呈現出無用的複雜狀態。 因此,CardSpace 和標識元系統的主要目標之一,就是讓包括從安全專員到您的父母在內的所有用戶對數字標識的使用作出良好的決策。
為此,CardSpace 實現了一個直觀的用戶界面來使用數字標識。 圖 3 顯示了標識選擇螢幕,這可能是此界面中最為重要的部分。

CardSpace 標識選擇螢幕

如螢幕快照中所示,每個數字標識都顯示為一個信息卡,有時還將其簡寫為 InfoCard(此技術代號的源)。 每張卡都代表一個用戶有可能呈現給依賴方的數字標識。 螢幕快照上直觀地顯示了這些卡,且每張卡上還包含有關特定數字標識的信息。 此信息包括:為獲取此標識的安全令牌所要聯繫的標識提供者、此標識提供者可以發行的令牌種類,以及確切來說這些令牌可以包含的聲明。 (如本文稍後所述,每張信息卡事實上是由標識提供者創建的,然後安裝在用戶的計算機上。) 當用戶選擇某一特定卡時,實際上選擇的是請求由特定標識提供者創建的帶有特定聲明集的特定安全令牌。 但是,這種技術上的複雜性被隱藏起來了,這樣用戶就可以隨意去思考那些有意義的事情。 圖 4(在圖 2 的基礎上略加引申)顯示了用戶的決定適合於該過程的哪一階段。
選擇標識  如前文所述,該過程中首先應用程式要請求依賴方策略。 我們知道,該策略指出了此依賴方可以接受的安全令牌種類,以及這些令牌所必須包含的聲明。 此信息返回並傳遞給 CardSpace 後,系統隨即顯示卡選擇螢幕。 要為用戶提供一致的體驗,則應顯示他們在此系統上所擁有的每張信息卡,就像打開錢夾時可以看到其中的每張卡一樣。 但只有某些卡可以在任何情況下使用,因此,與安全令牌和聲明關聯的信息卡如果不符合此依賴方的要求,就會變暗,即用戶無法進行提交操作。 用戶單擊某一特定卡後,CardSpace 隨即會向此卡所關聯的標識提供者發出請求(如前文所述)。 同樣,標識提供者隨後返回一個安全令牌,該令牌將傳遞給依賴方。
重要的是應該為用戶提供一致的方法來選擇數字標識,這主要有兩方面的原因:
· 用戶擁有一致的、可預測的方法來使用數字標識。 如果沒有這樣的方法,恐怕除了專家級用戶外,其他用戶一定會覺得結果令人困惑且是錯誤的。 為了使用 CardSpace 而創建的每個應用程式將以完全相同的機制來使用數字標識,並通過完全相同的界面將數字標識呈現給用戶。
· 即使用戶在安全技術知識方面存在差異也無所謂。 您無需考慮某一特定標識的安全令牌是使用 X.509 證書還是使用 SAML 或某種其他方法表達的。 CardSpace 通過為用戶提供簡單而直觀的表示方法,確保用戶可以避免面對這種不必要的複雜性。 所有事物都是根據與用戶相聯繫的信息來表達的: 標識本身及其包含的信息。
為了確保更加安全,用戶可以選擇使用個人標識號 (PIN) 來保護個人信息卡,這樣用戶在使用信息卡之前必須輸入該個人標識號。 並且為進一步阻止本地攻擊,CardSpace 還為標識選擇螢幕(用於選擇卡片)創建了專用的 Windows 桌面。 這類似於隔離 Windows 登錄螢幕所使用的機制,而且還阻止了其他本地運行的進程的攻擊。
值得注意的是,為用戶提供一致的機制,以便選擇要使用的數字標識,這是標識元系統的實質所在。 本文主要介紹了 CardSpace(一種 Windows 技術),但要在其他作業系統上實現,則應提供相應的直觀螢幕以進行卡片的選擇。
替代基於密碼的 Web 登錄 現今 Internet 上最為常見的一種安全令牌就是用戶名。 要證明一個用戶名確實歸您所有,最常見的方法就是提供與此用戶名關聯的密碼。 雖然一般情況下由您自己選擇用戶名和密碼,但有時您所訪問的站點也會為您分配用戶名和密碼。 而這樣的網站通常使用 SSL 與您的瀏覽器之間進行通信,所以此方法可以認為是非常安全的。 SSL 可以確保整個通信都經過加密,因此攻擊者無法通過監聽通信來竊取密碼。
然而此類基於密碼的方案比較容易受到另一種攻擊: 網頁仿冒。 攻擊者通過傳送欺騙性電子郵件,試圖欺騙用戶登錄到一個假冒真實站點的站點上,從而使其暴露密碼或者其他個人信息。 假如密碼不是 Web 上的主要身份驗證機制,則這種網頁仿冒的威脅性會小一些,因為不存在可竊取的密碼。 為實現此目的,並從整體上提高 Web 登錄的安全性,CardSpace 允許使用一種更加強大的機制來替代基於密碼的 Web 登錄。
依賴方(例如網站)不通過密碼來驗證用戶,而是使用安全令牌來驗證用戶。 例如,某公司提供了一系列的網站,它可能還會提供一個運行在某台機器上並可由任何客戶訪問的標識提供者,該標識提供者能夠發行該系列中所有站點都可以接受的令牌。 此方法將密碼的使用程度降到了最低,的確是一種可以同 CardSpace 一起使用的方法。 該方法仍只適用於特定的一組站點,因為沒有單個的標識提供者可以被所有的網站接受以發行安全令牌。
那么如果由用戶選擇自己的用戶名和密碼,情況會如何? 此方法目前在網站上已得到了非常廣泛的套用,原因之一是因為其比較簡單: 不需要第三方標識提供者。 該方法不提供過多有關用戶真實身份的擔保,因為站點無從知曉用戶所提供的姓名是否真實。 對於使用此方法的站點而言,通常只需要在用戶每次登錄時識別該特定用戶,而用戶只需擁有唯一的數字標識,其中不一定含有任何真實信息。
簡言之,問題在於: 依賴方希望接收由標識提供者創建的安全令牌,從而可以允許替代可能會被網頁仿冒的基於密碼的登錄。 然而在大多數情況下,不存在能被廣泛接受的第三方標識提供者來創建這些令牌。 但目的僅是識別由同一用戶進行的多個訪問,所以不需要使用複雜的數字標識。
為解決此問題,CardSpace 包括一個自發行標識提供者。 如圖 5 所示,該自發行標識提供者在本地 Windows 系統上運行,並且像任何其他的標識提供者一樣可以創建信息卡。 (事實上,為了區分外部標識提供者和自發行標識提供者類型,外部提供者通常稱為託管標識提供者,而且它們創建的信息卡被稱為託管卡。) 在圖 5 所示的例子中,用戶擁有三張從外部標識提供者處獲取的信息卡,以及一張從自發行標識提供者處獲取的信息卡。
用戶擁有來自自發行標識提供者的信息卡  由自發行標識提供者創建的信息卡可以只包含諸如用戶名、通訊地址、電子郵件地址和電話號碼等基本信息。 當用戶選擇將其中的一張信息卡提交給受方時,該用戶系統上的自發行標識提供者會生成一個 SAML 令牌,其中包含用戶在此卡中放置的信息。 自發行標識提供者還會生成一個公共/私有密鑰對,使用私有密鑰對安全令牌進行簽名。 為了防止攻擊者重新使用,令牌中包含了一個時間戳以及其他一些信息,使得它對於初始用戶以外的任何人都沒什麼用處。 然後應用程式將此已簽名的令牌連同其關聯的公共密鑰一起傳送給依賴方。 依賴方可以使用此公共密鑰驗證安全令牌的數字簽名,這樣就確保了由正確的令牌所有者來呈現該令牌。 為阻止依賴方相互之間通過比較用戶的公共密鑰來跟蹤用戶活動,自發行標識提供者為使用此信息卡訪問的每個依賴方都創建了一個不同的密鑰對(儘管該細節對用戶是隱藏的,用戶只能看到一張該標識的信息卡)。
主要思想就是: 因為大多數標識提供者所發行的安全令牌均不使用密碼,其中包括那些由 CardSpace 的自發行標識提供者創建的令牌,所以依賴方(包括網站和其他應用程式)可以使用這些令牌而非密碼來驗證用戶。 如果站點不使用密碼,則網頁仿冒者就無法欺騙用戶暴露這些密碼。
網頁仿冒是一個很嚴重的問題。 如果 Windows CardSpace 和標識元系統專注於減少此問題的發生,則當前的在線上環境會得到明顯改善。
提高了用戶對 Web 應用程式標識的信任度
減少網站對基於密碼登錄的依賴性有助於減少網頁仿冒情況的發生,但並不能徹底消除此問題。 如果用戶受到欺騙訪問了網頁仿冒者的站點,則該站點可以接受該用戶所提供的、自發行或其他方式的任何安全令牌,然後要求用戶輸入諸如信用卡號等信息。 網頁仿冒者不會獲得它所仿冒站點的用戶密碼,但毫無疑問可以獲知其他一些有用的信息。
問題的根本在於用戶不能區別真正的網站(比如說用戶的銀行)和網頁仿冒者創建的仿冒站點。 二者可以顯示相同的徽標及其他圖形。 二者甚至還可以使用 SSL 來保護通信,因為網頁仿冒者同樣可以獲取證書。 如果用戶點擊了網頁仿冒者電子郵件中所提供的連結,他會發現自己連到了一個外觀酷似銀行站點的站點。 Internet Explorer 的右下角甚至還會顯示小鎖標記,表明該通信受 SSL 保護。
可通過以下兩種方法解決此問題:
· 高度確認方法,網站使用此方法向用戶驗證其標識
· 一致性方法,用戶使用此方法了解站點用於驗證其標識的確認級別,然後對是否信任該站點作出正確的選擇。
Windows CardSpace 和標識元系統解決了這兩個問題。
第一個問題的解決,以及網站向用戶驗證其標識的方法的改進,均依賴於執行此操作所使用的證書的改進。 現今,網站通常使用 SSL 通信所用的證書來驗證其標識。 情況多少有所改善,但 SSL 證書事實上只證實了給定站點擁有一個特定的 DNS 名稱。 但並不能保證此 DNS 名稱對應於該站點上所顯示的信息。 網頁仿冒者可以使用為他所擁有的 DNS 名稱發行的證書,例如,保護與一個經過仔細加工看上去酷似銀行的站點間進行通信。 因此,SSL 證書並不足以解決此問題。
為此,Microsoft 與同行業的其他公司進行合作,以創建一個新級別的證書。 該證書可包含比傳統 SSL 證書更多的信息,其中包括證書所要發行到的組織的名稱、位置和徽標。 此高度確認證書還將成為較權威的信息來源,這是因為證書的獲取比較困難,需要與發行機構達成高度一致。 標識提供者以及依賴方都可以使用這種新的證書向 CardSpace 應用程式的用戶驗證其標識。
在上述兩個問題中,通過創建高度確認證書可解決第一個問題。 但最終還是需要由用戶來決定信任哪一個站點。 CardSpace 使得這種決定更加明確,它要求每位用戶批准使用其想要訪問的每個標識提供者和依賴方。 信息卡首次安裝到用戶系統上時,將出現一個螢幕,要求用戶驗證其想要接收的安全令牌,該安全令牌由發行此信息卡的標識提供者創建。 類似地,首次訪問依賴方(例如網站)時,會出現一個螢幕,要求用戶指明其是否希望向該依賴方傳送數字標識信息。 圖 6 顯示了用戶首次訪問依賴方時所顯示螢幕的示例:
首次訪問依賴方時所顯示的螢幕 如示例所示,螢幕上可以包括標識經過批准的組織(例如 Overdue Media)的名稱、位置、網站 URL 和徽標。 還可以包括已對此信息進行過驗證的組織(例如 VeriSign)的名稱和徽標。
為了幫助用戶更好地作出決定,需要根據標識提供者或依賴方提供的證書種類相應地改變螢幕上所顯示的內容。 如果提供了前文所述的高度確認證書,則螢幕會指出已經過驗證的組織的名稱、位置、網站 URL 和徽標,如圖 6 所示。這可以向用戶表明該組織是比較值得信任的。 如果只提供了 SSL 證書,則螢幕會指出授權了一個較低級別的信任。 而且,如果甚至提供了更弱的證書或者根本沒有證書,則螢幕會指出沒有任何證據可以表明該站點的真實身份。 其目的在於幫助用戶作出明智的決定:允許哪些標識提供者為其提供數字標識,以及允許哪些依賴方接收這些數字標識。
所有這些都引出了一個嚴肅的問題: 這真的會對一般的 Windows 用戶有所幫助嗎? 對於不了解分散式安全性的人(即不知道證書是什麼,更不用說信任哪些證書頒發機構),他真能通過使用 CardSpace 作出更好的決定嗎? 最起碼,為訪問新的站點提供一致的、可預測的體驗,應該會有所幫助。 在 CardSpace 上創建的每個應用程式(包括下一個版本的 Internet Explorer),都會要求用戶明確同意使用其通過 CardSpace 訪問的每個標識提供者和依賴方。 用戶始終會看到相同的操作螢幕,而且這些螢幕可為用戶提供指導,幫助用戶確定可在多大程度上保證該站點的真實身份。 而且,用戶只需在第一次訪問某站點時作出是否要信任該站點的決定。 以後(甚至數月後)再訪問該站點時,則不會再顯示類似圖 6 所示的螢幕。如果用戶訪問某個以前確實曾經訪問過的站點時出現了該螢幕,很明顯,這說明該用戶由於某種原因受到欺騙而訪問了仿冒的站點。

使用方法示例

使用 Windows CardSpace:示例情景
要準確了解 CardSpace 和標識元系統的使用方式,最直觀的方法就是查看一些典型示例。 例如,回想一下在訪問某個網上商店(如 Internet 書店)時發生了什麼情況。 在最簡單的情況下,不涉及到任何數字標識 — 任何人都可以瀏覽出售的書籍,而無需告訴銷售商自己的身份。 但是,如果試圖訂購書籍的話,就需要提供數字標識登錄。 現在,輸入用戶名和密碼是最常見的方式,這兩者都由自己提前設定。 如果該網上商店支持 CardSpace 和標識元系統,則還會提供另一個選項以供您進行身份驗證: 使用信息卡。 為便於操作,該商店可能在其登錄螢幕上配置一個特定按鈕,可通過單擊該按鈕來使用信息卡登錄,而無需輸入用戶名和密碼。
單擊此按鈕將會讓瀏覽器使用 CardSpace 來登錄該站點。 通常會顯示 CardSpace 選擇螢幕,此時可以選擇一張卡以作為日後登錄該商店時驗證身份之用。 雖然不要求全部如此,但在這種情況下所選擇的信息卡很可能是由自發行標識提供者創建的 — 亦即您自己創建的信息卡。 因為所有站點此時需要做的就是將您標識為唯一的客戶,因此這種簡單形式的數字標識足以滿足要求。 付款時,像平常那樣在 Web 窗體中輸入自己的信用卡信息和帳單郵寄地址即可。
上述簡單示例中,CardSpace 提供了一種無需使用密碼便可登錄到網上商店的方法。 這種方法很有用,並且朝著 Internet 數字標識的方向邁進了一步。 但對於數字標識的眾多用途而言,這僅僅是一個開始。 例如,在此示例的支付步驟中,還可以使用信息卡來將信用卡信息傳送到該站點。 假設發行信用卡的公司提供了一個標識提供者,則可以利用此標識提供者請求一個與信用卡相對應的信息卡。 無需將信用卡信息輸入 Web 窗體,站點會在支付螢幕上提供一個按鈕,以便您提供信息卡。 單擊此按鈕,系統便會顯示 CardSpace 選擇螢幕,然後選擇可用於支付該站點款項的信息卡。 單擊其中的一張卡會使 CardSpace 聯繫該卡發行者的標識提供者,獲取包含信用卡信息的安全令牌,然後將該令牌提供給網上商店。
正如本例所示,數字標識並不僅僅用來驗證您的身份。 像您錢夾中各種卡所表示的物理標識一樣,數字標識也可以用於付款或其他用途。 例如,假設您當地發行駕駛執照的組織提供了標識提供者。 那么現在,就可以使用該數字標識來驗證傳送到任何依賴方的個人信息。 例如在美國,客戶必須證明他們已經年滿 21 歲才能購買酒類飲料。 某個網上酒類商店可能要求其客戶提供他們駕駛執照的 CardSpace 版本,其中就包括出生日期,或許還接受 CardSpace 版的信用卡來支付相關費用。
此駕駛執照標識提供者還可提供其他類型的信息卡。 例如,某些人可能希望在不透露自己姓名或其他標識信息的情況下,有辦法證明他們已經年滿 21 歲。 駕駛執照標識提供者知道您的年齡,因此可能會提供包含執照上所有內容的信息卡,也可能提供更簡單的只包含年齡的信息卡。 對符合要求的人,標識提供者甚至可能提供這樣一種信息卡:只包含一條您已經年滿 21 歲的聲明,而不會顯示其他任何如年齡這一類潛在的敏感信息。 儘管被稱為“數字標識”,但在標識特定用戶時,卻也沒有要求其中必須包含該用戶的所有信息。 大多情況下,需要的只是有一種方法來進行某個聲明,例如已經年滿 21 歲,所有信息皆由可信任的機構備份。

其他用途

關於 Windows CardSpace 和標識元系統的其他用途,還有更多示例。 行動電話服務運營商也可以提供信息卡,使其用戶能夠將網上採購費用記入他們的電話帳單。 僱主可能會為其雇員提供多個數字標識,每種標識都具有自己的信息卡,以在公司網路上使用。 一個標識可用於正常訪問,而另一個標識則可能除了證明此人為公司員工外不包含其他任何信息,而提供這樣一個標識的唯一目的或許就是為了方便員工對公司管理提出匿名建議。 如同現實世界中的標識包含不同信息並具有不同用途一樣,數字標識也可通過多種方式使用。 CardSpace 和標識元系統的目標是儘可能獲得最廣泛的套用。
返回頁首
檢查信息卡
從用戶的角度來看,信息卡是他(或她)可在其螢幕上看到的數字標識的可視化表現形式。 但是,對於 CardSpace 而言,信息卡實際上是存儲在用戶 Windows 計算機上的一個 XML 文檔。 在這種情況下,重要的是了解獲得信息卡的方式以及卡中所包含的內容。 本節將著重介紹此類相關問題。
如何獲得信息卡
每個信息卡都由相應的標識提供者創建。 對於自發行標識提供者,CardSpace 提供了可讓用戶創建卡的圖形工具。 對於其他標識提供者,通常運行於其他計算機之上,用戶必須通過一些途徑來獲得合適的卡,如通過標識提供者的網站,或通過由標識提供者傳送的電子郵件。 實現此操作的方式由每個標識提供者定義 — 沒有硬性規定獲得信息卡的方法。
無論採用哪種方法獲得信息卡,即使由自發行標識提供者創建,都由發行卡的標識提供者進行了數字簽名,並附帶有標識提供者的認證。 此簽名用於驗證標識提供者的身份。 只要卡在用戶的計算機上,雙擊該卡便會出現一個螢幕,允許用戶將此卡安裝到 CardSpace 標準存儲區。 當用戶必須批准標識提供者作為安全令牌的源時,情況也是這樣,如前文所述(儘管由自發行標識提供者創建的信息卡不需要該批准)。 用戶進行該操作後,便可使用該卡來請求安全令牌。
卡中包含的信息
信息卡的內容將以智慧型方式幫助用戶選擇數字標識。 利用這些內容,CardSpace 可使卡符合依賴方的要求,並從發行該卡的標識提供者處獲取合適的安全令牌。 為了實現這兩個目標,每個信息卡都會包含下列內容:
· JPEG 或 GIF 檔案,含有用戶可在其螢幕上看到的信息卡圖像,以及所顯示的信息卡名稱。
· 可從該標識提供者處請求的一個或多個類型的安全令牌,以及每個令牌可能包含的聲明列表。 這樣,CardSpace 可將依賴方策略與能夠創建符合依賴方要求安全令牌的標識提供者進行匹配。
· 訪問標識提供者上一個或多個端點請求安全令牌所需的 URL。
· 標識該標識提供者上可獲得其策略的端點的 URL。 如下一節所述,此信息還會指示 CardSpace 應當怎樣對傳送給標識提供者的請求進行身份驗證
· 創建信息卡的日期和時間。
· 信息卡的 CardSpace 引用,是以 URI 形式指定的全局唯一標識符。 此標識符由發行信息卡的標識提供者創建,並且每一次使用信息卡請求安全令牌時,會將此標識符傳回給該提供者。
同樣重要的是應該注意信息卡中不包含的內容: 關於此標識的敏感數據。 例如,由信用卡公司創建的信息卡不會包含用戶的信用卡號碼。 儘管此類敏感信息可能作為聲明出現在標識提供者創建的安全令牌中,但其始終是存儲在標識提供者的系統中。 在安全令牌中傳送此信息時,通常會加密以確保攻擊者和 CardSpace 無法進行訪問。 關鍵在於信息卡中從未包含此敏感信息,因此用戶計算機上也從未存儲此敏感信息。 但是,信息卡的擁有者也可以使用 CardSpace 來預覽那些使用該卡創建的安全令牌中的信息。 當用戶要求查看此信息時,將會從發行卡的標識提供者處提取此信息。 顯示之後,接著會將該敏感信息從用戶系統中刪除。
信息卡的漫遊
人們通常希望不同的計算機可以提供相同的數字標識。 有許多人在工作時使用一台計算機,在家中使用第二台計算機,而旅行時使用第三台計算機。 為了在這些不同的計算機之間進行漫遊,CardSpace 提供了一種卡導出功能。 此選項允許使用外部存儲媒體(如 USB 密鑰)來保存信息卡副本。 然後可以將這些卡安裝在其他計算機上,並允許用戶以相同的方式請求來自標識提供者的安全令牌,無論是家用計算機、辦公室計算機還是出門旅行時用的攜帶型計算機皆可。 為預防攻擊,會使用從用戶選擇密碼短語派生的密鑰對導出的信息卡進行加密。 這就確保即使存儲媒體丟失,也只有知道密碼短語才可以解密存儲媒體所包含的信息卡。
但有些情況並不適用這一解決方案。 例如,假設某人想要在網咖使用基於 CardSpace 的標識。 這樣就需要將信息卡安裝在公眾場合的計算機系統上。 為了使用自管理標識提供者創建的現有標識,還需要安裝同這些標識相關聯的密鑰。 但是把所有信息放到共享的公總計算機上不是什麼好做法。 雖然 CardSpace 的第一個版本無法解決這一問題,但計畫在不久的將來,可實現將 CardSpace 存儲區和完整的自發行標識提供者全部安裝到基於 USB 的硬體上。 一旦實現該目標,用戶就能夠將此設備插入計算機,然後直接從中請求安全令牌,而無需在使用的計算機上安裝信息卡或密鑰。
撤銷信息卡
CardSpace 必須解決的另一個問題是撤銷。 標識提供者向用戶發行信息卡之後,如想撤銷這張卡可以採取哪些措施呢? 在最簡單的情況下,標識提供者本身可能希望停止發行基於此卡的安全令牌。 使用此標識提供者可能還需要付費訂購,而用戶並未繼續付款。 在這種情況下要撤銷非常簡單: 標識提供者只需停止接受使用此卡做出的對安全令牌的請求即可。 每個請求都帶有唯一的 CardSpace 引用,因此標識提供者很容易就可以識別出使用已撤銷信息卡發出的請求。
當用戶想要撤銷一張信息卡時,情況就會稍微複雜一些。 或許某個攻擊者竊取了用戶的攜帶型計算機,該計算機中安裝了由外部標識提供者發行的信息卡。 正如我們前面提到的,可以為每個信息卡分配一個每次使用時都必須輸入的 PIN。 如果這樣做了,攻擊者便無法使用竊取的卡,除非他/她也知道每張卡的 PIN。 此外,某些標識提供者可能要求用戶在每次使用特定信息卡請求新的安全令牌時,都要輸入密碼或使用智慧卡。 對於不具有其中任意一個保護措施的卡,用戶將需要聯繫與其相應的標識提供者,並告知標識提供者不再接受這些卡。 同獲取卡一樣,要實現這種支持也沒有任何標準機制。 每個標識提供者必須為其用戶提供自己的程式來取消此信息卡,然後停止接受此卡做出的請求。
但是對於由自發行標識提供者創建的卡,該如何處理呢? 就被盜竊的攜帶型計算機來說,連同這些卡的標識提供者也被盜竊了,因此沒有辦法告訴標識提供者停止接受請求。 這種情況非常類似於丟失密碼,唯一的解決方案就是告知接受該密碼的那些組織,密碼丟失了。 如果信息卡連同創建它們的自發行標識提供者一起丟失了,則卡的擁有者將需要在每一個接受安全令牌(使用這些已丟失信息卡所創建)的依賴方手動取消他/她的帳戶。 CardSpace 提供了卡歷史記錄功能,可記錄卡在其中使用過的所有站點,因此被盜攜帶型計算機的擁有者可使用其信息卡的備份副本來確定需要聯繫哪些站點。
返回頁首
與 Windows CardSpace 進行互操作
Windows CardSpace 是 .NET Framework 3.0 的一部分,並且在其上構建的應用程式必須是 Windows 應用程式。 但是,將在其他平台和設備上實現與 CardSpace 兼容的標識選擇器,並且標識提供者和依賴方不必是 Windows 應用程式。 本節將概述為了與採用 CardSpace 的 Windows 應用程式配合使用,標識提供者和依賴方需要怎么做。
創建標識提供者
可在任何作業系統上、使用任何開發平台來構建標識提供者。 無論以何種方式創建,每個標識提供者都必須滿足四個條件,方可使用 CardSpace:
· 必須能創建同 Microsoft 定義的卡格式兼容的信息卡,並且必須提供一種方式來將這些卡提供給用戶。
· 必須按照 WS-Trust 規範的定義來執行安全令牌服務 (STS)。 該規範基於 SOAP 定義了一種標準方式來請求特定類型的安全令牌,其中包含來自 STS 的特定聲明。 每個標識提供者都必須至少執行一種 STS,但是 STS 能夠以任何格式發行安全令牌 — 沒有硬性規定要採用特定的令牌類型。 雖然不要求全部如此,但還是強烈建議標識提供者也支持由 Microsoft 為標識元系統定義的 WS-Trust 特定的擴展。
· 必須使用 WS-SecurityPolicy 來定義其策略,然後允許使用 WS-MetadataExchange 對該策略進行訪問。 正如先前所述,每個信息卡都包含一個端點,可以通過這個端點來檢索標識提供者的策略。 在圖 2 和圖 4 中忽略了此步驟,但在客戶端應用程式通過標識提供者請求安全令牌之前,CardSpace 會首先要求標識提供者提供自己的策略。
· 必須在其策略中指明應如何對安全令牌的請求進行身份驗證。 在 CardSpace 的第一個版本中,對標識提供者提供了四個選項來驗證用戶身份:
· 用戶名/密碼(每次使用卡時,可能都要求用戶輸入此標識提供者的密碼)
· Kerberos 票證
· X.509 v3 證書(基於軟體或來自智慧卡)
· 由自發行標識提供者創建的 SAML 安全令牌。
· 標識提供者可選擇支持這些選項的任何一個或全部。
作為其策略的一部分,標識提供者還可以指示當用戶針對某依賴方請求安全令牌時,必須提供該依賴方的標識。 默認情況下,請求令牌時,CardSpace 不會將依賴方的標識透露給標識提供者。 這樣可保護用戶隱私,因為這樣可不讓標識提供者知道用戶想要使用此令牌訪問哪個服務。 但某些標識提供者可能需要在發行請求的令牌之前了解依賴方的標識。 例如,一個 Kerberos 伺服器需要知道客戶端將訪問的服務的標識,才能為該服務創建票證。 更常見的情況是,某個建立標識提供者來供自己網站使用的組織,可能只允許標識提供者發行用於那些自己網站的安全令牌 — 不允許任何不速之客為他們自己的目的來使用此標識提供者。
CardSpace 還定義了一些可在產生錯誤時傳送的 SOAP 錯誤。 例如,訪問一個標識提供者可能會生成一些錯誤,指明請求安全令牌時所引用的信息卡無效或已到期,或該標識提供者無法創建一個包含所請求聲明的安全令牌。
創建依賴方
類似於標識提供者,可在任何作業系統上、使用任何開發平台來構建依賴方。 同樣類似於標識提供者,依賴方也必須滿足幾個條件方可使用 CardSpace。 對依賴方的要求是:
· 必須能夠接受安全令牌。 最常見的方法是執行 WS-Security,但網站還可以接受使用 HTTP 傳送的令牌。
· 必須定義自身策略。 同樣,應當選擇使用 WS-SecurityPolicy 來定義其策略,然後允許使用 WS-MetadataExchange 對該策略進行訪問。 網站也可以使用 HTML 描述其策略並使用 HTTP 傳輸。
· 必須提供證書。 對於執行 WS-* 規範的依賴方來說,可以使用 Microsoft 定義的 WS-Addressing 端點引用擴展來進行該操作。 通過將標識元素添加到 WS-Addressing EndpointReference,該擴展可提供一個標準方法來向客戶端顯示依賴方的證書。
依賴方可自由接受任何類型的安全令牌。 雖然不要求必須這樣做,但許多依賴方會接受由 CardSpace 自發行標識提供者生成的安全令牌。 (Microsoft 定義了依賴方可放置在其策略中的特定值,以表示支持這些令牌。) 無論依賴方接受何種安全令牌,都可以隨時將該信息映射到本地標識,比如,將一個 SAML 令牌轉換到 Windows 安全標識符 (SID) 或 UNIX 用戶標識符 (uid)。
同標識提供者一樣,CardSpace 定義了一些在依賴方與 Web 服務互動期間,產生錯誤的情況下傳送用的 SOAP 錯誤。 例如,訪問依賴方可能會產生錯誤,指明安全令牌中的一個聲明無效或請求的聲明丟失。
返回頁首
Windows CardSpace 和其他 Microsoft 技術
同大多數的 Microsoft 新產品一樣,CardSpace 將對 Windows 環境的其他部分產生影響。 受到這種新數字標識方法影響的最重要的技術是 Internet Explorer (IE)、Windows Communication Foundation (WCF)、Active Directory 和 Windows Live ID。本節將著重介紹每一個技術與 CardSpace 之間的聯繫。
Windows CardSpace 和 Internet Explorer
Microsoft Web 瀏覽器的下一個版本 Internet Explorer 7,將允許用戶使用 CardSpace 來管理其數字標識。 因為 IE 是現今最廣泛使用的訪問 Internet 的工具,因此對於此新的標識技術而言是一個重要的應用程式。 在最常見的情況下,CardSpace 完全使用基於 SOAP 的協定進行通信。 但是,正如先前所述,網站還可通過使用 HTML 和 HTTP 來同 IE 7(以及可能同其他 Web 瀏覽器)進行互動。
圖 7 顯示了進行該操作的一個方法。
圖 7. Windows CardSpace 和 Internet Explorer 7
1.
當瀏覽器用戶在網站上訪問一個受保護的頁面時,例如網上商店上用於購買產品的頁面,這一過程就會開始。 此時,網站會要求用戶進行登錄,因而該站點會將瀏覽器重定向到其登錄頁面。
2.
重定向操作會使站點向瀏覽器傳送一個登錄窗體。 利用該窗體,用戶可像平時一樣通過提供用戶名和密碼來登錄到站點,但是如果該站點支持 CardSpace 登錄,則傳遞窗體的頁面還將包含一個特定 OBJECT 標記或 XHTML 語法。 此信息包含站點的策略,並且將使得瀏覽器向用戶顯示一個 Windows CardSpace 登錄選項。
3.
如果用戶選擇該選項,則 IE 7 將執行由 OBJECT 標記或 XHTML 語法標識的代碼,在登錄過程中需要請求 CardSpace 的參與。
4.
隨即將顯示 CardSpace 螢幕,且用戶可以選擇一個標識。
5.
到目前為止,所有同該站點的通信都使用了 HTTP。 但是,用戶選擇了一個標識後,CardSpace 通常會使用 WS-Trust 聯繫相關的標識提供者,並獲取安全令牌。
6.
然後作為登錄過程的一部分,使用 HTTP POST 將此令牌傳送到網站。
Web 應用程式便可使用此令牌驗證用戶身份或用於任何其他目的。
在這種情況下,標識提供者可能是在用戶系統上本地運行的自發行標識提供者,也可能是一些外部提供者。 網站本身也能夠提供自己的安全令牌服務,可用來生成由該站點使用的自定義令牌。 對於希望提供應用程式特定令牌或高流量的網站而言,此選項非常有用,因為它允許在專用伺服器上進行大部分的驗證工作。
另外更重要的一點是此過程中不存在任何特定於 IE 的內容。 任何作業系統上的任何瀏覽器都能以相同的方式使用標識元系統。 在 Windows 上,Microsoft 所提出的目標是允許任何應用程式(包括其他供應商的 Web 瀏覽器在內)通過 CardSpace 管理和使用數字標識。
Windows CardSpace 和 Windows Communication Foundation
Windows Communication Foundation 是即將推出的一款 Microsoft 平台,用於構建面向服務的應用程式。 WCF 可執行所有由 CardSpace 和標識元系統使用的能夠互操作的協定,其中包括 WS-Security、WS-SecurityPolicy、WS-Trust 和 WS-MetadataExchange,並且 CardSpace 本身大部分也基於 WCF 而構建。 毫不奇怪,使用 WCF 來創建用作依賴方、標識提供者或 CardSpace 客戶端的應用程式將很簡單。
若要知道如何實現此目的,就需要了解一些有關 WCF 服務(執行操作)和 WCF 客戶端(調用這些操作)的信息。 每個 WCF 服務都會顯示一個或多個端點,通過這些端點可對該服務的操作進行訪問。 每個 WCF 客戶端都會指明想要與之進行通信的端點。 服務和客戶端共同指定對端點的綁定,該綁定會定義將使用什麼協定來傳送 SOAP 訊息、如何實現安全性等。 例如,名為 WsHttpBinding 的綁定指示應通過 HTTP(支持 WS-Security)傳送 SOAP 訊息,等等。 WCF 還可自動創建應用程式策略的可訪問描述,使用 WS-SecurityPolicy 表示。
雖然沒有要求必須如此,但大多數人還是傾向於使用 WCF,在支持 NET Framework 3.0 版本的 Windows 系統上實現標識提供者和依賴方的構建。 要創建標識提供者或依賴方,需要做的就是構建一個符合上節內容所列要求的 WCF 服務。 只要應用程式符合這些要求並選擇了合適的 WCF 綁定,如 WsHttpBinding,就可以參與到 CardSpace 中。
但是,創建一個能夠讓用戶以 CardSpace 來指定數字標識的 WCF 客戶端應用程式,需要直接使用 CardSpace 軟體。 提供了一個特殊的綁定來指示 WCF 應用程式應使用 CardSpace 進行身份驗證。 如果 WCF 客戶端為與之進行通信的端點指定此綁定(不管執行該端點的依賴方是否基於 WCF 而構建),將會在需要安全令牌時自動調用 CardSpace。 通常會顯示 CardSpace 選擇螢幕,讓用戶選擇將要傳送的數字標識。 CardSpace 將自動聯繫適當的標識提供者以獲取安全令牌,然後將令牌插入 WCF 應用程式的傳出請求。 開發人員僅需指定應使用正確的綁定,而 CardSpace 將完成剩餘的全部操作。
Windows CardSpace 和 Active Directory
Active Directory 顯然是標識提供者的重要備選者。 CardSpace 預定於 2007 年年初發布,而暫時還沒有發布新版 Active Directory 的計畫。 Microsoft 已經提出 Active Directory 最終將能夠起到標識提供者的作用,但並未宣布該功能何時將會實現。
更直接的問題是 CardSpace 如何同 Active Directory 聯合身份驗證服務 (ADFS) 發生聯繫。 ADFS 現在就已可使用,而且初看起來與 CardSpace 極為類似。 但事實上,這兩種技術完全不同。 CardSpace 會提供一個標識選擇器和一個自發行標識提供者,二者都可在客戶端計算機上運行。 ADFS 是一種基於伺服器的軟體,該軟體允許某個組織通過 WS-Federation 連同其他組織,使用 Active Directory 來對其標識進行聯合身份驗證。 另一個重要的區別在於,如上一節所述使用 CardSpace 的瀏覽器起到了極為積極的作用,而使用 ADFS 的瀏覽器則沒有這個意識完全處於被動狀態。 當二者都涉及到標識時,CardSpace 和 ADFS 會執行完全不同的功能。
Windows CardSpace 和 Windows Live ID
Microsoft Windows Live ID 系統(以前稱作 Passport),最初用來提供可供 Internet 上的任何站點使用的標準身份驗證系統。 現在,從最初形式發展而來的網路主要包括由 Microsoft 本身運行的一些站點。 即使 Windows Live ID 現在一天能處理近十億次登錄,但事實很明顯: 哪怕是一個像 Microsoft 這樣大的組織,都不可能成為 Internet 上所有內容唯一的標識提供者。
CardSpace 和標識元系統具有非常多的標識及標識提供者的常規視圖,代表了完全不同的方法。 Microsoft 已經表示將修改 Windows Live ID 使之起到標識提供者的作用,並且用戶將能夠通過 CardSpace 登錄到他們的 Windows Live ID 帳戶。 然而 CardSpace 與 Windows Live ID 不存在任何依賴關係,並且總有一天 Windows Live ID 提供的標識提供者將不會在標識元系統中起到任何特定的作用。

簡單總結

結束語
不可否認,標識元系統解決的問題以及所提供的解決方案都非常重要。 提供標準方法來使用各種數字標識,可讓網路世界變得像現實世界一樣方便和安全。 讓用戶控制在何種情況下使用何種標識,使人們可以直接負責使用其數字標識的方式。 使用包括自發行標識在內的數字標識,可減少對基於密碼的 Web 登錄的需求,同時增強用戶對網站標識的信任度,還可減少困擾許多用戶的網頁仿冒攻擊。
Windows CardSpace 是這些解決方案的關鍵部分。 要想實現上述美好目標,就需要為其他作業系統創建軟體、構建標識提供者、提供依賴方和執行標準的 Web 服務協定,使元系統得以存在並實現互操作。 Microsoft 通過為 Windows 提供軟體來履行其職責,但是只憑一己之力還無法完成標識元系統的偉大構想。 其他個人和組織也應該了解通過更有效使用數字標識將得到的益處,並且積極地參與進來。
儘管如此,CardSpace 仍就是用途廣泛。 由於 CardSpace 底層的標識元系統是基於開放協定,因此可以在任何平台或設備上針對標識提供者、依賴方以及其他標識選擇器構建與 CardSpace 相兼容的軟體。 而且由於 CardSpace 顯示的界面簡單直觀,因此可以斷定任何 Windows 軟體都能夠使用 CardSpace。 基於所有上述事實,我們必須承認 Windows CardSpace 對於所有對數字標識感興趣的人而言具有重要意義。

相關詞條

熱門詞條

聯絡我們