專利名稱:提供身份相關(guān)的信息和防止中間人的攻擊的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于向誠實(shí)請求實(shí)體提供有關(guān)客戶應(yīng)用程序的身份相關(guān)信息的方法和系統(tǒng),以便保證客戶應(yīng)用程序的真實(shí)身份和防止中間人的攻擊。而且,本發(fā)明涉及一種用于向誠實(shí)請求實(shí)體傳送有關(guān)客戶應(yīng)用程序的、位于身份提供者上的身份相關(guān)信息的方法。
背景技術(shù):
身份管理在其最廣泛的意義上表示對一個(gè)人的所有個(gè)人信息的管理,至少包括所有的這個(gè)人的數(shù)字關(guān)系。在下一個(gè)十年中,在這個(gè)廣泛意義上的身份管理可能會(huì)演變。短時(shí)期內(nèi),身份管理一般指針對對于有關(guān)一個(gè)人的小數(shù)量數(shù)據(jù)的傳輸?shù)娜f維網(wǎng)單獨(dú)簽字。
單獨(dú)簽字(single sign-on)使得一個(gè)人或用戶在僅僅記住一個(gè)密碼的時(shí)候,能夠登錄到不同的組織或服務(wù),因此僅僅驗(yàn)證一次,而不允許所有的組織象對所有的組織直接使用同一密碼那樣簡單地相互冒充這個(gè)人。而且,多個(gè)單獨(dú)簽字協(xié)議使得客戶應(yīng)用程序可以相對于其他的應(yīng)用程序識別他們自己,對于這其他的應(yīng)用程序,他們沒有事先交換的任何公共數(shù)據(jù),諸如密鑰。通常,用戶對于所有的組織和服務(wù)選擇相同的用戶名和密碼。對此存在兩個(gè)問題每個(gè)服務(wù)可以向其他服務(wù)冒充這個(gè)用戶。這對于一個(gè)企業(yè)的服務(wù)是可以接受的,但是即使在那里,人們也喜歡更好的模塊化。顯然,對于用戶的全部的萬維網(wǎng)經(jīng)歷,這是不可接受的。對于用戶先前存在的身份的初始識別的服務(wù)仍然需要進(jìn)行這種識別。因此,真實(shí)的單獨(dú)簽字協(xié)議的目的是解決這些問題至少之一。
單獨(dú)簽字被廣泛地看作必要的基礎(chǔ)配置以便更容易地在因特網(wǎng)上進(jìn)行電子商務(wù)和使得可以普遍地使用正在出現(xiàn)的萬維網(wǎng)服務(wù)。它也可以演變?yōu)楦话愕纳矸莨芾?,例如用于一旦已?jīng)建立了身份則交換一個(gè)人的附加信息。
近來,通過微軟公司的護(hù)照系統(tǒng)(URIhttp//www.passport.com)、安全確證標(biāo)記語言(SAML)的OASIS(結(jié)構(gòu)化信息標(biāo)準(zhǔn)進(jìn)步組織)的標(biāo)準(zhǔn)化(URIhttp//www.oasis-open.org/committees/security/does)和自由聯(lián)盟項(xiàng)目(LibertyAlliance Project)的近來的規(guī)范(URIhttp//www.projectliberty.org),單獨(dú)簽字方案得到公知。Liberty規(guī)范中的一個(gè)方面是不僅對作為客戶端應(yīng)用程序的瀏覽器提供詳細(xì)的協(xié)議、而且對其他更強(qiáng)大的客戶端應(yīng)用程序提供更有效的協(xié)議。在這種設(shè)置中的以往的相關(guān)方案是經(jīng)典的三方認(rèn)證協(xié)議。
沒有公知的產(chǎn)品和建議達(dá)到了所有下面的要求,這些要求看起來與在基于因特網(wǎng)的情況中的非瀏覽器客戶端應(yīng)用程序相關(guān)。
要求1針對中間人的攻擊的安全,即,即使一個(gè)惡劣的服務(wù)提供者也不能向另一個(gè)服務(wù)提供者冒充正確的客戶端應(yīng)用程序。
要求2在通過其一般接口使用的安全信道之外不需要對客戶端應(yīng)用程序加密,所述安全信道例如安全套接字協(xié)議層(SSL)或它的后繼的傳輸層安全規(guī)程(TLS)。
要求3比通過實(shí)現(xiàn)一個(gè)為瀏覽器客戶端設(shè)計(jì)的協(xié)議具有更好的效率。
諸如Kerberos、Needham-Schroeder的經(jīng)典的三方認(rèn)證協(xié)議都以密鑰交換或密鑰確認(rèn)協(xié)議來開始,并且要求客戶端應(yīng)用程序使用這個(gè)密鑰來用于加密和驗(yàn)證。換句話說,可以通過諸如密碼、密鑰或確認(rèn)的公鑰這樣的事前交換的信息來識別客戶端應(yīng)用程序的第三方一般產(chǎn)生一個(gè)新的密鑰,用于在客戶端應(yīng)用程序和在此稱為“請求實(shí)體”的、它的對方實(shí)體之間的通信,并且安全地向這兩個(gè)實(shí)體發(fā)送這個(gè)密鑰。存在多種用于執(zhí)行密鑰的安全傳送的協(xié)議。另一種變換方式是第三方僅僅提供對客戶端應(yīng)用程序的公鑰的在線確認(rèn)(證書)。但是,在每個(gè)這樣的協(xié)議之后,客戶端應(yīng)用程序需要在通信中使用新的或確認(rèn)的密鑰。這與所述第二要求沖突,所述第二要求指出,客戶端應(yīng)用程序僅僅需要通過它的正常接口來使用安全信道協(xié)議,而沒有它自己的任何加密。
人們也可以與第三要求相反地對非瀏覽器客戶端實(shí)現(xiàn)任何要用于瀏覽器客戶端的協(xié)議。但是,這對于諸如萬維網(wǎng)服務(wù)的其他客戶端應(yīng)用程序是不自然的和無效的一方面,他們需要僅僅針對這個(gè)目的的詳細(xì)的瀏覽器功能,如轉(zhuǎn)發(fā)和理解超高速緩沖器控制。另一方面,瀏覽器協(xié)議具有對于一般的客戶端應(yīng)用程序不再必要的某些限制。例如,僅僅可以對事先已知的一方進(jìn)行轉(zhuǎn)發(fā)。因此,如果請求實(shí)體起初不知道哪個(gè)第三方持有關(guān)于某個(gè)瀏覽器用戶的信息,則它首先需要步驟來將其查明,然后可以開始重發(fā)。相反,一個(gè)一般的客戶端應(yīng)用程序可以被編程來明白“請將這個(gè)問題轉(zhuǎn)發(fā)到持有你的身份相關(guān)信息的第三方”形式的請求。這節(jié)省了兩個(gè)步驟,于是節(jié)省了因特網(wǎng)的往返行程。而且,瀏覽器可以至多(利用轉(zhuǎn)發(fā))不變地從一方向另一方傳送信息,諸如對于身份相關(guān)的信息或返回的身份相關(guān)的信息的請求,但是不能對這個(gè)信息本身進(jìn)行驗(yàn)證。
第二和第三要求的組合至今僅僅由自由聯(lián)盟項(xiàng)目(Liberty AllianceProject)(URIhttp//www.projectliberty.org)處理,具體地說,是在它的“自由結(jié)合和簡檔規(guī)范(Liberty Bindings and Profiles Specification)”,1.0版,2002年7月11日,第3.2.5部分,“自由使能的客戶端和代理簡檔(Liberty-EnabledClient and Proxy Profile)”處理。但是,這個(gè)協(xié)議不滿足第一要求,抵制中間人的攻擊的安全性客戶端應(yīng)用程序當(dāng)前向其識別的一個(gè)惡劣的服務(wù)提供者(如萬維網(wǎng)商店的擁有者)可以向另一個(gè)服務(wù)提供者(例如,客戶的銀行或與客戶的雇主具有提供鏈關(guān)系的一個(gè)公司)冒充這個(gè)客戶端應(yīng)用程序,于是通過損害用戶的特權(quán)而傷害了用戶、或傷害了其他的服務(wù)提供者。問題是這個(gè)惡劣的服務(wù)提供者可以在它的對身份信息的請求中將其他服務(wù)提供者的名稱與它自己(所述惡劣的服務(wù)提供者)的地址組合。然后它獲得發(fā)送到它自己的地址的一個(gè)適合于識別另一個(gè)服務(wù)提供者的“票據(jù)”,并且可以隨后使用它。
上述之后,在現(xiàn)有技術(shù)中仍然需要使用現(xiàn)有的安全信道和防止中間人的攻擊的、用于任意的客戶端應(yīng)用程序的改進(jìn)的單獨(dú)簽字或驗(yàn)證系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明公開了一種用于在一類認(rèn)證協(xié)議中保證可靠性的方案,在這一類認(rèn)證協(xié)議中,由用戶控制的客戶或客戶端應(yīng)用程序要驗(yàn)證具有事先與第三方建立的名稱的第二方,以下將第二方稱為誠實(shí)請求實(shí)體,將第三方稱為身份提供者。更一般而言,客戶端應(yīng)用程序可能要傳送任意的身份相關(guān)信息??蛻舳藨?yīng)用程序不是僅僅趨向于是一個(gè)瀏覽器,而且要運(yùn)行一般的程序。在這樣的設(shè)置中的一個(gè)重要方面是防止中間人的攻擊,其中也稱為敵方的惡劣或不誠實(shí)的請求實(shí)體使用所獲得的、關(guān)于客戶的信息來向另一個(gè)誠實(shí)的請求實(shí)體冒充這個(gè)客戶,于是濫用了客戶的特權(quán)。所述方案防止了這樣的中間人的攻擊。
按照本發(fā)明,提供了一種用于向誠實(shí)請求實(shí)體提供關(guān)于客戶端應(yīng)用程序的身份相關(guān)信息的方法,用以保證客戶端應(yīng)用程序的真實(shí)身份,所述方法包括請求啟動(dòng)步驟,其中客戶端應(yīng)用程序從誠實(shí)的請求實(shí)體或不誠實(shí)的請求實(shí)體接收請求信包(envelope),這個(gè)請求信包指示客戶端應(yīng)用程序向要由客戶端應(yīng)用程序選擇的身份提供者轉(zhuǎn)發(fā)內(nèi)部請求,所述內(nèi)部請求包括所述誠實(shí)請求實(shí)體的標(biāo)識符;請求轉(zhuǎn)發(fā)步驟,其中客戶端應(yīng)用程序?qū)⑺鰞?nèi)部請求轉(zhuǎn)發(fā)到持有身份相關(guān)信息的身份提供者;響應(yīng)啟動(dòng)步驟,其中客戶端應(yīng)用程序從身份提供者接收響應(yīng)信包,這個(gè)響應(yīng)信包指示客戶端應(yīng)用程序轉(zhuǎn)發(fā)內(nèi)部響應(yīng),所述內(nèi)部請響應(yīng)包括在所述內(nèi)部請求中請求的身份相關(guān)信息和標(biāo)識符;驗(yàn)證步驟,其中客戶端應(yīng)用程序?qū)С鼍哂袠?biāo)識符的誠實(shí)請求實(shí)體的地址;以及響應(yīng)轉(zhuǎn)發(fā)步驟,其中客戶端應(yīng)用程序向所導(dǎo)出的地址轉(zhuǎn)發(fā)所述內(nèi)部響應(yīng)。
一般,可以按照上述方法向誠實(shí)請求實(shí)體驗(yàn)證客戶端應(yīng)用程序或它的用戶,而同一方法不能被也可能在某個(gè)時(shí)間驗(yàn)證客戶端應(yīng)用程序的不誠實(shí)請求實(shí)體濫用,以濫用通過這個(gè)方法獲得的信息來向誠實(shí)請求實(shí)體冒充客戶端應(yīng)用程序。例如,客戶端應(yīng)用程序可以是在購買和銀行業(yè)務(wù)中代理某個(gè)用戶的萬維網(wǎng)服務(wù)客戶端,誠實(shí)請求實(shí)體可以是銀行,不誠實(shí)請求實(shí)體可以是用戶購買東西的萬維網(wǎng)商店,以便客戶端應(yīng)用程序向萬維網(wǎng)商店提供用戶的姓名和地址來作為身份相關(guān)信息。所述方法保證在這個(gè)示例中,網(wǎng)絡(luò)商店不能向銀行冒充用戶,于是例如不能以用戶的姓名來劃款,或向銀行使用所述聯(lián)系信息來開始身份冒用。
當(dāng)客戶端應(yīng)用程序不僅僅是瀏覽器的時(shí)候,可以使用客戶端應(yīng)用程序的處理能力來在請求轉(zhuǎn)發(fā)步驟之前讓其選擇合適的身份提供者。這可以是用戶的唯一身份提供者,或客戶端應(yīng)用程序可以甚至研究所述內(nèi)部請求以在幾個(gè)持有不同類型的有關(guān)用戶的身份相關(guān)信息的身份提供者中找出一個(gè)合適的身份提供者,諸如工作相關(guān)信息中的財(cái)務(wù)信息。也可以想象得出,客戶端應(yīng)用程序代理幾個(gè)用戶并且現(xiàn)在為它的當(dāng)前用戶選擇適當(dāng)?shù)纳矸萏峁┱摺?br>
驗(yàn)證步驟通過下列來支持整體的利益,即通過保證如果所述內(nèi)部響應(yīng)包括誠實(shí)請求實(shí)體的標(biāo)識符并且因此可以被客戶端應(yīng)用程序接受,則將不向任何其他實(shí)體、特別是可能已經(jīng)啟動(dòng)了協(xié)議的不誠實(shí)請求實(shí)體發(fā)送所述內(nèi)部響應(yīng)。
與已知的協(xié)議相反,在客戶端應(yīng)用程序僅僅是瀏覽器的時(shí)候,在一個(gè)實(shí)施例中可以使用客戶端應(yīng)用程序的處理能力來保證客戶端應(yīng)用程序在驗(yàn)證步驟導(dǎo)出正確的地址。
可以至少通過一個(gè)安全信道來執(zhí)行請求轉(zhuǎn)發(fā)步驟和響應(yīng)啟動(dòng)步驟,以便身份提供者保證連接到發(fā)送身份相關(guān)信息的客戶端應(yīng)用程序。通過如此,經(jīng)由探查、欺騙或地址操縱來控制部分網(wǎng)絡(luò)的敵方或不誠實(shí)請求實(shí)體不能向身份提供者冒充客戶端應(yīng)用程序。具體地說,不誠實(shí)請求實(shí)體既不能直接利用請求轉(zhuǎn)發(fā)步驟與身份提供者聯(lián)系,以便獲得使得它能夠隨后向誠實(shí)請求實(shí)體冒充客戶端應(yīng)用程序的響應(yīng)信包,也不能在響應(yīng)啟動(dòng)步驟中探查出所述響應(yīng)信包。所述至少一個(gè)安全信道可以由安全套接字協(xié)議層(SSL)、傳輸層安全規(guī)程(TLS)以及任何已知的用于驗(yàn)證客戶端應(yīng)用程序的技術(shù)之一提供。安全套接字協(xié)議層和傳輸層安全規(guī)程是特別在HTTPS協(xié)議中廣泛實(shí)施的用于安全信道的標(biāo)準(zhǔn),并且可以期望已經(jīng)被實(shí)現(xiàn)在幾乎所有系統(tǒng)上,于是大大地降低了使用所提供的方法的開發(fā)和配置成本。
可以經(jīng)由另一個(gè)安全信道來執(zhí)行響應(yīng)轉(zhuǎn)發(fā)步驟,于是客戶端應(yīng)用程序保證連接到從驗(yàn)證步驟得到的地址。通過如此,控制部分網(wǎng)絡(luò)的敵方或不誠實(shí)請求實(shí)體在其處理所述地址的同時(shí),不能在響應(yīng)轉(zhuǎn)發(fā)步驟獲得內(nèi)部響應(yīng),于是不能使用所述內(nèi)部響應(yīng)來向誠實(shí)請求實(shí)體冒充客戶端應(yīng)用程序??梢杂砂踩捉幼謪f(xié)議層(SSL)或傳輸層安全規(guī)程(TLS)來提供另一個(gè)安全信道。
所述地址可以是統(tǒng)一資源標(biāo)識符(URI)。這樣的統(tǒng)一資源標(biāo)識符(URI)是廣泛實(shí)施的、用于在因特網(wǎng)上尋址實(shí)體的標(biāo)準(zhǔn),因此對這種方法不需要任何新的名稱翻譯。
驗(yàn)證步驟的其他的實(shí)施例可以執(zhí)行如下,其中在所述驗(yàn)證步驟中,客戶端應(yīng)用程序?qū)С鼍哂袠?biāo)識符的誠實(shí)請求實(shí)體的地址。
可以通過利用本地或目錄信息來從在內(nèi)部請求中提供的標(biāo)識符導(dǎo)出所述地址。通過給定的適當(dāng)基本結(jié)構(gòu),客戶端應(yīng)用程序可以簡單地導(dǎo)出正確的地址而不用其他協(xié)議參與者的幫助。
可以從響應(yīng)信包中獲得所述地址。通過如此處理,客戶端應(yīng)用程序可以利用在身份提供者處的、代表性地更好的基本結(jié)構(gòu)和處理功率(power),并且簡單地獲得和使用身份提供者已經(jīng)導(dǎo)出和插入到響應(yīng)信包中的正確地址。通過從響應(yīng)信包獲得地址,也明白了響應(yīng)信包僅僅包括確認(rèn)組件的情況,通過這個(gè)確認(rèn)組件,身份提供者確認(rèn)已經(jīng)檢驗(yàn)了在內(nèi)部請求中提供的地址,并且客戶端應(yīng)用程序隨后從內(nèi)部請求中取出所檢驗(yàn)的地址。
可以利用本地或目錄信息針對在內(nèi)部請求中提供的標(biāo)識符來檢驗(yàn)在請求信包中提供的地址。誠實(shí)請求實(shí)體可以具有幾個(gè)地址,通過向請求信包中插入用于當(dāng)前協(xié)議的適當(dāng)?shù)刂罚蛻舳藨?yīng)用程序可以保證客戶端應(yīng)用程序知道要使用幾個(gè)可能地址中的哪個(gè)。盡管如此,客戶端應(yīng)用程序仍然驗(yàn)證所接收的地址,以便保證它是由標(biāo)識符標(biāo)識的客戶端應(yīng)用程序之一,而不是例如不誠實(shí)請求實(shí)體之一。
而且,可以針對標(biāo)識符檢驗(yàn)請求信包提供的信包驗(yàn)證組件,并且在信包驗(yàn)證組件有效的情況下,可以使用在請求信包中提供的地址。這個(gè)信包驗(yàn)證因素可以基于可擴(kuò)展標(biāo)記語言(XML)簽字。信包驗(yàn)證組件在有效的情況下保證請求信包由誠實(shí)請求實(shí)體構(gòu)造,因?yàn)檎\實(shí)請求實(shí)體是具有標(biāo)識符的實(shí)體。于是客戶端應(yīng)用程序可以相信在請求信包中提供的地址而不采取任何進(jìn)一步的行動(dòng)。取代導(dǎo)出或檢驗(yàn)地址而檢驗(yàn)驗(yàn)證組件的具體益處是可以得到用于檢驗(yàn)密鑰的基本結(jié)構(gòu)(例如,驗(yàn)證組件可以包括證書,或可以得到公用密鑰目錄),而不能獲得同樣可靠的用于標(biāo)識符到地址的影射的基本結(jié)構(gòu)??煽啃詸z驗(yàn)通常使用密碼術(shù),而地址導(dǎo)出不是如此。
按照本發(fā)明的第二方面,提供了一種用于向誠實(shí)請求實(shí)體傳送關(guān)于客戶端應(yīng)用程序的、位于身份提供者上的身份相關(guān)信息的方法,所述方法包括在請求轉(zhuǎn)發(fā)步驟從客戶端應(yīng)用程序接收內(nèi)部請求,其中在請求轉(zhuǎn)發(fā)步驟之前,執(zhí)行請求啟動(dòng)步驟,其中客戶端應(yīng)用程序從誠實(shí)請求實(shí)體或不誠實(shí)請求實(shí)體接收請求信包,指令客戶端應(yīng)用程序向身份提供者轉(zhuǎn)發(fā)包括客戶端應(yīng)用程序的標(biāo)識符的內(nèi)部請求;以及在響應(yīng)啟動(dòng)步驟中向客戶端應(yīng)用程序發(fā)送響應(yīng)信包,指令客戶端應(yīng)用程序轉(zhuǎn)發(fā)包括在內(nèi)部請求中請求的身份相關(guān)信息和標(biāo)識符的內(nèi)部響應(yīng),以便客戶端應(yīng)用程序在驗(yàn)證步驟中能夠?qū)С鼍哂袠?biāo)識符的誠實(shí)請求實(shí)體的地址,并且在響應(yīng)轉(zhuǎn)發(fā)步驟中能夠向所導(dǎo)出的地址轉(zhuǎn)發(fā)內(nèi)部響應(yīng)。
內(nèi)部響應(yīng)還包括一個(gè)用于保護(hù)的響應(yīng)驗(yàn)證組件。這有益在請求實(shí)體當(dāng)它獲得這個(gè)響應(yīng)的時(shí)候可以保證內(nèi)部響應(yīng)未修改,并且由對于這個(gè)身份相關(guān)信息它信任的一個(gè)身份提供者產(chǎn)生。
響應(yīng)驗(yàn)證組件可以基于可擴(kuò)展標(biāo)記語言(XML)簽字。其益處是,XML簽字是廣泛接受的W3C、即萬維網(wǎng)協(xié)會(huì)的標(biāo)準(zhǔn)。因此,它將幫助實(shí)現(xiàn)在不同的身份提供者和請求實(shí)體之間的相互操作性而不帶來附加的實(shí)現(xiàn)成本。
在其他的實(shí)施例中,身份提供者可以在響應(yīng)啟動(dòng)步驟之前從標(biāo)識符導(dǎo)出地址和在響應(yīng)信包中插入所導(dǎo)出的地址。身份相關(guān)信息可以于是向客戶端應(yīng)用程序提供它的代表性地更好的基本結(jié)構(gòu)和處理功率,客戶端應(yīng)用程序可以隨后簡單地使用身份相關(guān)信息已經(jīng)插入響應(yīng)信包中的地址。通過在響應(yīng)信包中插入地址,也可以明白這樣的情況,其中身份相關(guān)信息僅僅在響應(yīng)信包中插入確認(rèn)組件,于是確認(rèn)已經(jīng)檢驗(yàn)了在內(nèi)部請求內(nèi)提供的地址。
所述導(dǎo)出可以執(zhí)行如下。
可以利用本地或目錄信息來從在內(nèi)部請求內(nèi)提供的標(biāo)識符導(dǎo)出地址。通過利用給定的適當(dāng)基本結(jié)構(gòu),身份相關(guān)信息可以簡單地導(dǎo)出正確的地址而不用請求實(shí)體的幫助。
可以利用本地或目錄信息針對在內(nèi)部請求中提供的標(biāo)識符檢驗(yàn)在內(nèi)部請求中提供的地址。誠實(shí)請求實(shí)體可以具有幾個(gè)地址,并且通過在內(nèi)部請求中插入用于當(dāng)前協(xié)議的適當(dāng)?shù)刂罚\實(shí)請求實(shí)體可以保證身份相關(guān)信息知道要高速客戶端應(yīng)用程序幾個(gè)可能地址中的哪個(gè)。盡管如此,身份相關(guān)信息仍然檢驗(yàn)所接收的地址以保證它是由標(biāo)識符標(biāo)識的誠實(shí)請求實(shí)體之一,而不是例如不誠實(shí)請求實(shí)體之一。
可以針對標(biāo)識符檢驗(yàn)內(nèi)部請求提供的內(nèi)部驗(yàn)證組件,并且在內(nèi)部驗(yàn)證組件有效的情況下,可以使用在內(nèi)部請求中提供的地址。內(nèi)部驗(yàn)證組件在有效的情況下保證地址建議由誠實(shí)請求實(shí)體提出,因?yàn)檎\實(shí)請求實(shí)體是具有標(biāo)識符的實(shí)體。于是客戶端應(yīng)用程序可以相信在內(nèi)部請求中提供的地址而不采取任何進(jìn)一步的行動(dòng)。內(nèi)部驗(yàn)證組件可以基于可擴(kuò)展標(biāo)記語言(XML)簽字。
按照本發(fā)明的第三方面,提供了一種用于向誠實(shí)請求實(shí)體提供關(guān)于客戶端應(yīng)用程序的身份相關(guān)信息的系統(tǒng),用以保證客戶端應(yīng)用程序的真實(shí)身份,所述系統(tǒng)包括身份提供者,提供身份相關(guān)信息;連接到身份提供者的客戶端應(yīng)用程序;以及誠實(shí)請求實(shí)體或不誠實(shí)請求實(shí)體,客戶端應(yīng)用程序從其接收請求信包,這個(gè)請求信包指令客戶端應(yīng)用程序向身份提供者轉(zhuǎn)發(fā)包括誠實(shí)請求實(shí)體的標(biāo)識符的內(nèi)部請求,其中客戶端應(yīng)用程序被適配來從身份提供者接收響應(yīng)信包,這個(gè)響應(yīng)信包指令客戶端應(yīng)用程序轉(zhuǎn)發(fā)包括在內(nèi)部請求中請求的身份相關(guān)信息和標(biāo)識符的內(nèi)部響應(yīng),以便導(dǎo)出具有標(biāo)識符的誠實(shí)請求實(shí)體的地址和向所導(dǎo)出的地址轉(zhuǎn)發(fā)內(nèi)部響應(yīng)。
接收內(nèi)部響應(yīng)的誠實(shí)請求實(shí)體可以檢驗(yàn)由身份提供者提供的響應(yīng)驗(yàn)證組件和誠實(shí)請求實(shí)體的標(biāo)識符的真實(shí)性。對響應(yīng)驗(yàn)證組件檢驗(yàn)的益處是誠實(shí)請求實(shí)體于是保證內(nèi)部響應(yīng)從身份提供者未加修改地到來,并且誠實(shí)請求實(shí)體可以確定是否對于在內(nèi)部響應(yīng)中提供的身份相關(guān)信息、它相信這個(gè)身份提供者。對于它自己的(誠實(shí)請求實(shí)體的)標(biāo)識符ID被包括在內(nèi)部響應(yīng)中的附加檢驗(yàn)保證誠實(shí)請求實(shí)體不接受任何要發(fā)向不誠實(shí)請求實(shí)體的內(nèi)部響應(yīng)。這防止了這樣的不誠實(shí)請求實(shí)體冒充客戶端應(yīng)用程序。
誠實(shí)請求實(shí)體當(dāng)準(zhǔn)備請求信包的時(shí)候,可以執(zhí)行下列步驟之一。
客戶端應(yīng)用程序可以在請求信包中插入誠實(shí)請求實(shí)體的地址。由于誠實(shí)請求實(shí)體可以具有幾個(gè)地址,通過在請求信包中插入對于當(dāng)前協(xié)議的正確地址,誠實(shí)請求實(shí)體可以保證客戶端應(yīng)用程序知道要使用幾個(gè)可能地址中的哪個(gè)。
誠實(shí)請求實(shí)體可以在請求信包中插入誠實(shí)請求實(shí)體的地址和信包驗(yàn)證組件。信包驗(yàn)證組件使得客戶端應(yīng)用程序能夠檢驗(yàn)請求信包已經(jīng)由誠實(shí)請求實(shí)體構(gòu)造,以便客戶端應(yīng)用程序可以使用在請求信包中提供的地址,而不采取任何進(jìn)一步的行動(dòng)。
誠實(shí)請求實(shí)體可以在內(nèi)部請求中插入誠實(shí)請求實(shí)體的地址。通過向內(nèi)部請求中而不是上述的請求信包插入地址,身份提供者將接收這個(gè)地址,并且可以因此提供它的代表性地更好的基本結(jié)構(gòu)和處理功率,以便幫助客戶端應(yīng)用程序驗(yàn)證地址的正確性。
客戶端應(yīng)用程序可以在內(nèi)部請求中插入誠實(shí)請求實(shí)體的地址和內(nèi)部驗(yàn)證組件。內(nèi)部驗(yàn)證組件使得身份提供者能夠檢驗(yàn)所述內(nèi)部請求由誠實(shí)請求實(shí)體構(gòu)造,以便身份提供者可以向客戶端應(yīng)用程序轉(zhuǎn)發(fā)在內(nèi)部請求中提供的地址,而不采取任何進(jìn)一步的行動(dòng)。
下面通過參照附圖僅僅經(jīng)由示例說明本發(fā)明的優(yōu)選實(shí)施例。
圖1示出了按照本發(fā)明的系統(tǒng)的示意圖。
圖2示出了按照本發(fā)明的第一實(shí)施例的消息流的示意圖。
圖3示出了具有冒充意圖的、第二實(shí)施例的消息流的示意圖。
圖4示出了第三實(shí)施例的消息流的示意圖。
圖5示出了第四實(shí)施例的消息流的示意圖。
圖6示出了第五實(shí)施例的消息流的示意圖。
圖7示出了第六實(shí)施例的消息流的示意圖。
圖8示出了第七實(shí)施例的消息流的示意圖。
圖9示出了第八實(shí)施例的消息流的示意圖。
圖10示出了第九實(shí)施例的消息流的示意圖。
所述附圖僅僅處于圖解的目的而被提供,不一定按比例表示本發(fā)明的實(shí)際示例。
具體實(shí)施例方式
詞匯下面是非正式的定義以幫助理解說明。
用戶或人員其身份被管理的實(shí)體。如果人員采取行動(dòng),則它變成用戶。一般,人員或用戶是個(gè)人,但是至少小的企業(yè)將經(jīng)常就象個(gè)人一樣、例如在旅游訂票和信息收集中與其他的企業(yè)交互。
請求實(shí)體一種實(shí)體,如由服務(wù)器代表的組織,它要知道一個(gè)人員的姓名或?qū)傩浴R驗(yàn)槿魏稳菀着渲玫淖韵到y(tǒng)的低保證性。初始的組織將主要是因特網(wǎng)商店。從長遠(yuǎn)來看,組織包括一個(gè)人員的所有通信伙伴,如銀行、醫(yī)生、同事和家庭。如果一個(gè)人要在身份管理中包括聯(lián)系和地址信息,如即刻消息接發(fā)(instant messaging)和記入日程表(calendaring),則作為“組織”的同事和家庭特別相關(guān)。
身份提供者一個(gè)存儲人員的身份相關(guān)信息的實(shí)體。身份提供者也被稱為錢包。身份提供者或錢包表示一個(gè)組成部分,一般為存儲和處理人員的或客戶端應(yīng)用程序獨(dú)立地行為情況下的客戶端應(yīng)用程序的個(gè)人信息的軟件。
術(shù)語接收機(jī)包括諸如PC的設(shè)備,但是也包括具有經(jīng)由因特網(wǎng)或另一種網(wǎng)絡(luò)與請求實(shí)體交互的器件的數(shù)字助理和移動(dòng)電話。
參見圖1,其中描述了通信環(huán)境的一般布局,其中可以使用本發(fā)明。在附圖中,相同的附圖標(biāo)記用于表示相同或類似的元件。
圖1示出了作為用戶20的人員P。用戶20執(zhí)行客戶端應(yīng)用程序30,如萬維網(wǎng)服務(wù)客戶程序、擴(kuò)展的萬維網(wǎng)瀏覽器、購物代理、金融服務(wù)工具或任何其他的代表用戶20的應(yīng)用程序。一般在用戶20的計(jì)算機(jī)上執(zhí)行客戶端應(yīng)用程序30,但是也可以在另一個(gè)計(jì)算機(jī)中執(zhí)行,只要一個(gè)人假定它對它的用戶忠誠。在一些情況下,客戶端應(yīng)用程序30可以甚至作為獨(dú)立的實(shí)體,具有它自己的身份而沒有用戶20。客戶端應(yīng)用程序30連接到諸如提供服務(wù)的公司或銀行的服務(wù)器的誠實(shí)請求實(shí)體50,用于應(yīng)用程序相關(guān)的交互??蛻舳藨?yīng)用程序30和請求實(shí)體50象它們在本領(lǐng)域所公知的那樣經(jīng)由通信線路5連接。通常通過諸如因特網(wǎng)的網(wǎng)絡(luò)來提供通信線路5。但是,如圖中虛線所示,客戶端應(yīng)用程序30也可以連接到不打算連接的不誠實(shí)請求實(shí)體51??蛻舳藨?yīng)用程序30還連接到也稱為錢包的身份提供者40,其中身份提供者40可以是本地的、即在用戶20的計(jì)算機(jī)上,或是遠(yuǎn)程的、即在外部服務(wù)器等上。身份提供者40持有用戶20或客戶端應(yīng)用程序30的身份相關(guān)信息IRI。術(shù)語身份相關(guān)信息IRI被理解為與人員或用戶相關(guān)的任何信息。身份相關(guān)信息IRI包括姓名、地址、組員、授權(quán)證書、人口統(tǒng)計(jì)數(shù)據(jù)、個(gè)人愛好、日程表輸入、醫(yī)療和金融信息以及關(guān)于人員或在用戶名下的所有其他可以數(shù)字存儲的信息。請求實(shí)體50可以期望它用來訪問控制、授權(quán)、個(gè)性化、驗(yàn)證、登錄、商務(wù)、醫(yī)療、或政府事務(wù)、或任何其他的根據(jù)身份相關(guān)信息IRI運(yùn)行的應(yīng)用程序。圖1中的情況被示出以便于說明下面用于向誠實(shí)請求實(shí)體50提供身份相關(guān)信息IRI的流,于是避免了中間人的攻擊。在一個(gè)這樣的流中提供的特定的客戶端應(yīng)用程序IRI——也稱為協(xié)議執(zhí)行——一般僅僅是身份提供者40所持有的、關(guān)于用戶20或客戶端應(yīng)用程序30的整體身份相關(guān)信息的一部分。
圖2示出了向誠實(shí)請求實(shí)體50的用于提供關(guān)于客戶端應(yīng)用程序30的身份相關(guān)信息IRI的消息流動(dòng)的示意圖。其中,在客戶端應(yīng)用程序30、持有身份相關(guān)信息IRI的身份提供者40、誠實(shí)請求實(shí)體50和不誠實(shí)請求實(shí)體51之間的流動(dòng)被以各自分配了羅馬數(shù)字的標(biāo)記箭頭或步驟描述。這個(gè)流動(dòng)被理解為如增加的羅馬數(shù)字所指示的、依序從上向下被執(zhí)行。在步驟I,指示了一個(gè)可能的現(xiàn)有應(yīng)用程序,它在客戶端應(yīng)用程序30和誠實(shí)請求實(shí)體50之間被執(zhí)行。在請求啟動(dòng)步驟II,客戶端應(yīng)用程序30從誠實(shí)請求實(shí)體50或不誠實(shí)請求實(shí)體51接收一個(gè)請求信包RQE。在請求轉(zhuǎn)發(fā)步驟III中,客戶端應(yīng)用程序30向持有身份相關(guān)信息IRI的身份提供者40轉(zhuǎn)發(fā)內(nèi)部請求IRQ。客戶端應(yīng)用程序30通常與身份提供者40具有預(yù)先建立的關(guān)系。身份提供者40現(xiàn)在可以采取任意的行動(dòng)來導(dǎo)出身份相關(guān)信息IRI,身份提供者40將響應(yīng)于內(nèi)部請求IRQ來將身份相關(guān)信息IRI發(fā)送,所述內(nèi)部請求IRQ諸如檢驗(yàn)客戶端應(yīng)用程序30或人員20的身份、商量保密方針和其他方針、從內(nèi)部請求IRQ實(shí)際存儲在的其他實(shí)體獲得身份相關(guān)信息IRI、或向客戶端應(yīng)用程序30請求用戶的同意。結(jié)果的身份相關(guān)信息IRI可能不準(zhǔn)確地是在內(nèi)部請求IRQ中所請求的。而且,客戶端應(yīng)用程序30在響應(yīng)啟動(dòng)步驟IV從身份提供者40接收響應(yīng)信包RSE,指令客戶端應(yīng)用程序30轉(zhuǎn)發(fā)內(nèi)部響應(yīng)IRS,包括在內(nèi)部請求IRQ中請求的身份相關(guān)信息IRI和標(biāo)識符ID。在驗(yàn)證步驟V中,客戶端應(yīng)用程序30導(dǎo)出具有標(biāo)識符ID的誠實(shí)請求實(shí)體50的地址ADR,客戶端應(yīng)用程序30在隨后的步驟中向這個(gè)地址ADR發(fā)送內(nèi)部響應(yīng)IRS。這保證了地址ADR屬于身份提供者40已經(jīng)向其發(fā)放了它的內(nèi)部響應(yīng)IRS的誠實(shí)請求實(shí)體50,以便不誠實(shí)請求實(shí)體51不可能隨后向誠實(shí)請求實(shí)體50冒充客戶端應(yīng)用程序30。在響應(yīng)轉(zhuǎn)發(fā)步驟VI中,客戶端應(yīng)用程序30隨后向所導(dǎo)出的地址ADR轉(zhuǎn)發(fā)內(nèi)部響應(yīng)IRS,在此ADR地址是誠實(shí)請求實(shí)體50的地址。而且,以步驟VII來表示在誠實(shí)請求實(shí)體50和客戶端應(yīng)用程序30之間的可能的進(jìn)一步的通信。
圖3示出了防止冒充企圖的第二實(shí)施例的示意圖。消息流動(dòng)與第一實(shí)施例相比類似,區(qū)別在于,在步驟I,在客戶端應(yīng)用程序30和不誠實(shí)請求實(shí)體51之間執(zhí)行可能的預(yù)先通信。在步驟II,不誠實(shí)請求實(shí)體51在此嘗試一個(gè)冒充企圖,并且向客戶端應(yīng)用程序30發(fā)送請求信包RQE,其中內(nèi)部請求IRQ包括誠實(shí)請求實(shí)體50的標(biāo)識符。當(dāng)誠實(shí)請求實(shí)體50在響應(yīng)轉(zhuǎn)發(fā)步驟VI中可以獲得具有誠實(shí)請求實(shí)體50的標(biāo)識符ID的內(nèi)部響應(yīng)IRS的時(shí)候,則不誠實(shí)請求實(shí)體51可以向誠實(shí)請求實(shí)體50冒充客戶端應(yīng)用程序30。但是,協(xié)議防止后者,如在不誠實(shí)請求實(shí)體51和誠實(shí)請求實(shí)體50之間的所指示的通信之上的粗體叉所示。
圖4示出了其中使用至少一個(gè)安全信道的第三實(shí)施例的消息流的示意圖,就象現(xiàn)有技術(shù)中公知的那樣,安全信道可以被安全套接字協(xié)議層(SSL)或傳輸層安全規(guī)程(TLS)或任何其他的安全信道技術(shù)提供。在請求轉(zhuǎn)發(fā)步驟III和響應(yīng)啟動(dòng)步驟IV中在客戶端應(yīng)用程序30和身份提供者40之間以粗體箭頭線來指示安全信道。通過現(xiàn)有技術(shù)中公知的這個(gè)安全信道以及用于驗(yàn)證客戶端應(yīng)用程序30或它的用戶20的方法,身份提供者40保證連接到客戶端應(yīng)用程序30,客戶端應(yīng)用程序30發(fā)送身份相關(guān)信息IRI。身份提供者40在響應(yīng)啟動(dòng)步驟IV中發(fā)送具有內(nèi)部響應(yīng)IRS和響應(yīng)驗(yàn)證組件AUT_IRS的響應(yīng)信包RSE。響應(yīng)驗(yàn)證組件AUT_IRS可以基于可擴(kuò)展標(biāo)記語言(XML)簽名,或基于本領(lǐng)域公知的任何其他的驗(yàn)證技術(shù)。在此通過另一個(gè)安全信道來執(zhí)行響應(yīng)轉(zhuǎn)發(fā)步驟VI。于是,客戶端應(yīng)用程序30保證連接到從驗(yàn)證步驟V產(chǎn)生的地址ADR。誠實(shí)請求實(shí)體50可以隨后使用來響應(yīng)驗(yàn)證組件AUT_IRS和標(biāo)識符ID來用于檢驗(yàn)。
圖5示出了第四實(shí)施例的消息流動(dòng)的示意圖。這個(gè)實(shí)施例與第一實(shí)施例不同點(diǎn)在于,在驗(yàn)證步驟V中,利用本地或目錄信息來從在內(nèi)部請求IRQ中提供的標(biāo)識符ID來導(dǎo)出地址ADR。本地信息可以被存儲在本地機(jī)器的數(shù)據(jù)庫或表格中。可以通過目錄服務(wù)經(jīng)由因特網(wǎng)來提供目錄信息。
圖6示出了第五實(shí)施例的消息流動(dòng)示意圖。這個(gè)實(shí)施例與第一實(shí)施例不同點(diǎn)在于,利用本地或目錄信息來從在內(nèi)部請求IRQ中提供的標(biāo)識符ID來導(dǎo)出地址ADR,身份提供者40隨后在響應(yīng)啟動(dòng)步驟IV中發(fā)送具有內(nèi)部響應(yīng)IRS和所導(dǎo)出的地址ADR的響應(yīng)信包RSE。然后,客戶端應(yīng)用程序30可以容易地在驗(yàn)證步驟V中從響應(yīng)信包RSE獲得地址ADR。
圖7示出了第六實(shí)施例的消息流動(dòng)的示意圖。這個(gè)實(shí)施例與第一實(shí)施例不同點(diǎn)在于,誠實(shí)請求實(shí)體50當(dāng)準(zhǔn)備請求信包RQE的時(shí)候在請求信包RQE中插入的地址ADR,并且在請求啟動(dòng)步驟II中發(fā)送具有內(nèi)部請求IRQ和地址ADR的請求信包RQE。稍后,客戶端應(yīng)用程序30可以在驗(yàn)證步驟IV中利用本地或目錄信息針對在內(nèi)部請求IRQ中提供的標(biāo)識符ID來檢驗(yàn)在請求信包RQE中提供的地址ADR。
圖8示出了第七實(shí)施例的消息流動(dòng)的示意圖。這個(gè)實(shí)施例與第六實(shí)施例不同點(diǎn)在于,誠實(shí)請求實(shí)體50當(dāng)準(zhǔn)備請求信包RQE的時(shí)候,在請求信包RQE中另外插入信包驗(yàn)證組件AUT_RQE,并且在請求啟動(dòng)步驟II匯總發(fā)送具有內(nèi)部請求IRQ、地址ADR和信包驗(yàn)證組件AUT_RQE的請求信包RQE。然后,客戶端應(yīng)用程序30可以在驗(yàn)證步驟V中針對標(biāo)識符ID檢驗(yàn)以請求信包RQE提供的信包驗(yàn)證組件AUT_RQE。在信包驗(yàn)證組件AUT_RQE有效的情況下,使用在請求信包(RQE)中提供的地址ADR。
圖9示出了第八實(shí)施例的消息流動(dòng)的示意圖。這個(gè)實(shí)施例與第一實(shí)施例不同點(diǎn)在于,誠實(shí)請求實(shí)體50在請求信包RQE中的內(nèi)部請求IRQ中插入它的地址ADR,并且在請求啟動(dòng)步驟II中將其發(fā)送。身份提供者40可以隨后利用本地或目錄信息針對在內(nèi)部請求IRQ中提供的標(biāo)識符ID來檢驗(yàn)在內(nèi)部請求IRQ中提供的地址ADR,并且象響應(yīng)信包RSE中插入地址ADR或確認(rèn)組件。稍后,在驗(yàn)證步驟V中,客戶端應(yīng)用程序30從響應(yīng)信包RSE中獲得地址ADR,或在找到確認(rèn)組件的時(shí)候從內(nèi)部請求IRQ獲得地址ADR。
圖10示出了第九實(shí)施例的消息流動(dòng)示意圖。這個(gè)實(shí)施例與第八實(shí)施例不同點(diǎn)在于,誠實(shí)請求實(shí)體50在請求信包RQE中的內(nèi)部請求IRQ中另外插入內(nèi)部驗(yàn)證組件AUT_IRQ。身份提供者40可以隨后針對標(biāo)識符ID檢驗(yàn)以內(nèi)部請求IRQ提供的內(nèi)部驗(yàn)證組件AUT_IRQ。在內(nèi)部驗(yàn)證組件AUT_IRQ有效的情況下,在響應(yīng)啟動(dòng)步驟IV中使用在內(nèi)部請求IRQ中提供的地址ADR,并且將此地址發(fā)送或確認(rèn)。稍后在驗(yàn)證步驟V中,客戶端應(yīng)用程序30象在第八實(shí)施例中那樣從響應(yīng)信包RSE獲得地址ADR。
任何已經(jīng)公開的實(shí)施例可以與所示出的和/或所說明的一個(gè)或幾個(gè)其他的實(shí)施例組合。這對于實(shí)施例的一個(gè)或多個(gè)特征也是可能的。
本發(fā)明可以以硬件、軟件或硬件和軟件的組合實(shí)現(xiàn)。任何種類的計(jì)算機(jī)系統(tǒng)——或其他適宜執(zhí)行在此所述方法的裝置——都適合。硬件和軟件的典型組合可以是帶有計(jì)算機(jī)程序的通用計(jì)算機(jī)系統(tǒng),這個(gè)程序當(dāng)被安裝和執(zhí)行的時(shí)候控制所述計(jì)算機(jī)系統(tǒng),以便它執(zhí)行在此所述的方法。本發(fā)明也可以被嵌入到計(jì)算機(jī)程序產(chǎn)品中,這個(gè)產(chǎn)品包括所有使得能夠?qū)崿F(xiàn)在此所述的方法的特征,并且這個(gè)產(chǎn)品當(dāng)被安裝到計(jì)算機(jī)系統(tǒng)中時(shí)能夠執(zhí)行這些方法。
計(jì)算機(jī)程序工具或在本發(fā)明中的計(jì)算機(jī)程序表示一套指令的任何語言、代碼或符號的表達(dá)形式,所述指令要使得具有信息處理能力的系統(tǒng)直接地或在在下列一個(gè)或兩個(gè)選項(xiàng)之后執(zhí)行特定的功能a)向另一種語言、代碼或符號的轉(zhuǎn)換;b)以不同的材料形式來再現(xiàn)。
權(quán)利要求
1.一種用于向誠實(shí)請求實(shí)體(50)提供關(guān)于客戶端應(yīng)用程序(30)的身份相關(guān)信息(IRI)的方法,用以保證客戶端應(yīng)用程序(30)的真實(shí)身份,所述方法包括請求啟動(dòng)步驟(II),其中客戶端應(yīng)用程序(30)從誠實(shí)請求實(shí)體(50)或不誠實(shí)請求實(shí)體(51)接收請求信包(RQE),這個(gè)請求信包(RQE)指示客戶端應(yīng)用程序(30)向要由客戶端應(yīng)用程序(30)選擇的身份提供者(40)轉(zhuǎn)發(fā)內(nèi)部請求(IRQ),所述內(nèi)部請求(IRQ)包括所述誠實(shí)請求實(shí)體(50)的標(biāo)識符(ID);請求轉(zhuǎn)發(fā)步驟(III),其中客戶端應(yīng)用程序(30)將所述內(nèi)部請求(IRQ)轉(zhuǎn)發(fā)到持有身份相關(guān)信息(IRI)的身份提供者(40);響應(yīng)啟動(dòng)步驟(IV),其中客戶端應(yīng)用程序(30)從身份提供者(40)接收響應(yīng)信包(RSE),這個(gè)響應(yīng)信包(RSE)指示客戶端應(yīng)用程序(30)轉(zhuǎn)發(fā)內(nèi)部響應(yīng)(IRS),所述內(nèi)部請響應(yīng)包括在所述內(nèi)部請求(IRQ)中請求的身份相關(guān)信息(IRI)和標(biāo)識符(ID);驗(yàn)證步驟(V),其中客戶端應(yīng)用程序(30)導(dǎo)出具有標(biāo)識符(ID)的誠實(shí)請求實(shí)體(50)的地址(ADR);以及響應(yīng)轉(zhuǎn)發(fā)步驟(VI),其中客戶端應(yīng)用程序(30)向所導(dǎo)出的地址(ADR)轉(zhuǎn)發(fā)所述內(nèi)部響應(yīng)(IRS)。
2.按照權(quán)利要求1的方法,其中至少通過一個(gè)安全信道來執(zhí)行請求轉(zhuǎn)發(fā)步驟(III)和響應(yīng)啟動(dòng)步驟(IV),以便身份提供者(40)保證連接到發(fā)送身份相關(guān)信息(IRI)的客戶端應(yīng)用程序(30)。
3.按照權(quán)利要求1的方法,其中經(jīng)由另一個(gè)安全信道來執(zhí)行響應(yīng)轉(zhuǎn)發(fā)步驟(VI),于是客戶端應(yīng)用程序(30)保證連接到從驗(yàn)證步驟(V)得到的地址(ADR)。
4.按照權(quán)利要求1的方法,其中所述地址(ADR)是統(tǒng)一資源標(biāo)識符(URI)。
5.按照權(quán)利要求1的方法,其中在所述驗(yàn)證步驟(V)中,客戶端應(yīng)用程序(30)通過下列步驟之一導(dǎo)出具有標(biāo)識符(ID)的誠實(shí)請求實(shí)體(50)的地址(ADR)-通過利用本地或目錄信息來從在內(nèi)部請求(IRQ)中提供的標(biāo)識符(ID)導(dǎo)出所述地址(ADR),-從響應(yīng)信包(RSE)中獲得所述地址(ADR),-利用本地或目錄信息針對在內(nèi)部請求(IRQ)中提供的標(biāo)識符(ID)來檢驗(yàn)在請求信包(RQE)中提供的地址(ADR),-針對標(biāo)識符(ID)檢驗(yàn)請求信包(RQE)提供的信包驗(yàn)證組件(AUT_RQE),并且在信包驗(yàn)證組件(AUT_RQE)有效的情況下,使用在請求信包(RQE)中提供的地址(ADR)。
6.一種用于向誠實(shí)請求實(shí)體(50)傳送關(guān)于客戶端應(yīng)用程序(30)的、位于身份提供者(40)上的身份相關(guān)信息(IRI)的方法,所述方法包括在請求轉(zhuǎn)發(fā)步驟(III),從客戶端應(yīng)用程序(30)接收內(nèi)部請求(IRQ),其中在請求轉(zhuǎn)發(fā)步驟(III)之前,執(zhí)行請求啟動(dòng)步驟(II),其中客戶端應(yīng)用程序(30)從誠實(shí)請求實(shí)體(50)或不誠實(shí)請求實(shí)體(51)接收請求信包(RQE),指令客戶端應(yīng)用程序(30)向身份提供者(40)轉(zhuǎn)發(fā)包括客戶端應(yīng)用程序(30)的標(biāo)識符(ID)的內(nèi)部請求(IRQ);以及在響應(yīng)啟動(dòng)步驟(IV)中向客戶端應(yīng)用程序(30)發(fā)送響應(yīng)信包(RSE),指令客戶端應(yīng)用程序(30)轉(zhuǎn)發(fā)包括在內(nèi)部請求(IRQ)中請求的身份相關(guān)信息(IRI)和標(biāo)識符(ID)的內(nèi)部響應(yīng)(IRS),以便客戶端應(yīng)用程序(30)在驗(yàn)證步驟(V)中能夠?qū)С鼍哂袠?biāo)識符(ID)的誠實(shí)請求實(shí)體(50)的地址(ADR),并且在響應(yīng)轉(zhuǎn)發(fā)步驟(VI)中能夠向所導(dǎo)出的地址(ADR)轉(zhuǎn)發(fā)內(nèi)部響應(yīng)(IRS)。
7.按照權(quán)利要求6的方法,其中內(nèi)部響應(yīng)(IRS)還包括一個(gè)用于保護(hù)的響應(yīng)驗(yàn)證組件(AUT_IRS)。
8.按照權(quán)利要求7的方法,其中響應(yīng)驗(yàn)證組件(AUT_IRS)基于可擴(kuò)展標(biāo)記語言(XML)簽字。
9.按照權(quán)利要求6的方法,其中,身份提供者(40)可以在響應(yīng)啟動(dòng)步驟(IV)之前從標(biāo)識符(ID)導(dǎo)出地址(ADR),并且在響應(yīng)信包(RSE)中插入所導(dǎo)出的地址(ADR),所述導(dǎo)出可以通過下列步驟之一執(zhí)行-利用本地或目錄信息來從在內(nèi)部請求(IRQ)內(nèi)提供的標(biāo)識符(ID)導(dǎo)出地址(ADR),-利用本地或目錄信息針對在內(nèi)部請求(IRQ)中提供的標(biāo)識符(ID)檢驗(yàn)在內(nèi)部請求(IRQ)中提供的地址(ADR),-針對標(biāo)識符(ID)檢驗(yàn)內(nèi)部請求(IRQ)提供的內(nèi)部驗(yàn)證組件,并且在內(nèi)部驗(yàn)證組件(AUT_IRQ)有效的情況下,使用在內(nèi)部請求(IRQ)中提供的地址(ADR)。
10.一種計(jì)算機(jī)程序組件,包括計(jì)算機(jī)程序代碼工具,用于當(dāng)所述程序運(yùn)行在計(jì)算機(jī)上的時(shí)候執(zhí)行權(quán)利要求1-9中的任何一個(gè)的方法。
11.一種計(jì)算機(jī)程序產(chǎn)品,存儲在計(jì)算機(jī)可用介質(zhì)中,包括計(jì)算機(jī)可讀程序工具,用于使得計(jì)算機(jī)執(zhí)行按照權(quán)利要求1-9中的任何一個(gè)的方法。
12.一種用于向誠實(shí)請求實(shí)體(50)提供關(guān)于客戶端應(yīng)用程序(30)的身份相關(guān)信息(IRI)的系統(tǒng),用以保證客戶端應(yīng)用程序(30)的真實(shí)身份,所述系統(tǒng)包括身份提供者(40),提供身份相關(guān)信息(IRI);連接到身份提供者(40)的客戶端應(yīng)用程序(30);以及誠實(shí)請求實(shí)體(50)或不誠實(shí)請求實(shí)體(51),客戶端應(yīng)用程序(30)從其接收請求信包(RQE),這個(gè)請求信包(RQE)指令客戶端應(yīng)用程序(30)向身份提供者(40)裝法包括誠實(shí)請求實(shí)體(50)的標(biāo)識符(ID)的內(nèi)部請求(IRQ),其中客戶端應(yīng)用程序(30)被適配來從身份提供者(40)接收響應(yīng)信包(RSE),這個(gè)響應(yīng)信包(RSE)指令客戶端應(yīng)用程序(30)轉(zhuǎn)發(fā)包括在內(nèi)部請求(IRQ)中請求的身份相關(guān)信息(IRI)和標(biāo)識符(ID)的內(nèi)部響應(yīng)(IRS),以便導(dǎo)出具有標(biāo)識符(ID)的誠實(shí)請求實(shí)體(50)的地址(ADR)和向所導(dǎo)出的地址(ADR)轉(zhuǎn)發(fā)內(nèi)部響應(yīng)(IRS)。
13.按照權(quán)利要求12的系統(tǒng),其中接收內(nèi)部響應(yīng)(IRS)的誠實(shí)請求實(shí)體(50)可以檢驗(yàn)由身份提供者(40)提供的響應(yīng)驗(yàn)證組件和誠實(shí)請求實(shí)體(50)的標(biāo)識符(ID)的真實(shí)性。
14.按照權(quán)利要求12的系統(tǒng),其中誠實(shí)請求實(shí)體(50)當(dāng)準(zhǔn)備請求信包(RQE)的時(shí)候,可以執(zhí)行下列步驟之一-在請求信包(RQE)中插入誠實(shí)請求實(shí)體(50)的地址(ADR),-在請求信包(RQE)中插入誠實(shí)請求實(shí)體(50)的地址(ADR)和信包驗(yàn)證組件(AUT_RQE),-在內(nèi)部請求(IRQ)中插入誠實(shí)請求實(shí)體(50)的地址(ADR),-在內(nèi)部請求(IRQ)中插入誠實(shí)請求實(shí)體(50)的地址(ADR)和內(nèi)部驗(yàn)證組件(AUT_IRQ)。
全文摘要
本發(fā)明涉及一種用于向誠實(shí)請求實(shí)體提供關(guān)于客戶端應(yīng)用程序的身份相關(guān)信息的方法。所述方法包括請求啟動(dòng)步驟,其中客戶端應(yīng)用程序從誠實(shí)請求實(shí)體或不誠實(shí)請求實(shí)體接收請求信包,這個(gè)請求信包指示客戶端應(yīng)用程序向要由客戶端應(yīng)用程序選擇的身份提供者轉(zhuǎn)發(fā)內(nèi)部請求,所述內(nèi)部請求包括所述誠實(shí)請求實(shí)體的標(biāo)識符;請求轉(zhuǎn)發(fā)步驟,其中客戶端應(yīng)用程序?qū)⑺鰞?nèi)部請求轉(zhuǎn)發(fā)到持有身份相關(guān)信息的身份提供者,響應(yīng)指示客戶端應(yīng)用程序轉(zhuǎn)發(fā)內(nèi)部響應(yīng),所述內(nèi)部請響應(yīng)包括在所述內(nèi)部請求中請求的身份相關(guān)信息和標(biāo)識符;驗(yàn)證步驟,其中客戶端應(yīng)用程序?qū)С鼍哂袠?biāo)識符的誠實(shí)請求實(shí)體的地址;以及響應(yīng)轉(zhuǎn)發(fā)步驟,其中客戶端應(yīng)用程序向所導(dǎo)出的地址轉(zhuǎn)發(fā)所述內(nèi)部響應(yīng)。
文檔編號H04L29/06GK1480852SQ03147449
公開日2004年3月10日 申請日期2003年7月10日 優(yōu)先權(quán)日2002年9月3日
發(fā)明者伯吉特·M·菲茨曼, 邁克爾·韋德納, 韋德納, 伯吉特 M 菲茨曼 申請人:國際商業(yè)機(jī)器公司