專利名稱:使用身份上下文信息,對(duì)文檔進(jìn)行數(shù)字簽名的制作方法
使用身份上下文信息,對(duì)文檔進(jìn)行數(shù)字簽名背景計(jì)算機(jī)和計(jì)算系統(tǒng)幾乎影響著現(xiàn)代生活的每一方面。計(jì)算機(jī)一般涉及工作、消遣、 保健、交通、娛樂(lè)、家務(wù)管理等等。在計(jì)算機(jī)系統(tǒng)中,常常需要在計(jì)算機(jī)系統(tǒng)之間發(fā)送數(shù)字文 檔。數(shù)字文檔可以是經(jīng)過(guò)數(shù)字簽名的。對(duì)文檔進(jìn)行數(shù)字簽名可以涉及隨文檔包括安全 令牌。一些安全令牌一般包括通過(guò)身份提供者關(guān)于實(shí)體的斷言。例如,令牌可包括關(guān)于與 實(shí)體相關(guān)聯(lián)的身份的屬性的斷言,其中,斷言是由受信任的身份提供者實(shí)體作出的。斷言可 以被用來(lái)確保實(shí)體與特定身份相關(guān)聯(lián)。例如,隨文檔包括的令牌可包括令牌的主體是企業(yè) 的經(jīng)理的斷言。然后,用適用于企業(yè)中的經(jīng)理的實(shí)體的信任級(jí)別來(lái)處理該包括令牌的文檔。選擇發(fā)送哪一個(gè)令牌常常是由發(fā)送文檔的用戶執(zhí)行的。不老練的用戶,以及在很 多情況下,老練的用戶,在選擇用于與文檔包括在一起的適當(dāng)令牌時(shí)可能具有困難。具體而 言,用戶實(shí)體可以與多個(gè)不同的令牌相關(guān)聯(lián),其中,每一個(gè)不同的令牌都計(jì)劃用于不同的上 下文中。例如,一個(gè)實(shí)體可以具有與它相關(guān)聯(lián)的令牌,其中,該令牌與該實(shí)體作為經(jīng)理的角 色相關(guān)聯(lián)。該實(shí)體可以具有與它相關(guān)聯(lián)的不同的令牌,其中,令牌與實(shí)體作為公司雇員的角 色相關(guān)聯(lián)。經(jīng)理令牌可以適用于一些上下文中,而在只有雇員令牌適合的其它上下文中經(jīng) 理令牌不適用。然而,簡(jiǎn)單地檢測(cè)令牌,而沒(méi)有額外的信息,可能不會(huì)提供用于確定用戶應(yīng) 該選擇哪一個(gè)令牌的足夠的信息。此處所要求保護(hù)的主題不僅限于解決任何缺點(diǎn)的實(shí)施例或只在諸如上文所描述 的那些環(huán)境的環(huán)境中操作的實(shí)施例。相反,此背景只示出了其中可以實(shí)施此處所描述的一 些實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。簡(jiǎn)要概述—個(gè)實(shí)施例包括可以在計(jì)算環(huán)境中實(shí)施的方法。該方法包括當(dāng)對(duì)文檔進(jìn)行數(shù)字簽 名時(shí)創(chuàng)建供實(shí)體使用的令牌的動(dòng)作。該方法包括訪問(wèn)實(shí)體的數(shù)字身份表示。數(shù)字身份表示 包括標(biāo)識(shí)關(guān)于實(shí)體的身份屬性和提供供實(shí)體使用的令牌的身份提供者的能力的信息。標(biāo)識(shí) “身份提供者”的能力的信息包括身份提供者的身份的指示或身份提供者可以作出什么斷 言中的至少一個(gè)。該方法還包括訪問(wèn)上下文信息。上下文信息包括有關(guān)將使用數(shù)字身份表 示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用使用這些屬性,或在哪里使用這些屬性中的一個(gè) 或多個(gè)的信息。該方法還包括從數(shù)字身份表示中的信息和上下文信息創(chuàng)建安全令牌。安全 令牌通過(guò)身份提供者作出斷言。斷言基于數(shù)字身份表示中的信息。令牌還包括涉及上下文 信息的至少一部分的信息。另一實(shí)施例包括可以在計(jì)算環(huán)境中實(shí)施的另一方法。該方法包括當(dāng)對(duì)文檔進(jìn)行數(shù) 字簽名時(shí)促進(jìn)實(shí)體選擇供使用的令牌的動(dòng)作。該方法包括訪問(wèn)安全令牌集合。每一安全令 牌都通過(guò)身份提供者作出斷言。斷言基于數(shù)字身份表示中的信息。數(shù)字身份表示包括標(biāo)識(shí) 關(guān)于實(shí)體的身份屬性和提供供實(shí)體使用的令牌的身份提供者的能力的信息。標(biāo)識(shí)“身份提 供者”的能力的信息包括身份提供者的身份的指示或身份提供者可以作出什么斷言中的至 少一個(gè)。斷言還基于涉及上下文信息的至少一部分的信息。上下文信息包括有關(guān)將使用數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用這些屬性,或在哪里使用這些屬性中的 一個(gè)或多個(gè)的信息。該方法還包括為將使用安全令牌的集合中的安全令牌中的一個(gè)簽名的 文檔確定上下文。該方法還包括判斷上下文匹配安全令牌的集合中的一個(gè)或多個(gè)安全令牌 中的上下文信息。在允許用戶選擇安全令牌的用戶界面中向用戶顯示一個(gè)或多個(gè)安全令牌 的表示。顯示包括顯示一個(gè)或多個(gè)安全令牌的表示,以便用戶可以容易地判斷安全令牌包 括匹配上下文的上下文信息。另一實(shí)施例包括可以在計(jì)算環(huán)境中實(shí)施的方法。該方法包括評(píng)估被用來(lái)對(duì)文檔進(jìn) 行簽名的文檔簽名和令牌的動(dòng)作。該方法包括接收通過(guò)令牌簽名的文檔。令牌包括上下文 屬性。上下文屬性包括涉及上下文信息的至少一部分的信息。上下文信息包括有關(guān)將使用 數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用這些屬性,或在哪里使用這些屬性中 的一個(gè)或多個(gè)的信息。令牌還包括身份屬性。身份屬性包括數(shù)字身份表示中的信息。數(shù)字 身份表示包括標(biāo)識(shí)關(guān)于實(shí)體的身份屬性和提供供實(shí)體使用的令牌的身份提供者的能力的 信息。標(biāo)識(shí)“身份提供者”的能力的信息包括身份提供者的身份的指示或身份提供者可以 作出什么斷言中的至少一個(gè)。該方法還包括通過(guò)判斷令牌中的上下文信息和令牌中的身份 信息與使用用來(lái)對(duì)文檔進(jìn)行簽名的簽名有關(guān)來(lái)判斷文檔是有效簽名的文檔。提供本概述是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概 念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助 確定所要求保護(hù)的主題的范圍。本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中敘述,且其一部分根據(jù)本描述將是顯而 易見(jiàn)的,或可通過(guò)對(duì)此處的原理的實(shí)踐來(lái)獲知。本發(fā)明的特征和優(yōu)點(diǎn)可通過(guò)在所附權(quán)利要 求書(shū)中特別指出的工具和組合來(lái)實(shí)現(xiàn)和獲得。本發(fā)明的特征將通過(guò)以下描述和所附權(quán)利要 求書(shū)變得更加顯而易見(jiàn),或可通過(guò)對(duì)下文中所述的本發(fā)明的實(shí)踐來(lái)領(lǐng)會(huì)。附圖簡(jiǎn)述為了描述可獲得本主題的上述和其它優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出 的本主題的具體實(shí)施例來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本主題的更具體描述??梢岳斫?,這些附圖 只描繪了典型實(shí)施例,并且因此不被認(rèn)為是對(duì)其范圍的限制,將通過(guò)使用附圖并利用附加 特征和細(xì)節(jié)來(lái)描述和解釋各實(shí)施例,在附圖中
圖1示出了被配置成為實(shí)體提供安全令牌的數(shù)字身份表示系統(tǒng);圖2示出了安全令牌創(chuàng)建過(guò)程,包括利用安全令牌中的上下文信息創(chuàng)建安全令 牌;圖3示出了創(chuàng)建安全令牌的方法;圖4示出了顯示安全令牌以便促進(jìn)對(duì)適當(dāng)?shù)陌踩钆频倪x擇的方法;以及圖5示出了驗(yàn)證對(duì)安全令牌的使用的方法。詳細(xì)描述一些實(shí)施例涉及創(chuàng)建和/或使用令牌,令牌除身份屬性之外,還包括涉及在哪里 使用令牌為適當(dāng)?shù)纳舷挛牡纳舷挛男畔ⅰ@?,令牌可包括通過(guò)身份提供者的斷言,其中, 斷言不僅包括涉及實(shí)體的身份的信息,而且,身份提供者作出的斷言還涉及在哪里使用令 牌為適當(dāng)?shù)囊粋€(gè)或多個(gè)上下文。位于美國(guó)華盛頓州的雷德蒙市的微軟公司傳播了有時(shí)被稱為信息卡選擇器(微軟的實(shí)例化被稱為Windows CardSpace (卡空間))的系統(tǒng)。在WindowsCardSpace系統(tǒng)中, 實(shí)體獲取一個(gè)或多個(gè)有時(shí)被稱為信息卡的數(shù)字身份表示。當(dāng)實(shí)體嘗試訪問(wèn)資源或提供文檔 時(shí),依賴方可能需要就實(shí)體作出一組主張以提供資源或信任文檔。實(shí)體可以使用數(shù)字身份 表示(有時(shí)被稱為“DIR”)以啟動(dòng)與可以斷言那些主張的身份提供者的通信。在某些情況 下,身份提供者可以由實(shí)體進(jìn)行控制,并在實(shí)體的自己的機(jī)器上運(yùn)行。在其他情況下,它可 以由第三方進(jìn)行控制。身份提供者返回包括所需的主張信息的安全令牌。此處所公開(kāi)的示例實(shí)施例一般可以涉及身份系統(tǒng),身份系統(tǒng)包括數(shù)字身份表示, 數(shù)字身份表示用于啟動(dòng)通信以便產(chǎn)生可以在實(shí)體、身份提供者以及依賴方之間交換的安全 令牌,以認(rèn)證涉及該實(shí)體的身份和/或信息。在此處的示例實(shí)施例中,實(shí)體可以是自然人、 計(jì)算機(jī)、網(wǎng)絡(luò),或任何其他實(shí)體。依賴方具有實(shí)體希望訪問(wèn)和/或獲取的商品、服務(wù)或其他 信息,和/或從實(shí)體接收文檔或其他信息。在某些示例實(shí)施例中,依賴方可以是需要安全策 略來(lái)進(jìn)入、訪問(wèn)或使用的任何資源、特權(quán)或服務(wù)。例如,依賴方可以包括下列各項(xiàng)中的一個(gè) 或多個(gè)計(jì)算機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)、數(shù)據(jù)庫(kù)、建筑物、人員、服務(wù)、公司、組織、物理位置、電子 設(shè)備或任何其他類型的資源?,F(xiàn)在參考圖1,示出了一示例數(shù)字身份表示系統(tǒng)100,包括實(shí)體110和依賴方120。 實(shí)體110擁有實(shí)體機(jī)器111或?qū)?shí)體機(jī)器111進(jìn)行控制。實(shí)體機(jī)器111包括至少由實(shí)體 110臨時(shí)控制的計(jì)算機(jī)系統(tǒng)。依賴方120還可包括計(jì)算機(jī)系統(tǒng)。系統(tǒng)100還可包括管理員 系統(tǒng)160、數(shù)據(jù)捕獲系統(tǒng)162、數(shù)字身份表示生成系統(tǒng)164、身份數(shù)據(jù)存儲(chǔ)器168,以及身份提 供者115,下面將對(duì)它們中的每一個(gè)進(jìn)行進(jìn)一步的討論,它們中的每一個(gè)都可包括計(jì)算機(jī)系 統(tǒng),或是計(jì)算機(jī)系統(tǒng)的一部分。實(shí)體110和依賴方120可以通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò),如因特網(wǎng),或通過(guò)電話的或其他 形式的有線或無(wú)線通信,相互進(jìn)行通信。在某些實(shí)施例中,實(shí)體Iio和依賴方120可以與同 一個(gè)物理計(jì)算機(jī)系統(tǒng)相關(guān)聯(lián),以便可以通過(guò)計(jì)算機(jī)總線或其他內(nèi)部計(jì)算機(jī)通信裝置進(jìn)行通 信。在示例實(shí)施例中,實(shí)體110可以向依賴方120請(qǐng)求商品、服務(wù)、信息、特權(quán)或其他訪問(wèn), 或向依賴方120提供信息。依賴方120可以在向?qū)嶓w110提供所請(qǐng)求的訪問(wèn)或從實(shí)體110 接收信息之前或同時(shí),需要對(duì)實(shí)體110的身份或信息進(jìn)行認(rèn)證。圖1還示出了示例身份提供者115。身份提供者115包括計(jì)算機(jī)系統(tǒng)。在示例實(shí) 施例中,身份提供者115包括主張轉(zhuǎn)換器130和主張管理機(jī)構(gòu)140。主張轉(zhuǎn)換器130有時(shí) 被稱為“安全令牌服務(wù)”。在示出的示例中,身份提供者115可以提供關(guān)于實(shí)體110的一個(gè) 或多個(gè)主張。主張是作出的關(guān)于實(shí)體的陳述或斷言,可能包括關(guān)于實(shí)體的屬性信息,諸如, 例如,名稱、地址、社會(huì)保障號(hào)碼、年齡、信用歷史、交易要求等等。如下面進(jìn)一步描述的,身 份提供者115可以以經(jīng)過(guò)數(shù)字簽名的安全令牌的形式向?qū)嶓w110和/或依賴方120提供主 張。在示例實(shí)施例中,身份提供者115與依賴方120存在信任關(guān)系,使得依賴方120信任來(lái) 自身份提供者115的經(jīng)過(guò)簽名的安全令牌中的主張。雖然在圖1中身份提供者115的主張轉(zhuǎn)換器130和主張管理機(jī)構(gòu)140被示為單獨(dú) 的實(shí)體,但是,在替換實(shí)施例中,主張轉(zhuǎn)換器130和主張管理機(jī)構(gòu)140可以是相同實(shí)體或不 同的實(shí)體。在某些示例實(shí)施例中,身份提供者115可以采取安全令牌服務(wù)的形式。類似地, 身份提供者115和數(shù)字身份表示生成系統(tǒng)164可以是相同的或不同的實(shí)體。此處所描述的計(jì)算機(jī)系統(tǒng)包括,但不僅限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì) 算機(jī)、大型計(jì)算機(jī)、智能卡、電話、移動(dòng)或蜂窩式通信設(shè)備、個(gè)人數(shù)據(jù)助理、包括上面的系統(tǒng) 或設(shè)備的中的任何一種的分布式計(jì)算環(huán)境等等。此處所描述的一些計(jì)算機(jī)系統(tǒng)可以包括 便攜式計(jì)算設(shè)備。便攜式計(jì)算設(shè)備可包括被設(shè)計(jì)用于在物理上由用戶攜帶的任何計(jì)算機(jī)系 統(tǒng)。每一計(jì)算機(jī)系統(tǒng)還可包括一個(gè)或多個(gè)外圍設(shè)備,包括,但不僅限于鍵盤(pán)、鼠標(biāo)、照像機(jī)、 網(wǎng)絡(luò)攝像頭、攝像機(jī)、指紋掃描儀、虹膜掃描儀、諸如監(jiān)視器之類的顯示設(shè)備、麥克風(fēng)或揚(yáng)聲
ο每一計(jì)算機(jī)系統(tǒng)都包括操作系統(tǒng),諸如(但不僅限于)來(lái)自微軟公司的WINDOWS 操作系統(tǒng),以及存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)程序。每一計(jì)算機(jī)系統(tǒng)還可包括允 許用戶與計(jì)算機(jī)系統(tǒng)進(jìn)行通信以及允許計(jì)算機(jī)系統(tǒng)與其他設(shè)備進(jìn)行通信的一個(gè)或多個(gè)輸 入和輸出通信設(shè)備。實(shí)體110所使用的計(jì)算機(jī)系統(tǒng)(例如,實(shí)體機(jī)器111)、依賴方120、數(shù)字 身份表示生成系統(tǒng)164、管理員系統(tǒng)160、數(shù)據(jù)捕獲系統(tǒng)162,以及身份提供者115之間通信 可以使用任何類型的通信鏈路來(lái)實(shí)現(xiàn),包括,但不僅限于,因特網(wǎng)、廣域網(wǎng)、內(nèi)聯(lián)網(wǎng)、以太網(wǎng)、 直接有線路徑、計(jì)算機(jī)總線、衛(wèi)星、紅外線掃描、蜂窩式通信,或任何其他類型的有線或無(wú)線
ififn。在此處所公開(kāi)的某些示例實(shí)施例中,系統(tǒng)100至少部分地實(shí)現(xiàn)為在美國(guó)華盛頓州 雷德蒙市的微軟公司所開(kāi)發(fā)的.NET 3.0框架中所提供的信息卡系統(tǒng)。信息卡系統(tǒng)允許實(shí) 體管理來(lái)自各種身份提供者的多個(gè)數(shù)字身份表示。信息卡系統(tǒng)利用諸如.NET 3.0框架中的Windows通信框架之類的web服務(wù)平臺(tái)。 另外,信息卡系統(tǒng)是使用至少部分地由美國(guó)華盛頓州雷德蒙市的微軟公司傳播的web服務(wù) 安全性規(guī)范構(gòu)建的。這些規(guī)范包括消息安全性模型WS-安全、端點(diǎn)策略WS-安全策略、元數(shù) 據(jù)交換協(xié)議WS-元數(shù)據(jù)交換、以及信任模型WS-信任。一般而言,WS-安全模型描述了如何 將安全令牌附連到消息。WS-安全策略模型描述端點(diǎn)策略要求,諸如所需的安全令牌以及所 支持的加密算法。這樣的策略要求可以使用由WS-元數(shù)據(jù)交換所定義的元數(shù)據(jù)協(xié)議來(lái)表達(dá) 和協(xié)商。WS-信任模型描述允許不同的web服務(wù)進(jìn)行交互操作的信任模型的框架。此處所 描述的一些示例實(shí)施例引用了上文所描述的web服務(wù)安全性規(guī)范。在替換實(shí)施例中,一個(gè) 或多個(gè)其他規(guī)范可用于促進(jìn)系統(tǒng)100中的各個(gè)子系統(tǒng)之間的通信。再次參考圖1,實(shí)體110可以經(jīng)由實(shí)體機(jī)器111向依賴方120發(fā)送訪問(wèn)商品、服務(wù) 或其他信息的請(qǐng)求,或可以以文檔的形式向依賴方120提供信息。值得注意的是,在某些實(shí) 施例中,以文檔的形式提供信息可以是請(qǐng)求訪問(wèn)商品、服務(wù)及其他信息的過(guò)程的一部分,且 因此不應(yīng)該被解釋為排除這樣的活動(dòng)。例如,在一個(gè)實(shí)施例中,實(shí)體機(jī)器111向依賴方120 發(fā)送從依賴方120訪問(wèn)實(shí)體110所需的信息的請(qǐng)求,其中,請(qǐng)求可以是文檔。由實(shí)體機(jī)器 111所發(fā)送的請(qǐng)求可包括求依賴方120使用如WS-元數(shù)據(jù)交換中所提供的機(jī)制的認(rèn)證要求 的請(qǐng)求。響應(yīng)于該請(qǐng)求,依賴方120可以對(duì)實(shí)體機(jī)器111發(fā)送依賴方120對(duì)實(shí)體的身份或 關(guān)于實(shí)體110的其他信息進(jìn)行認(rèn)證的要求。依賴方120的進(jìn)行認(rèn)證的要求此處被稱為安全 策略。安全策略最低限度地定義了來(lái)自受信任的身份提供者115的、實(shí)體110必須向依賴 方120提供的供依賴方120認(rèn)證實(shí)體110的主張集合。安全策略可包括涉及個(gè)人特征(諸 如年齡)、身份、財(cái)務(wù)狀況等等的憑據(jù)的要求。它還可以包括涉及認(rèn)證任何憑據(jù)的提供(例如,來(lái)自特定身份提供者的數(shù)字簽名)所需的驗(yàn)證和認(rèn)證的級(jí)別的規(guī)則。在一個(gè)示例中,依賴方120使用WS-安全策略指定其安全策略,包括主張要求和依 賴方120所需的安全令牌的類型。主張的類型的示例包括,但不僅限于下列各項(xiàng)名字、姓 氏、電子郵件地址、街道地址、地區(qū)名稱或城市、州或省、郵政編碼、國(guó)家、電話號(hào)碼、社會(huì)保 障號(hào)碼、出生日期、性別、個(gè)人標(biāo)識(shí)號(hào)、信用分?jǐn)?shù)、財(cái)務(wù)狀況、法律地位等等。安全策略還可以被用來(lái)指定依賴方120所需的安全令牌的類型,或者,可以使用 由身份提供者確定的默認(rèn)類型。除指定所需的主張和令牌類型之外,安全策略可以指定依 賴方所需的特定身份提供者??闪磉x地,策略可以省略此元素,將適當(dāng)?shù)纳矸萏峁┱叩拇_定 交由實(shí)體110決定。其他元素也可以在安全策略中指定,諸如,例如,所需的安全令牌的新 鮮度。在某些實(shí)施例中,實(shí)體110可以要求依賴方120向?qū)嶓w機(jī)器111標(biāo)識(shí)其本身,以便 實(shí)體110可以判斷是否滿足依賴方120的安全策略,如下面所描述的。在一個(gè)示例中,依賴 方120使用X. 509證書(shū)來(lái)標(biāo)識(shí)其本身。在其他實(shí)施例中,依賴方120可以使用諸如,例如, 安全套接字層(“SSL”)服務(wù)器證書(shū)之類的其他機(jī)制,來(lái)標(biāo)識(shí)其本身。實(shí)體機(jī)器111可包括實(shí)體110的一個(gè)或多個(gè)數(shù)字身份表示。這些數(shù)字身份表 示(在位于美國(guó)華盛頓州雷德蒙市的微軟公司開(kāi)發(fā)的.NET 3.0框架中所提供的Windows CardSpace系統(tǒng)中有時(shí)被稱為“信息卡”)是代表實(shí)體110和諸如身份提供者115之類的特 定身份提供者之間的令牌發(fā)放關(guān)系的人為產(chǎn)物。每一數(shù)字身份表示都可以與特定身份提供 者相對(duì)應(yīng),而實(shí)體110可以具有來(lái)自相同或不同的身份提供者的多個(gè)數(shù)字身份表示。數(shù)字身份表示除其他信息之外可包括,身份提供者的安全令牌的發(fā)放策略,包括 可以發(fā)放的令牌的類型,它具有權(quán)限的主張類型,和/或當(dāng)請(qǐng)求安全令牌時(shí)用于認(rèn)證的憑 據(jù)。數(shù)字身份表示可以被表示為由身份提供者115或數(shù)字身份表示生成系統(tǒng)164發(fā)放、并 由實(shí)體110存儲(chǔ)在諸如實(shí)體機(jī)器111之類的存儲(chǔ)設(shè)備上的XML文檔。實(shí)體機(jī)器111還可包括身份選擇器。一般而言,身份選擇器是允許實(shí)體110在實(shí)體 機(jī)器111上的實(shí)體110的一個(gè)或多個(gè)數(shù)字身份表示之間進(jìn)行選擇以向諸如身份提供者115 之類的一個(gè)或多個(gè)身份提供者請(qǐng)求并獲取安全令牌的計(jì)算機(jī)程序和用戶界面。例如,當(dāng)由 實(shí)體機(jī)器111接收到來(lái)自依賴方120的安全策略時(shí),身份選擇器可以被編程為使用數(shù)字身 份表示中的信息來(lái)標(biāo)識(shí)滿足安全策略所需的一個(gè)或多個(gè)主張的一個(gè)或多個(gè)數(shù)字身份表示。 一旦實(shí)體110從依賴方120接收安全策略,實(shí)體110可以與一個(gè)或多個(gè)身份提供者進(jìn)行通 信(例如,使用實(shí)體機(jī)器111)以收集策略所需的主張。在示例實(shí)施例中,實(shí)體110使用WS-信任中所描述的發(fā)放機(jī)制,向身份提供者115 請(qǐng)求一個(gè)或多個(gè)安全令牌。在示例實(shí)施例中,實(shí)體110將依賴方120的策略中的主張要求 轉(zhuǎn)發(fā)到身份提供者115。依賴方120的身份可以,但是不必,在由實(shí)體110向身份提供者115 發(fā)送的請(qǐng)求中指定。請(qǐng)求也可包括諸如對(duì)顯示令牌的請(qǐng)求之類的其他要求。一般而言,身份提供者115的主張管理機(jī)構(gòu)140可以提供來(lái)自依賴方120的安全 策略所需的一個(gè)或多個(gè)主張。身份提供者115的主張轉(zhuǎn)換器130被編程為轉(zhuǎn)換主張,并生 成包括涉及實(shí)體110的主張的一個(gè)或多個(gè)簽名的安全令牌150。如上文所指出的,實(shí)體110可以基于來(lái)自依賴方120的要求,在其對(duì)身份提供者 115的請(qǐng)求中請(qǐng)求某一格式的安全令牌。主張轉(zhuǎn)換器130可以被編程為以多種格式中的一個(gè),包括,但不僅限于,X. 509、Kerberos, SAML(版本1. O和2. 0)、簡(jiǎn)單可擴(kuò)展身份協(xié)議 (“SXIP”)等等,生成安全令牌。例如,在一個(gè)實(shí)施例中,主張管理機(jī)構(gòu)140被編程為生成第一格式A的主張,而依 賴方120的安全策略需要第二格式B的安全令牌。在將安全令牌發(fā)送到實(shí)體110之前,主 張轉(zhuǎn)換器130可以將來(lái)自主張管理機(jī)構(gòu)140的主張從格式A轉(zhuǎn)換為格式B。另外,主張轉(zhuǎn)換 器130可以被編程為細(xì)化特定主張的語(yǔ)義。在示例實(shí)施例中,轉(zhuǎn)換特定主張的語(yǔ)義,以最小 化特定主張和/或安全令牌中所提供的信息量,以減少或最小化由給定主張所傳達(dá)的個(gè)人
fn息里。在示例實(shí)施例中,主張轉(zhuǎn)換器130使用WS-信任中所描述的響應(yīng)機(jī)制,將安全令牌 150轉(zhuǎn)發(fā)到實(shí)體110。在一個(gè)實(shí)施例中,主張轉(zhuǎn)換器130包括安全令牌服務(wù)(有時(shí)被稱為 “STS”)。在一示例實(shí)施例中,實(shí)體110通過(guò)使用WS-安全中所描述的安全綁定機(jī)制,將安全 令牌150綁定到應(yīng)用程序消息,來(lái)將安全令牌150轉(zhuǎn)發(fā)到依賴方120。在某些實(shí)施例中,安 全令牌150可以被用來(lái)對(duì)文檔進(jìn)行簽名(如在圖2中更詳細(xì)地示出的)。文檔可以被用來(lái) 提供信息或請(qǐng)求商品、服務(wù)或其他信息。在其他實(shí)施例中,安全令牌150可以直接從身份提 供者115被發(fā)送到依賴方120。一旦依賴方120接收到安全令牌150,依賴方120可以驗(yàn)證(例如,通過(guò)對(duì)安全令 牌150進(jìn)行解碼或解密)經(jīng)過(guò)簽名的安全令牌150的來(lái)源。依賴方120還可以使用安全令 牌150中的主張來(lái)滿足依賴方120的安全策略以認(rèn)證實(shí)體110。現(xiàn)在將參考圖2示出文檔簽名的各種示例。圖2示意地示出了令牌創(chuàng)建過(guò)程。具 體而言,圖2示出了多個(gè)202數(shù)字身份表示。多個(gè)202數(shù)字身份表示中的每一個(gè)數(shù)字身份 表示都包括與實(shí)體相關(guān)聯(lián)的身份的屬性。屬性的示例包括,但不僅限于名稱、用戶名、標(biāo)識(shí) 號(hào)碼(諸如政府發(fā)放的、企業(yè)發(fā)放、教育機(jī)構(gòu)發(fā)放等等標(biāo)識(shí)號(hào)碼),帳號(hào)(諸如銀行帳號(hào)、信 用卡號(hào)、商業(yè)信用帳號(hào)、等等)、角色信息(諸如經(jīng)理、雇員、網(wǎng)絡(luò)管理員、市長(zhǎng)、市民等等)或 其他信息。可以與身份相關(guān)聯(lián)的幾乎任何類型的信息都可以作為屬性包括在數(shù)字身份表示 中。一些實(shí)施例可以限制可以作為屬性包括的信息。例如,一些實(shí)施例可以將可以作為屬 性包括的信息限于上面枚舉的屬性中的一個(gè)或多個(gè)。圖2還示出多個(gè)204上下文表示。每一上下文表示都包括有關(guān)上下文的信息。具 體而言,上下文表示可包括關(guān)于文檔簽名事件的上下文信息。這樣的上下文信息可以涉及 圍繞對(duì)文檔的簽名的情況,諸如要簽名的文檔的類型、需要什么類型的管理機(jī)構(gòu)對(duì)文檔進(jìn) 行簽名、文檔的用途、文檔將用于什么目的等等。概括地說(shuō),諸如關(guān)于應(yīng)該使用哪些數(shù)字身 份表示,將如何使用數(shù)字身份表示,或數(shù)字身份表示將在哪里與簽名事件或儀式一起使用 的信息之類的任何信息都可以解釋為上下文信息。一些實(shí)施例可以限制可以作為上下文信 息包括的信息。例如,一些實(shí)施例可以將可以作為上下文信息包括的信息限于上面枚舉的 信息中的一個(gè)或多個(gè)。盡管在此示例中示出了多個(gè)202數(shù)字身份表示和多個(gè)204上下文表示,但是,一些 實(shí)施例允許動(dòng)態(tài)地構(gòu)建數(shù)字身份表示和上下文表示,而不必需要從其相應(yīng)的多個(gè)表示202 或204中選擇它們。在圖2中所示出的示例中,如箭頭208所示,從多個(gè)202數(shù)字身份表示中選擇數(shù)字 身份表示206。另外,如箭頭212所示,還從多個(gè)204上下文表示中選擇包括上下文信息的上下文表示210??梢砸远喾N不同的方式來(lái)選擇數(shù)字身份表示206和上下文表示。例如,圖 2示出了可以通過(guò)接收特定證書(shū)2M來(lái)促進(jìn)對(duì)數(shù)字身份表示206的選擇。具體而言,如果實(shí) 體機(jī)器接收到證書(shū)224,則該接收可以啟動(dòng)從多個(gè)202數(shù)字身份表示中對(duì)數(shù)字身份表示206 的選擇。在某些實(shí)施例中,如下面更詳細(xì)地說(shuō)明的,可以通過(guò)使用反饋222來(lái)促進(jìn)對(duì)數(shù)字 身份表示206和/或上下文表示210的選擇,如圖2中所示出的。例如,在一個(gè)實(shí)施例中, 文檔可包括指定當(dāng)對(duì)文檔進(jìn)行簽名時(shí)使用的令牌的適當(dāng)特征的元數(shù)據(jù)。數(shù)字身份表示206和上下文表示210被提供給身份提供者115。如上所述,身份 提供者115是能夠在安全令牌中作出斷言的受信任的實(shí)體。在圖2中所示出的示例中,身 份提供者115組合來(lái)自數(shù)字身份表示206的信息和來(lái)自上下文表示210的信息,如求和操 作216所示。來(lái)自數(shù)字身份表示206和上下文表示210的所組合的信息被包括在安全令牌 150 中。安全令牌150包括由身份提供者115作出的斷言,包括其中包括與數(shù)字身份表示 206相關(guān)聯(lián)的實(shí)體的身份的屬性和來(lái)自上下文表示210的上下文信息的斷言。在某些實(shí)施 例中,安全令牌150還可以包括可以被用來(lái)對(duì)數(shù)字信息進(jìn)行簽名和/或加密的公鑰。例如, 圖2示出了在文檔220的簽字儀式中在文檔220中包括安全令牌150 (如箭頭222所示)。 安全令牌150可包括被用來(lái)對(duì)文檔220的全部或某些部分進(jìn)行簽名的公鑰。如前面所指出的,安全令牌150包括來(lái)自上下文表示210的上下文信息,其中,上 下文信息具體地涉及文檔220。例如,安全令牌150中所包括的上下文信息可以涉及文檔 220的類型。另選地或另外地,安全令牌150中所包括的上下文信息可以涉及與簽名儀式相 關(guān)聯(lián)的上下文情況,在簽名儀式中,利用安全令牌150對(duì)文檔220進(jìn)行簽名。如前面所指出的,可以基于反饋222,選擇用于包括在安全令牌150中的上下文表 示110。如在圖2中通過(guò)箭頭2M所示的,可以基于涉及文檔220的簽名情況的上下文,提 供反饋222。例如,在一個(gè)實(shí)施例中,文檔220可包括表示將對(duì)文檔220進(jìn)行簽名的上下文 的元數(shù)據(jù)。文檔220中所包括的元數(shù)據(jù)可以作為反饋222被發(fā)送到作為計(jì)算機(jī)系統(tǒng)上的 計(jì)算機(jī)可執(zhí)行的過(guò)程體現(xiàn)的上下文表示選擇過(guò)程,以便反饋222與將被包括在用來(lái)對(duì)文檔 220進(jìn)行簽名的安全令牌150中的上下文信息一起促進(jìn)對(duì)上下文表示210的選擇。另外, 反饋222可以用于選擇包括在安全令牌150中的適當(dāng)?shù)臄?shù)字身份表示206。具體而言,指 派文檔220的上下文可能需要在被用來(lái)對(duì)文檔220進(jìn)行簽名的安全令牌150中包括特定數(shù) 字身份表示206。如此,文檔本身可包括可以用于標(biāo)識(shí)數(shù)字身份表示206的信息。例如,文 檔220可包括表示應(yīng)該利用適用于經(jīng)理或其他角色的安全令牌150簽名的文檔220的元數(shù) 據(jù)。此元數(shù)據(jù)可以作為反饋222發(fā)送,該反饋222可以被用來(lái)選擇適用于經(jīng)理的數(shù)字身份 表示206。另外,可以創(chuàng)建或選擇表示涉及經(jīng)理身份的上下文的上下文表示210,以便安全 令牌150可包括將安全令牌150標(biāo)識(shí)為當(dāng)對(duì)諸如文檔220之類的文檔進(jìn)行簽名時(shí)適用于經(jīng) 理的令牌的上下文信息。下面的討論現(xiàn)在引用了可以執(zhí)行的多個(gè)方法和方法動(dòng)作。值得注意的是,雖然可 以以某一順序討論或在流程圖中按特定順序發(fā)生而示出了方法動(dòng)作,但是,沒(méi)有特定順序 是一定需要的,除非特別聲明,或者是必需的,因?yàn)樵谝粋€(gè)動(dòng)作被執(zhí)行之前該動(dòng)作取決于另 一動(dòng)作被完成。
一個(gè)實(shí)施例包括可以在計(jì)算環(huán)境中實(shí)施的方法300。該方法300包括創(chuàng)建當(dāng)對(duì)文 檔進(jìn)行數(shù)字簽名時(shí)供實(shí)體使用的令牌的動(dòng)作。該方法包括訪問(wèn)實(shí)體的數(shù)字身份表示(動(dòng)作 302)。數(shù)字身份表示包括標(biāo)識(shí)關(guān)于實(shí)體的身份識(shí)屬性的信息。例如,數(shù)字身份表示206(參 見(jiàn)圖2)可包括實(shí)體110的諸如名稱、用戶名、標(biāo)識(shí)號(hào)、帳號(hào)、角色等等之類的屬性(參見(jiàn)圖 1)。數(shù)字身份表示還包括提供供實(shí)體使用的令牌的身份提供者的能力。例如,數(shù)字身份表 示206(圖2~)可包括標(biāo)識(shí)“身份提供者” 115的能力的信息。標(biāo)識(shí)“身份提供者”的能力的 信息可包括身份提供者的身份的指示或身份提供者可以作出什么斷言中的至少一個(gè)。方法300還包括訪問(wèn)上下文信息(動(dòng)作304)。上下文信息包括有關(guān)將使用數(shù)字身 份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用這些屬性,或在哪里使用這些屬性中的一個(gè) 或多個(gè)的信息。例如,如圖2所示出的,上下文表示210可包括有關(guān)將如何使用或在哪里使 用數(shù)字身份表示206中的信息的信息。具體而言,上下文表示210可包括有關(guān)當(dāng)使用包含 數(shù)字身份表示206中的屬性的安全令牌150時(shí)將如何使用那些屬性的信息。該方法300還包括從數(shù)字身份表示中的信息和上下文信息創(chuàng)建安全令牌(動(dòng)作 306)。安全令牌包括由身份提供者作出的斷言,其中,斷言基于數(shù)字身份表示中的信息。令 牌還包括涉及上下文信息的至少一部分的信息。具體而言,如圖2所示,安全令牌150作出 斷言,其中,那些斷言包括來(lái)自數(shù)字身份表示206的信息和來(lái)自上下文表示210的信息??梢詧?zhí)行方法300,其中,創(chuàng)建安全令牌(動(dòng)作306)是響應(yīng)于判斷為對(duì)特定文檔進(jìn) 行簽名需要令牌而執(zhí)行的。另外,涉及對(duì)特定文檔進(jìn)行簽名的條件,或特定文檔的屬性這兩 者中的至少一項(xiàng)與上下文信息的至少一部分相關(guān)聯(lián)。例如,這可以通過(guò)接收諸如圖2中所 示出的反饋222之類的反饋來(lái)達(dá)成。應(yīng)該注意,涉及特定文檔或涉及特定文檔簽名儀式的 信息不僅可以被用來(lái)促進(jìn)選擇數(shù)字身份表示和/或上下文表示,而且也可以被用來(lái)在一開(kāi) 始觸發(fā)安全令牌的創(chuàng)建。方法300還可以包括作為輸入評(píng)估上下文信息的至少一部分或數(shù)字身份表示中 的信息的至少一部分中的至少一項(xiàng),根據(jù)上下文信息的至少一部分或數(shù)字身份表示中的信 息的至少一部分中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌。創(chuàng)建安全令牌(動(dòng)作306)是響 應(yīng)此而執(zhí)行的??梢詫?shí)施方法300的此實(shí)施例,其中,根據(jù)上下文信息的至少一部分或數(shù)字身份 表示中的信息的至少一部分中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌包括執(zhí)行一工作流。該方法300還包括接收與上下文信息和數(shù)字身份表示中的信息分開(kāi)的額外的輸 入。在此實(shí)施例的一個(gè)示例中,根據(jù)上下文信息的至少一部分或數(shù)字身份表示中的信息的 至少一部分中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌的動(dòng)作考慮了該額外的輸入。在此實(shí) 施例的一個(gè)示例中,方法300可包括提示用戶提供用戶輸入作為額外輸入以便進(jìn)行用戶交 互。如此,接收與上下文信息和數(shù)字身份表示中的信息分開(kāi)的額外的輸入是響應(yīng)于此執(zhí)行 的。這樣的輸入可包括有關(guān)實(shí)體110、其他實(shí)體、管理員、閾值、例外的批準(zhǔn)、替換批準(zhǔn)等等的 fn息ο方法300還可以包括將創(chuàng)建的安全令牌高速緩存在安全令牌集合中。在此實(shí)施例 中,方法300還可以包括允許用戶選擇用于文檔簽字儀式中的令牌的動(dòng)作。例如,方法300 還可以包括確定將要使用安全令牌集合中的一個(gè)安全令牌來(lái)簽名的文檔的上下文,判斷該 上下文匹配安全令牌集合中的一個(gè)或多個(gè)安全令牌中的上下文信息,并在用戶界面中向用戶顯示一個(gè)或多個(gè)安全令牌的表示以允許用戶選擇顯示的安全令牌。這可包括顯示一個(gè)或 多個(gè)安全令牌的表示,以便用戶可以容易地判斷安全令牌包括匹配上下文的上下文信息。 例如,可以突出顯示安全令牌的表示。在替換實(shí)施例中,顯示可包括只顯示包括匹配上下文 的上下文信息的令牌的表示,而不顯示不包括匹配上下文的上下文信息的令牌的表示。顯 示安全令牌的表示可包括多個(gè)不同的動(dòng)作中的任何一個(gè)。例如,可以顯示安全令牌所指派 的名稱。可以顯示諸如圖標(biāo)之類的圖形表示??梢燥@示諸如身份屬性和/或上下文屬性之 類的安全令牌本身中的信息。在此處所描述的實(shí)施例的范圍內(nèi),可以另選地或另外地使用 其他合適的表示,盡管這里沒(méi)有枚舉?,F(xiàn)在參考圖4,示出了方法400??梢栽谟?jì)算環(huán)境中實(shí)施方法400。該方法包括當(dāng) 對(duì)文檔進(jìn)行數(shù)字簽名時(shí)促進(jìn)選擇供實(shí)體使用的令牌的動(dòng)作。該方法包括訪問(wèn)安全令牌集合 (動(dòng)作402)。每一安全令牌都通過(guò)身份提供者作出斷言。斷言基于數(shù)字身份表示中的信 息。數(shù)字身份表示包括標(biāo)識(shí)關(guān)于實(shí)體的身份屬性和提供供實(shí)體使用的令牌的身份提供者的 能力的信息。標(biāo)識(shí)“身份提供者”的能力的信息包括身份提供者的身份的指示或身份提供 者可以作出什么斷言中的至少一個(gè)。斷言還基于涉及上下文信息的至少一部分的信息。上 下文信息包括有關(guān)將使用數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用這些屬性, 或在哪里使用這些屬性中的一個(gè)或多個(gè)的信息。該方法400還包括為將使用安全令牌的集合中的安全令牌中的一個(gè)簽名的文檔 簽名儀式確定上下文(動(dòng)作404)。例如,上下文可以涉及與對(duì)文檔進(jìn)行簽名所需的令牌相 關(guān)聯(lián)的角色或身份,應(yīng)該如何對(duì)文檔進(jìn)行簽名,應(yīng)該在被用來(lái)對(duì)文檔進(jìn)行簽名的令牌中包 括什么樣的信息等等。該方法400還包括判斷上下文匹配安全令牌的集合中的一個(gè)或多個(gè)安全令牌中 的上下文信息(動(dòng)作406)。例如,安全令牌中的上下文信息可以匹配簽名儀式的上下文。 在一個(gè)示例中,可基于存儲(chǔ)在要簽名的文檔中的信息來(lái)確定簽名儀式的上下文,其中信息 被返回給計(jì)算機(jī)系統(tǒng)或由計(jì)算機(jī)系統(tǒng)訪問(wèn),該計(jì)算機(jī)系統(tǒng)執(zhí)行使一個(gè)或多個(gè)計(jì)算機(jī)處理器 執(zhí)行判斷上下文匹配一個(gè)或多個(gè)安全令牌中的上下文信息的動(dòng)作的程序指令。方法400還包括向用戶顯示一個(gè)或多個(gè)安全令牌的表示(動(dòng)作408)??梢栽谠试S 用戶選擇安全令牌的諸如圖形用戶界面之類的用戶界面中向用戶顯示一個(gè)或多個(gè)安全令 牌的表示。顯示一個(gè)或多個(gè)安全令牌的表示包括顯示一個(gè)或多個(gè)安全令牌的表示,以便用 戶可以容易地判斷安全令牌包括匹配上下文的上下文信息。在某些實(shí)施例中,這可包括在 圖形用戶界面元素突出顯示令牌的圖形用戶界面中顯示一個(gè)或多個(gè)安全令牌。另選地或另 外地,顯示一個(gè)或多個(gè)安全令牌的表示,以便用戶可以容易地判斷安全令牌包括匹配上下 文的上下文信息并可包括只顯示包括該上下文信息的令牌。方法400還可以包括接收選擇令牌之一的用戶輸入,結(jié)果,利用所選令牌,對(duì)文檔 進(jìn)行簽名。例如,用戶可以通過(guò)與允許選擇所顯示的表示之一的用戶界面元素進(jìn)行交互來(lái) 選擇令牌。用戶對(duì)令牌的選擇導(dǎo)致令牌被計(jì)算系統(tǒng)使用,以對(duì)為其選擇了該令牌的文檔進(jìn) 行簽名。在方法400的另一實(shí)施例中,方法400可包括接收用戶輸入,結(jié)果,并基于用戶輸 入,以使用戶可以容易地判斷安全令牌包括匹配上下文的上下文信息的方式顯示較少的一 個(gè)或多個(gè)安全令牌中。例如,可以通過(guò)用戶與諸如計(jì)算機(jī)顯示的圖形用戶界面之類的適當(dāng)?shù)挠?jì)算機(jī)實(shí)現(xiàn)的用戶界面進(jìn)行交互,來(lái)提供上下文。由用戶所提供的上下文可以與令牌中 的上下文信息匹配,帶有匹配用戶所提供的上下文的上下文信息的令牌可以按照使用戶可 以容易地判斷令牌包括匹配上下文的上下文信息的方式顯示?,F(xiàn)在參考圖5,示出了方法500??梢栽谟?jì)算環(huán)境中實(shí)施方法500。該方法500包 括評(píng)估文檔簽名和被用來(lái)對(duì)文檔進(jìn)行簽名的令牌的動(dòng)作。該方法500包括接收通過(guò)令牌簽 名的文檔(動(dòng)作50 。令牌包括上下文屬性。上下文屬性包括涉及上下文信息的至少一部 分的信息。上下文信息包括有關(guān)將使用數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使 用這些屬性,或在哪里使用這些屬性中的一個(gè)或多個(gè)的信息。令牌還包括身份屬性。身份 屬性包括數(shù)字身份表示中的信息。數(shù)字身份表示包括標(biāo)識(shí)關(guān)于實(shí)體的身份屬性和提供供實(shí) 體使用的令牌的身份提供者的能力的信息。標(biāo)識(shí)身份提供者的能力的信息包括身份提供者 的身份的指示或身份提供者可以作出什么斷言中的至少一個(gè)。方法500還包括通過(guò)檢查上下文屬性和身份屬性來(lái)判斷文檔是被有效地簽名的 文檔(動(dòng)作504)。在一個(gè)實(shí)施例中,這可以通過(guò)判斷令牌中的上下文信息和令牌中的身份 信息與使用簽名來(lái)對(duì)文檔進(jìn)行簽名有關(guān)來(lái)執(zhí)行。可以執(zhí)行方法500的實(shí)施例,其中,判斷文檔是有效簽名的文檔包括執(zhí)行計(jì)算機(jī) 實(shí)現(xiàn)的工作流。此處實(shí)施例的實(shí)施例可以包括含有各種計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這將在 以下更詳細(xì)地討論。各實(shí)施例還包括用于攜帶或其上儲(chǔ)存有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī) 可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作 為示例而非限制,這樣的計(jì)算機(jī)可讀介質(zhì)可包括RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存 儲(chǔ)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式 的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另 一通信連接(硬連線、無(wú)線或硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)時(shí),計(jì)算機(jī)將該連 接完全視為計(jì)算機(jī)可讀介質(zhì)。因此,任何這樣的連接被適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。上述 的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。計(jì)算機(jī)可執(zhí)行指令例如包括,使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某 一功能或某組功能的指令和數(shù)據(jù)。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主 題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述具體特征或動(dòng)作。相反,上文 所描述的具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式來(lái)公開(kāi)的。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在 所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。從而,本發(fā)明的范圍由所附權(quán)利要求書(shū)而 非前述描述指示。落入權(quán)利要求書(shū)的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書(shū) 的范圍所涵蓋。
權(quán)利要求
1.在計(jì)算環(huán)境中,一種當(dāng)對(duì)文檔(220)進(jìn)行數(shù)字簽名時(shí)創(chuàng)建供實(shí)體(110)使用的令牌 (150)的方法,所述方法包括訪問(wèn)實(shí)體(110)的數(shù)字身份表示O06)(動(dòng)作30 ,其中,所述數(shù)字身份表示(206)包 括標(biāo)識(shí)關(guān)于所述實(shí)體(110)的身份屬性和提供供所述實(shí)體(110)使用的令牌(150)的身份 提供者(11 的能力的信息,其中,所述標(biāo)識(shí)所述身份提供者的能力的信息包括所述身份 提供者(115)的身份的指示或所述身份提供者(115)可以作出什么斷言中的至少一個(gè);訪問(wèn)上下文信息O10)(動(dòng)作304),所述上下文信息包括有關(guān)將使用所述數(shù)字身份表 示Q06)中所標(biāo)識(shí)的所述實(shí)體(110)的哪些屬性,如何使用這些屬性,或在哪里使用這些屬 性中的一個(gè)或多個(gè)的信息;以及從所述數(shù)字身份表示(206)中的所述信息以及所述上下文信息(210)中創(chuàng)建安全令牌 (150)(動(dòng)作306),所述安全令牌(150)通過(guò)所述身份提供者(115)作出斷言,其中,所述斷 言基于所述數(shù)字身份表示O06)中的信息,所述令牌還包括涉及所述上下文信息的至少一 部分的信息。
2.如權(quán)利要求1所述的方法,其特征在于,創(chuàng)建安全令牌是響應(yīng)于判斷為對(duì)特定文檔 進(jìn)行簽名需要令牌而執(zhí)行的,其中,涉及對(duì)所述特定文檔進(jìn)行簽名的條件或者所述特定文 檔的屬性中的至少一項(xiàng)與所述上下文信息的至少一部分相關(guān)聯(lián)。
3.如權(quán)利要求1所述的方法,其特征在于,還包括作為輸入評(píng)估所述上下文信息的至少一部分或所述數(shù)字身份表示中的所述信息的至 少一部分中的至少一項(xiàng);以及根據(jù)所述上下文信息的至少一部分或所述數(shù)字身份表示中的所述信息的至少一部分 中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌,其中,創(chuàng)建安全令牌是響應(yīng)此而執(zhí)行的。
4.如權(quán)利要求3所述的方法,其特征在于,根據(jù)所述上下文信息的至少一部分或所述 數(shù)字身份表示中的所述信息的至少一部分中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌包括執(zhí) 行工作流。
5.如權(quán)利要求3所述的方法,其特征在于,還包括接收與所述上下文信息和所述數(shù)字 身份表示中的所述信息分開(kāi)的額外輸入,其中,根據(jù)所述上下文信息的至少一部分或所述 數(shù)字身份表示中的所述信息的至少一部分中的至少一項(xiàng)來(lái)確定應(yīng)該創(chuàng)建安全令牌考慮了 所述額外輸入。
6.如權(quán)利要求5所述的方法,其特征在于,還包括提示用戶提供用戶輸入以便進(jìn)行用 戶交互,其中,接收與所述上下文信息和所述數(shù)字身份表示中的所述信息分開(kāi)的額外輸入 是響應(yīng)此執(zhí)行的。
7.如權(quán)利要求1所述的方法,其特征在于,還包括將所創(chuàng)建的安全令牌高速緩存在安 全令牌的集合中。
8.如權(quán)利要求7所述的方法,其特征在于,還包括為將使用所述安全令牌的集合中的所述安全令牌中的一個(gè)簽名的文檔確定上下文;判斷所述上下文匹配所述安全令牌的集合中的一個(gè)或多個(gè)安全令牌中的上下文信息;在允許所述用戶選擇要顯示其表示的安全令牌的用戶界面中向用戶顯示所述一個(gè)或 多個(gè)安全令牌的表示,包括顯示所述一個(gè)或多個(gè)安全令牌的所述表示,以便用戶可以容易地判斷所述安全令牌包括匹配所述上下文的上下文信息。
9.如權(quán)利要求1所述的方法,其特征在于,訪問(wèn)數(shù)字身份表示或訪問(wèn)上下文信息中的 至少一項(xiàng)包括從多個(gè)數(shù)字身份表示中選擇數(shù)字身份表示或從多個(gè)上下文表示中選擇上下 文表示。
10.如權(quán)利要求9所述的方法,其特征在于,從多個(gè)數(shù)字身份表示中選擇數(shù)字身份表示 或從多個(gè)上下文表示中選擇上下文表示中的至少一項(xiàng)是響應(yīng)于接收到反饋而執(zhí)行的,所述 反饋包括涉及旨在使用所述安全令牌的文檔簽名儀式的信息。
11.如權(quán)利要求9所述的方法,其特征在于,從多個(gè)數(shù)字身份表示中選擇數(shù)字身份表示 是響應(yīng)于接收到證書(shū)而執(zhí)行的。
12.在計(jì)算環(huán)境中,一種當(dāng)對(duì)文檔進(jìn)行數(shù)字簽名時(shí)促進(jìn)選擇供實(shí)體使用的令牌的方法, 所述方法包括訪問(wèn)安全令牌的集合(動(dòng)作402),其特征在于,每一安全令牌都通過(guò)身份提供者(115) 作出斷言,其中,所述斷言基于數(shù)字身份表示(206)中的信息,其中,所述數(shù)字身份表示包括標(biāo)識(shí)關(guān)于實(shí)體(110)的身 份屬性和提供供所述實(shí)體(110)使用的令牌的身份提供者(115)的能力的信息,其中,所述 標(biāo)識(shí)所述身份提供者(11 的能力的信息包括所述身份提供者(11 的身份的指示或所述 身份提供者(115)可以作出什么斷言中的至少一個(gè);以及涉及上下文信息O10)的至少一部分的信息,其中,所述上下文信息包括有關(guān)將使用 數(shù)字身份表示(206)中所標(biāo)識(shí)的實(shí)體(110)的哪些屬性,如何使用這些屬性,或在哪里使用 這些屬性中的一個(gè)或多個(gè)的信息;為將使用所述安全令牌的集合中的所述安全令牌中的一個(gè)簽名的文檔確定上下文 (動(dòng)作404);判斷所述上下文匹配所述安全令牌的集合中的一個(gè)或多個(gè)安全令牌中的上下文信息 (動(dòng)作406);以及在允許所述用戶選擇安全令牌的用戶界面中向用戶顯示所述一個(gè)或多個(gè)安全令牌 (150)的表示(動(dòng)作408),包括顯示所述一個(gè)或多個(gè)安全令牌的所述表示,以便用戶可以容 易地判斷所述安全令牌包括匹配所述上下文的上下文信息。
13.如權(quán)利要求9所述的方法,其特征在于,在用戶界面中向用戶顯示所述一個(gè)或多個(gè) 安全令牌的表示包括在圖形用戶界面中顯示。
14.如權(quán)利要求10所述的方法,其特征在于,在用戶界面中向用戶顯示所述一個(gè)或多 個(gè)安全令牌的表示包括突出顯示令牌的表示、只顯示包括所述上下文信息的令牌中的一個(gè) 或多個(gè);或以非變灰格式顯示包括匹配所述上下文的上下文信息的令牌的表示,而以變灰 格式顯示不包括匹配所述上下文的上下文信息的令牌的表示。
15.如權(quán)利要求9所述的方法,其特征在于,還包括,接收用戶輸入,選擇其中一個(gè)令 牌,并作為結(jié)果,利用所選令牌,對(duì)所述文檔進(jìn)行簽名。
16.如權(quán)利要求9所述的方法,其特征在于,還包括接收用戶輸入,且作為結(jié)果,并基于 所述用戶輸入,以使用戶可以容易地判斷所述安全令牌包括匹配所述上下文的上下文信息 的方式顯示較少的所述一個(gè)或多個(gè)安全令牌。
17.在計(jì)算環(huán)境中,一種評(píng)估文檔簽名和被用來(lái)對(duì)所述文檔(220)進(jìn)行簽名的令牌(150)的方法,所述方法包括接收由令牌簽名的文檔(220)(動(dòng)作50 ,所述令牌包括上下文屬性,其中,所述上下文屬性包括涉及上下文信息O10)的至少一部分的信息, 其中,所述上下文信息包括有關(guān)將使用數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使 用這些屬性,或在哪里使用這些屬性中的一個(gè)或多個(gè)的信息;以及身份屬性,其中,所述身份屬性包括數(shù)字身份表示O06)中的信息,其中,所述數(shù)字身 份表示(206)包括標(biāo)識(shí)關(guān)于實(shí)體(110)的身份屬性和提供供所述實(shí)體使用的令牌的身份提 供者(11 的能力的信息,其中,所述標(biāo)識(shí)所述身份提供者(115)的能力的信息包括所述身 份提供者(115)的身份的指示或所述身份提供者(115)可以作出什么斷言中的至少一個(gè), 以及通過(guò)判斷所述令牌(150)中的所述上下文信息和所述令牌(150)中的所述身份信息與 使用所述簽名來(lái)對(duì)所述文檔(220)進(jìn)行簽名有關(guān)來(lái)判斷所述文檔是有效簽名的文檔(動(dòng)作 504)。
18.如權(quán)利要求19所述的方法,其特征在于,通過(guò)判斷所述令牌中的所述上下文信息 和所述令牌中的所述身份信息與使用所述簽名來(lái)對(duì)所述文檔進(jìn)行簽名有關(guān)來(lái)判斷所述文 檔是有效簽名的文檔包括執(zhí)行工作流。
19.如權(quán)利要求19所述的方法,其特征在于,還包括,在接收到由所述令牌簽名的所述 文檔之前提供反饋,其中,所述反饋被用來(lái)選擇所述令牌中所包括的所述上下文屬性或所 述身份屬性的至少一部分。
20.如權(quán)利要求19所述的方法,其特征在于,還包括,在接收到由所述令牌簽名的所述 文檔之前提供關(guān)于所述文檔的上下文,其中,所述上下文被用來(lái)選擇所述令牌中所包括的 所述上下文屬性。
全文摘要
當(dāng)對(duì)文檔進(jìn)行數(shù)字簽名時(shí)創(chuàng)建供實(shí)體使用的令牌。在計(jì)算環(huán)境中,訪問(wèn)實(shí)體的數(shù)字身份表示。數(shù)字身份表示包括標(biāo)識(shí)關(guān)于實(shí)體的身份屬性和提供供實(shí)體使用的令牌的身份提供者的能力的信息。訪問(wèn)上下文信息。上下文信息包括有關(guān)將使用數(shù)字身份表示中所標(biāo)識(shí)的實(shí)體的哪些屬性,如何使用這些屬性,或在哪里使用這些屬性中的一個(gè)或多個(gè)的信息。從數(shù)字身份表示中的信息和上下文信息創(chuàng)建安全令牌。安全令牌通過(guò)身份提供者作出斷言。斷言基于數(shù)字身份表示中的信息。令牌還包括涉及上下文信息的至少一部分的信息。
文檔編號(hào)G06F21/00GK102132286SQ200980133679
公開(kāi)日2011年7月20日 申請(qǐng)日期2009年6月5日 優(yōu)先權(quán)日2008年6月20日
發(fā)明者A·K·納恩達(dá), C·H·威滕伯格, H·O·威爾遜, K·卡梅隆, L·R·梅爾頓, R·蘭德?tīng)? T·謝里夫 申請(qǐng)人:微軟公司