專利名稱:用于在計(jì)算機(jī)網(wǎng)絡(luò)中管理對(duì)被保護(hù)資源的訪問以及委托授權(quán)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)或通信網(wǎng)絡(luò)中對(duì)被保護(hù)資源的訪問管理、訪問此類資源的授權(quán)委托以及此類資源的使用。具體來說,本發(fā)明涉及由物理實(shí)體執(zhí)行的用于執(zhí)行這種訪問管理和授權(quán)委托的方法,并且涉及配置用于此目的的物理實(shí)體和計(jì)算機(jī)程序。本發(fā)明可特別地應(yīng)用于使用計(jì)算機(jī)網(wǎng)絡(luò)中與用戶相關(guān)聯(lián)的資源的web服務(wù)環(huán)境中,其中資源分散在兩個(gè)或更多web應(yīng)用或web站點(diǎn)上并且其中用戶也可以是地理上分散的。
背景技術(shù):
在計(jì)算機(jī)或通信網(wǎng)絡(luò)中,為了有利于一個(gè)用戶或更普遍地為了有利于多個(gè)用戶,不同web站點(diǎn)或web應(yīng)用可提供不同的服務(wù)。例如,一個(gè)web站點(diǎn)或web應(yīng)用可管理一個(gè)用戶的電子郵件賬戶。另一個(gè)web站點(diǎn)或web應(yīng)用可使能照片的存儲(chǔ)以便與該用戶的社交網(wǎng)絡(luò)中的成員共享這些照片。還有一個(gè)web站點(diǎn)或web應(yīng)用可作為一個(gè)書店來管理用戶的書店賬號(hào)。而再另外的web站點(diǎn)或web應(yīng)用可提供圖像和照片的打印并將它們輸送給用戶。這些可能性是無窮的。然而,web站點(diǎn)和web應(yīng)用可希望能提供新的服務(wù)“which tie togetherfunctionality from other sites,,(Eran Hammer-Lahav, “Explaining OAuth,,, 2007 年9 月 5 日,http: //hueniverse. com/2007/09/explaining-oauth 2009 年 9 月 15 日獲取至IJ,這里稱為參考文獻(xiàn)[I])。例如,數(shù)碼照片實(shí)驗(yàn)室打印web應(yīng)用(如示例性的web站點(diǎn)“printer, consumer, com”)可能想代表用戶獲取存儲(chǔ)在數(shù)字圖像托管web站點(diǎn)(如示例性的站點(diǎn)“photos, container, com”)中的照片,其中該用戶在該站點(diǎn)具有一個(gè)賬戶,以便打印并輸送這些照片給用戶。為了實(shí)現(xiàn)集成了來自不同web站點(diǎn)和web應(yīng)用的被保護(hù)資源的web服務(wù),第一 web站點(diǎn)或web應(yīng)用,這里稱為“使用者”,可請(qǐng)求用戶提供他或她的證書以便訪問第二 web站點(diǎn)或web應(yīng)用,這里稱為“服務(wù)提供者”(盡管使用者也提供服務(wù))。在上述例子中,使用者會(huì)是數(shù)碼照片實(shí)驗(yàn)室打印web應(yīng)用,服務(wù)提供者會(huì)是數(shù)字圖像托管web站點(diǎn),以及被保護(hù)資源會(huì)是用戶的私人照片。換句話說,使用者可請(qǐng)求用戶提供他或她的用戶名和密碼以便訪問服務(wù)提供者。然而,這暴露了用戶的密碼并且使得該密碼能夠被其它人使用來在服務(wù)提供者內(nèi)進(jìn)行與該用戶的賬號(hào)相關(guān)聯(lián)的任何動(dòng)作(例如,“甚至改變你的密碼并將你鎖在外(evenchange your password and lock you out),,,參考文獻(xiàn)[I],章節(jié) “What is it For,,)。為了解決該問題,開發(fā)了OAuth 協(xié)議(Atwood,Μ.等,"OAuth Core1. ORevisionA",2009 年 6 月 24 H , http: //oauth. net/core/1. 0a 2009 年 9 月 15 日獲取到,這里稱為參考文獻(xiàn)[2])。OAuth協(xié)議使得一個(gè)web站點(diǎn)或web應(yīng)用(即使用者)能夠從另一個(gè)web站點(diǎn)或web應(yīng)用(即服務(wù)提供者)訪問被保護(hù)資源,而不要求用戶公開他們的服務(wù)提供者證書給使用者(參考文獻(xiàn)[2],摘要)。OAuth協(xié)議可被認(rèn)為是一個(gè)應(yīng)用編程接口(API)訪問委托協(xié)議。參考文獻(xiàn)[I]章節(jié)“What is it For”中解釋的“貼身男仆鑰匙類比(valetkey analogy) ”可幫助直觀地理解OAuth協(xié)議的目的。在OAuth協(xié)議中,鑒權(quán),即“用戶準(zhǔn)許訪問他們的被保護(hù)資源而無需共享他們的證書給使用者的過程”(參考文獻(xiàn)[2], “6. Authenticating with OAuth”),工作如下。使用者從服務(wù)提供者獲得未授權(quán)的請(qǐng)求令牌。使用者使用服務(wù)提供者的用戶授權(quán)URL( “URL”在這里表示“統(tǒng)一資源定位符”)經(jīng)由用戶的web瀏覽器將用戶指引到服務(wù)提供者。然后用戶與服務(wù)提供者進(jìn)行鑒權(quán)。換句話說,用戶登錄到服務(wù)提供者的web站點(diǎn)。用戶從不將他或她的服務(wù)提供者證書提供給使用者。然后,服務(wù)提供者向用戶詢問他或她是否同意使用者被準(zhǔn)許訪問被保護(hù)資源。為此,服務(wù)提供者向用戶展現(xiàn)與使用者想要訪問的被保護(hù)資源有關(guān)的信息。該信息包括請(qǐng)求訪問的持續(xù)時(shí)間和訪問類型(例如,復(fù)制、修改或刪除被保護(hù)資源)。例如,該信息可以展現(xiàn)在服務(wù)提供者web站點(diǎn)的網(wǎng)頁(yè)上,以示例性的消息形式,例如“web站點(diǎn)〈使用者名 > 請(qǐng)求在接下來的I小時(shí)內(nèi)訪問你的私人照片,你同意這種訪問嗎? ”。然后用戶準(zhǔn)許或拒絕服務(wù)提供者的許可以代表用戶給使用者直觀的訪問。
·
如果用戶同意,請(qǐng)求令牌被授權(quán)并且用戶被指引回到使用者,這樣通知使用者請(qǐng)求令牌已被授權(quán)。然后授權(quán)的請(qǐng)求令牌被交換為訪問令牌并且使用者可以代表用戶來訪問被保護(hù)資源。如果用戶拒絕許可,通知使用者請(qǐng)求令牌已被廢除。使用OAuth協(xié)議的鑒權(quán)過程的例子展現(xiàn)在Eran Hammer-Lahav, " Beginner' sGuide to OAuth-Part II Protocol Workflow" ,2007年 10 月 15 日,http://hueniverse.com/2007/10/beginners-guide-to-oauth-part-11-protocol-workflow/2009 年 9 月 15 日獲取?,F(xiàn)在,一個(gè)新問題產(chǎn)生了。為了實(shí)現(xiàn)集成了來自不同web站點(diǎn)和web應(yīng)用的被保護(hù)資源的web服務(wù),第一 web站點(diǎn)或web應(yīng)用(即“使用者”)可能希望代表第一用戶來訪問來自第二 web站點(diǎn)或web應(yīng)用(即“服務(wù)提供者”)的第二用戶的被保護(hù)資源,其中第一用戶和第二用戶是不同的用戶。例如,第二用戶應(yīng)允許第一用戶使用使用者來訪問服務(wù)提供者以便訪問與第二用戶相關(guān)的被保護(hù)資源,其中,使用者可以是數(shù)碼照片實(shí)驗(yàn)室打印web應(yīng)用,服務(wù)提供者可以是數(shù)字圖像托管web站點(diǎn),被保護(hù)資源可以是第二用戶的私人照片。專利申請(qǐng)US 2008/0066159A1涉及一種授權(quán)委托機(jī)制,包括維護(hù)者、第一負(fù)責(zé)人和第二負(fù)責(zé)人(第
、
-
段及圖6)。所述維護(hù)者具有權(quán)利準(zhǔn)許能力。經(jīng)由傳遞委托授權(quán)主張,將權(quán)利準(zhǔn)許能力從維護(hù)者委托給負(fù)責(zé)人#1。希望改進(jìn)方法、物理實(shí)體和計(jì)算機(jī)程序以管理代表用戶由這里稱為使用者的web站點(diǎn)或web應(yīng)用對(duì)與這里被稱為服務(wù)提供者的其它web站點(diǎn)或web應(yīng)用上的用戶相關(guān)聯(lián)的被保護(hù)資源的訪問,同時(shí)考慮減少操作負(fù)擔(dān)的需要以及以靈活、安全和有效的方式解決更多情形的希望。
發(fā)明內(nèi)容
為了滿足或至少部分地滿足這些目的,在獨(dú)立權(quán)利要求中定義了方法、委托輔助設(shè)備和計(jì)算機(jī)程序。在從屬權(quán)利要求中定義了有利的實(shí)施例。在一個(gè)實(shí)施例中,方法至少由使用者、服務(wù)提供者和控制器來執(zhí)行。服務(wù)提供者是被配置成提供對(duì)被保護(hù)資源的訪問的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè)。使用者是被配置成代表用戶訪問服務(wù)提供者的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè)。所述方法包括由使用者向服務(wù)提供者傳送第一消息,該第一消息表不由代表第一用戶(這里稱為被委托者)的使用者從服務(wù)提供者訪問第二用戶(這里稱為委托者)的被保護(hù)資源的授權(quán)請(qǐng)求。所述方法還包括由服務(wù)提供者向控制器傳送第二消息,該第二消息表示由代表被委托者的使用者從服務(wù)提供者訪問委托者的被保護(hù)資源的授權(quán)請(qǐng)求。該第二消息包含一個(gè)請(qǐng)求令牌。該請(qǐng)求令牌是服務(wù)提供者用來登記對(duì)訪問被保護(hù)資源的請(qǐng)求的授權(quán)的值。所述方法還包括由控制器確定第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置;并且,如果確定請(qǐng)求的授權(quán)滿足策略設(shè)置,則由服務(wù)提供者準(zhǔn)許由請(qǐng)求令牌所登記的授權(quán),并由控制器和服務(wù)提供者中的至少一個(gè)向使用者傳送包含該請(qǐng)求令牌的第三消息。
控制器是一個(gè)或多個(gè)物理實(shí)體,其中可包括一個(gè)或多個(gè)計(jì)算機(jī)程序或硬件電路單元以用于運(yùn)行控制器的功能。例如,控制器可與一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)或者一個(gè)或多個(gè)用戶終端集成在一起。控制器被配置成接收包含請(qǐng)求令牌的消息,即第二消息。該第二消息表示由代表被委托者的使用者從服務(wù)提供者訪問委托者的被保護(hù)資源的授權(quán)請(qǐng)求??刂破鬟€被配置成檢查(即,確定)第二消息是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置。換而言之,控制器檢查第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置。如果控制器確定請(qǐng)求的授權(quán)滿足所述策略設(shè)置,則服務(wù)提供者被給予全權(quán)以準(zhǔn)許與請(qǐng)求令牌相關(guān)聯(lián)的授權(quán)。然后服務(wù)提供者準(zhǔn)許由該請(qǐng)求令牌所登記的授權(quán)??蛇x地,在準(zhǔn)許授權(quán)之前,服務(wù)提供者可執(zhí)行關(guān)于由該請(qǐng)求令牌所登記的授權(quán)是否安全和/或合法的進(jìn)一步的確定,如果是,則服務(wù)提供者準(zhǔn)許由該請(qǐng)求令牌所登記的授權(quán)。在授權(quán)被準(zhǔn)許之后(即服務(wù)提供者和控制器都授權(quán)),包含授權(quán)的請(qǐng)求令牌的第三消息由控制器或服務(wù)提供者或他們兩個(gè)傳送給使用者。然后使用者可代表被委托者從服務(wù)提供者訪問與委托者相關(guān)聯(lián)的被保護(hù)資源。因此,集成了委托者的被保護(hù)資源的服務(wù)能夠由使用者提供以有益于被委托者,其中被委托者能夠獲得任何的服務(wù)輸出。該方法也有益于委托者,委托者能夠方便地與被委托者或代表被委托者工作的使用者共享他或她的被保護(hù)資源,而無需發(fā)布及由此暴露他或她的證書。換而言之,一方面,控制器作為委托者的委托輔助設(shè)備。它輔助委托者管理對(duì)授權(quán)或阻止對(duì)他或她的被保護(hù)資源的訪問的職權(quán)委托。另一方面,控制器還作為被委托者的委托輔助設(shè)備。它輔助被委托者獲得訪問委托者的被保護(hù)資源的授權(quán)。管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置(也稱為策略規(guī)則或保密設(shè)置)在實(shí)施之前由控制器建立。如果第二消息不滿足策略設(shè)置,則控制器不對(duì)服務(wù)提供者給予全權(quán)以允許對(duì)被保護(hù)資源的訪問。當(dāng)?shù)诙⒁约暗诙⑺硎镜恼?qǐng)求的授權(quán)不滿足策略設(shè)置時(shí),控制器和服務(wù)提供者實(shí)施訪問拒絕而無需委托者在接收到第二消息時(shí)進(jìn)行干預(yù)。在一些實(shí)施例中,如果控制器請(qǐng)求委托者這樣做,例如,當(dāng)面對(duì)特殊的請(qǐng)求授權(quán)時(shí),即僅基于控制器中現(xiàn)有的策略設(shè)置不能拒絕或允許的請(qǐng)求授權(quán),則委托者在接收到第二消息時(shí)進(jìn)行干預(yù)。換而言之,給予控制器機(jī)會(huì)以截聽并評(píng)估每個(gè)請(qǐng)求的授權(quán),并且,根據(jù)由該消息所表示的請(qǐng)求的授權(quán)的類型和其請(qǐng)求令牌(即,以每個(gè)請(qǐng)求為基礎(chǔ)),控制器決定接受還是拒絕該請(qǐng)求的授權(quán)?;趶南⒅刑崛』蚴占年P(guān)于如果請(qǐng)求令牌被授權(quán)會(huì)或者可能發(fā)生什么的信息,控制器作出確定,即決定。這使委托者解脫了在接收到消息時(shí)需要與服務(wù)提供者進(jìn)行交互。因此,該方法通過減少用戶的操作負(fù)擔(dān)從而顯著地改進(jìn)和促進(jìn)了計(jì)算機(jī)或通信網(wǎng)絡(luò)中的隱私管理。出于用戶觀點(diǎn)的隱私管理是存在于用戶或有益于用戶的控制中的任務(wù),其中的控制是指控制哪個(gè)被保護(hù)資源能夠或不能被代表其它用戶(即被委托者)的指定使用者訪問以及如何訪問,其中被保護(hù)資源由服務(wù)提供者存儲(chǔ)、提供或者可從服務(wù)提供者訪問,并且與用戶(即委托者)相關(guān)聯(lián)。隱私管理還包括對(duì)用戶的被保護(hù)資源的適當(dāng)處理,與用戶的偏好一致,例如關(guān)于其執(zhí)行與用戶的被保護(hù)資源相關(guān)的操作。除了減輕用戶的操作負(fù)擔(dān),該方法還降低了人為錯(cuò)誤的風(fēng)險(xiǎn),所述人為錯(cuò)誤會(huì)包括用戶(即委托者)無心地準(zhǔn)許了對(duì)某些被保護(hù)資源的訪問。消息是一個(gè)或多個(gè)信息單元,能夠在通信信道或網(wǎng)絡(luò)上傳送并且如果必要的話能夠攜帶請(qǐng)求令牌和相關(guān)參數(shù),如果有的話。該消息也被稱為請(qǐng)求或者可表示一個(gè)請(qǐng)求。用戶是其身份能夠被鑒權(quán)的一個(gè)人或一群人,或者是其身份能夠被鑒權(quán)的物理實(shí)體,例如用戶終端或用戶設(shè)備。換而言之,當(dāng)這里使用術(shù)語(yǔ)“用戶”時(shí)(或者術(shù)語(yǔ)“被委托者”或“委托者”),其可以是指實(shí)際的最終用戶(即人或一群人)以及可以附上身份的用戶終端或用戶設(shè)備中的任一個(gè)或者兩者。此外,如果用戶終端能夠使用多種身份(例如與不同的用戶偏好相關(guān)聯(lián))來操作,則用戶終端可據(jù)此操作的每個(gè)身份可對(duì)應(yīng)于本發(fā)明上下文中的一個(gè)用戶。因此,術(shù)語(yǔ)“用戶”(或者術(shù)語(yǔ)“被委托者”或“委托者”)這里適當(dāng)?shù)那闆r下也包含用戶設(shè)備或用戶終端(或者分別是被委托者的設(shè)備或被委托者的終端,或者委托者的設(shè)備或委托者的終端)。例如,如果要求與用戶交互,則用戶設(shè)備可被配置好以便執(zhí)行該交互而無需人干預(yù)。這特別表明了為什么術(shù)語(yǔ)“用戶”通常指作為人或一群人的用戶和由特定的人使用的用戶設(shè)備中的任一個(gè)或者兩者。被保護(hù)資源是與一個(gè)用戶的身份或與一組用戶相關(guān)聯(lián)的一組身份有關(guān)的數(shù)據(jù),或者是與一個(gè)用戶的身份或與一組用戶相關(guān)聯(lián)的一組身份有關(guān)的服務(wù)。被保護(hù)資源的例子包括私人照片、在線地址簿中的聯(lián)系人、在線日程中的條目、在線社交網(wǎng)絡(luò)中的好友列表、書簽列表、存儲(chǔ)于在線社交網(wǎng)絡(luò)賬戶中的喜愛的歌曲列表、最近從在線商店中購(gòu)買的貨物列表、在服務(wù)器或博客上保存或發(fā)布數(shù)據(jù)的可能性等等。被保護(hù)資源可包括被保護(hù)的社會(huì)信肩、如上所述,對(duì)被保護(hù)資源的訪問或使用可存在于服務(wù)的使用中。在該上下文中,月艮務(wù)的提供是一個(gè)技術(shù)和經(jīng)濟(jì)活動(dòng),其例如可導(dǎo)致出售的實(shí)體貨物的所有權(quán)、計(jì)算機(jī)配置的技術(shù)特性的修改等。該服務(wù)可以是web服務(wù)。本發(fā)明可用于基于web的社交網(wǎng)絡(luò)服務(wù),但是不局限于此。同樣地,本發(fā)明可采用從OAuth協(xié)議導(dǎo)出或擴(kuò)展OAuth協(xié)議的協(xié)議,但是不局限于此。本發(fā)明可應(yīng)用于其它上下文中并采用其它協(xié)議。在一個(gè)實(shí)施例中,本發(fā)明還包括,在使用者或服務(wù)提供者傳送第一消息的步驟之前,由被委托者控制的軟件應(yīng)用和物理裝置中的至少一個(gè)傳送涉及代表被委托者的使用者從服務(wù)提供者訪問委托者的被保護(hù)資源的服務(wù)請(qǐng)求給使用者。
在一個(gè)實(shí)施例中,該方法是這樣的,由使用者向服務(wù)提供者傳送第一消息的步驟包括使用者通過由被委托者控制的軟件應(yīng)用和物理裝置中的至少一個(gè)向服務(wù)提供者傳送
第一消息。在一個(gè)實(shí)施例中,該方法還包括,在控制器確定第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置的步驟和由服務(wù)提供者準(zhǔn)許由請(qǐng)求令牌所登記的授權(quán)的步驟之間,以及如果確定請(qǐng)求的授權(quán)滿足策略設(shè)置,則從控制器向服務(wù)提供者傳送指示由第二消息所表示的請(qǐng)求授權(quán)能夠被接受的消息。該消息給予服務(wù)提供者全權(quán)以便準(zhǔn)予(即授權(quán))該請(qǐng)求的授權(quán)。在一個(gè)實(shí)施例中,該方法還包括,在由服務(wù)提供者準(zhǔn)許請(qǐng)求令牌所登記的授權(quán)的步驟和由控制器和服務(wù)提供者中的至少一個(gè)傳送包含該請(qǐng)求令牌的第三消息給使用者的步驟之間,從服務(wù)提供者向控制器傳送包含該請(qǐng)求令牌的消息,針對(duì)該請(qǐng)求令牌授權(quán)被準(zhǔn)
許O在一個(gè)實(shí)施例中,該方法是這樣的,向使用者傳送包含該請(qǐng)求令牌的第三消息從控制器執(zhí)行。在一個(gè)實(shí)施例中,該方法是這樣的,控制器包括代表被委托者運(yùn)行的委托輔助設(shè)備,以及代表委托者運(yùn)行的委托輔助設(shè)備,其中委托輔助設(shè)備是軟件應(yīng)用和物理裝置中的至少一個(gè)。 在一個(gè)實(shí)施例中,該方法是這樣的,由控制器確定第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置包括從第二消息中提取以下信息中的至少一個(gè)(i)有關(guān)該請(qǐng)求的授權(quán)所始發(fā)自的使用者的信息;(ii)有關(guān)被委托者的信息,其中使用者代表該被委托者請(qǐng)求訪問委托者的被保護(hù)資源的授權(quán);(iii)有關(guān)被保護(hù)資源的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán);(iv)有關(guān)一個(gè)或多個(gè)操作的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)一個(gè)或多個(gè)操作予以授權(quán);確定提取的信息是否滿足策略設(shè)置。從該消息中提取信息可包括解析該消息。該實(shí)施例實(shí)現(xiàn)了控制器(作為委托者)在隱私管理方面對(duì)在第二消息中包含的請(qǐng)求令牌的重要性的有效控制,達(dá)到可從包含請(qǐng)求令牌的第二消息中推斷出來的程度。如果從消息中提取的信息不滿足為委托者或由委托者事先設(shè)置的策略設(shè)置,則不對(duì)服務(wù)提供者給予準(zhǔn)許請(qǐng)求的授權(quán)的全權(quán)。控制器對(duì)第二消息的檢查可涉及請(qǐng)求令牌所始發(fā)自的使用者的特征或身份,其中一些使用者或者一類或一組使用者可能被認(rèn)為是不可靠的??刂破鲗?duì)第二消息的檢查還可涉及被委托者的特征或身份,代表該被委托者,已創(chuàng)建由第二消息所表示的請(qǐng)求的授權(quán),其中一些被委托者或者一類或一組被委托者可能被認(rèn)為是不可靠的。假如有關(guān)被保護(hù)資源的信息能夠從第二消息中獲得或提取(因?yàn)樵撓⒅邪瑯?biāo)識(shí)此類被保護(hù)資源的參數(shù)或者因?yàn)閺脑撓⒌囊粋€(gè)或多個(gè)特征中可能導(dǎo)出與請(qǐng)求的授權(quán)相關(guān)的被保護(hù)的類型或被保護(hù)資源的標(biāo)識(shí)),其中通過該第二消息請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán),控制器對(duì)第二消息的檢查可包括提取這種有關(guān)被保護(hù)資源的信息。例如,如果第二消息對(duì)應(yīng)于與特定被保護(hù)資源或被保護(hù)資源類型相關(guān)的請(qǐng)求的授權(quán),例如敏感信息(如,銀行明細(xì)),則服務(wù)提供者可被阻止準(zhǔn)許請(qǐng)求令牌所登記的授權(quán)。在一個(gè)實(shí)施例中,有關(guān)被保護(hù)資源的信息可從第二消息中獲得或提取,其中通過該請(qǐng)求令牌來請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán)。假如有關(guān)一個(gè)或多個(gè)操作的信息可從第二消息中獲得或提取,其中通過請(qǐng)求令牌請(qǐng)求對(duì)一個(gè)或多個(gè)操作予以授權(quán),檢查第二消息的步驟可包括確定被請(qǐng)求授權(quán)的操作的此類特性是否滿足策略設(shè)置。在一個(gè)實(shí)施例中,有關(guān)操作的信息可從第二消息中獲得或提取,其中通過請(qǐng)求令牌來請(qǐng)求對(duì)操作予以授權(quán)。本發(fā)明還涉及一種包括接收機(jī)、確定器和傳送機(jī)的委托輔助設(shè)備。該接收機(jī)被配置用于從另一個(gè)委托輔助設(shè)備接收消息,這里稱為請(qǐng)求消息,其表示了代表這里稱為被委托者的第一用戶的使用者從服務(wù)提供者訪問這里稱為委托者的第二用戶的被保護(hù)資源的授權(quán)請(qǐng)求。該請(qǐng)求消息包含一個(gè)請(qǐng)求令牌。在該上下文中,服務(wù)提供者是被配置成提供對(duì)被保護(hù)資源的訪問的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè)。使用者是被配置成代表用戶訪問服務(wù)提供者的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè)。請(qǐng)求令牌是服務(wù)提供者用來登記訪問被保護(hù)資源的請(qǐng)求授權(quán)的值。確定器被配置用于確定該請(qǐng)求消息所表示的請(qǐng)求授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置。傳送機(jī)被配置用于,如果請(qǐng)求的授權(quán)滿足策略設(shè)置,則向服務(wù)提供者傳送指示該請(qǐng)求消息所表示的請(qǐng)求的授權(quán)能夠被準(zhǔn)許的響應(yīng)消息。換而言之,傳送機(jī)被配置用于,如果確定請(qǐng)求的授權(quán)滿足策略設(shè)置,則給予服務(wù)提供者全權(quán)以準(zhǔn)許該請(qǐng)求的授權(quán)。在一個(gè)實(shí)施例中,所述委托輔助設(shè)備是這樣的,確定器包括提取器和子確定器。所述提取器被配置用于從所述請(qǐng)求消息中提取至少一個(gè)下述信息(i)與該請(qǐng)求的授權(quán)所始發(fā)自的使用者有關(guān)的信息;(ii)有關(guān)被委托者的信息,其中使用者代表該被委托者請(qǐng)求訪問委托者的被保護(hù)資源的授權(quán);(iii)有關(guān)被保護(hù)資源的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán);(iv)有關(guān)一個(gè)或多個(gè)操作的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)一個(gè)或多個(gè)操作予以授權(quán)。所述子確定器被配置用于確定提取的信息是否滿足策略設(shè)置。
本發(fā)明還涉及一種包含指令的計(jì)算機(jī)程序,指令被配置成當(dāng)在計(jì)算機(jī)或上述控制器上運(yùn)行時(shí),使得服務(wù)器或計(jì)算機(jī)作為以上所定義的委托輔助設(shè)備來操作。本發(fā)明還涉及包含這種計(jì)算機(jī)程序的計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)。
下面將結(jié)合附圖描述本發(fā)明的實(shí)施例,其中圖1是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖;圖2是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,其中,在控制器確定授權(quán)請(qǐng)求可被接受之后,從控制器向服務(wù)提供者傳送消息以允許服務(wù)提供者準(zhǔn)許該授權(quán)并且其中傳送包含授權(quán)的請(qǐng)求令牌的第三消息的步驟從控制器執(zhí)行;圖3是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,其中,在使用者傳送第一消息給服務(wù)提供者之前,使用者從被委托者接收使用該使用者的請(qǐng)求;圖4是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,其中,從使用者發(fā)送給服務(wù)提供者的第一消息通過被授權(quán)委托者傳送;圖5是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,由服務(wù)提供者發(fā)送給控制器的第二消息通過使用者傳送;圖6是本發(fā)明另一個(gè)實(shí)施例中的方法的示意消息圖;圖7是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,其中,控制器包括被委托者的委托輔助設(shè)備和委托者的委托輔助設(shè)備;圖8-12是本發(fā)明另一些實(shí)施例的示意消息圖;圖13是圖12中示出的方法的一部分的示意消息圖;圖14是本發(fā)明一個(gè)實(shí)施例中的方法的流程圖;圖15是示意性地示出了本發(fā)明一個(gè)實(shí)施例中的委托者的委托輔助設(shè)備;圖16和17是為解釋了本發(fā)明相對(duì)于現(xiàn)有技術(shù)所解決的問題和提供的優(yōu)點(diǎn)而示出的方法消息圖。
具體實(shí)施例方式下面將結(jié)合具體實(shí)施例描述本發(fā)明。這些具體實(shí)施例用于為技術(shù)人員提供更好的理解,而并不旨在以任何方式限制附帶的權(quán)利要求所定義的本發(fā)明的范圍。
圖1是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖。圖1所示的方法由使用者100、服務(wù)提供者200和控制器300來執(zhí)行。使用者100試圖代表被委托者410(圖1中未示出)訪問可從服務(wù)提供者200訪問的委托者420(圖1中未示出)的被保護(hù)資源。為此,使用者100向服務(wù)提供者傳送SlO第一消息。該第一消息表示或包括了表示訪問委托者420的被保護(hù)資源的授權(quán)請(qǐng)求的計(jì)算機(jī)可讀信息。服務(wù)提供者200接收從使用者100始發(fā)的第一消息。在使用者100和服務(wù)提供者200之間,可存在中間物理實(shí)體,第一消息可通過該中間物理實(shí)體來傳送(圖1中未示出,但可以參見圖4的例子)。第一消息表示或包括計(jì)算機(jī)可讀信息,該計(jì)算機(jī)可讀信息表示了使用者100代表被委托者410從服務(wù)提供者200訪問委托者420的被保護(hù)資源的授權(quán)請(qǐng)求。服務(wù)提供者200從第一消息檢測(cè)授權(quán)請(qǐng)求須首先通過為委托者420工作的控制器300的批準(zhǔn)。然后,月艮務(wù)提供者200為接收到的授權(quán)請(qǐng)求分配請(qǐng)求令牌。在該上下文中,請(qǐng)求令牌是標(biāo)識(shí)對(duì)被保護(hù)資源的訪問請(qǐng)求的一個(gè)值。服務(wù)提供者200創(chuàng)建包含現(xiàn)階段未授權(quán)的請(qǐng)求令牌的第二消息,并將該第二消息傳送s20到控制器300??刂破?00是負(fù)責(zé)檢查對(duì)于所有委托者的授權(quán)請(qǐng)求的控制器或者可以是與特定委托者420或特定的一組委托者420相關(guān)聯(lián)的控制器。在后一情況中,服務(wù)提供者200能夠從第一消息中獲取足夠的信息來定位控制器300,該控制器300負(fù)責(zé)評(píng)估第一消息涉及的對(duì)委托者420的被保護(hù)資源的訪問的請(qǐng)求授權(quán)。除了請(qǐng)求令牌之外,第二消息可包括伴隨請(qǐng)求令牌的多種附加信息或參數(shù),如,請(qǐng)求令牌所登記的請(qǐng)求授權(quán)始發(fā)自的使用者100的標(biāo)識(shí)、代表其創(chuàng)建請(qǐng)求的授權(quán)的被委托者410、來自使用者100的請(qǐng)求授權(quán)的主題的被保護(hù)資源和/或與被保護(hù)資源相關(guān)的使用者100請(qǐng)求被授權(quán)的操作。第二消息可以是一個(gè)分組、HTTP請(qǐng)求或任何其它適當(dāng)格式化的信號(hào)以攜帶請(qǐng)求令牌。然后,控制器300確定s30接收的第二消息是否符合管控對(duì)委托者420的被保護(hù)資源的訪問的策略設(shè)置。策略設(shè)置存儲(chǔ)在控制器300中或者可由控制器300訪問,并且涉及與委托者420相關(guān)的被保護(hù)資源,其中控制器300為該委托者420工作。策略設(shè)置可由委托者420預(yù)先設(shè)置。備選地或另外的,當(dāng)啟動(dòng)為委托者420工作的控制器300時(shí)可默認(rèn)設(shè)置隱私設(shè)置。隱私設(shè)置的更新可由委托者420、被授權(quán)配置控制器300的第三方或他們兩者來執(zhí)行。例如,委托者420 (即作為委托者420的用戶,或者換句話說,具有委托者420的角色的用戶)可預(yù)先設(shè)置策略設(shè)置,其中,控制器300使用策略設(shè)置來指示第一特定使用者100,如 “doesntcareaboutprivacy. com,,及 “sellsyourprivatedatato3rdparties. com,,,沒有被授權(quán)訪問委托者的任何被保護(hù)資源,而不管怎樣的資源及對(duì)資源執(zhí)行的操作。委托者420還可以指示來自另一個(gè)特定使用者100 (如“careaboutprivacy. com”)的消息中的請(qǐng)求授權(quán)應(yīng)當(dāng)僅在被保護(hù)資源例如是銀行明細(xì)或社會(huì)保障號(hào)碼的情況下被拒絕,而不管怎樣的對(duì)資源執(zhí)行的操作,或者在被請(qǐng)求授權(quán)的操作在于一些被保護(hù)資源的刪除操作的情況下被拒絕。 委托者420還可以預(yù)先設(shè)置策略設(shè)置,其中,控制器300使用策略設(shè)置來指示在代表第一特定被委托者410工作時(shí)的使用者100沒有被授權(quán)訪問委托者的任何被保護(hù)資源,而不管怎樣的資源及請(qǐng)求對(duì)資源執(zhí)行的操作。例如,委托者420還可指示當(dāng)代表其它特定被委托者410工作時(shí)的使用者100應(yīng)當(dāng)僅在如果被保護(hù)資源不是銀行明細(xì)或社會(huì)保障號(hào)碼的情況下被授權(quán)訪問委托者的被保護(hù)資源或者僅在如果請(qǐng)求被授權(quán)的操作不在于一些被保護(hù)資源的刪除操作的情況下,才被授權(quán)。控制器300對(duì)授權(quán)請(qǐng)求的拒絕操作可包括刪除第二消息、將第二消息的細(xì)節(jié)記錄在控制器300中以用于后續(xù)評(píng)定,以及通知使用者100和/或服務(wù)提供者200請(qǐng)求未授權(quán)。發(fā)送給使用者100和/或服務(wù)提供者200的信息可包括請(qǐng)求被拒絕的詳細(xì)原因。如果控制器300確定s30第二消息所表示的請(qǐng)求授權(quán)滿足管控對(duì)委托者420的被保護(hù)資源的訪問的策略設(shè)置 ,則控制器300給予服務(wù)提供者200全權(quán)以授權(quán)請(qǐng)求的授權(quán)和相關(guān)聯(lián)的請(qǐng)求令牌。然后服務(wù)提供者200準(zhǔn)許s40請(qǐng)求令牌所登記的授權(quán)。然后,向使用者100傳送s50包括授權(quán)的請(qǐng)求令牌的第三消息,該授權(quán)的請(qǐng)求令牌向使用者100指示授權(quán)請(qǐng)求已被控制器300和服務(wù)提供者200兩者批準(zhǔn)。接收到授權(quán)的請(qǐng)求令牌時(shí),使用者100使用該請(qǐng)求令牌來代表被委托者410從服務(wù)提供者200訪問委托者420的被保護(hù)資源(圖1未示出)。在圖1中,步驟s40相關(guān)聯(lián)的虛線指示請(qǐng)求的授權(quán)的批準(zhǔn)和準(zhǔn)許操作由服務(wù)提供者200和控制器300 —起執(zhí)行。僅當(dāng)控制器300允許服務(wù)提供者200這樣做時(shí)服務(wù)提供者200才準(zhǔn)許請(qǐng)求的授權(quán)。此外,即使控制器300批準(zhǔn)請(qǐng)求的授權(quán),如果請(qǐng)求的授權(quán)被認(rèn)為是不安全的或非法的,服務(wù)提供者200可仍決定不批準(zhǔn)該請(qǐng)求的授權(quán)。如果服務(wù)提供者200決定拒絕該請(qǐng)求的授權(quán),服務(wù)提供者200還可以在接收之前阻塞第一消息,這樣沒有第二消息被發(fā)送到控制器300,減少了交換消息的數(shù)量。圖1中與步驟s50相關(guān)聯(lián)的虛線說明了這樣一個(gè)事實(shí)向使用者100傳送包含授權(quán)的請(qǐng)求令牌的第三消息的步驟可由服務(wù)提供者200或控制器300來執(zhí)行。該方法為終端用戶提供了用戶友好及有效的解決方法以管理他們分散在多個(gè)網(wǎng)絡(luò)實(shí)體中的被保護(hù)資源的隱私方面。同時(shí),該方法最小化實(shí)現(xiàn)影響。為了對(duì)他們想要許可的對(duì)他們的被保護(hù)資源的使用設(shè)置限制,作為委托者420的用戶不需要經(jīng)歷存儲(chǔ)有關(guān)其的被保護(hù)資源的每個(gè)單個(gè)服務(wù)提供者200。在控制器300中設(shè)置策略設(shè)置對(duì)于解決來自許多服務(wù)提供者200的授權(quán)請(qǐng)求來說是足夠的。另外,作為委托者420的用戶很少被打擾及詢問準(zhǔn)許還是拒絕使用者100代表被委托者410訪問被保護(hù)資源的授權(quán)請(qǐng)求。在一個(gè)實(shí)施例中,由服務(wù)提供者200傳送s20的第二消息包括多于一個(gè)的請(qǐng)求令牌并且表示一個(gè)或多個(gè)使用者100的多于一個(gè)的請(qǐng)求授權(quán)??刂破?00檢查第二消息以與策略設(shè)置進(jìn)行比較,并且控制器300可僅接受滿足策略設(shè)置的請(qǐng)求授權(quán)。控制器300可相應(yīng)地通知服務(wù)提供者200。圖2是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖1中示出的實(shí)施例的區(qū)別在于,在圖2中,控制器300在確定s30是否接受請(qǐng)求的授權(quán)之后,如果確定步驟s30的結(jié)果是肯定的,則通過向服務(wù)提供者200發(fā)送s32消息來請(qǐng)求s32服務(wù)提供者200準(zhǔn)許該授權(quán)并且對(duì)相關(guān)聯(lián)的請(qǐng)求令牌進(jìn)行授權(quán)。步驟s32中發(fā)送的消息指示控制器300批準(zhǔn)請(qǐng)求的授權(quán)。之后,服務(wù)提供者200準(zhǔn)許s40該授權(quán)并且向控制器300傳送s45授權(quán)的請(qǐng)求令牌。然后控制器300向使用者100傳送包含該授權(quán)的請(qǐng)求令牌的第三消息,使用者100隨后可使用該授權(quán)的請(qǐng)求令牌來從服務(wù)提供者200訪問委托者420的被保護(hù)資源。雖然沒有在圖2中示出,但在確定步驟s30結(jié)果為拒絕請(qǐng)求的授權(quán)的情況下,控制器300可通知服務(wù)提供者200基于為或由委托者420設(shè)置的策略設(shè)置,與請(qǐng)求令牌相關(guān)聯(lián)的請(qǐng)求授權(quán)在控制器300側(cè)已被拒絕。圖3是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖2中示出的實(shí)施例的區(qū)別在于,在圖3中,在由使用者100向服務(wù)提供者300發(fā)送SlO第一消息中的授權(quán)請(qǐng)求之前,被委托者410請(qǐng)求s5使用由使用者100提供的服務(wù),其中該服務(wù)利用了從服務(wù)提供者200可訪問的委托者420的被保護(hù)資源。換句話說,被委托者410調(diào)用s5使用者服務(wù)或應(yīng)用100,該服務(wù)或應(yīng)用要求訪問在服務(wù)提供者200中托管的委托者的被保護(hù)資源。步驟s5可包括,但不限制于,從web瀏覽器調(diào)用URL。因此,圖3示出了一種被委托者發(fā)起的方法。在其它實(shí)施例中,不是直接基于從被委托者410接收的請(qǐng)求,而是出于使用者100自己的主動(dòng),使用者100可向服務(wù)提供者200發(fā)送授權(quán)請(qǐng)求。例如,被委托者410可在使用者100中設(shè)置特定的委托者420被認(rèn)為是朋友?;谠撔畔?,使用者100可向服務(wù)提供者200發(fā)送SlO授權(quán)請(qǐng)求以獲得委托者420的生日。如果該授權(quán)請(qǐng)求被服務(wù)提供者200和控制器300允許,則使用者100可在委托者420生日之前的幾天或幾星期向被委托者410發(fā)送提醒消息。還是在同一個(gè)例子中,使用者100還可基于其自己的主動(dòng)向另一個(gè)服務(wù)提供者200,如在線書店(或者作為多個(gè)在線書店的多個(gè)服務(wù)提供者200),發(fā)送SlO授權(quán)請(qǐng)求,以便找到哪些書是委托者420最近購(gòu)買的或者哪些類型的書是委托者420通常感興趣的。如果該授權(quán)請(qǐng)求被服務(wù)提供者200和作為委托者420的控制器300所允許,則使用者100可以在委托者420生日之前幾天或幾星期為被委托者410提供有關(guān)建議的給委托者420的生日禮物的信息。圖4是本發(fā)明一個(gè)實(shí)施例中 的方法的示意消息圖,與圖3中示出的實(shí)施例的區(qū)別在于,在圖4中,一旦使用者100接收到s5被委托者410使用使用者100的服務(wù)的請(qǐng)求,使用者100就通過被委托者410向服務(wù)提供者200發(fā)送SlO第一消息(即從服務(wù)提供者200使用委托者420的資源的授權(quán)請(qǐng)求)。在一個(gè)實(shí)施例中,由使用者100通過被委托者410向服務(wù)提供者200發(fā)送slO第一消息可包括,將被委托者410的web瀏覽器重定向到服務(wù)提供者200的網(wǎng)頁(yè),例如根據(jù)OAuth協(xié)議(參見參考文獻(xiàn)[2], “6. Authenticating with OAuth”)。由使用者100發(fā)起的重定向機(jī)制也可包括給被委托者410 —個(gè)機(jī)會(huì)以阻止使用者100向服務(wù)提供者200發(fā)送授權(quán)請(qǐng)求。這允許了被委托者410控制使用者100和服務(wù)提供者200之間通信的發(fā)生。例如,被委托者410可能希望避免或限制使用者100代表被委托者410與一些服務(wù)提供者200之間的通信。圖5是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖3中示出的實(shí)施例的區(qū)別在于,在圖5中,從服務(wù)提供者200發(fā)送到控制300的第二消息通過使用者100來發(fā)送。因此,使用者100接收服務(wù)提供者200為其授權(quán)請(qǐng)求分配的未授權(quán)的請(qǐng)求令牌。
圖6是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,組合了圖4和圖5中示出的實(shí)施例。也就是,由使用者100發(fā)送SlO給服務(wù)提供者200的第一消息通過被委托者410來發(fā)送slO。此外,由服務(wù)提供者200發(fā)送s20到控制器300的第二消息通過使用者100來發(fā)送s20。該實(shí)施例組合了圖4和圖5中實(shí)施例的優(yōu)點(diǎn)。圖7是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖3中示出的實(shí)施例的區(qū)別如下。控制器300包括被委托者410的委托輔助設(shè)備310和委托者420的委托輔助設(shè)備320。被委托者的委托輔助設(shè)備310和委托者的委托輔助設(shè)備320 —起形成控制器300或形成控制器300的一部分(因?yàn)榭刂破?00可能包括為其它用戶工作的委托輔助設(shè)備)。被委托者的委托輔助設(shè)備310為被委托者410工作以便支持對(duì)被委托者410的委托的管理。被委托者的委托輔助設(shè)備310可以與被委托者410的web瀏覽器并行運(yùn)行。委托者的委托輔助設(shè)備320為委托者420工作,并且可與委托者的瀏覽器并行運(yùn)行。在一個(gè)實(shí)施例中,被委托者的委托輔助設(shè)備310和委托者的委托輔助設(shè)備320中的至少一個(gè)托管在一個(gè)服務(wù)器上。在該實(shí)施例中,在該服務(wù)器上托管的委托輔助設(shè)備的操作不依賴于該委托輔助設(shè)備為其工作的用戶是否啟動(dòng)他或她的瀏覽器。服務(wù)提供者200向被委托者的委托輔助設(shè)備310發(fā)送s20授權(quán)請(qǐng)求和第二消息。然后,被委托者的委托輔助設(shè)備310將該授權(quán)請(qǐng)求轉(zhuǎn)發(fā)s25給委托者的委托輔助設(shè)備320。可進(jìn)行鑒權(quán)s28。之后,委托者的委托輔助設(shè)備320確定s30是否接受該授權(quán)請(qǐng)求。如果委托者的委托輔助設(shè)備320接受該授權(quán)請(qǐng)求,關(guān)于授權(quán)請(qǐng)求已被接受的信息被傳送s32a到被委托者的委托輔助設(shè)備310,被委托者的委托輔助設(shè)備310將該信息轉(zhuǎn)發(fā)s32b給服務(wù)提供者200。然后,服務(wù)提供者200準(zhǔn)許s40該授權(quán)并且具有授權(quán)的請(qǐng)求令牌的第三信息被傳送s50到使用者100。因此,使用者100可使用服務(wù)提供者200所托管的委托者420的被保護(hù)資源。被委托者的委托輔助設(shè)備310輔助被委托者410獲得授權(quán)委托以允許被委托者410和代表其工作的任何使用者100訪問從服務(wù)提供者200可訪問的委托者420的被保護(hù)資源。被委托者的委托輔助設(shè)備310的功能包括檢查從服務(wù)提供者接收到的授權(quán)請(qǐng)求是否滿足為被委托者410設(shè)置的與代表被委托者410發(fā)送的授權(quán)請(qǐng)求相關(guān)的策略設(shè)置。委托者的委托輔助設(shè)備320輔助委托者420準(zhǔn)許或拒絕與被委托者410或?yàn)楸晃姓吖ぷ鞯娜魏问褂谜咴L問從服務(wù)提供者200可訪問的委托者420的被保護(hù)資源相關(guān)的授權(quán)請(qǐng)求。換句話說,被委托者的委托輔助設(shè)備310被給予一次截聽包含未授權(quán)的請(qǐng)求令牌的第二消息的機(jī)會(huì)。被委托者的委托輔助設(shè)備310準(zhǔn)備其發(fā)送s25給委托者的委托輔助設(shè)備320的授權(quán)委托請(qǐng)求。該請(qǐng)求包含未授權(quán)的請(qǐng)求令牌以及與托管與該請(qǐng)求相關(guān)的被保護(hù)資源的服務(wù)提供者200有關(guān)的信息。該請(qǐng)求還可包含與請(qǐng)求的授權(quán)相關(guān)的被保護(hù)資源、請(qǐng)求訪問被保護(hù)資源的使用者100以及使用者100代表其工作的被委托者410有關(guān)的信息。當(dāng)接收到來自被委托者的委托輔助設(shè)備310的消息時(shí),委托者的委托輔助設(shè)備320可決定對(duì)被委托者410進(jìn)行鑒權(quán)。被委托者的標(biāo)識(shí)可以在從委托者的委托輔助設(shè)備310接收的消息中接收到或者通過其它方式建立。圖8是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖7中示出的實(shí)施例的區(qū)別如下。在確定s30是否接受授權(quán)請(qǐng)求之后以及在決定接受它之后,委托者的委托輔助設(shè)備320將該授權(quán)直接發(fā)送s32到服務(wù)提供者200。實(shí)際上,在該階段被委托者的委托輔助設(shè)備310的干涉不再是必要的。然而要求委托者的委托輔助設(shè)備320有服務(wù)提供者200的地址。圖9是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖8中示出的實(shí)施例的區(qū)別如下。在準(zhǔn)許s40該授權(quán)·以及對(duì)請(qǐng)求令牌授權(quán)之后,服務(wù)提供者200將授權(quán)的令牌發(fā)送s45給委托者的委托輔助設(shè)備320。然后委托者的委托輔助設(shè)備320向使用者100傳送s50包含該授權(quán)的令牌的第三消息。該實(shí)施例給了委托者的委托輔助設(shè)備320機(jī)會(huì)來進(jìn)一步限制與授權(quán)的請(qǐng)求令牌相關(guān)聯(lián)的準(zhǔn)許的授權(quán),例如加強(qiáng)對(duì)其使用的限制,如有效時(shí)間幀等。圖10是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖8中示出的實(shí)施例的區(qū)別如下。在準(zhǔn)許s40該授權(quán)之后,服務(wù)提供者200向被委托者的委托輔助設(shè)備310發(fā)送s45授權(quán)的請(qǐng)求令牌。因此被委托者的委托輔助設(shè)備310可記錄該信息以用于統(tǒng)計(jì)的目的或諸如此類,然后向使用者100傳送s50包含該授權(quán)的請(qǐng)求令牌的第三消息。然后使用者100可以用該授權(quán)的令牌從服務(wù)提供者200訪問委托者420的被保護(hù)資源。圖11是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖,與圖8中示出的實(shí)施例的區(qū)別如下。在準(zhǔn)許s40該授權(quán)以及發(fā)布授權(quán)的令牌之后,服務(wù)提供者200向委托者的委托輔助設(shè)備320發(fā)送s45授權(quán)的請(qǐng)求令牌。然后委托者的委托輔助設(shè)備320向被委托者的委托輔助設(shè)備310發(fā)送s50a包含該授權(quán)的請(qǐng)求的第三消息,被委托者的委托輔助設(shè)備310將其轉(zhuǎn)發(fā)s50b給使用者100。該實(shí)施例組合了圖9和圖10中示出的實(shí)施例的優(yōu)點(diǎn)。圖12是本發(fā)明一個(gè)實(shí)施例中的方法的示意消息圖?,F(xiàn)在將結(jié)合圖12和13描述允許基于被委托者的發(fā)起從委托者420對(duì)被委托者410進(jìn)行授權(quán)委托的該實(shí)施例。被委托者410調(diào)用s5使用者服務(wù)或應(yīng)用100,該服務(wù)或應(yīng)用要求訪問在服務(wù)提供者200中托管或者可從其中訪問的委托者420的被保護(hù)資源,其中服務(wù)提供者200也稱為“容器”(圖12中標(biāo)記“s5 :使用使用者”)。該步驟s5可包括從web瀏覽器調(diào)用URLjMF限于此。使用者100以第一消息響應(yīng)SlO該調(diào)用(“slO :取得(資源,使用者)”)。這種消息包括或表示對(duì)在服務(wù)提供者200中托管或者可從其中訪問的委托者的被保護(hù)資源的請(qǐng)求。第一消息通過被委托者410來發(fā)送slO,例如通過被委托者的web瀏覽器重定向第一消息。服務(wù)提供者200接收該第一消息并評(píng)估該對(duì)被保護(hù)資源的請(qǐng)求。如果在該階段服務(wù)提供者200還沒有授權(quán)該請(qǐng)求,則服務(wù)提供者200以包含具有未授權(quán)請(qǐng)求令牌的授權(quán)請(qǐng)求的第二消息響應(yīng)s20( “820:未授權(quán)請(qǐng)求令牌”)。該未授權(quán)請(qǐng)求令牌可以涉及或者可以不涉及特定的被保護(hù)資源、被委托者410或使用者100。這取決于服務(wù)提供者實(shí)現(xiàn)。被委托者的委托輔助設(shè)備310 ( “DA(被委托者一側(cè))”,其中DA代表委托輔助設(shè)備)截聽包含未授權(quán)請(qǐng)求令牌的第二消息。被委托者的委托輔助設(shè)備310準(zhǔn)備其發(fā)送S25給委托者的委托輔助設(shè)備320的授權(quán)委托請(qǐng)求(“s25:授權(quán)(令牌,容器,被委托者,資源,使用者)”)。該請(qǐng)求包含未授權(quán)的請(qǐng)求令牌以及與托管該請(qǐng)求的被保護(hù)資源的服務(wù)提供者200有關(guān)的信息。該請(qǐng)求還可包含與請(qǐng)求授權(quán)的被保護(hù)資源、請(qǐng)求訪問被保護(hù)資源的使用者100以及調(diào)用使用者100的被委托者410有關(guān)的信息。當(dāng)接收到該消息時(shí),委托者的委托輔助設(shè)備320可決定對(duì)被委托者410進(jìn)行鑒權(quán)(“s28 :鑒權(quán)過程”)。被委托者的標(biāo)識(shí)可以在來自被委托者的委托輔助設(shè)備310的消息中接收到或者能夠通過其它方式建立。
完成前面的過程之后,委托者的委托輔助設(shè)備320開始決定過程(“s30 :決定過程”)。決定過程的目標(biāo)是決定拒絕該授權(quán)委托還是準(zhǔn)許它。作為決定過程s30的一部分,委托者的委托輔助設(shè)備320向服務(wù)提供者200發(fā)送s32授權(quán)請(qǐng)求,其中服務(wù)提供設(shè)備300托管未授權(quán)請(qǐng)求令牌涉及的被保護(hù)資源或者提供對(duì)其的訪問,如圖13所示(“s32 :授權(quán)請(qǐng)求(令牌)”)。服務(wù)提供者200執(zhí)行的特定授權(quán)過程s40依賴于服務(wù)提供者的實(shí)現(xiàn)(“s40 :授權(quán)過程”)。作為成功的授權(quán)過程的結(jié)果,服務(wù)提供者200向委托者的委托輔助設(shè)備320發(fā)送s45授權(quán)的請(qǐng)求令牌(“s45 :授權(quán)的請(qǐng)求令牌”)。該請(qǐng)求令牌將允許被委托者410或者代表該被委托者410工作的使用者獲得對(duì)在服務(wù)提供者200中托管的被保護(hù)資源的訪問。該請(qǐng)求令牌還可包括對(duì)其使用的限制,如有效時(shí)間幀,使用的使用者應(yīng)用或其它。另外,服務(wù)提供者200可向委托者的委托輔助設(shè)備320提供有關(guān)請(qǐng)求訪問被保護(hù)資源的使用者100的信息或者有關(guān)被保護(hù)資源本身的信息(“S46 :附加信息”)。有利地,在決定過程s30中的任何時(shí)間,委托者的委托輔助設(shè)備320可決定向委托者420請(qǐng)求更多的信息以便合并于該決定過程(“s31 :交互服務(wù)”)。該交互過程可以采用在委托者的委托輔助設(shè)備320和委托者420之間交換消息的方式。此外,決定過程s30也可考慮委托者420之前聲明的更多信息,如管控授權(quán)委托的策略或諸如此類。委托者的委托輔助設(shè)備320可使用任何計(jì)算機(jī)實(shí)現(xiàn)的過程來獲取、存儲(chǔ)及實(shí)施委托者的偏好,例如包括查詢存儲(chǔ)委托者的策略的數(shù)據(jù)庫(kù),解析表示該請(qǐng)求的消息,對(duì)消息值和存儲(chǔ)的策略進(jìn)行比較等。完成決定過程之后,委托者的委托輔助設(shè)備320準(zhǔn)許或拒絕該授權(quán)委托。如果決定過程s30的結(jié)果是拒絕,則委托者的委托輔助設(shè)備320以一個(gè)未授權(quán)消息響應(yīng)來自被委托者的委托輔助設(shè)備310的消息(“s53,s55 :未授權(quán)請(qǐng)求令牌”)。被委托者的委托輔助設(shè)備310可將該消息重定向到使用者100。如果決定過程s30的結(jié)果是準(zhǔn)許,則委托者的委托輔助設(shè)備320通過向被委托者的委托輔助設(shè)備310發(fā)送包含在步驟s45中從服務(wù)提供者200接收的授權(quán)請(qǐng)求令牌的消息對(duì)來自被委托者的委托輔助設(shè)備310的消息進(jìn)行響應(yīng)(“s52,s54 :授權(quán)請(qǐng)求令牌”)。被委托者的委托輔助設(shè)備310將該授權(quán)請(qǐng)求令牌發(fā)送回使用者100。使用者100使用該授權(quán)請(qǐng)求令牌獲得代表被委托者410對(duì)被保護(hù)資源的訪問(“s60 :取得(資源,授權(quán)令牌)”)。圖12和13所示出的實(shí)施例的明顯優(yōu)點(diǎn)在于消息交換被簡(jiǎn)化,因?yàn)槲姓叩奈休o助設(shè)備320由于之前從被委托者的委托輔助設(shè)備310接收了消息(在步驟25中)從而得知了其地址。此外,由于授權(quán)的請(qǐng)求令牌是通過被委托者的委托輔助設(shè)備310從委托者的委托輔助設(shè)備320發(fā)送到使用者100,所以被委托者的委托輔助設(shè)備310能夠跟蹤其開始的授權(quán)請(qǐng)求以及該過程的結(jié)果。在一個(gè)實(shí)施例中,被委托者的委托輔助設(shè)備310與被委托者的瀏覽器并行運(yùn)行。如果委托者420是在線的,同樣應(yīng)用于委托者的委托輔助設(shè)備320。在一個(gè)子實(shí)施例中,被委托者的委托輔助設(shè)備310以瀏覽器插件的形式與被委托者的瀏覽器并行運(yùn)行。在一個(gè)子實(shí)施例中,委托者的委托輔助設(shè)備320以瀏覽器插件的形式與委托者的瀏覽器并行運(yùn)行。在另一個(gè)實(shí)施例中,第三方(如移動(dòng)運(yùn)營(yíng)商)作為委托者輔助設(shè)備的角色并且使用一個(gè)代理來捕獲尋址到其訂戶的授權(quán)消息。圖14是本發(fā)明一個(gè)實(shí)施例中的方法中的確定步驟s30的流程圖。在該實(shí)施例中,由控制器300確定第二消息所表示的請(qǐng)求的授權(quán)是否滿足策略設(shè)置的步驟s30包括一個(gè)提取步驟s301和一個(gè)確定步驟s302。提取步驟S301包括從第二消息中提取至少一個(gè)以下信息有關(guān)請(qǐng)求的授權(quán)所始發(fā)自的使用者100的信息;有關(guān)被委托者410的信息,其中使用者100代表該被委托者請(qǐng)求訪問委托者420的被保護(hù)資源;有關(guān)被保護(hù)資源的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán);以及有關(guān)一個(gè)或多個(gè)操作的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)一個(gè)或多個(gè)操作予以授權(quán)。確定步驟s302包括確定提取的信息是否滿足策略設(shè)置。從消息中提取信息的子步驟S301可包括解析該消息。
圖15示意性地示出了本發(fā)明一個(gè)實(shí)施例中的委托輔助設(shè)備320以及其的一些組成單元。委托輔助設(shè)備320包括配置用于接收來自另一個(gè)委托輔助設(shè)備的請(qǐng)求的接收機(jī)25 (該請(qǐng)求對(duì)應(yīng)于上述的第二消息)。委托輔助設(shè)備320還包括配置用于確定請(qǐng)求的授權(quán)是否滿足管控對(duì)被保護(hù)資源的訪問的策略設(shè)置的確定器30。策略設(shè)置可存儲(chǔ)在委托輔助設(shè)備320中或者也可存儲(chǔ)在委托輔助設(shè)備320可訪問的數(shù)據(jù)庫(kù)或存儲(chǔ)器單元中。如果委托輔助設(shè)備320確定該請(qǐng)求的授權(quán)不符合策略設(shè)置,則通知服務(wù)提供者200請(qǐng)求的授權(quán)不能被準(zhǔn)許。確定器30還可包括提取器301,配置用于從該請(qǐng)求消息中提取至少一個(gè)以下信息⑴有關(guān)請(qǐng)求的授權(quán)所始發(fā)自的使用者100的信息;(ii)有關(guān)被委托者410的信息,其中使用者100代表該被委托者請(qǐng)求訪問委托者420的被保護(hù)資源;(iii)有關(guān)被保護(hù)資源的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán);以及(iv)有關(guān)一個(gè)或多個(gè)操作的信息,其中通過請(qǐng)求令牌請(qǐng)求對(duì)一個(gè)或多個(gè)操作予以授權(quán)。該確定器30還可包括配置用于確定提取的信息是否滿足策略設(shè)置的子確定器302。此外,委托輔助設(shè)備320還可包括用于向服務(wù)提供者傳送響應(yīng)消息的傳送機(jī)32。下面將描述本發(fā)明的一個(gè)實(shí)施例中在控制器100中由用戶或用戶終端對(duì)隱私設(shè)置(也稱為“策略設(shè)置”)的管理。用戶(作為委托者)希望設(shè)置隱私偏好以管控對(duì)他或她的被保護(hù)資源的使用和發(fā)布。控制器300可向用戶顯示不同的選項(xiàng)并且允許他或她配置不同的參數(shù),如被保護(hù)資源能夠被訪問的條件,即使用或發(fā)布。當(dāng)完成時(shí),控制器300存儲(chǔ)最終的策略設(shè)置。然后,無論何時(shí)使用者100代表另一個(gè)用戶(潛在的被委托者)要求授權(quán)對(duì)被保護(hù)資源的訪問,控制器100實(shí)施該用戶的偏好,即策略設(shè)置。用戶從能夠設(shè)置與對(duì)他們被保護(hù)資源的訪問有關(guān)的他們的偏好中獲益。為此,用戶在控制器300中設(shè)置隱私偏好,然后控制器300實(shí)施這些隱私偏好。參與策略設(shè)置的定義的變量可包括請(qǐng)求者、被委托者、資源、操作和許可。如果用戶(委托者)不是控制器300的唯一用戶,則可能需要在策略設(shè)置中明確聲明該用戶(委托者)。請(qǐng)求者可以是試圖獲得對(duì)用戶的被保護(hù)資源的訪問的任何使用者100。被委托者可以是使用者100代表其試圖獲得對(duì)用戶的被保護(hù)資源的訪問的任何被委托者410。資源可以是策略設(shè)置規(guī)則所涉及的被保護(hù)資源的標(biāo)識(shí)符。操作值可以是任何使用者100能夠請(qǐng)求的操作,例如,它們可以是“查詢”、“創(chuàng)建”和“刪除”。然而,本發(fā)明的實(shí)施例不限制于任何數(shù)量或類型的可以是策略設(shè)置規(guī)則的主題的操作。許可可以設(shè)置為“準(zhǔn)許”、“拒絕”或者“問我”(當(dāng)該用戶,即委托者,偏好基于每個(gè)調(diào)用的基礎(chǔ)來決定;這能夠通過ad-hoc交互服務(wù)來實(shí)施,如瀏覽器中的彈出,基于SMS的授權(quán)等)。 可以為用戶提供機(jī)會(huì)來通過不同的方式表達(dá)他們的隱私偏好。首先,用戶可以從多個(gè)預(yù)先定義的隱私策略中選擇一個(gè)并將其與一個(gè)被保護(hù)資源相關(guān)聯(lián)。這些預(yù)先定義的隱私策略可以用自然語(yǔ)言來描述,這樣不是技術(shù)人員的用戶能夠理解它們。該自然語(yǔ)言描述被映射到以隱私策略表達(dá)語(yǔ)言描述的具體策略實(shí)現(xiàn)。這些策略是分等級(jí)的,這樣用戶可以容易地比較它們并選擇出更適合他們需要的策略。該方案從模型的簡(jiǎn)單性和實(shí)用性中獲益,因?yàn)橛脩舨恍枰幚聿呗约?xì)節(jié)。用戶也可以被允許定義隱私策略的每個(gè)細(xì)節(jié)。雖然該方案在用戶偏好的描述上提供了很大的靈活性,但可能在實(shí)用性上導(dǎo)致一些風(fēng)險(xiǎn)。僅高級(jí)用戶可以理解(且可能希望知道)策略的意思。這可以作為高級(jí)選項(xiàng)來提供。在一個(gè)實(shí)施例中,該方法還包括從至少一個(gè)服務(wù)提供者200獲得有關(guān)被保護(hù)資源的信息的步驟,其中被保護(hù)資源與至少一個(gè)服務(wù)提供者200中的用戶身份相關(guān)聯(lián)。這使得用戶能夠獲得對(duì)從服務(wù)提供者200可訪問的被保護(hù)資源的認(rèn)識(shí)。這改進(jìn)了隱私管理如何能夠被執(zhí)行。在該實(shí)施例的子實(shí)施例中,控制器300 (作為用戶的委托輔助設(shè)備)能夠獲得的有關(guān)與至少一個(gè)服務(wù)提供者200中的用戶身份相關(guān)聯(lián)的被保護(hù)資源的信息包括有關(guān)與至少一個(gè)服務(wù)提供者200中的用戶身份相關(guān)聯(lián)的被保護(hù)資源的使用的信息。因此,在該情況下,控制器300不僅僅作為用戶的委托輔助設(shè)備,還具有附加的記載能力。該實(shí)施例使用戶能夠通過控制器300 (作為用戶的委托輔助設(shè)備)獲得對(duì)其身份所關(guān)聯(lián)的被保護(hù)資源的動(dòng)態(tài)認(rèn)識(shí)。因此,控制器300可在這個(gè)方面作為用戶的中央控制點(diǎn)。在用戶能夠如何以及何時(shí)獲得信息的意義上,即當(dāng)在至少一個(gè)時(shí)間段中,被保護(hù)資源被哪些使用者以及代表哪些用戶(即,哪些被委托者)所使用,可獲得的認(rèn)識(shí)可以是動(dòng)態(tài)的。用戶(即委托者)因此能夠收集有關(guān)對(duì)他們的被保護(hù)資源的使用的信息。然后,用戶可基于該知識(shí)決定是否修改控制器中的策略設(shè)置。使用歷史的獲取可在從用戶接收到表達(dá)請(qǐng)求時(shí)由控制器執(zhí)行。備選地,基于與用戶的初始交互或基于默認(rèn)設(shè)置,控制器可配置成獲取與用戶身份相關(guān)聯(lián)的被保護(hù)資源的使用歷史。身份,更具體的用戶的身份,是用戶特征中的一個(gè),其標(biāo)識(shí)用戶或者以一些方式映射到該用戶來對(duì)其進(jìn)行標(biāo)識(shí)。使用信息可特別的包括有關(guān)以下一個(gè)或多個(gè)項(xiàng)的信息被保護(hù)資源的類型,對(duì)被保護(hù)資源的訪問的時(shí)間戳,訪問、已經(jīng)訪問、使用或已經(jīng)使用身份資源的使用者的標(biāo)識(shí)符,以及被委托者的標(biāo)識(shí)符,其中使用者代表該被委托者訪問、已經(jīng)訪問、使用或已經(jīng)使用被保護(hù)資源。在一個(gè)實(shí)施例中,該方法還包括記錄信息,這里稱為歷史信息,其有關(guān)接收到的第二消息以及第二消息所表示的請(qǐng)求授權(quán)是否被確定為滿足策略設(shè)置。然后,該方法包括使該歷史信息對(duì)用戶或其用戶終端可用的步驟。在一個(gè)實(shí)施例中,該方法另外由能夠與控制器300通信的用戶終端來執(zhí)行,并且該方法還包括由用戶終端在控制器300中設(shè)置策略設(shè)置。為了進(jìn)一步說明和理解本發(fā)明所解決的一些技術(shù)問題,圖16和17解釋了用于提供對(duì)用戶數(shù)據(jù)的訪問的兩個(gè)方法,即分別是AuthSub API (參見Google網(wǎng)站,“AccountsAPI AuthSub for Web Application2010年 2 月 17 H AAhttp: //code, google, com/apis/accounts/docs/AuthSub. html 獲取)以及 ClientLogin (參見 Google 網(wǎng)站,“AccountsAPI, ClientLogin for Installed Applications”,2010 年 2 月 17 日從 http: //code.ROORle. com/apis /accounts/docs/AuthForlnstalledApps. html 獲取)??紤]AuthSubAPI,讓我們使用一個(gè)用戶實(shí)例來參考圖16說明其是如何工作的。讓我們考慮一個(gè)Web 2.0應(yīng)用來購(gòu)買電影票。同時(shí),該web應(yīng)用也訪問用戶的Google日程數(shù)據(jù)以個(gè)人化其提供(offer)。該用戶實(shí)例可如下(i)簡(jiǎn)(Jane)(圖16右側(cè)示出的,“用戶”)訪問該電影票web應(yīng)用(圖16左側(cè)示出的,“Web應(yīng)用”),詢問這星期適合她當(dāng)前日程的可看電影。(ii)該web應(yīng)用將簡(jiǎn)重定向到Google賬戶(Google Accounts),以使得Jane被鑒權(quán)(使用她的Google證書)以及確認(rèn)該web應(yīng)用可訪問她的Google日程信息(圖16中的步驟1、2)。(iii)簡(jiǎn)鑒權(quán)并同意(圖16中的步驟3)。(iv)簡(jiǎn)被重新定向回到web應(yīng)用,web應(yīng)用接收能夠用于之后查詢簡(jiǎn)的Google日程的令牌(圖16中的步驟4)。(vi)web應(yīng)用從簡(jiǎn)的Google日程中獲得信息(圖16中的步驟5、6)。(vii)然后web應(yīng)用呈現(xiàn)可看的電影列表,但僅僅是那些適合這星期簡(jiǎn)的日程的電影(個(gè)性化)(圖16中沒有示出)。因此,如圖16所示,可以是基于HTTP重定向的協(xié)議被用來將用戶重定向到Google賬戶(Google Accounts),證書不共享給web應(yīng)用,并且當(dāng)用戶鑒權(quán)(及隱含的授權(quán))時(shí),令牌被獲取。然而,不支持委托者將授權(quán)委托給被委托者的情形。
當(dāng)涉及到ClientLogin時(shí),可使用有細(xì)微差別的例子可將存儲(chǔ)在用戶Google日程(個(gè)人的)中的信息與他或她的公司日程的信息一起顯示的企業(yè)電子郵件客戶端。該用戶實(shí)例會(huì)工作如下,如圖17所示(i)約翰(John)打開他的膝上型計(jì)算機(jī)中的企業(yè)電子郵件客戶端,請(qǐng)求該電子郵件客戶端顯示約翰的日程(結(jié)合了來自約翰的Google日程的個(gè)人信息以及來自約翰的公司日程的職業(yè)信息)。(ii)該電子郵件客戶端請(qǐng)求約翰提供他的Google證書。約翰供應(yīng)他的證書(圖17中的步驟I)。 (iii)該電子郵件客戶端使用這種信息聯(lián)系Google賬戶(圖17中的步驟2)。(iV)G00gle賬戶對(duì)約翰進(jìn)行鑒權(quán),提供能夠由該電子郵件客戶端用來之后訪問Google中約翰的日程的令牌(圖17中的步驟7)。可選地,Google賬戶可用CAPTCHA來應(yīng)答(圖17中的步驟3到6)。(V)該電子郵件客戶端使用該令牌訪問約翰的Google日程,獲取約翰的日程信息(圖17中的步驟8)。(vi)該電子郵件客戶端顯示約翰的組合日程信息。因此,如圖17所示,該應(yīng)用處理用戶的證書并且為他們供應(yīng)Google賬戶服務(wù)。這允許使用者模擬該用戶,因此,這應(yīng)當(dāng)被避免。本發(fā)明提出并試圖部分或全部地避免這些問題。因此,本發(fā)明的一些優(yōu)點(diǎn)如下委托者的證書沒有發(fā)布給使用者100使用。被保護(hù)資源的所有者,即委托者420,不要求公開用于訪問服務(wù)提供者200的委托者420的證書。此外,不需要信任的使用者100和服務(wù)提供者200之間的聯(lián)合關(guān)系。使用者100和服務(wù)提供者200可運(yùn)行在不同的計(jì)算機(jī)上并且處于不同的管理域。不要求服務(wù)提供者200預(yù)先與使用者100和/或被委托者410建立信任關(guān)系。本發(fā)明的方法不要求被委托者410和使用者100之間、使用者100和服務(wù)提供者200之間或者被委托者410和服務(wù)提供者200之間的信任關(guān)系,僅要求委托者420和服務(wù)提供者200之間的信任關(guān)系,如上所解釋的。也就是,委托者420必須信任服務(wù)提供者200不會(huì)準(zhǔn)許委托者420沒有批準(zhǔn)的授權(quán)。更進(jìn)一步的,授權(quán)可基于每個(gè)被委托者的請(qǐng)求而被準(zhǔn)許,接著是被委托者發(fā)起的流程。更進(jìn)一步的,本發(fā)明的方法基于之前聲明的規(guī)則允許執(zhí)行有關(guān)授權(quán)委托的自動(dòng)決定。該方法還可允許與被保護(hù)資源所有者(即委托者420)之間的在線交互。根據(jù)本發(fā)明包括控制器、服務(wù)提供者、使用者、委托輔助設(shè)備和用戶終端的物理實(shí)體可包括或存儲(chǔ)包含指令的計(jì)算機(jī)程序,這樣,當(dāng)在物理實(shí)體上運(yùn)行計(jì)算機(jī)程序時(shí),根據(jù)本發(fā)明實(shí)施例的步驟和流程可被執(zhí)行。本發(fā)明還涉及根據(jù)本發(fā)明執(zhí)行方法的此類計(jì)算機(jī)程序,以及涉及存儲(chǔ)根據(jù)本發(fā)明執(zhí)行方法的計(jì)算機(jī)程序的任何計(jì)算機(jī)可讀介質(zhì)。這里使用諸如“接收機(jī)”、“確定器”、“提取器”、“子確定器”和“傳送機(jī)”這些術(shù)語(yǔ),不對(duì)這些單元可如何分布以及單元可如何聚集進(jìn)行限制。也就是,這些單元的組成部分可分布在不同軟件或硬件組件或裝置中以帶來想要的功能。多個(gè)不同的單元也可聚集在一起以提供想要的功能性。任何一個(gè)上述涉及的控制器的單元可用硬件、軟件、現(xiàn)場(chǎng)可編程門陣列(FPGA)、專用集成電路(ASIC)、固件或諸如此類來實(shí)現(xiàn)。同樣適用于用戶終端、使用者和服務(wù)提供者。在本發(fā)明的另外實(shí)施例中,上述的接收機(jī)、確定器、提取器、子確定器和傳送機(jī)中的任何一個(gè)可分別被接收部件、確定部件、提取部件、子確定部件和傳送部件所替換,或者分別被接收單元、確定單元、提取單元、子確定單元和傳送單元所替換以執(zhí)行接收機(jī)、確定器、提取器、子確定器和傳送機(jī)的功能。在本發(fā)明的另外實(shí)施例中,上述步驟中的任何一個(gè)可以使用計(jì)算機(jī)可讀指令來實(shí)現(xiàn),例如以計(jì)算機(jī)可理解的流程、方法或諸如此類的形式,以任何類型的計(jì)算機(jī)語(yǔ)言,和/或以在固件、集成電路或諸如此類上的嵌入軟件的形式。雖然基于詳細(xì)的實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是這些詳細(xì)實(shí)施例僅用于為技術(shù)人員提供 更好的理解,并不意圖限制本發(fā)明的范圍。本發(fā)明的范圍更確切地由所附帶的權(quán)利要求來定義。
權(quán)利要求
1.一種至少由使用者(100)、服務(wù)提供者(200)和控制器(300)執(zhí)行的方法,其中,月艮務(wù)提供者(200)是配置成提供對(duì)被保護(hù)資源的訪問的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè);以及使用者(100)是配置成代表用戶訪問服務(wù)提供者(200)的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè); 所述方法包括 由所述使用者(100)向所述服務(wù)提供者(200)傳送(SlO)表示由代表第一用戶的使用者(100)從所述服務(wù)提供者(200)訪問第二用戶的被保護(hù)資源的授權(quán)請(qǐng)求的第一消息,其中第一用戶這里稱為被委托者(410),第二用戶這里稱為委托者(420); 由所述服務(wù)提供者(200)向所述控制器(300)傳送(s20)表示由代表所述被委托者(410)的使用者(100)從所述服務(wù)提供者(200)訪問所述委托者(420)的被保護(hù)資源的授權(quán)請(qǐng)求的第二消息,所述第二消息包含請(qǐng)求令牌,其中,請(qǐng)求令牌是所述服務(wù)提供者(200)用來登記對(duì)訪問被保護(hù)資源的請(qǐng)求的授權(quán)的值; 由所述控制器(300)確定(s30)所述第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)所述委托者(420)的被保護(hù)資源的訪問的策略設(shè)置;以及如果確定所述請(qǐng)求的授權(quán)滿足所述策略設(shè)置, 則由所述服務(wù)提供者(200)準(zhǔn)許(s40)由所述請(qǐng)求令牌所登記的授權(quán),以及由所述控制器(300)和所述服務(wù)提供者(200)中的至少一個(gè)向所述使用者(100)傳送(s50)包含所述請(qǐng)求令牌的第三消息。
2.如權(quán)利要求1所述的方法,還包括 在所述使用者(100)向所述服務(wù)提供者(200)傳送(SlO)所述第一消息的步驟之前,由被委托者(410)控制的軟件應(yīng)用和物理裝置中的至少一個(gè)向所述使用者(200)傳送(s5)涉及代表所述被委托者(410)的使用者(100)從所述服務(wù)提供者(200)訪問所述委托者(420)的被保護(hù)資源的服務(wù)請(qǐng)求。
3.如權(quán)利要求1或2所述的方法,其中 由所述使用者(100)向所述服務(wù)提供者(200)傳送(SlO)所述第一消息的步驟包括所述使用者(100)通過所述被委托者(410)所控制的軟件應(yīng)用和物理裝置中的至少一個(gè)向所述服務(wù)提供者(200)傳送(SlO)所述第一消息。
4.根據(jù)前述權(quán)利要求任一項(xiàng)所述的方法,還包括 在所述控制器(300)確定(s30)所述第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)所述委托者(420)的被保護(hù)資源的訪問的策略設(shè)置的步驟和由所述服務(wù)提供者(200)準(zhǔn)許(s40)所述請(qǐng)求令牌所登記的授權(quán)的步驟之間, 以及如果確定所述請(qǐng)求的授權(quán)滿足所述策略設(shè)置, 則從所述控制器(300)向所述服務(wù)提供者(300)傳送(s32)指示所述第二消息所表示的請(qǐng)求的授權(quán)能夠被接受的消息。
5.根據(jù)前述權(quán)利要求任一項(xiàng)所述的方法,還包括 在所述服務(wù)提供者(200)準(zhǔn)許(s40)所述請(qǐng)求令牌所登記的授權(quán)的步驟和由所述控制器(300)和所述服務(wù)提供者(200)中的至少一個(gè)向所述使用者(100)傳送(s50)包含所述請(qǐng)求令牌的第三消息的步驟之間, 從所述服務(wù)提供者(200)向所述控制器(300)傳送(s45)包含所述請(qǐng)求令牌的消息,針對(duì)所述請(qǐng)求令牌的授權(quán)已被準(zhǔn)許。
6.根據(jù)前述權(quán)利要求任一項(xiàng)所述的方法,其中向所述使用者(100)傳送(s50)包含所述請(qǐng)求令牌的第三消息從所述控制器(300)執(zhí)行。
7.根據(jù)前述權(quán)利要求任一項(xiàng)所述的方法,其中所述控制器(300)包括 代表所述被委托者(410)運(yùn)行的委托輔助設(shè)備(310),以及 代表所述委托者(420)運(yùn)行的委托輔助設(shè)備(320), 其中委托輔助設(shè)備(310,320)是軟件應(yīng)用和物理裝置中的至少一個(gè)。
8.根據(jù)前述權(quán)利要求任一項(xiàng)所述的方法,其中 所述控制器(300)確定(s30)所述第二消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)所述委托者(420)的被保護(hù)資源的訪問的策略設(shè)置包括 從所述第二消息中提取(s301)以下信息中的至少一個(gè) 有關(guān)所述請(qǐng)求的授權(quán)所始發(fā)自的使用者(100)的信息; 有關(guān)所述被委托者(410)的信息,其中所述使用者(100)代表所述被委托者請(qǐng)求訪問所述委托者(420)的被保護(hù)資源的授權(quán); 有關(guān)所述被保護(hù)資源的信息,其中通過所述請(qǐng)求令牌請(qǐng)求對(duì)所述被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán); 有關(guān)所述一個(gè)或多個(gè)操作的信息,其中通過所述請(qǐng)求令牌請(qǐng)求對(duì)所述一個(gè)或多個(gè)操作予以授權(quán);以及 確定(s302)提取的信息是否滿足所述策略設(shè)置。
9.一種委托輔助設(shè)備(320),包括 接收機(jī)(25),被配置用于從另一個(gè)委托輔助設(shè)備(310)接收消息,這里稱為請(qǐng)求消息,所述消息表示代表這里稱為被委托者(410)的第一用戶的使用者(100)從服務(wù)提供者(200)訪問這里稱為委托者(420)的第二用戶的被保護(hù)資源的授權(quán)請(qǐng)求,所述請(qǐng)求消息包含請(qǐng)求令牌,其中,服務(wù)提供者(200)是配置成提供對(duì)被保護(hù)資源的訪問的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè);使用者(100)是配置成代表用戶訪問服務(wù)提供者(200)的軟件應(yīng)用和web站點(diǎn)中的至少一個(gè);以及請(qǐng)求令牌是服務(wù)提供者(200)用來登記訪問被保護(hù)資源的請(qǐng)求的授權(quán)的值; 確定器(30),被配置用于確定所述請(qǐng)求消息所表示的請(qǐng)求的授權(quán)是否滿足管控對(duì)所述委托者(420)的被保護(hù)資源的訪問的策略設(shè)置;以及 傳送機(jī)(32),被配置用于,如果確定所述請(qǐng)求的授權(quán)滿足所述策略設(shè)置,則向所述服務(wù)提供者(200)傳送指示所述請(qǐng)求消息所表示的請(qǐng)求的授權(quán)能夠被準(zhǔn)許的響應(yīng)消息。
10.如權(quán)利要求9所述的委托輔助設(shè)備(320),其中所述確定器(30)包括 提取器(301),被配置用于從所述請(qǐng)求消息中提取至少一個(gè)下述信息 有關(guān)所述請(qǐng)求的授權(quán)所始發(fā)自的使用者(100)的信息; 有關(guān)所述被委托者(410)的信息,其中所述使用者(100)代表所述被委托者請(qǐng)求訪問所述委托者(420)的被保護(hù)資源的授權(quán); 有關(guān)所述被保護(hù)資源的信息,其中通過所述請(qǐng)求令牌請(qǐng)求對(duì)所述被保護(hù)資源上的一個(gè)或多個(gè)操作予以授權(quán); 有關(guān)所述一個(gè)或多個(gè)操作的信息,其中通過所述請(qǐng)求令牌請(qǐng)求對(duì)所述一個(gè)或多個(gè)操作予以授權(quán);以及 子確定器(302),被配置用于確定提取的信息是否滿足所述策略設(shè)置。
11.如權(quán)利要求9或10所述的委托輔助設(shè)備(320),被配置成與瀏覽器并行運(yùn)行。
12.如權(quán)利要求11所述的委托輔助設(shè)備(320),被配置成作為瀏覽器插件與所述瀏覽器并行運(yùn)行。
13.如權(quán)利要求9或10所述的委托輔助設(shè)備(320),被配置成在一個(gè)服務(wù)器上運(yùn)行。
14.根據(jù)權(quán)利要求9-13任一項(xiàng)所述的委托輔助設(shè)備(310,320),其中所述傳送機(jī)(32)還被配置用于向其它委托輔助設(shè)備(310,320)或向另一個(gè)委托輔助設(shè)備(320)傳送消息,這里稱為第二請(qǐng)求消息,所述消息表示由所述使用者(100)或另一個(gè)使用者(100)代表所述第二用戶從所述服務(wù)提供者(200)或從另一個(gè)服務(wù)提供者訪問所述第一用戶或這里稱為第二委托者的第三用戶的被保護(hù)資源的授權(quán)請(qǐng)求,其中所述請(qǐng)求消息包含另一個(gè)請(qǐng)求令牌。
15.一種包含指令的計(jì)算機(jī)程序,所述指令配置成當(dāng)在服務(wù)器或計(jì)算機(jī)上運(yùn)行時(shí),使得所述服務(wù)器或所述計(jì)算機(jī)分別作為權(quán)利要求9-14任一項(xiàng)中所定義的輔助設(shè)備來操作。
全文摘要
在方法中,使用者(100)向服務(wù)提供者(200)傳送(s10)由所述使用者(100)代表被委托者(410)訪問委托者(420)的被保護(hù)資源的授權(quán)請(qǐng)求,其中,所述使用者(100)是代表用戶訪問服務(wù)提供者(200)的軟件應(yīng)用或web站點(diǎn),所述服務(wù)提供者(200)是提供對(duì)被保護(hù)資源的訪問的軟件應(yīng)用或web站點(diǎn)。所述服務(wù)提供者(200)向控制器(300)傳送(s20)該授權(quán)請(qǐng)求。請(qǐng)求令牌也被傳送,該請(qǐng)求令牌是所述服務(wù)提供者(200)用來登記請(qǐng)求的授權(quán)的值。所述控制器(300)確定(s30)該請(qǐng)求的授權(quán)是否滿足管控對(duì)委托者的被保護(hù)資源的訪問的策略設(shè)置。如果符合,則所述服務(wù)提供者(200)準(zhǔn)許所述請(qǐng)求令牌所登記的授權(quán),并且包含所述請(qǐng)求令牌的第三消息被傳送(s50)到所述使用者(100)。
文檔編號(hào)H04L29/06GK103039050SQ201080064822
公開日2013年4月10日 申請(qǐng)日期2010年2月24日 優(yōu)先權(quán)日2010年2月24日
發(fā)明者M·A·蒙賈斯伊洛倫特, J·M·德亞拉莫拉米羅, J·C·耶莫加西亞 申請(qǐng)人:瑞典愛立信有限公司, 馬德里理工大學(xué)