專利名稱:通過獨立端點解析來獲得數(shù)字身份或令牌的制作方法
通過獨立端點解析來獲得數(shù)字身份或令牌背景1.背景和相關(guān)技術(shù)常規(guī)計算機系統(tǒng)現(xiàn)在通常用于各種目的,無論是出于生產(chǎn)力、娛樂還是其他目的。 其原因之一是,計算機系統(tǒng)往往通過任務(wù)自動化以及使得某些類型的交易更高效來增加效 率。例如,過去某些類型的交易可能會花費用戶幾小時或幾天來完成。特別地,如果用戶要 進(jìn)行銀行存款、銀行轉(zhuǎn)帳、或甚至在商店中購買物品,用戶可能需要物理上行進(jìn)到該銀行或 商店位置,以便驗證用戶的身份并呈現(xiàn)用于交易的指令。在驗證了用戶的身份后,銀行或商 店可隨后發(fā)起并確認(rèn)所請求的交易。在該場景中,銀行或商店可以被認(rèn)為是“依賴方”,該 “依賴方”依賴于作為“身份提供者”的用戶所提供的當(dāng)面身份。然而,最近自動化(或計算機化)機制已經(jīng)將這些類型的交易簡化到幾秒鐘或幾 分鐘。特別地,諸如上述的交易由于允許用戶從遠(yuǎn)程位置執(zhí)行交易的自動化終端的出現(xiàn)而 變得越來越高效和復(fù)雜。然而,自動化終端在提供接入服務(wù)之前允許用戶滿足多個質(zhì)詢和 響應(yīng)場景,而不是依賴當(dāng)面身份驗證。例如,用戶可能需要呈現(xiàn)賬戶卡和個人識別號,該賬 戶卡和個人識別號是先前在建立用戶與依賴方之間的信任關(guān)系時從依賴方接收的。如同自動化終端一樣,最近的基于因特網(wǎng)的依賴方也請求最終用戶建立某種信任 關(guān)系,這通常通過要求用戶提供某些可驗證個人信息(例如,姓名、地址、生日等)來進(jìn)行。 依賴方還可要求用戶呈現(xiàn)其他第三方驗證信息,諸如信用卡信息、駕駛執(zhí)照信息、或社會保 險卡信息。在這些類型的情況下,依賴方不僅依賴于用戶的自驗證信息,而且還依賴于依賴 方已與其建立信任關(guān)系的其他方(例如,信用卡公司,或政府實體)的驗證。由此,當(dāng)用戶 隨后訪問依賴方的服務(wù)時,依賴方可要求用戶呈現(xiàn)先前交換的部分或全部個人和第三方信 肩、ο由于效率增益通常是通過在線交易來提供的,因此數(shù)量愈趨增長的實體以此方式 提供服務(wù),并且用戶對使用此方式的需求也在增長。然而,在線交易的增長產(chǎn)生了另一組問 題。即,用戶現(xiàn)在經(jīng)常有大量并且數(shù)量增長的不同在線帳戶需要他們跟蹤和維護(hù)。特別是 在用戶向每個不同的依賴方提供不同的驗證信息的情況下,用戶可能需要記住或能夠訪問 數(shù)量增長的不同的用戶名、口令、以及潛在的其他驗證信息?!┏R?guī)機制試圖通過實現(xiàn)“聯(lián)合”身份驗證系統(tǒng)來緩解其中一些問題。在聯(lián)合 系統(tǒng)中,單獨的身份提供者維護(hù)數(shù)據(jù),該數(shù)據(jù)可用于為用戶在各種依賴方處的許多不同帳 戶生成一個或多個安全令牌。一般而言,“安全令牌”是身份提供者用以向依賴方斷言用戶 身份的手段。為了使安全令牌可在許多不同的依賴方之間移植,這種類型的身份提供者將 需要與用戶想訪問的每個不同的依賴方建立信任關(guān)系。由此,當(dāng)用戶期望訪問依賴方處的特定服務(wù)時,用戶可聯(lián)系身份提供者,向身份提 供者驗證自己,并且從身份提供者獲得令牌。然后用戶可向依賴方呈現(xiàn)來自身份提供者的 令牌,該令牌包含某些有關(guān)用戶和/或用戶客戶機系統(tǒng)的聲明(以及一些有關(guān)身份提供者 的信息)。由于依賴方信任身份提供者和用戶,所以依賴方可使用所提供的信息來確認(rèn)令 牌,并且如果令牌得到確認(rèn),則依賴方向用戶提供對各種所請求的服務(wù)或交易的訪問權(quán)。
5
由于一些依賴方可以僅信任某些身份提供者,或可以僅具有與某些身份提供者建 立的信任關(guān)系,因此用戶也可以具有與多個不同的身份提供者所建立的賬戶。在常規(guī)系統(tǒng) 中,用戶維護(hù)或存儲可在每個身份提供者處使用的一個或多個身份表示以獲得安全令牌。 存儲在用戶的客戶計算機系統(tǒng)處的身份選擇服務(wù)進(jìn)而可管理和標(biāo)識什么身份表示應(yīng)用于 任何給定身份提供者。例如,用戶可能需要對一個特定的身份提供者使用一個數(shù)字身份表示,來發(fā)放用 于一個特定依賴方的令牌。用戶然后可在同一(或不同)身份提供者處使用另一個數(shù)字身 份表示來獲得該依賴方處(或另一依賴方處)的另一些令牌。身份選擇服務(wù)由此向適當(dāng)?shù)?身份提供者提供適當(dāng)?shù)囊粋€或多個數(shù)字身份表示。一般而言,當(dāng)用戶已經(jīng)與所需身份提供者建立信任關(guān)系時,上述聯(lián)合系統(tǒng)往往工 作良好。然而,在一些情況下,用戶可遇到接受來自用戶(或客戶機系統(tǒng))尚未與其建立信 任關(guān)系的身份提供者的令牌的依賴方。盡管用戶可經(jīng)歷與特定的身份提供者建立關(guān)系的過 程,但用戶仍需要能夠標(biāo)識身份提供者的姓名和位置。然而,提供有關(guān)身份提供者的名稱和 位置的信息可涉及多個安全風(fēng)險。例如,如果建立上述場景以便依賴方自動將客戶機系統(tǒng)定向到特定的身份提供 者,則用戶會冒“網(wǎng)絡(luò)釣魚”攻擊的風(fēng)險。特別地,用戶相信其為合法的惡意依賴方可自動 將用戶定向到惡意身份提供者。當(dāng)用戶試圖與惡意身份提供者建立身份表示時,該身份提 供者可簡單地竊取該用戶的身份并且利用該用戶。該身份提供者甚至可提供用于訪問該惡 意依賴方的令牌,并且由此保持出現(xiàn)一段延長的時間。甚至對于合法的依賴方,當(dāng)依賴方提供對應(yīng)于數(shù)字身份表示供應(yīng)服務(wù)的確切端點 時,用戶(和/或依賴方)也可存在一些風(fēng)險??梢岳斫?,隨著越來越多的實體朝著提供安 全在線交易服務(wù)發(fā)展時,這些問題往往只會增加。因此,對于聯(lián)合系統(tǒng),有許多可以解決的 困難。簡要概述本發(fā)明的實現(xiàn)用被配置成在獲得用于依賴方的令牌之前提供數(shù)字身份表示供應(yīng) 服務(wù)的獨立的用戶/客戶機驗證的系統(tǒng)、方法和計算機程序產(chǎn)品解決了本領(lǐng)域中的一個或 多個問題。在至少一個實現(xiàn)中,例如,響應(yīng)于對依賴方處的服務(wù)的請求,客戶機接收有關(guān)依 賴方信任的一個或多個身份提供者的元數(shù)據(jù)??蛻魴C隨后獨立地解析該元數(shù)據(jù),以標(biāo)識該 身份提供者所提供的數(shù)字身份供應(yīng)服務(wù),并且確定該客戶機是否可信任該供應(yīng)服務(wù)。如果 可信,則該客戶機可隨后通過該供應(yīng)服務(wù)與相應(yīng)的身份提供者建立數(shù)字身份表示,并且獲 得用于依賴方的一個或多個令牌。例如,從客戶計算機系統(tǒng)的觀點來看,一種獲得數(shù)字身份表示和/或安全令牌的 方法可涉及聯(lián)系依賴方以訪問依賴方處的一個或多個服務(wù)。該方法還可涉及從該依賴方接 收一個或多個策略文件。在這種情況下,該一個或多個策略文件包括標(biāo)識與一組一個或多 個可信身份提供者相對應(yīng)的通用名稱的信息。另外,該方法可涉及自動解析所標(biāo)識的通用 名稱,來獲得對應(yīng)于可信身份提供者中的一個的一個或多個網(wǎng)絡(luò)端點。此外,該方法可涉及 在認(rèn)證該一個或多個網(wǎng)絡(luò)端點之后,聯(lián)系該所解析的身份提供者以獲得在獲得一個或多個 安全令牌時使用的一個或多個數(shù)字身份表示。另外,從身份提供者的觀點來看,一種向客戶機提供一個或多個數(shù)字身份表示和/或一個或多個安全令牌的方法可涉及在身份提供者處接收一個或多個來自客戶機的對一 個或多個數(shù)字身份表示供應(yīng)服務(wù)的請求。該方法也可涉及向該客戶機提供標(biāo)識由該身份提 供者所提供的一個或多個數(shù)字身份供應(yīng)服務(wù)的信息。另外,該方法可涉及認(rèn)證從該客戶機 接收的一個或多個數(shù)字身份表示。在這種情況下,該身份提供者確定所接收的一個或多個 數(shù)字身份表示是有效的。此外,該方法可涉及提供與所認(rèn)證的一個或多個數(shù)字身份表示相 對應(yīng)的一個或多個安全令牌。提供本概述以便以簡化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本 概述不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要 求保護(hù)的主題的范圍。本發(fā)明的其他特征和優(yōu)點將在隨后的描述中闡述,并且部分地將從本說明書中顯 而易見,或可以通過本發(fā)明的實施來獲知。本發(fā)明的特征和優(yōu)點可通過在所附權(quán)利要求書 中特別指出的工具和組合來實現(xiàn)和獲得。本發(fā)明的這些和其他特征將通過以下描述和所附 權(quán)利要求書變得更加顯而易見,或可通過對下文中所述的本發(fā)明的實踐來領(lǐng)會。附圖簡述為了描述可以獲得本發(fā)明的上文所列舉的及其他優(yōu)點和特征的方式,將通過參考 附圖中所示的本發(fā)明的各具體實施例來呈現(xiàn)上文簡要描述的本發(fā)明的更具體的描述??梢?理解,這些附圖只描繪了本發(fā)明的各典型實施例,并且因此不被認(rèn)為是對其范圍的限制,將 通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋本發(fā)明,在附圖中圖IA示出其中客戶機解析來自依賴方的一個或多個策略以標(biāo)識適當(dāng)?shù)纳矸萏峁?者的聯(lián)合身份系統(tǒng)的概要示意圖;圖IB示出其中客戶機聯(lián)系身份提供者所涉及的數(shù)字身份表示供應(yīng)服務(wù),并使用 該服務(wù)以獲得數(shù)字身份表示的概要示意圖;圖2示出圖IA和IB中所示的系統(tǒng)的示意圖,其中客戶機使用圖IB中的供應(yīng)服務(wù) 所提供的數(shù)字身份表示以獲得客戶機隨后用于訪問依賴方處的服務(wù)的令牌;圖3示出從客戶機的觀點來看的用于從可信端點獲得數(shù)字身份表示的方法的一 個或多個動作的流程圖;以及圖4示出從身份提供者的觀點來看的用于在認(rèn)證新提供的數(shù)字身份表示之后為 客戶機提供令牌的方法的流程圖。詳細(xì)描述本發(fā)明的實現(xiàn)涉及被配置成在獲得用于依賴方的令牌之前提供數(shù)字身份表示供 應(yīng)服務(wù)的獨立的用戶/客戶機驗證的系統(tǒng)、方法和計算機程序產(chǎn)品。在至少一個實現(xiàn)中,例 如,響應(yīng)于對依賴方處的服務(wù)請求,客戶機接收有關(guān)依賴方所信任的一個或多個身份提供 者的元數(shù)據(jù)??蛻魴C隨后獨立地解析該元數(shù)據(jù),以標(biāo)識該身份提供者所提供的數(shù)字身份供 應(yīng)服務(wù),并且確定該客戶機是否可信任該供應(yīng)服務(wù)。如果可信任,則該客戶機可隨后通過 該供應(yīng)服務(wù)與相應(yīng)的身份提供者建立數(shù)字身份表示,并且獲得用于依賴方的一個或多個令 牌。因此,并且如此處將更加全面地理解的,本發(fā)明的實現(xiàn)提供身份提供者可用于發(fā) 布服務(wù)的位置的一個或多個機制,該服務(wù)可發(fā)放數(shù)字身份表示(即DIR,也被稱為“信息 卡”)。本發(fā)明的實現(xiàn)還提供身份提供者可用于發(fā)布替換信息的一個或多個機制,該替換信息允許用戶在獲得WR之前與身份提供者建立關(guān)系。另外,本發(fā)明的實現(xiàn)還提供身份選擇 器(例如,客戶機系統(tǒng)上的組件或應(yīng)用程序)可用于查明用于特定的身份提供者的WR是 否可用,并且將信息呈現(xiàn)給用戶以幫助他們獲得其DIR的一個或多個機制。一般而言,本發(fā)明的這些和其他方面可在至少一個實現(xiàn)中使用根據(jù) WS-FEDERATION(WS聯(lián)盟)規(guī)范來配置的元數(shù)據(jù)元素來實現(xiàn)。在至少一個實現(xiàn)中,例如,身份 提供者和依賴方兩者均可使用用戶可用于獨立地驗證特定端點的各種元數(shù)據(jù)元素來將用 戶定向到各種端點。例如,某些元數(shù)據(jù)元素可描述發(fā)放服務(wù)的DIR的實際位置,用戶需要去 往該實際位置以獲得該卡。某些元數(shù)據(jù)元素還可描述發(fā)放卡的安全要求。另外,在下載數(shù) 字身份表示(即,DIR)之前需要用戶與發(fā)放者/身份提供者的關(guān)系的情況下,萬一用戶沒 有這一關(guān)系,元數(shù)據(jù)元素可向用戶指示去往哪里。這些元數(shù)據(jù)元素進(jìn)而允許用戶的客戶機 身份選擇器結(jié)合此處描述的一個或多個附加組件來找出或建立用戶所需要的DIR,并且隨 后獲得相關(guān)安全令牌。圖IA示出根據(jù)本發(fā)明一實現(xiàn)的聯(lián)合身份供應(yīng)系統(tǒng)100。如圖所示,聯(lián)合身份供應(yīng) 系統(tǒng)100至少包括客戶機105,以及客戶機105 (即,代表用戶)向其請求對特定服務(wù)的訪問 的一個或多個依賴方120 (a、b等)。例如,依賴方120是提供各種賬戶或購物功能的在線 銀行或在線商店。圖IA還示出每個依賴方120(a、b等)包括確定模塊140(a、b等)以及 可信身份提供者列表125 (a、b等)。這些模塊和列表中的每一個將在下面更全面地討論。另外,圖IA示出聯(lián)合身份供應(yīng)系統(tǒng)100包括一個或多個身份提供者110(a、b等), 每一個身份提供者110也有其自己的確定模塊145 (a、b等)以及對應(yīng)的一個或多個數(shù)字身 份供應(yīng)服務(wù)150 (a、b等)。如此處更全面地理解的,該一個或多個身份提供者110使用一 個或多個“安全令牌”(例如,210,圖2)向依賴方驗證用戶/客戶機的身份。一般而言,安 全令牌以依賴方120與可信身份提供者110互相達(dá)成協(xié)定的格式/配置來提供各種有關(guān)用 戶的聲明。例如,銀行或在線商店形式的依賴方120在向客戶機105提供所請求的服務(wù)之 前需要對用戶/客戶機105的憑證進(jìn)行獨立的驗證;可信的身份提供者110進(jìn)而通過一個 或多個安全令牌提供此驗證,該安全令牌包括用于驗證用戶的憑證的期望的數(shù)據(jù)。然而,客戶機105不能簡單地向所指示的身份提供者110請求安全令牌。相反,客 戶機105需要與身份提供者110建立信任關(guān)系。此外,客戶機105不能簡單地出于與任何 特定依賴方120進(jìn)行交互的目的來獲得與任何給定的身份提供者110的信任關(guān)系。相反, 客戶機105需要獲得與特定的身份提供者110的信任關(guān)系,該特定的身份提供者110也是 客戶機向其請求服務(wù)的特定依賴方120所信任的。即,不是每個依賴方120都具有與每個 身份提供者110的信任關(guān)系,反之亦然。例如,圖IA示出依賴方120a維護(hù)可信身份提供 者100的列表125a,在這種情況下該列表12 包括身份提供者110a,但不包括身份提供者 110b。類似地,圖IA示出依賴方120b維護(hù)可信身份提供者100的列表12 ,在這種情況下 該列表12 包括身份提供者110b,但不包括身份提供者110a。一般而言,客戶機(代表用戶)與給定的身份提供者的信任關(guān)系在上述數(shù)字身份 表示,即DIR(113)中表明??蛻魴C進(jìn)而使用特定的DIR 113(a、b等)以獲得與特定的身份 提供者110的安全令牌,該安全令牌最終用于信任該特定的身份提供者的一個或多個依賴 方處的服務(wù)。由此,例如,圖IA示出客戶機105維護(hù)WR存儲107,在這種情況下該WR存 儲107包括身份提供者IlOb的DIR 113a,其用于依賴方120b的服務(wù),因為僅僅依賴方120b而非依賴方120a信任身份提供者110a。因此,可以理解,任何給定DIR 113可用于多個不 同的依賴方120。另外,盡管客戶機105可維護(hù)存儲107中任何數(shù)量的WR113,但出于簡明的目的, 圖IA示出客戶機105僅僅具有單個DIR113a。在該示例中,所示IHR113a允許客戶機105 從身份提供者IlOb獲得安全令牌,以用于依賴方120b。相反,圖IA還示出客戶機105不具 有對應(yīng)于身份提供者110a,和/或用于依賴方120a處的服務(wù)的DIR。因此,如圖IA所示,當(dāng)客戶機105試圖(例如,通過消息155)訪問依賴方120a 的服務(wù)時,依賴方120a最終將客戶機105定向到客戶機105尚未與其建立關(guān)系(即,沒有 DIR113)的身份提供者(即,110a)。例如,圖IA示出響應(yīng)于消息155,依賴方120a(例如, 經(jīng)由確定模塊140a)確定客戶機105仍需要呈現(xiàn)安全令牌以訪問服務(wù)。由此,圖IA示出依 賴方120a用一個或多個策略160來響應(yīng)??梢岳斫?,依賴方120a可以用任何數(shù)量的方式來提供一個或多個策略160。例如, 依賴方120a可發(fā)布包含有關(guān)適當(dāng)?shù)牧钆瓢l(fā)放者(S卩,身份提供者)的信息的一個或多個文 檔??蛻魴C105隨后可審閱所發(fā)布的文檔來獲得相關(guān)的信息。在附加或替換實現(xiàn)中,依賴 方120a用關(guān)于可信身份提供者110的名稱的特定信息來響應(yīng)。依賴方120a所提供的信息/策略160進(jìn)而可包括任何數(shù)量或類型的信息。如上 所述,例如,策略160可包括關(guān)于對應(yīng)于特定身份提供者110的網(wǎng)絡(luò)端點的各種元數(shù)據(jù)元素 (例如,根據(jù)WS-FEDERATI0N規(guī)范)。在附加或替換實現(xiàn)中,該一個或多個元數(shù)據(jù)元素包括 或以其他方式指示一個或多個通用域名,客戶機105需要進(jìn)一步解析該通用域名以確定適 當(dāng)?shù)亩它c。例如,一個或多個策略160可包括諸如“使用來自BANK, com的身份提供者”的 信息。在這種情況下,客戶機需要解析BANK, com以標(biāo)識一個或多個身份提供者110,并且從 其中獲得安全令牌。因此,圖IA示出客戶機105經(jīng)由服務(wù)請求者130處理有關(guān)適當(dāng)?shù)纳矸萏峁┱?10 的信息160,該服務(wù)請求者130通過身份選擇器135比較所接收的信息160。具體而言,圖IA 示出服務(wù)請求者130將一個或多個消息165發(fā)送到身份選擇器135,以查詢是否有對應(yīng)于身 份提供者IlOa的用于依賴方120a的DIR(即,在存儲107中)。在這種情況下,圖IA示出 身份選擇器135用一個或多個消息165來響應(yīng),這些消息指示沒有這樣的DIR,或以其他方 式指示需要建立用于身份提供者IlOa的DIR。在附加或替換實現(xiàn)中,身份選擇器135進(jìn)一 步向用戶呈現(xiàn)一個或多個界面,并且允許用戶選擇選擇適當(dāng)?shù)腄IR 113用于依賴方120a, 或如果需要,以其他方式呈現(xiàn)去獲得新的DIR 113的選項。在所示情況中,圖IA示出指示服務(wù)請求者130找出身份提供者IlOa(并與身份提 供者IlOa進(jìn)行通信)以獲得適當(dāng)?shù)腄IR 113。圖IA還示出有關(guān)身份提供者IlOa的信息 160需要進(jìn)一步的解析,因為其沒有表示出精確的網(wǎng)絡(luò)端點。因此,圖IA示出服務(wù)請求者 130用一個或多個消息175與一個或多個域名解析服務(wù)115聯(lián)系。在附加或替換實現(xiàn)中,服 務(wù)請求者130聯(lián)系一個或多個其他代理或服務(wù),這些代理或服務(wù)進(jìn)而用消息175聯(lián)系網(wǎng)絡(luò) 解析服務(wù)115。在任一情況下,圖IA示出客戶機105最終接收具有所解析的信息180的一 個或多個消息180,在這種情況下該信息包括對應(yīng)于身份提供者IlOa的特定的網(wǎng)絡(luò)端點。當(dāng)然,可以理解,網(wǎng)絡(luò)解析服務(wù)115可另外地或另選地用其他服務(wù)或代理的一個 或多個其他域名來響應(yīng)。該響應(yīng)可能需要服務(wù)請求者130更進(jìn)一步聯(lián)系其他實體以在獲得對應(yīng)于身份提供者IlOa的端點之前獲得附加的信息/解析。例如,響應(yīng)180可包括潛在地 對應(yīng)于身份提供者IlOa的名稱的身份提供者的列表。服務(wù)請求者130隨后可在繼續(xù)的基 礎(chǔ)上聯(lián)系該列表中的任何或全部所標(biāo)識的身份提供者,直到標(biāo)識了對應(yīng)于依賴方120a所 指示的身份提供者IlOa的適當(dāng)且特定的網(wǎng)絡(luò)端點。無論如何進(jìn)行,值得注意的是,客戶機 105 (例如,代表用戶)在沒有來自依賴方120a的具體指示的情況下獨立地確定或解析網(wǎng)絡(luò) 端點。在任何情況下,在經(jīng)由消息180接收到端點之后,圖IA示出服務(wù)請求者130將一 個或多個消息185發(fā)送到身份提供者110a(即,與其對應(yīng)的所解析的端點),以獲得有關(guān)其 WR供應(yīng)服務(wù)的信息。如果客戶機105具有先前建立的信任關(guān)系,并且已經(jīng)具有適當(dāng)?shù)腄IR 113,則客戶機105可隨后使用該DIR(例如,經(jīng)由消息200,圖2)來請求用于依賴方120a的 適當(dāng)?shù)陌踩钆?210,圖2)。由于在這種情況下,客戶機105沒有身份提供者IlOa的DIR, 客戶機105由此要求適當(dāng)?shù)腤R供應(yīng)服務(wù)的位置。作為響應(yīng),圖IA示出身份提供者IlOa發(fā)送一般標(biāo)識數(shù)字身份表示供應(yīng)服務(wù) 150a (S卩,“ WR供應(yīng)服務(wù)”)的一個或多個消息190。如同策略160—樣,該一個或多個消息 190也可包括所發(fā)布的文檔,該所發(fā)布的文檔包括具有一個或多個特定網(wǎng)絡(luò)端點的元數(shù)據(jù) 元素。然而,在附加或替換實現(xiàn)中,消息190中的信息可包括可解析的域名,服務(wù)請求者130 必須在一個或多個附加步驟中(例如,經(jīng)由解析服務(wù)115)解析該域名以標(biāo)識對應(yīng)于WR供 應(yīng)服務(wù)150的網(wǎng)絡(luò)端點。在任一情況下,在標(biāo)識了對應(yīng)于WR供應(yīng)服務(wù)150(即,150a)的正 確的網(wǎng)絡(luò)端點之后,客戶機105隨后試圖獲得DIR 113。例如,圖IB示出服務(wù)請求者130將一個或多個消息193發(fā)送到所標(biāo)識的數(shù)字身份 供應(yīng)服務(wù)150a,請求用于諸如依賴方120a等依賴方的一個或多個DIR113。一般而言,這不 僅可包括發(fā)起/創(chuàng)建DIR 113的一般請求,而且可包括一系列請求和響應(yīng)(S卩,多個不同消 息)以建立和獲得該DIR 113。例如,WR供應(yīng)服務(wù)150a可(通過客戶機10 請求有關(guān)用 戶的個人信息,并且用戶經(jīng)由客戶機105可能需要提供若干對應(yīng)的響應(yīng)。該請求可包括與 信用卡信息、駕駛執(zhí)照信息、社會保險卡信息、以及可用于以某種方式個體地標(biāo)識用戶的其 他基于質(zhì)詢的信息有關(guān)的信息。在確認(rèn)了(由服務(wù)請求者130所提供的)用戶的信息/憑 證之后,WR供應(yīng)服務(wù)150a可隨后用適當(dāng)?shù)腄IR 113來響應(yīng)。例如,圖IB示出WR供應(yīng)服 務(wù)150a向客戶機105發(fā)送一個或多個消息195,該消息195關(guān)于與身份提供者IlOa相關(guān)的 新創(chuàng)建的DIR 113b,在這種情況下,客戶機可將該新創(chuàng)建的DIR 11 用于依賴方120a。如圖2所示,客戶機105將該新的DIR 11 存儲在其WR存儲107中。另外,客戶 機105可隨后使用該新的DIR 113b來獲得一個或多個安全令牌210,以訪問依賴方120a的 服務(wù)。如圖2所示,例如,客戶機(S卩,經(jīng)由服務(wù)請求者130)將一個或多個新消息200發(fā)送 到身份提供者110a。在這種情況下,該一個或多個消息200包括對應(yīng)于新創(chuàng)建的DIR 113b 的信息,以及對訪問依賴方120a處的服務(wù)的一個或多個安全令牌的請求。作為響應(yīng),身份提供者IOOa處的確定模塊150a隨后確認(rèn)所提供的DIR113b。例 如,身份提供者IlOa處的確定模塊145確定新的DIR 11 對應(yīng)于基于消息190中一個或多 個元數(shù)據(jù)元素的WR供應(yīng)服務(wù)150(或由其創(chuàng)建)。由此,由于DIR 11 已被認(rèn)證或確認(rèn), 圖2示出身份提供者IlOa用一個或多個對應(yīng)的安全令牌210來響應(yīng)。具體而言,圖2示出 身份提供者IlOa將一個或多個安全令牌210直接發(fā)送給客戶機105,隨之客戶機105在一
10個或多個對應(yīng)的消息220中將該一個或多個安全令牌210提供給依賴方120a。當(dāng)然,可以 理解,身份提供者1 IOa可另外地或另選地將該一個或多個安全令牌210直接發(fā)送給依賴方 120a。另外,圖2示出依賴方120a通過確定模塊140處理在一個或多個消息220中所接 收的安全令牌210。例如,確定模塊140a處理該安全令牌210以確定其是否符合先前所提 供的信息160(
圖1)中的一個或多個數(shù)據(jù)元素。在一個實現(xiàn)中,這包括依賴方120a確定所 接收的安全令牌210是來自可信身份提供者(例如,IlOa),并且該安全令牌210包括用于 驗證正請求服務(wù)的用戶的期望的數(shù)據(jù)。在標(biāo)識了安全令牌210是有效的之后,和/或(結(jié) 合安全令牌210)標(biāo)識了由客戶機105所提供的用戶數(shù)據(jù)是經(jīng)驗證的之后,依賴方120a可 隨后授予對所請求的服務(wù)的訪問權(quán)。例如,圖2示出依賴方120a將一個或多個消息230發(fā) 回客戶機105,這允許客戶機105訪問所請求的服務(wù)。因此,圖IA至圖2提供了用于使客戶機105能對信息進(jìn)行安全解析的一個或多個 機制。具體而言,圖IA到圖2以及對應(yīng)的文本提供用于確??蛻魴C105能可靠且安全地獲 得與身份提供者的信任關(guān)系的多個組件和機制。在至少一個實現(xiàn)中,這些組件和機制涉及 客戶機的獨立解析和動作的級別,這可避免多個安全性違背,諸如那些例如與常規(guī)網(wǎng)絡(luò)釣 魚攻擊相關(guān)聯(lián)的安全性違背。除了上述內(nèi)容之外,本發(fā)明的各實現(xiàn)還可以按照包括用于實現(xiàn)特定結(jié)果的一個或 多個動作的方法來描述。例如,圖3示出從客戶機105的觀點來看的用于解析來自依賴方 的信息以從諸如身份提供者110等可信端點獲得數(shù)字身份表示的流程圖。另外,圖4示出 從身份提供者110的觀點來看的用于認(rèn)證數(shù)字身份表示以及向客戶機提供對應(yīng)的安全令 牌的流程圖。下面將結(jié)合各組件和示圖1A、1B、2來更全面地描述圖3和4的動作。例如,圖3示出從客戶機105的觀點來看的方法可以包括聯(lián)系依賴方(RP)以獲得 服務(wù)的動作300。動作300包括聯(lián)系依賴方以訪問依賴方處的一個或多個服務(wù)。例如,圖 IA示出客戶機105將一個或多個消息155發(fā)送到依賴方120a,這些消息請求訪問依賴方處 120a的一個或多個服務(wù)。圖3還示出從客戶機105的觀點來看的方法可包括接收有關(guān)可信身份提供者(IP) 的信息的動作310。動作310包括從依賴方接收一個或多個策略文件,其中該一個或多個 策略文件包括標(biāo)識對應(yīng)于一組一個或多個可信身份提供者的通用名稱的信息。例如,圖IA 示出由于客戶機105不具有與依賴方120建立的關(guān)系,因此依賴方將一個或多個消息160 發(fā)回客戶機105。在這一特定情況下,該一個或多個消息160包括指示有關(guān)可信身份提供 者IlOa的通用信息的信息。如此處更全面地理解的,該信息160可包括對應(yīng)于身份提供者 IlOa的特定的網(wǎng)絡(luò)端點。當(dāng)然,該信息160還可以或另選地包括身份提供者IlOa的通用域 名,或者可聯(lián)系以標(biāo)識身份提供者IlOa的網(wǎng)絡(luò)地址的另一個服務(wù)110a。另外,圖3示出從客戶機105的觀點來看的方法可包括將身份提供者的名稱解析 到可信網(wǎng)絡(luò)端點的動作320。動作320包括自動解析該通用名稱來獲得對應(yīng)于可信身份提 供者中的一個的一個或多個網(wǎng)絡(luò)端點。例如,客戶機105處的服務(wù)請求者130自動將一個 或多個消息175發(fā)送到網(wǎng)絡(luò)解析服務(wù)115,并且請求解析信息160中找出的通用名稱。進(jìn) 而,服務(wù)請求者130接收一個或多個消息180,該消息180將最初提供的對應(yīng)于身份提供者 IlOa的通用名稱解析到一個或多個特定的網(wǎng)絡(luò)端點?;蛘撸?wù)請求者130自動聯(lián)系信息160中找出的特定的網(wǎng)絡(luò)端點,并且要求該網(wǎng)絡(luò)端點處的實體提供適當(dāng)?shù)纳矸萏峁┱?10 的位置。例如,圖3示出從客戶機105的觀點來看的方法可包括通過可信網(wǎng)絡(luò)端點來獲得 數(shù)字身份表示的動作330。動作330包括在認(rèn)證了該一個或多個網(wǎng)絡(luò)端點之后聯(lián)系該所解 析的身份提供者,以獲得在獲得一個或多個安全令牌時使用的一個或多個數(shù)字身份表示。 例如,圖IA和IB示出身份提供者IlOa將一個或多個消息190發(fā)回客戶機105。該一個或 多個消息190進(jìn)而可包括指示對應(yīng)于WR供應(yīng)服務(wù)(例如,150a)的一個或多個端點的一個 或多個元數(shù)據(jù)元素(例如,根據(jù)WS-FEDERATI0N標(biāo)準(zhǔn))。類似地,該一個或多個消息190可 包括需要進(jìn)一步被解析到對應(yīng)于WR供應(yīng)服務(wù)(例如,150a)的一個或多個端點的一個或多 個元數(shù)據(jù)元素。在任一情況下,服務(wù)請求者130隨后使用消息190中的信息來最終聯(lián)系適 當(dāng)?shù)腤R供應(yīng)服務(wù)(例如,150a),并且獲得數(shù)字身份表示(例如,110b)。除上述之外,圖4示出從身份提供者110的觀點來看的方法可包括接收對有關(guān)DIR 供應(yīng)服務(wù)的信息的客戶機請求的動作400。動作400包括在身份提供者處接收來自客戶機 的對一個或多個WR供應(yīng)服務(wù)的一個或多個請求,該一個或多個WR供應(yīng)服務(wù)用于建立可 隨后用于獲得可向依賴方驗證用戶的一個或多個安全令牌的一個或多個DIR。如上所述,例 如,圖IA示出身份提供者IlOa接收來自客戶機105的對DIR供應(yīng)服務(wù)信息的一個或多個 請求185,作為最終獲得一個或多個安全令牌的努力的一部分。圖4還示出從身份提供者110的觀點來看的方法可包括提供關(guān)于數(shù)字身份表示供 應(yīng)服務(wù)的信息的動作410。動作410包括向該客戶機提供標(biāo)識該身份提供者所信任的的一 個或多個數(shù)字身份供應(yīng)服務(wù)的信息。例如,如上所述,圖IA示出響應(yīng)于請求185,身份提供 者IlOa經(jīng)由一個或多個消息190來提供信息。在至少一個實現(xiàn)中,該一個或多個消息190 包括發(fā)布的安全文檔,或其中包含的信息的至少一部分。該信息可包括DIR供應(yīng)服務(wù)150a 的域名(可能需要經(jīng)由網(wǎng)絡(luò)解析服務(wù)115進(jìn)行進(jìn)一步的解析),或僅僅是對應(yīng)于服務(wù)150a 的特定的網(wǎng)絡(luò)端點。另外,圖4示出從身份提供者110的觀點來看的方法包括認(rèn)證客戶機所提供的數(shù) 字身份表示的動作420。動作420包括認(rèn)證從客戶機接收的一個或多個數(shù)字身份表示,其 中,身份提供者確定所接收的一個或多個數(shù)字身份表示是有效的。例如,如圖2所示,身份 提供者110a(例如,經(jīng)由確定模塊145a)評估消息200中由客戶機105所提供的DIR 113b。 具體地,身份提供者IlOa確定DIR 11 是由先前在一個或多個消息190中所引用的WR 供應(yīng)服務(wù)150a所創(chuàng)建并提供的。由此,身份提供者IlOa確認(rèn)經(jīng)由消息200提供DIR 113b 的客戶機105就是經(jīng)由消息180請求DIR供應(yīng)服務(wù)的相同的客戶機105。此外,圖4示出從身份提供者110的觀點來看的方法可包括將安全令牌提供給客 戶機的動作430。動作430包括提供與所認(rèn)證的一個或多個數(shù)字身份表示相對應(yīng)的一個或 多個安全令牌。例如,圖2示出在確認(rèn)消息200中的數(shù)字身份表示11 之后,身份提供者 IlOa將一個或多個安全令牌210發(fā)回客戶機105??蛻魴C105可隨后使用所提供的安全令 牌210來向依賴方120a驗證請求用戶的身份。因此,本發(fā)明的實現(xiàn)提供用于可靠、安全并且高效地向客戶機提供對適當(dāng)?shù)陌踩?令牌的訪問權(quán)的多個不同的組件和機制。如此處所討論的,例如,這些機制可包括客戶機的 身份選擇器用于確定特定身份提供者的WR是否可用的手段,以及如果不可用則幫助用戶
12獲得適當(dāng)?shù)腄IR的方式。這些機制還可以使身份提供者能夠(例如,經(jīng)由發(fā)布物或以其他 方式)將各種元數(shù)據(jù)元素提供給用戶,其中該元數(shù)據(jù)元素指示可發(fā)放適當(dāng)?shù)腄IR的WR供 應(yīng)服務(wù)的位置。如本文先前所提到的,該信息(例如,以元數(shù)據(jù)元素的形式)可以按使各種 端點的用戶能夠獨立解析的方式來發(fā)布,由此增強了整個聯(lián)合系統(tǒng)的安全性。本發(fā)明的各實施例可以包括其中包含各種計算機硬件的專用或通用計算機,如下 面更詳細(xì)地討論的。本發(fā)明的范圍內(nèi)的實施例也包括用于承載或其上存儲有計算機可執(zhí)行 指令或數(shù)據(jù)結(jié)構(gòu)的計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C 訪問的任何可用介質(zhì)。作為示例而非限制,這樣的計算機可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或 其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備,或可以用來攜帶或存儲計算機可執(zhí)行指令或 數(shù)據(jù)結(jié)構(gòu)的形式的所需程序代碼裝置并可由通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)。當(dāng)信 息通過網(wǎng)絡(luò)或另一通信連接(硬連線、無線、或硬連線或無線的組合)傳輸或提供給計算機 時,計算機將該連接完全視為計算機可讀介質(zhì)。因此,任何這樣的連接被適當(dāng)?shù)胤Q為計算機 可讀介質(zhì)。上述的組合也應(yīng)被包括在計算機可讀介質(zhì)的范圍內(nèi)。計算機可執(zhí)行指令包括,例如使通用計算機、專用計算機、或?qū)S锰幚碓O(shè)備執(zhí)行某 一功能或某組功能的指令和數(shù)據(jù)。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主 題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述具體特征或動作。相反,上文 所描述的具體特征和動作是作為實現(xiàn)權(quán)利要求的示例形式來公開的。本發(fā)明可被具體化為其他具體形式而不背離其精神或本質(zhì)特征。所描述的實施例 在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書 而不是由前面的描述指出。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán) 利要求書的范圍所涵蓋。
權(quán)利要求
1.一種在聯(lián)合計算機化系統(tǒng)(100)中的客戶機計算機(10 處的方法,所述聯(lián)合計算 機化系統(tǒng)具有所述客戶機、一個或多個身份提供者(Iio)以及一個或多個依賴方(120),所 述方法是所述客戶機獨立地解析身份提供者的位置從而獲得可由所述客戶機用于訪問依 賴方處的一個或多個服務(wù)的安全令牌,所述方法包括以下動作聯(lián)系(300)依賴方(120)以訪問所述依賴方處的一個或多個服務(wù);從所述依賴方接收(310) —個或多個策略文件,其中所述一個或多個策略文件包括標(biāo) 識對應(yīng)于一組一個或多個可信身份提供者的通用名稱的信息(160)自動解析(320)所標(biāo)識的通用名稱,以獲得對應(yīng)于所述可信身份提供者(110)中的一 個的一個或多個網(wǎng)絡(luò)端點;在認(rèn)證了所述一個或多個網(wǎng)絡(luò)端點之后,聯(lián)系(330)所解析的那個身份提供者(110), 以獲得在獲得一個或多個安全令牌O10)時使用的一個或多個數(shù)字身份表示(113)。
2.如權(quán)利要求1所述的方法,其特征在于,所述通用名稱包括對應(yīng)于一個所述可信身 份提供者(IlOa)的網(wǎng)絡(luò)端點。
3.如權(quán)利要求1所述的方法,其特征在于,所述通用名稱包括對應(yīng)于一個所述可信身 份提供者(IlOa)的域名。
4.如權(quán)利要求3所述的方法,其特征在于,所述自動解析所標(biāo)識的通用名稱的動作 (320)進(jìn)一步包括向解析服務(wù)(11 發(fā)送一個或多個請求(175)的動作。
5.如權(quán)利要求3所述的方法,其特征在于,所述聯(lián)系所解析的身份提供者的動作(330) 還包括以下動作向所解析的身份提供者(IlOa)發(fā)送一個或多個請求(185)以獲得有關(guān)任何可用的數(shù) 字身份表示供應(yīng)服務(wù)的信息;以及接收包括有關(guān)用于所解析的身份提供者(110)的數(shù)字身份表示供應(yīng)服務(wù)(150a)的信 息的一個或多個消息(190)。
6.如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括,其中在一個或多個策略文件中 的信息(160)和在一個或多個消息(190)中從身份提供者(IlOa)接收的信息中的一個或 兩者包括一個或多個元數(shù)據(jù)元素。
7.如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括向解析服務(wù)(11 發(fā)送一個或多 個附加消息的動作,其中,所述一個或多個附加消息請求對從所解析的身份提供者(IlOa) 接收的一個或多個消息(190)中的信息進(jìn)行解析。
8.如權(quán)利要求5所述的方法,其特征在于,還包括以下動作標(biāo)識對應(yīng)于所述數(shù)字身份表示供應(yīng)服務(wù)(150a)的網(wǎng)絡(luò)端點;以及客戶機(10 將一個或多個消息(19 發(fā)送到所述數(shù)字身份表示供應(yīng)服務(wù)(150a)以 獲得數(shù)字身份表示(113)。
9.如權(quán)利要求8所述的方法,其特征在于,還包括從所述供應(yīng)服務(wù)(150a)接收一個或 多個數(shù)字身份表示(113b)以用于所解析的身份提供者(IlOa)的動作。
10.如權(quán)利要求9所述的方法,其特征在于,還包括以下動作所述客戶機(10 將包括對應(yīng)于所接收的數(shù)字身份表示(113b)的信息的一個或多個 附加消息(200)發(fā)送到所解析的身份提供者(IlOa);以及從所解析的身份提供者(IlOa)接收包括所述一個或多個安全令牌O10)的一個或多個消息。
11.如權(quán)利要求10所述的方法,其特征在于,還包括以下動作所述客戶機(10 將包括從所述身份提供者接收的所述一個或多個令牌(210)的一個 或多個消息(220)發(fā)送到所述依賴方(120)以及接收來自所述依賴方(120)的指示已授予對所述一個或多個服務(wù)的訪問權(quán)的一個或 多個響應(yīng)(230)。
12.—種在聯(lián)合計算機化系統(tǒng)(100)中的身份提供者(110)處的方法,所述聯(lián)合計算 機化系統(tǒng)(100)具有所述身份提供者、一個或多個客戶機(105)以及一個或多個依賴方 (120),所述方法將一個或多個數(shù)字身份表示和一個或多個安全令牌提供給對依賴方所提 供的信息進(jìn)行解析的客戶機,所述方法包括以下動作在身份提供者(110)處接收來自客戶機(10 的對一個或多個數(shù)字身份表示供應(yīng)服務(wù) 的一個或多個請求(185),所述數(shù)字身份表示供應(yīng)服務(wù)用于建立一個或多個DIR,所述一個 或多個DIR可隨后用于獲得將用于向依賴方(120)驗證用戶的一個或多個安全令牌;將標(biāo)識所述身份提供者(110)所信任的至少一個數(shù)字身份供應(yīng)服務(wù)(150)的信息 (190)提供010)給所述客戶機(105);認(rèn)證(420)從所述客戶機(10 接收的一個或多個數(shù)字身份表示(113),其中所述身份 提供者(110)確定所接收的一個或多個數(shù)字身份表示(11 是有效的;以及提供(430)與所認(rèn)證的一個或多個數(shù)字身份表示(11 相對應(yīng)的一個或多個安全令牌 (210)。
13.如權(quán)利要求12所述的方法,其特征在于,所述將信息(190)提供(410)給客戶機 (105)的動作還包括以下動作發(fā)布包括標(biāo)識所述一個或多個數(shù)字身份供應(yīng)服務(wù)(150)的信息(190)的一個或多個文 檔;以及對所述一個或多個文檔進(jìn)行數(shù)字簽名。
14.如權(quán)利要求14所述的方法,其特征在于,所述在所發(fā)布的一個或多個文檔中所提 供的信息(190)包括一個或多個元數(shù)據(jù)元素。
15.如權(quán)利要求12所述的方法,其特征在于,所述提供給客戶機(105)的信息(190)包 括與所述一個或多個數(shù)字身份供應(yīng)服務(wù)(150)相對應(yīng)的一個或多個通用名稱。
16.如權(quán)利要求16所述的方法,其特征在于,在所述客戶機(150)可訪問數(shù)字身份供應(yīng) 服務(wù)(150)之前,所述一個或多個通用名稱需要被解析到一個或多個網(wǎng)絡(luò)端點。
17.如權(quán)利要求12所述的方法,其特征在于,所述提供給客戶機(105)的信息(190)包 括與所述可信的一個或多個數(shù)字身份供應(yīng)服務(wù)(150)相對應(yīng)的一個或多個網(wǎng)絡(luò)端點。
18.如權(quán)利要求12所述的方法,其特征在于,所述認(rèn)證(410)—個或多個數(shù)字身份表示 (113)的動作進(jìn)一步包括在所述身份提供者(110)處接收來自所述客戶機(10 的對用于依賴方(120)的一個 或多個安全令牌O10)的一個或多個新的請求O00);以及在所述一個或多個新的請求O00)中標(biāo)識一個或多個有效的數(shù)字身份表示(113)。
19.如權(quán)利要求18所述的方法,其特征在于,所述認(rèn)證(410)—個或多個數(shù)字身份表 示(11 的動作進(jìn)一步包括,確定所接收的一個或多個數(shù)字身份表示(11 是從所述可信的數(shù)字身份供應(yīng)服務(wù)(150)中的一個獲得的。
20. 一種在聯(lián)合計算機化系統(tǒng)(100)中的客戶機計算機(10 處的計算機程序產(chǎn)品,所 述聯(lián)合計算機化系統(tǒng)(100)具有所述客戶機、一個或多個身份提供者(110)以及一個或多 個依賴方(120),所述計算機程序產(chǎn)品具有存儲在其上的、當(dāng)被執(zhí)行時使得所述客戶機計算 機處的一個或多個處理器執(zhí)行一種方法的計算機可執(zhí)行指令,所述方法包括 聯(lián)系(300)依賴方(120)以訪問所述依賴方處的一個或多個服務(wù); 從所述依賴方接收(310) —個或多個策略文件,其中所述一個或多個策略文件包括標(biāo) 識對應(yīng)于一組一個或多個可信身份提供者的通用名稱的信息(160);自動解析(320)所標(biāo)識的通用名稱,以獲得對應(yīng)于所述可信身份提供者(110)中的一 個的一個或多個網(wǎng)絡(luò)端點;在認(rèn)證所述一個或多個網(wǎng)絡(luò)端點之后,聯(lián)系(330)所解析的那個身份提供者(110),以 獲得在獲得一個或多個安全令牌O10)時使用的一個或多個數(shù)字身份表示(113)。
全文摘要
一種包括依賴方、身份提供者以及客戶機的聯(lián)合身份供應(yīng)系統(tǒng),該客戶機從身份提供者獲得令牌來訪問依賴方的服務(wù)。當(dāng)客戶機聯(lián)系新的依賴方時,該依賴方提供客戶機可獨立地解析和評估可信性的信息。例如,該依賴方提供通用域名地址。客戶機隨后可通過各種所認(rèn)證的步驟來解析該域名地址以標(biāo)識對應(yīng)于數(shù)字身份供應(yīng)服務(wù)的端點??蛻魴C可進(jìn)一步與供應(yīng)服務(wù)交互并對其進(jìn)行認(rèn)證(例如,要求數(shù)字簽名)來建立信任關(guān)系。一旦確定客戶機/用戶信任該供應(yīng)服務(wù),該客戶機/用戶可隨后提供信息以獲得數(shù)字身份表示??蛻魴C可隨后使用相應(yīng)的身份提供者的數(shù)字身份表示來獲得依賴方可確認(rèn)的一個或多個令牌。
文檔編號G06F21/00GK102067145SQ200980123431
公開日2011年5月18日 申請日期2009年6月2日 優(yōu)先權(quán)日2008年6月18日
發(fā)明者A·K·納恩達(dá), T·謝里夫 申請人:微軟公司