用于提供訪問憑證的系統(tǒng)和方法
【專利摘要】本發(fā)明的實(shí)施方式涉及向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證,例如,使用戶能夠單點(diǎn)登錄多個(gè)服務(wù)器。實(shí)施方式包括與關(guān)聯(lián)于用戶的終端建立第一數(shù)據(jù)連接,與服務(wù)器建立第二數(shù)據(jù)連接,并橋接第一和第二數(shù)據(jù)連接以便使用第一通信協(xié)議在終端與服務(wù)器之間建立第一通信會(huì)話的功能。還使用第二通信協(xié)議與服務(wù)器建立第二通信會(huì)話,對(duì)與用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求經(jīng)由第二通信會(huì)話來接收。該請(qǐng)求包括在第一通信會(huì)話中由服務(wù)器接收的信息,其用于識(shí)別經(jīng)由第二通信會(huì)話傳輸至服務(wù)器的用戶的訪問憑證。
【專利說明】用于提供訪問憑證的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的系統(tǒng)和方法。
[0002]更具體地,但非排他地,本發(fā)明涉及一種在與用戶相關(guān)聯(lián)的終端與承載服務(wù)的服務(wù)器之間建立第一通信會(huì)話的方法,其中第一通信會(huì)話經(jīng)由向服務(wù)器提供與終端的用戶相關(guān)聯(lián)的訪問憑證的代理服務(wù)器來建立。本發(fā)明可以用于允許終端的用戶單點(diǎn)登錄,其中可以授予用戶對(duì)由多個(gè)服務(wù)器提供的相應(yīng)服務(wù)的訪問權(quán),而無需重復(fù)提示輸入訪問憑證。
【背景技術(shù)】
[0003]已知單點(diǎn)登錄系統(tǒng)的代理服務(wù)器可以被設(shè)置為代表使用終端的用戶向服務(wù)器提供訪問憑證。終端可以首先與代理服務(wù)器連接,使得它可以將認(rèn)證信息傳輸至代理服務(wù)器,由此向代理服務(wù)器認(rèn)證用戶。一旦認(rèn)證了用戶,代理服務(wù)器就可以與服務(wù)器連接,向服務(wù)器指示用戶已經(jīng)被認(rèn)證,并且然后用作終端與服務(wù)器之間的通信會(huì)話中的代理。
[0004]這些單點(diǎn)登錄系統(tǒng)要求代理服務(wù)器從終端接收認(rèn)證信息并使用形成在終端與服務(wù)器之間的代理通信會(huì)話的連接向服務(wù)器傳輸用戶的認(rèn)證指示。因此可以要求代理通信會(huì)話使用代理服務(wù)器已知的通信協(xié)議,并且可以將終端與服務(wù)器之間經(jīng)由代理連接的通信限制為使用該通信協(xié)議的通信。
[0005]本發(fā)明的目的是提供一種向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的系統(tǒng)和方法。
【發(fā)明內(nèi)容】
[0006]根據(jù)本公開的一個(gè)方面,提供了一種根據(jù)所附權(quán)利要求的向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的方法。在從屬權(quán)利要求中陳述該方法的優(yōu)選特征。
[0007]本文描述的實(shí)施方式涉及提供一種向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的方法,該方法包括:
[0008]基于終端的用戶適用的認(rèn)證憑證與終端建立第一數(shù)據(jù)連接,所述終端與用戶相關(guān)聯(lián);
[0009]響應(yīng)于建立所述第一數(shù)據(jù)連接,與服務(wù)器建立第二數(shù)據(jù)連接,并橋接第一和第二數(shù)據(jù)連接以便在終端與服務(wù)器之間建立第一通信會(huì)話,所述第一通信會(huì)話使用第一通信協(xié)議;
[0010]與服務(wù)器建立第二通信會(huì)話,所述第二通信會(huì)話使用第二通信協(xié)議,并經(jīng)由第二通信會(huì)話從服務(wù)器接收對(duì)與用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求,所述請(qǐng)求包括由所述服務(wù)器在所述第一通信會(huì)話中接收的信息;以及
[0011 ] 基于所述信息識(shí)別所述訪問憑證,并經(jīng)由第二通信會(huì)話將所述訪問憑證傳輸至服務(wù)器。
[0012]在本發(fā)明的實(shí)施方式中,第一通信協(xié)議不同于第二通信協(xié)議。相應(yīng)地,通過允許終端和服務(wù)器在第一通信會(huì)話中經(jīng)由第一通信協(xié)議進(jìn)行通信,使用第二通信會(huì)話來經(jīng)由第二通信協(xié)議向服務(wù)器傳遞訪問認(rèn)證,該實(shí)施方式確保第一通信會(huì)話可以根據(jù)第一通信協(xié)議進(jìn)行,而不會(huì)由作用為橋接第一和第二數(shù)據(jù)連接的一方中斷。這一方可以是被設(shè)置為代理第一和第二數(shù)據(jù)連接的代理服務(wù)器。
[0013]由終端和服務(wù)器使用的第一通信協(xié)議可以是由第一通信會(huì)話的端點(diǎn)(終端和服務(wù)器)選擇的任意通信協(xié)議。在一個(gè)實(shí)施方式中,由服務(wù)器發(fā)送至橋接第一和第二數(shù)據(jù)連接的一方的所述對(duì)訪問憑證的請(qǐng)求中的信息包括與用戶相關(guān)聯(lián)的認(rèn)證憑證,這些認(rèn)證憑證在第一通信會(huì)話中已經(jīng)由服務(wù)器從終端接收。本實(shí)施方式然后可以包括橋接第一和第二數(shù)據(jù)連接的一方使用終端的用戶適用的橋接方局部保存的認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證,并根據(jù)驗(yàn)證識(shí)別所述訪問憑證。
[0014]通過使用終端的用戶適用的認(rèn)證憑證來驗(yàn)證接收的認(rèn)證憑證,這使得橋接數(shù)據(jù)連接的一方能夠識(shí)別終端的用戶,并因此檢索訪問憑證以傳輸至服務(wù)器。
[0015]更具體地,所述請(qǐng)求中的從服務(wù)器接收的認(rèn)證憑證可以包括使用終端的用戶適用的在終端上局部保存的所述認(rèn)證憑證來生成的消息認(rèn)證碼,并且其中所述對(duì)訪問憑證的請(qǐng)求中的信息可以包括用戶標(biāo)識(shí)符。向橋接方(例如,代理服務(wù)器)發(fā)送用戶標(biāo)識(shí)符,該橋接方使用終端的用戶適用的所述認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證中的消息認(rèn)證碼,并響應(yīng)于所述消息認(rèn)證碼的驗(yàn)證,識(shí)別與所述用戶標(biāo)識(shí)符相關(guān)聯(lián)的訪問憑證。
[0016]在該設(shè)置中,首先使用代理服務(wù)器可訪問的對(duì)應(yīng)認(rèn)證憑證來驗(yàn)證消息認(rèn)證碼,一旦驗(yàn)證,就使用用戶標(biāo)識(shí)符來檢索相關(guān)訪問憑證。
[0017]在另一個(gè)示例中,將訪問令牌從終端傳輸至服務(wù)器,其中訪問令牌包含識(shí)別終端的用戶的信息(諸如用戶名),以及識(shí)別服務(wù)器的信息。在該示例中,訪問令牌包含上文提及的消息認(rèn)證碼,其中該消息認(rèn)證碼使用終端的用戶的認(rèn)證憑證中的密鑰進(jìn)行加密。(除消息認(rèn)證碼本身之外)消息認(rèn)證碼還可以是訪問令牌的其他內(nèi)容的哈希值,其中哈希值的密鑰由終端的用戶的認(rèn)證憑證中的密鑰組成。
[0018]在另一個(gè)實(shí)施方式中,所述對(duì)訪問憑證的請(qǐng)求中的信息包括識(shí)別所述第一和第二數(shù)據(jù)連接中的一個(gè)的數(shù)據(jù)連接標(biāo)識(shí)符。將數(shù)據(jù)連接標(biāo)識(shí)符發(fā)送至橋接方(例如,代理服務(wù)器),該橋接方結(jié)合橋接第一和第二數(shù)據(jù)連接,存儲(chǔ)第一和第二數(shù)據(jù)連接之間的關(guān)聯(lián);此后,響應(yīng)于接收所述對(duì)訪問憑證的請(qǐng)求中的所述數(shù)據(jù)連接標(biāo)識(shí)符,代理服務(wù)器檢索所存儲(chǔ)的關(guān)聯(lián)以便確定終端的用戶適用的且用于建立所述第一數(shù)據(jù)連接的認(rèn)證憑證,并基于所述認(rèn)證憑證識(shí)別所述訪問憑證。
[0019]通過存儲(chǔ)第一和第二數(shù)據(jù)連接之間的關(guān)聯(lián)并在所述對(duì)訪問憑證的請(qǐng)求中從服務(wù)器接收數(shù)據(jù)連接標(biāo)識(shí)符,可以基于數(shù)據(jù)連接之間的關(guān)聯(lián)通過橋接方來識(shí)別訪問憑證,而無需傳輸?shù)谝煌ㄐ艜?huì)話中的認(rèn)證憑證。在該實(shí)施方式中,數(shù)據(jù)連接標(biāo)識(shí)符例如可以識(shí)別由作用為橋接第一和第二數(shù)據(jù)連接的一方使用的第二數(shù)據(jù)連接的通信端口。
[0020]優(yōu)選地,將要用于建立所述第一數(shù)據(jù)連接的加密認(rèn)證憑證被存儲(chǔ)在終端。這些加密認(rèn)證憑證可以使用用戶密碼來加密,用戶密碼可以作為密碼更改處理的一部分在與所述終端的用戶相關(guān)聯(lián)的多個(gè)其他終端被更改。在一個(gè)設(shè)置中,該密碼更改處理可以包括:
[0021]接收在終端處輸入的新密碼的哈希值;
[0022]識(shí)別與所述終端的用戶相關(guān)聯(lián)的多個(gè)其他終端;[0023]將所述新密碼的哈希值傳輸至所述多個(gè)其他終端,并且
[0024]使用所述多個(gè)其他終端處的所述新密碼的所述哈希值來加密將要用于建立所述其他終端的各第一數(shù)據(jù)連接的認(rèn)證憑證。
[0025]這些步驟可以由所述服務(wù)器執(zhí)行,終端根據(jù)上述方法與所述服務(wù)器通信,并且所述服務(wù)器例如被設(shè)置為提供密碼更改服務(wù)。相應(yīng)地,密碼更改服務(wù)的訪問優(yōu)選由橋接方經(jīng)由所述第一和第二通信會(huì)話提供;一旦終端將新密碼的哈希值傳輸至服務(wù)器,該服務(wù)器就可以將新密碼的哈希值傳輸至識(shí)別為與用戶相關(guān)聯(lián)的那些終端。
[0026]因此,這確保了用戶與之相關(guān)聯(lián)的每個(gè)終端可以被設(shè)置為使用相同的新密碼來加密在每個(gè)終端存儲(chǔ)的用戶的認(rèn)證憑證。
[0027]因此,即使當(dāng)用戶密碼在終端之一更改時(shí),該實(shí)施方式確保了給定用戶的用戶密碼在與此用戶相關(guān)聯(lián)的所有終端上都相同。結(jié)果,在用戶密碼在與用戶相關(guān)聯(lián)的任意終端更改之后,可能已經(jīng)在與用戶相關(guān)聯(lián)的任意終端上獲知舊用戶密碼的任何人將不再能夠訪問服務(wù)器的服務(wù)。
[0028]根據(jù)本發(fā)明的其他方面,可以提供具有由計(jì)算設(shè)備執(zhí)行的指令集形式的計(jì)算機(jī)程序,這些對(duì)應(yīng)于上述方法。進(jìn)一步地,終端可以配置有計(jì)算機(jī)程序以實(shí)現(xiàn)本發(fā)明的實(shí)施方式,同時(shí)代理服務(wù)器可以配置有計(jì)算機(jī)程序以促進(jìn)第一和第二數(shù)據(jù)連接的建立、它們的橋接、以及傳輸至服務(wù)器的訪問憑證的所述識(shí)別。
[0029]本發(fā)明實(shí)施方式的進(jìn)一步特征和優(yōu)點(diǎn)將通過以下參照附圖進(jìn)行的對(duì)本發(fā)明的優(yōu)選實(shí)施方式的描述而變得顯而易見,該描述僅由示例的方式給出。
【專利附圖】
【附圖說明】
[0030]圖1示意性地示出了根據(jù)實(shí)施方式的向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的系統(tǒng)。
[0031]圖2示意性地示出了根據(jù)實(shí)施方式的圖1的系統(tǒng)的終端的示例性組件。
[0032]圖3示出了根據(jù)實(shí)施方式的由圖1的終端、代理服務(wù)器和服務(wù)器進(jìn)行的步驟。
[0033]圖4示出了根據(jù)實(shí)施方式的由圖1的終端、代理服務(wù)器和服務(wù)器進(jìn)行的步驟。
[0034]圖5示出了根據(jù)實(shí)施方式的由圖1的第一終端、控制服務(wù)器和第二終端進(jìn)行的步驟。
【具體實(shí)施方式】
[0035]本發(fā)明的實(shí)施方式涉及一種向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的系統(tǒng)和方法。實(shí)施方式例如可以用于允許對(duì)各自承載相應(yīng)服務(wù)的多個(gè)服務(wù)器提供與這些服務(wù)的用戶相關(guān)聯(lián)的訪問憑證,而不要求對(duì)用戶提示這些憑證。這允許用戶向多個(gè)服務(wù)器認(rèn)證,而用戶不需要重復(fù)輸入認(rèn)證信息,由此使得能夠進(jìn)行單點(diǎn)登錄方案。每個(gè)服務(wù)器可以提供終端的用戶專有的服務(wù),該服務(wù)由提供給服務(wù)器的用戶的訪問憑證識(shí)別,例如服務(wù)器可以提供對(duì)文件、電子郵件、日歷條目和/或其他信息和/或該用戶專有的服務(wù)的訪問。
[0036]圖1示意性地示出了根據(jù)本發(fā)明實(shí)施方式的向承載服務(wù)的服務(wù)器提供與服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的系統(tǒng)。系統(tǒng)包括由用戶使用并與代理服務(wù)器110通信的終端100。代理服務(wù)器Iio還與各自可以提供相應(yīng)服務(wù)的多個(gè)服務(wù)器120至124中的一個(gè)或多個(gè)通?目。
[0037]代理服務(wù)器110和多個(gè)服務(wù)器120至124可以位于企業(yè)網(wǎng)絡(luò)130中。代理服務(wù)器110可以被設(shè)置為經(jīng)由企業(yè)網(wǎng)絡(luò)130的一個(gè)或多個(gè)通信網(wǎng)絡(luò)與每個(gè)服務(wù)器120至124通信。
[0038]企業(yè)網(wǎng)絡(luò)130可以包括調(diào)節(jié)向/自企業(yè)網(wǎng)絡(luò)130傳輸?shù)耐ㄐ啪W(wǎng)絡(luò)流量的防火墻。因此,服務(wù)器120至124的服務(wù)可以只提供給企業(yè)網(wǎng)絡(luò)130的成員。
[0039]如下面進(jìn)一步詳述,終端100可以是手機(jī)、智能手機(jī)、個(gè)人數(shù)字助理(PDA)、計(jì)算機(jī)、服務(wù)器等,并且可以被設(shè)置為經(jīng)由可以包括互聯(lián)網(wǎng)的一個(gè)或多個(gè)通信網(wǎng)絡(luò)與其他設(shè)備通信。
[0040]當(dāng)企業(yè)網(wǎng)絡(luò)130配置有防火墻時(shí),終端100也許無法直接發(fā)起與代理服務(wù)器110或服務(wù)器120至124的數(shù)據(jù)連接。因此,為了使終端100能夠使用由服務(wù)器(例如,120)提供的服務(wù),可以設(shè)置中繼服務(wù)器(未示出),經(jīng)由中繼服務(wù)器至代理服務(wù)器110的數(shù)據(jù)連接可以由終端100發(fā)起。如稍后所述,代理服務(wù)器110還可以發(fā)起其自身與服務(wù)器(例如,120)之間的數(shù)據(jù)連接,以便可以在終端100與服務(wù)器之間建立通信會(huì)話。
[0041]中繼服務(wù)器可以位于企業(yè)網(wǎng)絡(luò)130的外部;然而,可以打開企業(yè)網(wǎng)絡(luò)130的防火墻中的針孔(pinhole)以允許從中繼服務(wù)器向代理服務(wù)器110發(fā)起通信會(huì)話。例如可以通過允許從防火墻外部向代理服務(wù)器110發(fā)起數(shù)據(jù)連接來打開防火墻中的針孔,條件是這些數(shù)據(jù)連接使用傳輸協(xié)議(諸如互聯(lián)網(wǎng)協(xié)議套組的傳輸協(xié)議)的預(yù)定義端口。例如,防火墻中的針孔可以允許使用傳輸控制協(xié)議(TCP)的端口 80的至代理服務(wù)器110的數(shù)據(jù)連接。
[0042]在代理服務(wù)器110與中繼服務(wù)器之間可以存在信任關(guān)系,使得中繼服務(wù)器可以是代理服務(wù)器Iio將直接與之通信的 企業(yè)網(wǎng)絡(luò)130外部的僅有實(shí)體。例如可以通過將密碼協(xié)議(諸如安全套接層或傳輸安全層)用于代理服務(wù)器110與中繼服務(wù)器之間的數(shù)據(jù)連接來實(shí)現(xiàn)任關(guān)系。
[0043]除了提供終端100可以與服務(wù)器(例如,120)建立通信會(huì)話的機(jī)制以便終端100的用戶可以訪問該服務(wù)器的服務(wù),本發(fā)明的實(shí)施方式還有助于向服務(wù)器提供與用戶相關(guān)聯(lián)的訪問憑證,以便服務(wù)器可以在不需要提示用戶輸入認(rèn)證信息的情況下識(shí)別用戶。
[0044]如下面進(jìn)一步詳述,例如在客戶端程序220與代理服務(wù)器110之間建立數(shù)據(jù)連接時(shí)代理服務(wù)器110使用認(rèn)證憑證來驗(yàn)證正在使用終端的用戶的身份,并隨后與服務(wù)器120建立第二數(shù)據(jù)連接。然后,代理服務(wù)器110橋接第一和第二數(shù)據(jù)連接以便在終端與服務(wù)器之間建立第一通信會(huì)話,經(jīng)由該第一通信會(huì)話,具有以下述方式識(shí)別用戶的信息的形式的數(shù)據(jù)可以從終端傳輸至服務(wù)器。代理服務(wù)器110與服務(wù)器建立第二通信會(huì)話,該第二通信會(huì)話用于將前述信息從服務(wù)器傳輸至代理服務(wù)器,代理服務(wù)器響應(yīng)地識(shí)別并向服務(wù)器120發(fā)布訪問憑證。
[0045]如下面進(jìn)一步詳述,可由用戶的代理服務(wù)器110訪問的認(rèn)證憑證可以包括一個(gè)或多個(gè)密鑰。
[0046]與用戶的認(rèn)證憑證相關(guān)聯(lián)的訪問憑證包括用戶標(biāo)識(shí)符。服務(wù)器120被設(shè)置為接受來自代理服務(wù)器Iio的用戶標(biāo)識(shí)符作為用戶已經(jīng)基于代理服務(wù)器與服務(wù)器120至124之間的信任關(guān)系被認(rèn)證的確認(rèn)。該信任關(guān)系例如可以通過將密碼協(xié)議(諸如安全套接層或傳輸安全層)用于代理服務(wù)器110與服務(wù)器120至124之間的數(shù)據(jù)連接,或基于代理服務(wù)器110和服務(wù)器120至124都位于企業(yè)網(wǎng)絡(luò)130內(nèi)來實(shí)現(xiàn)。
[0047]多個(gè)用戶的認(rèn)證和訪問憑證可以由企業(yè)網(wǎng)絡(luò)130內(nèi)的憑證數(shù)據(jù)庫140存儲(chǔ)。在這種情況下,代理服務(wù)器110與憑證數(shù)據(jù)庫140通信以便訪問所存儲(chǔ)的認(rèn)證和訪問憑證。憑證數(shù)據(jù)庫140可以由企業(yè)網(wǎng)絡(luò)130中的一個(gè)或多個(gè)數(shù)據(jù)庫服務(wù)器提供,或者備選地由代理服務(wù)器110提供。
[0048]圖2示意性地示出了終端100的示例性組件。如上所述,終端100可以是手機(jī)、智能手機(jī)、個(gè)人數(shù)字助理(PDA)、計(jì)算機(jī)等。終端100包括與系統(tǒng)總線204連接的處理器202和組件,其中這些組件可以包括非易失性存儲(chǔ)設(shè)備206、隨機(jī)存取存儲(chǔ)器208、用戶輸入接口 210、網(wǎng)絡(luò)接口 212和圖形處理組件214。
[0049]終端100的網(wǎng)絡(luò)接口 212 (或多個(gè)這樣的接口)允許在終端100的處理器202上運(yùn)行的程序經(jīng)由通信網(wǎng)絡(luò)240 (或多個(gè)這樣的網(wǎng)絡(luò))向多個(gè)其他設(shè)備和系統(tǒng)傳輸數(shù)據(jù)并從多個(gè)其他設(shè)備和系統(tǒng)接收數(shù)據(jù)。
[0050]網(wǎng)絡(luò)接口 212 (或多個(gè)這樣的接口)可以包括能夠與諸如提供對(duì)通信網(wǎng)絡(luò)240 (或多個(gè)這樣的網(wǎng)絡(luò))的訪問的基站或無線接入點(diǎn)的無線訪問節(jié)點(diǎn)通信的無線接入網(wǎng)絡(luò)接口(或多個(gè)這樣的接口)。網(wǎng)絡(luò)接口 212 (或多個(gè)這樣的接口)也許能夠使用多個(gè)無線接入技術(shù)中的一個(gè)或多個(gè)與無線訪問節(jié)點(diǎn)連接,這多個(gè)無線接入技術(shù)包括全球移動(dòng)通信系統(tǒng)(GSM)、通用移動(dòng)通信系統(tǒng)(UMTS)、長期演進(jìn)技術(shù)(LTE)、固定無線接入(諸如IEEE802.16WiMax)和無線網(wǎng)絡(luò)技術(shù)(諸如IEEE802.llWiFi)。通信網(wǎng)絡(luò)240和/或無線訪問節(jié)點(diǎn)還可以提供對(duì)互聯(lián)網(wǎng)的訪問。網(wǎng)絡(luò)接口 212 (或多個(gè)這樣的接口)還可以包括與諸如互聯(lián)網(wǎng)和/或?qū)S脭?shù)據(jù)通信網(wǎng)絡(luò)的對(duì)應(yīng)通信網(wǎng)絡(luò)(或網(wǎng)絡(luò))240 —起使用的調(diào)制解調(diào)器和/或以太網(wǎng)卡或接口。
[0051]如下面進(jìn)一步詳述的,終端100的客戶端程序220被設(shè)置為使用終端100的網(wǎng)絡(luò)接口 212來與企業(yè)網(wǎng)絡(luò)130的代理服務(wù)器110通信,以便訪問服務(wù)器120至124的相應(yīng)服務(wù)。
[0052]在一個(gè)設(shè)置中,客戶端程序220是向終端100的用戶提供用戶界面,并與代理服務(wù)器110通信并響應(yīng)于經(jīng)由用戶界面接收的用戶輸入來訪問服務(wù)器120至124的服務(wù)的應(yīng)用程序。
[0053]在備選設(shè)置中,客戶端程序220是服務(wù)和/或包括與代理服務(wù)器110通信并訪問服務(wù)器120至124的服務(wù)的功能的應(yīng)用程序編程接口。在這種情況下,客戶端程序220的這些功能可以由在終端100上運(yùn)行的其他程序使用以便訪問服務(wù)器120至124的服務(wù)。
[0054]終端100的非易失性存儲(chǔ)器206可以由客戶端程序220使用以便存儲(chǔ)認(rèn)證憑證,該認(rèn)證憑證可以用于識(shí)別至代理服務(wù)器110的終端100的用戶。以下面討論的方式提供給終端100的這些認(rèn)證憑證可以以加密形式存儲(chǔ)在非易失性存儲(chǔ)器206中,以便確保認(rèn)證憑證無法被攻擊者訪問。存儲(chǔ)在非易失性存儲(chǔ)器206中的認(rèn)證憑證可以基于用戶密碼來加密。例如,用戶密碼或用戶密碼的哈??梢杂米饔糜诩用苷J(rèn)證憑證的密鑰。
[0055]為了能夠識(shí)別至代理服務(wù)器110的終端100的用戶,客戶端程序220首先可以請(qǐng)求用戶輸入用戶密碼,使得其可以用于解密非易失性存儲(chǔ)器206中保存的認(rèn)證憑證。例如可以提示用戶在每次啟動(dòng)客戶端程序220時(shí)輸入用戶密碼。一旦存儲(chǔ)在非易失性存儲(chǔ)器220中的認(rèn)證憑證已經(jīng)使用用戶輸入的用戶密碼解密,就可以在執(zhí)行客戶端程序220期間將這些認(rèn)證憑證保存在RAM208中,使得用戶在重新啟動(dòng)客戶端程序220之前都不需要重新輸入用戶密碼。
[0056]用戶適用的認(rèn)證憑證可以包括對(duì)于用戶唯一的一個(gè)或多個(gè)密鑰。這些密鑰可以被生成并提供給客戶端程序220作為離線認(rèn)證提供處理的一部分。
[0057]該認(rèn)證提供處理可以由企業(yè)網(wǎng)絡(luò)130中的控制服務(wù)器(未示出)進(jìn)行。在一個(gè)設(shè)置中,當(dāng)控制服務(wù)器(例如,從企業(yè)網(wǎng)絡(luò)130的管理員)接收對(duì)提供新用戶的認(rèn)證憑證的提供請(qǐng)求時(shí),發(fā)起認(rèn)證提供處理。提供請(qǐng)求可以包含與用戶有關(guān)的信息,諸如用戶有關(guān)的用戶名、電子郵件地址和/或其他聯(lián)系方式。提供請(qǐng)求還可以包含與被進(jìn)行認(rèn)證提供處理的終端100有關(guān)的信息,諸如終端100的網(wǎng)絡(luò)地址(例如,互聯(lián)網(wǎng)協(xié)議地址)、設(shè)備識(shí)別號(hào)(例如,國際移動(dòng)設(shè)備識(shí)別號(hào))、電話號(hào)碼(如果設(shè)備具有電話功能)、和/或可以用于識(shí)別終端100的任何其他類型的設(shè)備標(biāo)識(shí)符。
[0058]一旦收到提供請(qǐng)求,控制服務(wù)器就生成一個(gè)或多個(gè)密鑰,該一個(gè)或多個(gè)密鑰形成將要提供給終端100的客戶端程序220的認(rèn)證憑證。所生成的密鑰可以與提供請(qǐng)求中包含的關(guān)于用戶的信息和關(guān)于終端100的信息相關(guān)聯(lián)。與用戶和終端有關(guān)的密鑰和關(guān)聯(lián)信息也可以存儲(chǔ)在憑證數(shù)據(jù)庫140中,或至少以這種方式保存使得密鑰和關(guān)聯(lián)信息可由代理服務(wù)器訪問。
[0059]然后,將由控制服務(wù)器生成的密鑰傳輸至終端100的客戶端程序220。密鑰可以在傳輸期間加密以便防止攻擊者獲得密鑰的副本。一旦在終端100處收到密鑰,就可以基于由用戶輸入的密碼(即,用戶密碼)來加密密鑰并將其存儲(chǔ)在非易失性存儲(chǔ)器206中。如上所述,這意味著只在用戶輸入正確的用戶密碼時(shí),密鑰才可以由客戶端程序220訪問。
[0060]認(rèn)證提供處理因此確保給定終端(例如,100)和憑證數(shù)據(jù)庫140共享與企業(yè)網(wǎng)絡(luò)130的用戶有關(guān)的認(rèn)證憑證。
[0061]如下面進(jìn)一步詳述的,因?yàn)橛脩裘艽a用于加密存儲(chǔ)在終端100的認(rèn)證憑證并與企業(yè)130共享,所以在終端100成功輸入用戶密碼使得用戶能夠隨后在服務(wù)器120至124中的任意一個(gè)處認(rèn)證,而不需要用戶輸入相應(yīng)服務(wù)的訪問憑證。因此,實(shí)施方式能夠?qū)崿F(xiàn)單點(diǎn)登錄方案,因?yàn)橛脩糁恍枰趩?dòng)客戶端程序(例如)時(shí)輸入用戶密碼,使得隨后用戶可以被認(rèn)證以訪問由服務(wù)器120至124提供的服務(wù)。
[0062]現(xiàn)在將關(guān)于第一實(shí)施方式的圖3的步驟來描述向服務(wù)器120提供終端100的用戶的訪問憑證,使得用戶可以訪問由服務(wù)器120提供的服務(wù)的處理。
[0063]在已經(jīng)啟動(dòng)客戶端程序220并使用用戶密碼將用戶的認(rèn)證憑證解密之后,終端100的客戶端程序220接收訪問給定服務(wù)器的服務(wù)的請(qǐng)求(步驟300)。可以接收該請(qǐng)求作為由終端100的用戶輸入的輸入結(jié)果。備選地,可以接收該請(qǐng)求作為由客戶端程序220進(jìn)行的處理結(jié)果或作為由終端100的另一程序向客戶端程序220作出的函數(shù)調(diào)用的結(jié)果。
[0064]響應(yīng)于訪問給定服務(wù)器120的服務(wù)的請(qǐng)求,客戶端程序220試圖與代理服務(wù)器110建立第一數(shù)據(jù)連接(步驟302)。
[0065](終端100的)客戶端程序220與代理服務(wù)器110之間的第一數(shù)據(jù)連接可以經(jīng)由一個(gè)或多個(gè)中繼服務(wù)器建立,以便繞過企業(yè)網(wǎng)絡(luò)130的防火墻。
[0066]如果一個(gè)或多個(gè)中繼服務(wù)器涉及到設(shè)置第一數(shù)據(jù)連接,則客戶端程序220可以通過將中繼請(qǐng)求消息傳輸至中繼服務(wù)器來發(fā)起至代理服務(wù)器110的第一數(shù)據(jù)連接,由此發(fā)起至中繼服務(wù)器的中繼連接。響應(yīng)于中繼請(qǐng)求消息,中繼服務(wù)器隨后建立至代理服務(wù)器110的中繼連接(在必要時(shí)經(jīng)由零個(gè)以上的其他中繼服務(wù)器),由此使用兩個(gè)建立的中繼連接使數(shù)據(jù)能夠在客戶端程序220與代理服務(wù)器110之間傳輸,因此在客戶端程序220與代理服務(wù)器110之間形成第一數(shù)據(jù)連接。
[0067]客戶端程序220然后向代理服務(wù)器110 (經(jīng)由中繼服務(wù)器,視情況而定)傳輸連接請(qǐng)求消息。該連接請(qǐng)求消息可以包括識(shí)別終端100的用戶的信息(諸如用戶名)。
[0068]連接請(qǐng)求消息還包括與終端100的用戶的認(rèn)證憑證有關(guān)的信息。該信息例如可包括構(gòu)成終端的用戶的認(rèn)證憑證的前述密鑰中的一個(gè)或多個(gè)??梢詫?duì)傳輸?shù)倪@些密鑰進(jìn)行加密以確保攻擊者無法輕易訪問它們。
[0069]在收到連接請(qǐng)求消息之后,代理服務(wù)器110從憑證數(shù)據(jù)庫140檢索在連接請(qǐng)求消息中識(shí)別的用戶適用的認(rèn)證憑證,并使用所檢索的認(rèn)證憑證來驗(yàn)證與請(qǐng)求消息中的認(rèn)證憑證有關(guān)的信息。如果成功驗(yàn)證與認(rèn)證憑證有關(guān)的信息,則代理服務(wù)器110接受來自終端100的客戶端程序220的第一數(shù)據(jù)連接。否則,如果未成功驗(yàn)證與認(rèn)證憑證有關(guān)的信息,則可以不建立第一數(shù)據(jù)連接,這是因?yàn)樵摯矸?wù)器110可以拒絕連接。通過這種方式,可以基于用戶終端100適用的認(rèn)證憑證來建立第一數(shù)據(jù)連接。
[0070]一旦建立第一數(shù)據(jù)連接,代理服務(wù)器110就與客戶端程序220期望與其通信的服務(wù)器120建立第二數(shù)據(jù)連接(步驟304)。代理服務(wù)器110例如可以響應(yīng)于經(jīng)由第一數(shù)據(jù)連接從客戶端程序220接收的服務(wù)器連接請(qǐng)求消息來建立第二數(shù)據(jù)連接。此服務(wù)器連接請(qǐng)求消息可以包括指示代理服務(wù)器110應(yīng)與多個(gè)服務(wù)器120至124中的哪個(gè)服務(wù)器連接(例如,通過包括所希望的服務(wù)器的統(tǒng)一資源標(biāo)識(shí)符(URI))的信息。
[0071]在客戶端程序220和服務(wù)器120中的一個(gè)或兩個(gè)分別從第一數(shù)據(jù)連接或第二數(shù)據(jù)連接斷開之前,代理服務(wù)器110可以維持第一數(shù)據(jù)連接和第二數(shù)據(jù)連接。
[0072]—旦建立第一和第二數(shù)據(jù)連接,代理服務(wù)器110就橋接第一和第二數(shù)據(jù)連接以便在服務(wù)器120與終端100的客戶端程序220之間建立第一通信會(huì)話。代理服務(wù)器110然后經(jīng)由第二數(shù)據(jù)連接將經(jīng)由第一數(shù)據(jù)連接從客戶端程序220傳輸?shù)臄?shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)器120,反之亦然。
[0073]客戶端程序220和服務(wù)器120在第一通信會(huì)話中使用第一通信協(xié)議來通信,其中第一通信協(xié)議可以是任意協(xié)議,諸如通過超文本傳輸協(xié)議(HTTP)傳送的可擴(kuò)展標(biāo)記語言遠(yuǎn)程處理調(diào)用(XML-RPC)協(xié)議。
[0074]當(dāng)已經(jīng)建立第一通信會(huì)話時(shí),服務(wù)器120要求代理服務(wù)器110在允許用戶經(jīng)由第一通信會(huì)話訪問服務(wù)之前提供與終端100的用戶有關(guān)的訪問憑證。
[0075]如上所述,這些訪問憑證可以包括用戶的用戶名。另外地或備選地,這些訪問憑證可以包括由憑證數(shù)據(jù)庫140和/或代理服務(wù)器110生成的安全令牌,服務(wù)器120可以使用在代理服務(wù)器110與服務(wù)器之間共享的密鑰來解密該安全令牌。在這種情況下,如果能夠通過成功解密訪問憑證中包括的安全令牌來驗(yàn)證訪問憑證,則服務(wù)器120可以只允許訪問它的服務(wù)。
[0076]代理服務(wù)器110獨(dú)立于第一通信會(huì)話中使用的第一通信協(xié)議來操作,因此代理服務(wù)器110不需要試圖確定所使用的通信協(xié)議。結(jié)果,代理服務(wù)器110不能通過介入第一通信會(huì)話或?qū)⑿畔⒆⑷氲谝煌ㄐ艜?huì)話來向服務(wù)器120傳輸用戶的訪問憑證。
[0077]為了有利于提供訪問憑證,在服務(wù)器120與代理服務(wù)器110之間建立第二通信會(huì)話,訪問憑證響應(yīng)于合適的請(qǐng)求經(jīng)由第二通信會(huì)話傳輸至服務(wù)器120。訪問憑證的請(qǐng)求包括在第一通信會(huì)話中由服務(wù)器120接收的信息,并且該信息在從服務(wù)器120中繼至代理服務(wù)器110時(shí)被代理服務(wù)器110使用以便識(shí)別與用戶有關(guān)的將要傳輸至服務(wù)器120的訪問憑證?,F(xiàn)在將關(guān)于圖3的步驟308至318來進(jìn)一步詳述與向服務(wù)器120提供訪問憑證相關(guān)聯(lián)的步驟。
[0078]為了發(fā)起向服務(wù)器120提供訪問憑證,用戶終端100創(chuàng)建訪問令牌(步驟306)。訪問令牌可以包含識(shí)別終端100的用戶的信息(諸如用戶名),以及識(shí)別服務(wù)器120的信息。連接請(qǐng)求消息還可以包括隨機(jī)生成數(shù)(即,隨機(jī)數(shù))以確保令牌不受重放攻擊的影響。
[0079]訪問令牌還可以包含與前述終端100的用戶的認(rèn)證憑證有關(guān)的信息,諸如使用終端100的用戶的認(rèn)證憑證來加密的消息認(rèn)證碼。例如,除了消息認(rèn)證碼本身之外,消息認(rèn)證碼還可以是訪問令牌的其他內(nèi)容的哈希值(例如,識(shí)別用戶和服務(wù)器的信息的哈希值),其中哈希值的密鑰是終端100的用戶的認(rèn)證憑證中的密鑰之一。
[0080]客戶端程序220然后在第一通信會(huì)話中將訪問令牌傳輸至服務(wù)器120(步驟308)。訪問令牌例如可以在第一通信協(xié)議的憑證傳輸消息中傳輸,如上所述,第一通信協(xié)議無法被代理服務(wù)器110訪問。
[0081]既然如此,響應(yīng)于在第一通信會(huì)話中接收訪問令牌,服務(wù)器120經(jīng)由由服務(wù)器120建立的與代理服務(wù)器110的第二通信會(huì)話將對(duì)訪問憑證的請(qǐng)求傳輸至代理服務(wù)器110 (步驟310)。該第二通信會(huì)話使用第二通信協(xié)議,該第二通信協(xié)議不同于第一通信協(xié)議并且與第一通信協(xié)議相對(duì)比,該第二通信協(xié)議是代理服務(wù)器110被設(shè)置為使用的預(yù)定協(xié)議。
[0082]對(duì)由服務(wù)器120傳輸至代理服務(wù)器110的訪問憑證的請(qǐng)求可以包含在第一通信會(huì)話中的由客戶端程序220傳輸至服務(wù)器120的訪問令牌。響應(yīng)于接收訪問憑證的請(qǐng)求,代理服務(wù)器110驗(yàn)證訪問令牌(步驟312);在一個(gè)設(shè)置中,這涉及從憑證數(shù)據(jù)庫140中檢索在訪問令牌中識(shí)別的用戶適用的認(rèn)證憑證。代理服務(wù)器110可以使用檢索的認(rèn)證憑證(例如通過對(duì)訪問令牌的內(nèi)容以及消息認(rèn)證碼進(jìn)行哈希處理)來計(jì)算校驗(yàn)碼,其中哈希值的密鑰是終端100的用戶的所檢索的認(rèn)證憑證中的密鑰之一。如果接收的訪問令牌中的消息認(rèn)證碼和檢驗(yàn)碼匹配,則成功驗(yàn)證消息認(rèn)證碼(以及訪問令牌):代理服務(wù)器110識(shí)別并檢索與代理憑證數(shù)據(jù)庫140中保存的用戶的認(rèn)證憑證相關(guān)聯(lián)的訪問憑證。然后代理服務(wù)器110使用第二通信會(huì)話將所檢索的訪問憑證傳輸至服務(wù)器120 (步驟314)。
[0083]響應(yīng)于接收訪問憑證,服務(wù)器120允許客戶端程序經(jīng)由第一通信會(huì)話訪問它的服務(wù)。服務(wù)器120例如可以將確認(rèn)消息傳輸至終端100的客戶端程序以便指示此訪問已經(jīng)授權(quán)(步驟316)。
[0084]終端100的客戶端程序110此后能夠使用第一通信協(xié)議與服務(wù)器120通信以便訪問由服務(wù)器提供的訪問(步驟318)。正如上面注意到的,服務(wù)器120可以提供專用于由訪問認(rèn)證識(shí)別的終端的用戶(即,終端100的用戶)的服務(wù),例如,該服務(wù)器120可以提供對(duì)文件、電子郵件、日歷條目、和/或?qū)Υ擞脩魜碚f特定的服務(wù)的訪問。
[0085]如果在步驟312中沒有成功驗(yàn)證訪問令牌的消息認(rèn)證碼,則代理服務(wù)器110可以使用第二通信協(xié)議將驗(yàn)證失敗信息傳輸至服務(wù)器120。然后服務(wù)器120可以響應(yīng)于接收驗(yàn)證失敗信息從第一通信會(huì)話斷開。
[0086]代理服務(wù)器110由此關(guān)于第一通信會(huì)話在傳輸層操作:簡單橋接第一和第二數(shù)據(jù)連接;關(guān)于第二通信會(huì)話在應(yīng)用層操作:驗(yàn)證其從服務(wù)器120接收的認(rèn)證憑證使得可以向服務(wù)器120提供終端100的用戶的訪問憑證。服務(wù)器120然后可以允許客戶端程序220經(jīng)由第一通信會(huì)話訪問其提供的服務(wù)。
[0087]通過與第一通信會(huì)話分開地配置第二通信會(huì)話,本實(shí)施方式確保了終端100與服務(wù)器120之間的第一通信會(huì)話可以根據(jù)這些端點(diǎn)之間達(dá)成的任意通信協(xié)議進(jìn)行,而不涉及代理服務(wù)器110。
[0088]現(xiàn)在將參照?qǐng)D4描述第二實(shí)施方式。與第一實(shí)施方式中類似,在第二實(shí)施方式中,終端100可以用于訪問由企業(yè)網(wǎng)絡(luò)130的服務(wù)器120至124提供的服務(wù)。簡短參照?qǐng)D3,第二實(shí)施方式開始于第一實(shí)施方式的步驟300至304,但是一旦第一和第二數(shù)據(jù)連接已經(jīng)在步驟304中建立,代理服務(wù)器110就存儲(chǔ)第一和第二數(shù)據(jù)連接之間的關(guān)聯(lián)(步驟400)。第一和第二數(shù)據(jù)連接之間的關(guān)聯(lián)可以包括與代理服務(wù)器110用于第一和第二數(shù)據(jù)連接的相應(yīng)端口有關(guān)的信息,并且還可以與識(shí)別認(rèn)證憑證(在步驟302中基于該認(rèn)證憑證建立第一數(shù)據(jù)連接)的信息相關(guān)聯(lián),該認(rèn)證憑證即由客戶端程序220提供以便識(shí)別至代理服務(wù)器110的終端100的用戶的認(rèn)證憑證。
[0089]關(guān)聯(lián)可以存儲(chǔ)在代理服務(wù)器110處的RAM中和/或非易失性存儲(chǔ)器206中。當(dāng)終止第一和/或第二數(shù)據(jù)連接時(shí),可以從RAM和/或非易失性存儲(chǔ)器206中刪除關(guān)聯(lián)。
[0090]與第一實(shí)施方式中相似,代理服務(wù)器110不能確定第一通信會(huì)話中使用的第一通信協(xié)議,并因此不能通過介入第一通信會(huì)話或?qū)⑿畔⒆⑷氲谝煌ㄐ艜?huì)話來向服務(wù)器120提供訪問憑證。
[0091]既然如此,響應(yīng)于建立第二通信會(huì)話,服務(wù)器120經(jīng)由與代理服務(wù)器110建立的第二通信會(huì)話將對(duì)訪問憑證的請(qǐng)求傳輸至代理服務(wù)器110(步驟402)。與第一實(shí)施方式相似,第二通信會(huì)話使用第二通信協(xié)議,該第二通信協(xié)議不同于第一通信會(huì)話中使用的第一通信協(xié)議。與第一通信協(xié)議相對(duì)比,第二通信協(xié)議可以是代理服務(wù)器110被設(shè)置為使用的預(yù)定協(xié)議。
[0092]一旦與代理服務(wù)器110建立第二通信協(xié)議,服務(wù)器120就向其傳輸對(duì)訪問認(rèn)證的請(qǐng)求。對(duì)訪問認(rèn)證的請(qǐng)求可以包含包括與第二數(shù)據(jù)連接有關(guān)的信息的數(shù)據(jù)連接標(biāo)識(shí)符。通過這種方式,在第二通信會(huì)話中將在第一通信會(huì)話中由服務(wù)器120接收的信息傳輸至代理服務(wù)器110。
[0093]可以由服務(wù)器120從第二數(shù)據(jù)連接中收集該信息。例如,數(shù)據(jù)連接標(biāo)識(shí)符可以包含與代理服務(wù)器110用于第二數(shù)據(jù)連接的端口有關(guān)的信息,其中該信息由服務(wù)器120收集,該服務(wù)器120檢查其在第二數(shù)據(jù)連接中接收的數(shù)據(jù)包。
[0094]響應(yīng)于從服務(wù)器120接收對(duì)訪問認(rèn)證的請(qǐng)求,代理服務(wù)器110檢索與由對(duì)訪問憑證的請(qǐng)求中包括的數(shù)據(jù)連接標(biāo)識(shí)符識(shí)別的數(shù)據(jù)連接有關(guān)的存儲(chǔ)的關(guān)聯(lián)(步驟404)。
[0095]如上所述,在第一和第二數(shù)據(jù)連接之間的存儲(chǔ)關(guān)聯(lián)可以與識(shí)別建立第一數(shù)據(jù)連接所基于的認(rèn)證憑證的信息相關(guān)聯(lián)。代理服務(wù)器110由此識(shí)別與這些識(shí)別的認(rèn)證憑證相關(guān)聯(lián)的訪問憑證并從憑證數(shù)據(jù)庫140中檢索該訪問憑證。
[0096]回到圖3,與第一實(shí)施方式中相似,代理服務(wù)器110然后使用第二通信會(huì)話將檢索的訪問憑證傳輸至服務(wù)器120 (步驟314)。
[0097]與第一實(shí)施方式中相似,服務(wù)器120可以將確認(rèn)消息傳輸至終端100的客戶端程序以便指示此訪問已經(jīng)授權(quán)(步驟316)。
[0098]與第一實(shí)施方式中相似,終端100的客戶端程序110然后可以使用第一通信協(xié)議與服務(wù)器120通信以便訪問由服務(wù)器120提供的服務(wù)(步驟318)。
[0099]如果在步驟404中代理服務(wù)器110不能基于在步驟402中接收的數(shù)據(jù)連接信息來檢索關(guān)聯(lián)(例如,因?yàn)榈谝缓偷诙?shù)據(jù)連接中的一個(gè)或兩個(gè)已經(jīng)斷開,并因此已經(jīng)刪除關(guān)聯(lián)),則代理服務(wù)器Iio可以使用第二通信協(xié)議向服務(wù)器120傳輸“驗(yàn)證失敗”通知。響應(yīng)于接收這個(gè)通知,服務(wù)器120可以隨后從第一通信會(huì)話斷開(如果還沒有斷開)。
[0100]因此,在第二實(shí)施方式中,代理服務(wù)器110基于對(duì)與用戶有關(guān)的訪問憑證的請(qǐng)求中由服務(wù)器120傳輸至代理服務(wù)器110的數(shù)據(jù)連接標(biāo)識(shí)符來識(shí)別在第一和第二數(shù)據(jù)連接之間的存儲(chǔ)關(guān)聯(lián)。因此,與第一實(shí)施方式中相似,在訪問憑證的請(qǐng)求中,將在第一通信會(huì)話中由服務(wù)器120接收的信息傳輸至代理服務(wù)器110,該信息用于識(shí)別將要傳輸至服務(wù)器120的訪問憑證。然而,第二實(shí)施方式與第一實(shí)施方式的不同之處在于終端100不需要向服務(wù)器120傳輸與用戶的認(rèn)證憑證有關(guān)的信息(例如,訪問令牌)。相反,代理服務(wù)器110能夠基于在第一和第二數(shù)據(jù)連接之間的存儲(chǔ)關(guān)聯(lián),并基于由服務(wù)器120傳輸至代理服務(wù)器110的數(shù)據(jù)連接標(biāo)識(shí)符向服務(wù)器120提供訪問憑證。通過這種方式,認(rèn)證憑證只需要由客戶端程序傳輸一次(當(dāng)建立第一數(shù)據(jù)連接時(shí))以便建立第一通信會(huì)話。
[0101]現(xiàn)在將描述第三實(shí)施方式,該第三實(shí)施方式適應(yīng)以下場景,其中用戶從多個(gè)終端訪問服務(wù)器120至124,每個(gè)終端都設(shè)置有相同的用戶名和密碼,并且用戶能夠在任意所述終端更改密碼。
[0102]盡管用戶可以從多個(gè)終端訪問服務(wù)器120至124,但是企業(yè)網(wǎng)絡(luò)130的控制服務(wù)器通常對(duì)每個(gè)所述終端提供一組不同的認(rèn)證憑證。存儲(chǔ)在憑證數(shù)據(jù)庫140中的每組認(rèn)證憑證因此與特定用戶和此用戶的特定終端(例如,100至104)相關(guān)聯(lián)。進(jìn)一步地,不同的訪問憑證可以被存儲(chǔ)并且可以與憑證數(shù)據(jù)庫140中的每組認(rèn)證憑證相關(guān)聯(lián),由此允許每個(gè)用戶使用多個(gè)終端(給定用戶與這些終端相關(guān)聯(lián))同時(shí)訪問由服務(wù)器120至124提供的相應(yīng)服務(wù)。
[0103]在第三實(shí)施方式中,根據(jù)參照?qǐng)D5描述的處理,當(dāng)用戶在終端之一更改用戶密碼時(shí),用戶密碼的更改可以在與用戶相關(guān)聯(lián)的其他終端生效。
[0104]在已經(jīng)啟動(dòng)客戶端程序220并且已經(jīng)使用用戶密碼來解密用戶的認(rèn)證憑證之后,例如通過在由客戶端程序220提供的用戶界面上選擇“更改用戶密碼”選項(xiàng),用戶可以選擇輸入新用戶密碼。
[0105]然后,通過用戶在由客戶端程序220提供的用戶界面上輸入新密碼,終端100的客戶端程序220收到新用戶密碼(步驟510)。
[0106]響應(yīng)于收到新密碼,客戶端程序220使用新用戶密碼來加密當(dāng)前在RAM140中保存的終端100的用戶的解密認(rèn)證憑證(步驟512)。
[0107]為了使用新用戶密碼加密終端的用戶的認(rèn)證憑證,客戶端程序220可以計(jì)算新密碼的哈希值,并且可以將新密碼的哈希值用作加密用戶的認(rèn)證憑證的密鑰。
[0108]然后,客戶端程序220將使用步驟512中的新密碼加密的認(rèn)證憑證存儲(chǔ)在終端100的非易失性存儲(chǔ)器206中,代替使用用戶先前的用戶密碼加密的事先存儲(chǔ)在非易失性存儲(chǔ)器206中的認(rèn)證憑證(步驟514)。如果重新啟動(dòng)客戶端程序220,則該用戶將需要輸入新用戶密碼以便客戶端程序220可以在終端100解密非易失性存儲(chǔ)器206中保存的加密認(rèn)證憑證。
[0109]終端100的客戶端程序220然后與企業(yè)網(wǎng)絡(luò)130的控制服務(wù)器500建立第一通信會(huì)話(步驟516)??刂品?wù)器500可以是客戶端程序220可以(例如根據(jù)第一或第二實(shí)施方式的步驟)經(jīng)由代理服務(wù)器110與之建立通信會(huì)話的企業(yè)網(wǎng)絡(luò)130的服務(wù)器120至124之一。
[0110]一旦終端100的客戶端程序220與控制服務(wù)器500建立了第一通信會(huì)話并且控制服務(wù)器500已經(jīng)驗(yàn)證了由代理服務(wù)器210轉(zhuǎn)發(fā)的訪問憑證(以上述方式),客戶端程序220就可以經(jīng)由第一通信會(huì)話向控制服務(wù)器500傳輸密碼更改消息(步驟518)。密碼更改消息可以包含在步驟510中接收的新用戶密碼的哈希值。
[0111]響應(yīng)于接收密碼更改消息,控制服務(wù)器500例如通過訪問憑證數(shù)據(jù)庫140來確定識(shí)別終端100的用戶與之關(guān)聯(lián)的每個(gè)其他終端的信息(步驟520)。備選地,控制服務(wù)器500可以與代理服務(wù)器110建立通信會(huì)話并直接從代理服務(wù)器110檢索該信息。
[0112]一旦控制服務(wù)器500收到識(shí)別其他終端的數(shù)據(jù),控制服務(wù)器500就向每個(gè)其他終端(例如終端104),傳輸在密碼更改消息中接收的新用戶密碼(步驟522)。在它們存在的程度上,控制服務(wù)器500可以使用其自身與每個(gè)其他終端之間的現(xiàn)有通信會(huì)話來傳輸新用戶密碼的哈希值(例如,經(jīng)由通過第一或第二實(shí)施方式建立的通信會(huì)話)。備選地,如果其他終端中的一個(gè)或多個(gè)維持與中繼服務(wù)器中的一個(gè)或多個(gè)的相應(yīng)數(shù)據(jù)連接,則控制服務(wù)器500可以通過請(qǐng)求代理服務(wù)器110向每個(gè)其他終端傳輸新用戶密碼的哈希值來使用這些連接。備選地,用于向終端傳輸推送通知的其他機(jī)制可以用于向每個(gè)其他終端傳輸新用戶密碼的哈希值,諸如2011年2月11日提交的序列號(hào)為13/025,984,題目為“Method, apparatusand system for provisioning a push notification session,,的美國專利申請(qǐng)中所述,該申請(qǐng)通過引用并入本文。
[0113]如現(xiàn)在針對(duì)這些其他終端之一 104所述,響應(yīng)于接收新用戶密碼的哈希值,每個(gè)其他終端的客戶端程序可以執(zhí)行與步驟510至514對(duì)應(yīng)的步驟(步驟524)。
[0114]終端104的客戶端程序首先接收新用戶密碼的哈希值。響應(yīng)于接收新密碼的哈希值,終端104的客戶端程序使用新用戶密碼的哈希值來加密當(dāng)前保存在RAM中的用戶的解密認(rèn)證憑證。例如,終端104的客戶端程序可以將新用戶密碼的哈希值用作加密用戶的認(rèn)證憑證的密鑰。
[0115]終端104的客戶端程序然后將使用新用戶密碼加密的認(rèn)證憑證存儲(chǔ)在終端104的非易失性存儲(chǔ)器中,代替使用用戶先前的用戶密碼加密的事先存儲(chǔ)在非易失性存儲(chǔ)器中的認(rèn)證憑證。如果重新啟動(dòng)終端104的客戶端程序,則該用戶需要輸入新用戶密碼以便客戶端程序可以解密在終端104的非易失性存儲(chǔ)器206中保存的加密認(rèn)證憑證。
[0116]因此,該實(shí)施方式允許代理服務(wù)器110和控制服務(wù)器500協(xié)助確保用戶與之關(guān)聯(lián)的每個(gè)終端可以被設(shè)置為使用相同的新用戶密碼來加密在每個(gè)終端存儲(chǔ)的用戶的認(rèn)證憑證。
[0117]如上所述,因?yàn)樵诮K端100成功輸入用戶密碼使用戶能夠在服務(wù)器120至124處被認(rèn)證,所以第一和第二實(shí)施方式能夠?qū)崿F(xiàn)單點(diǎn)登錄方案。在第一終端(例如100)更改用戶密碼確保知道用戶密碼的任何人無法再使用此終端來獲得對(duì)服務(wù)器120至124的服務(wù)的訪問。然而,如果任意其他終端上的用戶密碼與第一終端上的用戶密碼相同,則這些人可能仍然能夠使用與用戶相關(guān)聯(lián)的另一終端。
[0118]因此,第三實(shí)施方式通過確保給定用戶的用戶密碼在與此用戶相關(guān)聯(lián)的所有終端上相同來建立第一和第二實(shí)施方式的單點(diǎn)登錄方案,甚至當(dāng)用戶密碼在終端之一更改時(shí)也是如此。結(jié)果,在與用戶相關(guān)聯(lián)的任意終端更改用戶密碼之后,可能已經(jīng)知道與用戶相關(guān)聯(lián)的任意終端上的舊用戶密碼的任何人不再能夠訪問服務(wù)器120至124的服務(wù)。
[0119]上述實(shí)施方式將被理解為本發(fā)明的說明性示例。本發(fā)明的進(jìn)一步實(shí)施方式設(shè)想如下。
[0120]在任意實(shí)施方式的替代中,代理服務(wù)器110、多個(gè)服務(wù)器120至124以及中繼服務(wù)器可以被設(shè)置為在多個(gè)不同終端設(shè)備(例如100至104)與多個(gè)服務(wù)器120至124之間建立多個(gè)通信會(huì)話,以便允許這些終端的相應(yīng)用戶使用服務(wù)器120至124的服務(wù)。
[0121]在第一實(shí)施方式的替代中,在步驟306中由終端100創(chuàng)建的訪問令牌的消息認(rèn)證碼除消息認(rèn)證碼本身之外還可以是訪問令牌的其他內(nèi)容的哈希值以及用戶終端100的認(rèn)證憑證中的第一組一個(gè)或多個(gè)密鑰的哈希值。例如,消息認(rèn)證碼可以是識(shí)別用戶和服務(wù)器的信息的哈希值和第一組一個(gè)或多個(gè)密鑰的哈希值。在這種情況下,哈希值的密鑰是終端100的用戶的認(rèn)證憑證中的第二組一個(gè)或多個(gè)密鑰。在步驟312中,除消息認(rèn)證碼之外還給出了所檢索的認(rèn)證憑證中的第一組一個(gè)或多個(gè)密鑰以及訪問令牌的其他內(nèi)容,代理服務(wù)器可以使用所檢索的認(rèn)證憑證中的第二組一個(gè)或多個(gè)密鑰來驗(yàn)證訪問令牌中的消息認(rèn)證碼是正確的。
[0122]在任意實(shí)施方式的替代中,可以不提供中繼服務(wù)器,而終端100可以被設(shè)置為經(jīng)由企業(yè)網(wǎng)絡(luò)130的防火墻中的針孔直接與代理服務(wù)器110建立第一數(shù)據(jù)連接。
[0123]在任意實(shí)施方式的替代中,代理服務(wù)器110可以被設(shè)置為發(fā)起與中繼服務(wù)器的數(shù)據(jù)連接,以便在建立終端100與代理服務(wù)器110之間的第一數(shù)據(jù)連接時(shí)繞過企業(yè)網(wǎng)絡(luò)130的防火墻。在這種情況下,在企業(yè)網(wǎng)絡(luò)130的防火墻中可能沒有針孔。代理服務(wù)器110可以響應(yīng)于經(jīng)由預(yù)建立的數(shù)據(jù)連接從中繼服務(wù)器傳輸至代理服務(wù)器110的中繼連接請(qǐng)求消息來發(fā)起與中繼服務(wù)器的數(shù)據(jù)連接。該預(yù)建立的數(shù)據(jù)連接可以由代理服務(wù)器110向中繼服務(wù)器發(fā)起(例如,在代理服務(wù)器110啟動(dòng)時(shí)),并且如果預(yù)建立的數(shù)據(jù)連接丟失則可以由代理服務(wù)器110重新建立。
[0124]在第二實(shí)施方式的替代中,在步驟400中,在第一和第二數(shù)據(jù)連接之間的存儲(chǔ)關(guān)聯(lián)可以包括與終端100用于第一數(shù)據(jù)連接的互聯(lián)網(wǎng)協(xié)議地址和端口有關(guān)的信息。在步驟402中由服務(wù)器120傳輸?shù)膶?duì)訪問憑證的請(qǐng)求可以包含數(shù)據(jù)連接標(biāo)識(shí)符,該數(shù)據(jù)連接標(biāo)識(shí)符包含與第一數(shù)據(jù)連接的一個(gè)或多個(gè)特征有關(guān)的信息??梢杂煞?wù)器120從第一通信會(huì)話收集與第一數(shù)據(jù)連接的一個(gè)或多個(gè)特征有關(guān)的信息。例如,數(shù)據(jù)連接標(biāo)識(shí)符可以包含與終端100用于第一數(shù)據(jù)連接的互聯(lián)網(wǎng)協(xié)議地址和端口有關(guān)的信息,其中由服務(wù)器120從第一通信會(huì)話收集該信息,服務(wù)器120檢查經(jīng)由第一通信會(huì)話在第一通信協(xié)議中交換的信息。在步驟404中,代理服務(wù)器110然后可以檢索與由對(duì)訪問憑證的請(qǐng)求中包括的數(shù)據(jù)連接標(biāo)識(shí)符識(shí)別的數(shù)據(jù)連接有關(guān)的存儲(chǔ)關(guān)聯(lián)。
[0125]在第二實(shí)施方式的替代中,在步驟400中,在第一和第二數(shù)據(jù)連接之間的存儲(chǔ)關(guān)聯(lián)可以包括與服務(wù)器120用于第二數(shù)據(jù)連接的互聯(lián)網(wǎng)協(xié)議地址和端口有關(guān)的信息。在步驟402中由服務(wù)器120傳輸?shù)膶?duì)訪問憑證的請(qǐng)求可以包含數(shù)據(jù)連接標(biāo)識(shí)符,該數(shù)據(jù)連接標(biāo)識(shí)符包含與第二數(shù)據(jù)連接中的一個(gè)或多個(gè)特征有關(guān)的信息??梢杂煞?wù)器120從第二數(shù)據(jù)連接收集與第二數(shù)據(jù)連接中的一個(gè)或多個(gè)特征有關(guān)的信息。例如,數(shù)據(jù)連接標(biāo)識(shí)符可以包含與服務(wù)器120用于第二數(shù)據(jù)連接的互聯(lián)網(wǎng)協(xié)議地址和端口有關(guān)的信息,其中由服務(wù)器120從第二數(shù)據(jù)連接收集該信息。在步驟404中,代理服務(wù)器110然后可以檢索與由訪問憑證的請(qǐng)求中包括的數(shù)據(jù)連接標(biāo)識(shí)符識(shí)別的數(shù)據(jù)連接有關(guān)的存儲(chǔ)關(guān)聯(lián)。
[0126]在第三實(shí)施方式的替代中,終端100可以被設(shè)置為與終端100的用戶與之關(guān)聯(lián)的每個(gè)其他終端建立相應(yīng)通信會(huì)話。終端100然后可以經(jīng)由相應(yīng)通信會(huì)話直接向每個(gè)其他終端傳輸新用戶密碼的哈希值。根據(jù)第一或第二實(shí)施方式的任意一個(gè),為了建立各通信會(huì)話,終端100首先可以通過與代理服務(wù)器110或控制服務(wù)器建立第一通信會(huì)話來檢索與終端100的用戶與之關(guān)聯(lián)的其他終端有關(guān)的地址信息。
[0127]在任意實(shí)施方式的替代中,客戶端程序220可以由用戶經(jīng)由第二終端訪問。在一個(gè)設(shè)置中,為了允許用戶使用客戶端程序220,客戶端程序220提供用戶可以經(jīng)由第二終端訪問的用戶界面,例如以可由第二終端向用戶顯示的一個(gè)或多個(gè)動(dòng)態(tài)網(wǎng)頁和/或遠(yuǎn)程桌面的形式,該用戶界面可提供給第二終端。在替代設(shè)置中,客戶端程序220提供可以由第二終端上的第二客戶端程序訪問的遠(yuǎn)程處理,其中例如遠(yuǎn)程處理被第二客戶端程序調(diào)用,同時(shí)該程序向用戶顯示對(duì)應(yīng)的用戶界面。
[0128]在任意實(shí)施方式的替代中,由代理服務(wù)器110傳輸至服務(wù)器120至124的與用戶的認(rèn)證憑證相關(guān)聯(lián)的訪問憑證包括由憑證數(shù)據(jù)庫140和/或代理服務(wù)器110生成的用戶標(biāo)識(shí)符和安全令牌。服務(wù)器(例如120)被設(shè)置為使用在代理服務(wù)器110與服務(wù)器120之間共享的密鑰來解密從代理服務(wù)器110接收的訪問憑證中的安全令牌,以便驗(yàn)證訪問憑證已經(jīng)由代理服務(wù)器110 (而不是攻擊者)生成。如果成功驗(yàn)證安全令牌,則服務(wù)器120被設(shè)置為接受訪問憑證中的用戶標(biāo)識(shí)符作為用戶已經(jīng)被認(rèn)證的確認(rèn)。
[0129]在任意實(shí)施方式的替代中,在認(rèn)證提供處理中,以下列方式將由控制服務(wù)器生成的密鑰(形成新用戶的認(rèn)證憑證的密鑰)提供給終端100的客戶端程序220。單次使用密鑰被生成并由控制服務(wù)器存儲(chǔ),并且單次使用密鑰還通過電子郵件發(fā)送至用戶。一旦用戶收到該電子郵件,用戶就將單次使用密鑰輸入終端100的客戶端程序220。終端100的客戶端程序220隨后使用用戶輸入的單次使用密鑰來簽字并確認(rèn)在它與控制服務(wù)器之間發(fā)送的一系列密鑰交換消息。這些密鑰交換消息用于協(xié)商(negotiate)形成用戶的認(rèn)證憑證的密鑰安全傳輸至終端100的客戶端程序200。一旦以這種方式將認(rèn)證憑證提供給終端100的客戶端程序220,單次使用密鑰就失效。
[0130]上述實(shí)施方式的終端100至104、代理服務(wù)器110、服務(wù)器120至124、中繼服務(wù)器和控制服務(wù)器可以被設(shè)置為通過執(zhí)行計(jì)算機(jī)可讀介質(zhì)中保存的計(jì)算機(jī)程序來根據(jù)上述實(shí)施方式操作。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),它們包括有利于計(jì)算機(jī)程序從一個(gè)地方轉(zhuǎn)移至另一個(gè)地方的任意介質(zhì)。存儲(chǔ)介質(zhì)可以是可由計(jì)算機(jī)訪問的任意可用介質(zhì)。例如但不限于,此計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)器、磁盤存儲(chǔ)器或其他磁存儲(chǔ)器,或可用于攜帶或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼且可由計(jì)算機(jī)訪問的任何其他介質(zhì)。同樣,任意連接被恰當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線路(DSL)或諸如紅外線、無線電和微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其他遠(yuǎn)程數(shù)據(jù)源傳輸軟件,則同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外線、無線電和微波等無線技術(shù)包括在介質(zhì)的定義中。本文所使用的磁盤(Disk)和光盤(disc)包括壓縮光盤(⑶)、激光盤、光學(xué)盤、數(shù)字通用光盤(DVD)、軟盤和藍(lán)光光盤,其中磁盤通常以磁性地再現(xiàn)數(shù)據(jù),而光盤通過激光光學(xué)地再現(xiàn)數(shù)據(jù)。因此,在某些方面,計(jì)算機(jī)可讀介質(zhì)可以包括非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)(例如,有形介質(zhì))。另外,在某些方面,計(jì)算機(jī)可讀介質(zhì)可以包括瞬態(tài)計(jì)算機(jī)可讀介質(zhì)(例如,信號(hào))。上文的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0131]應(yīng)理解的是,描述的與任意一個(gè)實(shí)施方式有關(guān)的任意特征可以單獨(dú)使用,或者可以結(jié)合描述的其他特征使用,并且還可以結(jié)合任意其他實(shí)施方式的一個(gè)或多個(gè)特征,或任意其他實(shí)施方式的任意組合使用。此外,在不偏離在所附權(quán)利要求中限定的本發(fā)明的范圍的情況下,還可以采用上文未描述的等同物和變形。
【權(quán)利要求】
1.一種向承載服務(wù)的服務(wù)器提供與所述服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的方法,所述方法包括: 基于終端的所述用戶適用的認(rèn)證憑證與關(guān)聯(lián)于所述用戶的所述終端建立第一數(shù)據(jù)連接; 響應(yīng)于建立所述第一數(shù)據(jù)連接,與所述服務(wù)器建立第二數(shù)據(jù)連接,并橋接所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接以便在所述終端與所述服務(wù)器之間建立第一通信會(huì)話,所述第一通信會(huì)話使用第一通信協(xié)議; 與所述服務(wù)器建立第二通信會(huì)話,所述第二通信會(huì)話使用第二通信協(xié)議,并經(jīng)由所述第二通信會(huì)話從所述服務(wù)器接收對(duì)與所述用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求,所述請(qǐng)求包括由所述服務(wù)器在所述第一通信會(huì)話中接收的信息;以及 基于所述信息識(shí)別所述訪問憑證,并經(jīng)由所述第二通信會(huì)話將所述訪問憑證傳輸至所述服務(wù)器。
2.根據(jù)權(quán)利要求1所述的方法,其中,對(duì)訪問憑證的請(qǐng)求中的信息包括與所述用戶相關(guān)聯(lián)的認(rèn)證憑證,其中,接收的認(rèn)證憑證由所述服務(wù)器在所述第一通信會(huì)話中從所述終端接收,所述方法包括: 使用所述終端的用戶適用的所述認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證,并根據(jù)所述驗(yàn)證識(shí)別所述訪問憑證。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述接收的認(rèn)證憑證包括使用所述終端的用戶適用的認(rèn)證憑證來生成的消息認(rèn)證碼,并且其中,所述對(duì)訪問憑證的請(qǐng)求中的信息包括用戶標(biāo)識(shí)符,所述方法包括: 使用所述終端的用戶適用的所述認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證中的消息認(rèn)證碼,并且 響應(yīng)于所述消息認(rèn)證碼的驗(yàn)證,識(shí)別與所述用戶標(biāo)識(shí)符相關(guān)聯(lián)的訪問憑證。
4.根據(jù)前述的任一權(quán)利要求所述的方法,其中,所述對(duì)訪問憑證的請(qǐng)求中的信息包括識(shí)別所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接中的一個(gè)的數(shù)據(jù)連接標(biāo)識(shí)符,所述方法包括: 存儲(chǔ)所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接之間的關(guān)聯(lián),以及 響應(yīng)于接收所述對(duì)訪問憑證的請(qǐng)求中的數(shù)據(jù)連接標(biāo)識(shí)符,檢索所存儲(chǔ)的關(guān)聯(lián)以便確定用于建立所述第一數(shù)據(jù)連接的認(rèn)證憑證,并基于所述認(rèn)證憑證識(shí)別所述訪問憑證。
5.根據(jù)權(quán)利要求4所述的方法,其中,在所述終端與代理服務(wù)器之間建立所述第一數(shù)據(jù)連接,其中,在所述代理服務(wù)器與所述服務(wù)器之間建立所述第二數(shù)據(jù)連接,并且其中,所述數(shù)據(jù)連接標(biāo)識(shí)符識(shí)別用于建立所述第二數(shù)據(jù)連接的所述代理服務(wù)器的通信端口。
6.根據(jù)前述的任一權(quán)利要求所述的方法,其中,所述終端的用戶適用的所述認(rèn)證憑證包括所述用戶適用的并在作為認(rèn)證提供處理的一部分的建立第一數(shù)據(jù)連接之前傳輸?shù)囊粋€(gè)或多個(gè)密鑰,所述認(rèn)證提供處理包括: 生成將要與所述終端共享的一個(gè)或多個(gè)密鑰; 使所述一個(gè)或多個(gè)密鑰與關(guān)聯(lián)于所述用戶的訪問憑證相關(guān)聯(lián),以及 存儲(chǔ)所述一個(gè)或多個(gè)密鑰,并將所述一個(gè)或多個(gè)密鑰傳輸至所述終端,由此與所述終端共享認(rèn)證憑證。
7.根據(jù)前述的任一權(quán)利要求所述的方法,所述方法包括:接收建立所述第一數(shù)據(jù)連接的請(qǐng)求,所述請(qǐng)求包括基于所述終端的用戶適用的認(rèn)證憑證的驗(yàn)證信息,以及 響應(yīng)于接收建立所述第一數(shù)據(jù)連接的請(qǐng)求,使用所述終端的用戶適用的所述認(rèn)證憑證驗(yàn)證所述驗(yàn)證信息,并基于所述驗(yàn)證來與所述終端建立第一數(shù)據(jù)連接。
8.根據(jù)前述的任一權(quán)利要求所述的方法,進(jìn)一步包括:建立多個(gè)所述第一通信會(huì)話和所述第二通信會(huì)話,多個(gè)所述第一通信會(huì)話和所述第二通信會(huì)話均與所述終端和由所述服務(wù)器承載的相應(yīng)服務(wù)相關(guān)聯(lián)并且每個(gè)服務(wù)需要訪問憑證來使所述終端能夠訪問給定的所述服務(wù),所述方法包括基于由給定服務(wù)器經(jīng)由給定的所述第一通信會(huì)話從所述終端接收的相應(yīng)信息來識(shí)別相應(yīng)訪問憑證。
9.根據(jù)前述的任一權(quán)利要求所述的方法,其中,在由防火墻隔開的所述終端與代理服務(wù)器之間建立所述第一數(shù)據(jù)連接,其中,在所述代理服務(wù)器與所述服務(wù)器之間建立所述第二數(shù)據(jù)連接,并且其中,所述第一數(shù)據(jù)連接經(jīng)由使得能夠經(jīng)由所述防火墻建立第一連接的一個(gè)或多個(gè)中繼服務(wù)器來建立。
10.根據(jù)前述的任一權(quán)利要求所述的方法,其中,將要用于建立所述第一數(shù)據(jù)連接的加密認(rèn)證憑證存儲(chǔ)在所述終端,其中,所述加密認(rèn)證憑證使用用戶密碼來加密,并且其中,作為由服務(wù)器執(zhí)行的密碼更改處理的一部分,所述用戶密碼在與所述終端的用戶相關(guān)聯(lián)的多個(gè)所述終端處更改,所述密碼更改處理包括: 接收在所述終端處輸入的新密碼的哈希值; 識(shí)別與所述終端的用戶相關(guān)聯(lián)的多個(gè)其他終端; 將所述新密碼的哈希值傳輸至所述多個(gè)其他終端,并且 其中,每個(gè)所述多個(gè)其他終 端使用所述新密碼的哈希值來加密將要用于建立相應(yīng)第一數(shù)據(jù)連接的認(rèn)證憑證。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述密碼更改處理進(jìn)一步包括從橋接所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接的實(shí)體請(qǐng)求識(shí)別所述多個(gè)其他終端中的至少一些的數(shù)據(jù)。
12.—種系統(tǒng),包括: 至少一個(gè)處理器;以及 至少一個(gè)存儲(chǔ)器,包括計(jì)算機(jī)程序代碼,其中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被設(shè)置為通過所述至少一個(gè)處理器使所述系統(tǒng)至少進(jìn)行以下操作: 基于終端的用戶適用的認(rèn)證憑證與關(guān)聯(lián)于所述用戶的所述終端建立第一數(shù)據(jù)連接;響應(yīng)于建立所述第一數(shù)據(jù)連接,與所述服務(wù)器建立第二數(shù)據(jù)連接,并橋接所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接以便在所述終端與所述服務(wù)器之間建立第一通信會(huì)話,所述第一通信會(huì)話使用第一通信協(xié)議; 與所述服務(wù)器建立第二通信會(huì)話,所述第二通信會(huì)話使用第二通信協(xié)議,并經(jīng)由所述第二通信會(huì)話從所述服務(wù)器接收對(duì)與所述用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求,所述請(qǐng)求包括由所述服務(wù)器在所述第一通信會(huì)話中接收的信息;以及 基于所述信息識(shí)別所述訪問憑證,并經(jīng)由所述第二通信會(huì)話將所述訪問憑證傳輸至所述服務(wù)器。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,對(duì)訪問憑證的請(qǐng)求中的信息包括與所述用戶相關(guān)聯(lián)的認(rèn)證憑證,并且其中,接收的認(rèn)證憑證由所述服務(wù)器在所述第一通信會(huì)話中從所述終端接收,并且其中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被設(shè)置為通過所述至少一個(gè)處理器使所述系統(tǒng)進(jìn)一步進(jìn)行以下操作: 使用所述終端的用戶適用的所述認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證,并根據(jù)所述驗(yàn)證識(shí)別所述訪問憑證。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中,所述接收的認(rèn)證憑證包括使用終端的用戶適用的認(rèn)證憑證來生成的消息認(rèn)證碼,并且其中,所述對(duì)訪問憑證的請(qǐng)求中的信息包括用戶標(biāo)識(shí)符,并且其中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被設(shè)置為通過所述至少一個(gè)處理器使所述系統(tǒng)進(jìn)一步進(jìn)行以下操作: 使用所述終端的用戶適用的所述認(rèn)證憑證來驗(yàn)證所述接收的認(rèn)證憑證中的消息認(rèn)證碼,并且 響應(yīng)于所述消息認(rèn)證碼的驗(yàn)證,識(shí)別與所述用戶標(biāo)識(shí)符相關(guān)聯(lián)的訪問憑證。
15.根據(jù)權(quán)利要求12至14中的任一項(xiàng)所述的系統(tǒng),其中,所述系統(tǒng)被設(shè)置為訪問存儲(chǔ)裝置,并且其中,所述對(duì)訪問憑證的請(qǐng)求中的信息包括識(shí)別所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接中的一個(gè)的數(shù)據(jù)連接標(biāo)識(shí)符,并且其中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被設(shè)置為通過所述至少一個(gè)處理器使所述系統(tǒng)進(jìn)一步進(jìn)行以下操作: 在所述存儲(chǔ)裝置中存儲(chǔ)所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接之間的關(guān)聯(lián),以及 響應(yīng)于接收所述對(duì)訪問憑證的請(qǐng)求中的所述數(shù)據(jù)連接標(biāo)識(shí)符,從所述存儲(chǔ)裝置檢索所存儲(chǔ)的關(guān)聯(lián)以便確定用于建立所述第一數(shù)據(jù)連接的認(rèn)證憑證,并基于所述認(rèn)證憑證識(shí)別所述訪問憑證。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),`其中,在所述終端與代理服務(wù)器之間建立所述第一數(shù)據(jù)連接,其中,在所述代理服務(wù)器與所述服務(wù)器之間建立所述第二數(shù)據(jù)連接,并且其中,所述數(shù)據(jù)連接標(biāo)識(shí)符識(shí)別用于建立所述第二數(shù)據(jù)連接的所述代理服務(wù)器的通信端口。
17.一種用于向承載服務(wù)的服務(wù)器提供與所述服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的代理服務(wù)器,所述代理服務(wù)器包括處理系統(tǒng)和通信接口,其中,所述處理系統(tǒng)被設(shè)置為: 基于終端的所述用戶適用的認(rèn)證憑證經(jīng)由所述通信接口與關(guān)聯(lián)于所述用戶的所述終端建立第一數(shù)據(jù)連接; 響應(yīng)于建立所述第一數(shù)據(jù)連接,經(jīng)由所述通信接口與所述服務(wù)器建立第二數(shù)據(jù)連接,并橋接所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接以便在所述終端與所述服務(wù)器之間建立第一通信會(huì)話,所述第一通信會(huì)話使用第一通信協(xié)議; 經(jīng)由所述通信接口與服務(wù)器建立第二通信會(huì)話,所述第二通信會(huì)話使用第二通信協(xié)議,并經(jīng)由所述第二通信會(huì)話從所述服務(wù)器接收對(duì)與所述用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求,所述請(qǐng)求包括由所述服務(wù)器在所述第一通信會(huì)話中接收的信息;以及 基于所述信息識(shí)別所述訪問憑證,并經(jīng)由所述第二通信會(huì)話將所述訪問憑證傳輸至所述服務(wù)器。
18.一種計(jì)算機(jī)程序產(chǎn)品,包括其上存儲(chǔ)有計(jì)算機(jī)可讀指令的非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀指令能夠由計(jì)算機(jī)化設(shè)備執(zhí)行以使計(jì)算機(jī)化設(shè)備進(jìn)行向承載服務(wù)的服務(wù)器提供與所述服務(wù)的用戶相關(guān)聯(lián)的訪問憑證的方法,所述方法包括: 基于終端的所述用戶適用的認(rèn)證憑證與關(guān)聯(lián)于所述用戶的所述終端建立第一數(shù)據(jù)連接;響應(yīng)于建立所述第一數(shù)據(jù)連接,與所述服務(wù)器建立第二數(shù)據(jù)連接,并橋接所述第一數(shù)據(jù)連接和所述第二數(shù)據(jù)連接以便在所述終端與所述服務(wù)器之間建立第一通信會(huì)話,所述第一通信會(huì)話使用第一通信協(xié)議; 與所述服務(wù)器建立第二通信會(huì)話,所述第二通信會(huì)話使用第二通信協(xié)議,并經(jīng)由所述第二通信會(huì)話從所述服務(wù)器接收對(duì)與所述用戶相關(guān)聯(lián)的訪問憑證的請(qǐng)求,所述請(qǐng)求包括由所述服務(wù)器在所述第一通信會(huì)話中接收的信息;以及 基于所述信息識(shí)別所述訪問憑證,并經(jīng)由所述第二通信會(huì)話將所述訪問憑證傳輸至所述服務(wù)器。
【文檔編號(hào)】H04L29/06GK103503408SQ201280021581
【公開日】2014年1月8日 申請(qǐng)日期:2012年5月2日 優(yōu)先權(quán)日:2011年5月5日
【發(fā)明者】哈尼夫·索馬尼, 肖恩·邁克爾·昆蘭 申請(qǐng)人:良好科技公司