專利名稱:用于無(wú)需提供密鑰認(rèn)證請(qǐng)求者的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及在通信環(huán)境中管理資源,并且更具體地,涉及一種用于無(wú)需提供密鑰認(rèn)證請(qǐng)求者的方法和系統(tǒng)。
背景技術(shù):
通信環(huán)境包括多個(gè)客戶端節(jié)點(diǎn),其經(jīng)由通信介質(zhì)耦合到一個(gè)或多個(gè)節(jié)點(diǎn)。這樣的通信介質(zhì)的一個(gè)例子是InfiniBandTM傳送,其在可從位于5540SW Westgate Drive,Suite 217,Portland,Oregon,97221的InfiniBandTrade Association獲得或在www.Infinibandta.org聯(lián)機(jī)獲得的“InfiniBandArchitecture Specification Volume 1”Release 1.2(2004年10月)中進(jìn)行了更詳細(xì)的描述,在此通過(guò)引用的方式引入其全部?jī)?nèi)容。InfiniBand是InfiniBand Trade Association的商標(biāo)。
InfiniBand傳送使得一組互連的客戶端和服務(wù)器節(jié)點(diǎn)(稱為子網(wǎng))能夠彼此通信。其還提供了一種分割機(jī)制,其允許子網(wǎng)在邏輯上細(xì)分為多組節(jié)點(diǎn),稱為分區(qū)。分區(qū)包括一個(gè)或多個(gè)客戶端節(jié)點(diǎn)以及一個(gè)或多個(gè)服務(wù)器節(jié)點(diǎn)。節(jié)點(diǎn)(諸如服務(wù)器節(jié)點(diǎn))可被包括在多于一個(gè)分區(qū)中。分區(qū)的成員彼此通信,但是不知道任何其它分區(qū)。
在InfiniBandTM(IB)構(gòu)造中,可被各個(gè)客戶端節(jié)點(diǎn)共享的資源提供者節(jié)點(diǎn)由網(wǎng)絡(luò)管理員進(jìn)行分割,使得允許每個(gè)客戶端節(jié)點(diǎn)使用該共享節(jié)點(diǎn)處的所有資源。因此,當(dāng)節(jié)點(diǎn)(例如服務(wù)器節(jié)點(diǎn))被包括在多個(gè)分區(qū)中時(shí),該節(jié)點(diǎn)的所有資源可被包括該節(jié)點(diǎn)的所有分區(qū)訪問(wèn)。當(dāng)資源提供者節(jié)點(diǎn)接收來(lái)自客戶端節(jié)點(diǎn)的請(qǐng)求時(shí),其提供對(duì)允許該客戶端節(jié)點(diǎn)使用的所有資源的訪問(wèn),而不論請(qǐng)求來(lái)自客戶端節(jié)點(diǎn)內(nèi)的哪個(gè)應(yīng)用。然而,當(dāng)需要把每個(gè)應(yīng)用可以使用的資源限制為客戶端的所有資源的子集時(shí),這種可訪問(wèn)性是不理想的(例如從安全性立場(chǎng)看)。因此,需要一種能力,其限制給定的客戶端節(jié)點(diǎn)上的每個(gè)應(yīng)用被允許使用的資源。
在這種能力的最初版本中,64位或任意長(zhǎng)度的二進(jìn)制密鑰在提供者節(jié)點(diǎn)(例如,存儲(chǔ)設(shè)備)處輸入,然后再次在客戶端節(jié)點(diǎn)(例如,主機(jī)操作系統(tǒng))處輸入。然而,這種認(rèn)證方法可以是耗時(shí)的且易出錯(cuò)的。因此,將期望使得客戶能夠在資源提供者節(jié)點(diǎn)處實(shí)現(xiàn)定義,并且允許客戶端(在InfiniBand體系結(jié)構(gòu)中由唯一的硬件值所標(biāo)識(shí))獲取二進(jìn)制密鑰,因此從密鑰提供者節(jié)點(diǎn)得到授權(quán)而不需要在來(lái)自客戶端的請(qǐng)求中提供密鑰(或口令)給密鑰提供者節(jié)點(diǎn)自身。這繼而將消除在客戶端處再輸入密鑰的需要,也避免了與不正確地輸入該密鑰相關(guān)聯(lián)的任何錯(cuò)誤。
發(fā)明內(nèi)容
通過(guò)一種用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的方法克服或減輕了現(xiàn)有技術(shù)的上述缺陷和不足。在示例性實(shí)施例中,該方法包括確定與請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí);以及確定與客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力。在確定客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)指示了許可客戶端節(jié)點(diǎn)訪問(wèn)資源提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),從提供者節(jié)點(diǎn)返回密鑰給請(qǐng)求實(shí)體。
在另一實(shí)施例中,一種用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的系統(tǒng)包括用于確定與請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)的裝置;以及用于確定與客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力的裝置。資源提供者節(jié)點(diǎn)配置為在確定客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)指示了許可客戶端節(jié)點(diǎn)訪問(wèn)提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),返回密鑰給請(qǐng)求實(shí)體。
在又一實(shí)施例中,一種存儲(chǔ)介質(zhì)包括用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的機(jī)器可讀的計(jì)算機(jī)程序代碼,以及用于使得計(jì)算機(jī)實(shí)現(xiàn)一種方法的指令。該方法包括確定與請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí);以及確定與客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力。在確定客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)指示了許可客戶端節(jié)點(diǎn)訪問(wèn)資源提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),從提供者節(jié)點(diǎn)返回給請(qǐng)求實(shí)體的密鑰。
僅通過(guò)參考以下附圖經(jīng)由示例來(lái)描述本發(fā)明圖1是適合根據(jù)本發(fā)明實(shí)施例使用的示例性通信環(huán)境(例如,子網(wǎng))的示意框圖;圖2是說(shuō)明針對(duì)圖1的通信環(huán)境確定請(qǐng)求實(shí)體正以超級(jí)用戶(或管理程序)模式運(yùn)行或具有超級(jí)用戶或管理程序特權(quán)的示例性實(shí)現(xiàn)的示意圖;圖3是說(shuō)明資源提供者節(jié)點(diǎn)的配置的示意性框圖,其中資源提供者節(jié)點(diǎn)具有包含每個(gè)客戶端節(jié)點(diǎn)的GUID的表和包含授權(quán)使用的相應(yīng)資源的表;圖4是其中可以實(shí)現(xiàn)超級(jí)用戶分割機(jī)制的示例性計(jì)算系統(tǒng)。
具體實(shí)施例方式
此處公開(kāi)的是一種用于在下述環(huán)境中認(rèn)證請(qǐng)求者的方法和系統(tǒng),在該環(huán)境中允許客戶端請(qǐng)求一組密鑰,該密鑰將提供對(duì)諸如InfiniBand之類的通信介質(zhì)內(nèi)的資源的訪問(wèn)。為了正確地認(rèn)證請(qǐng)求者并且返回所請(qǐng)求的密鑰信息,預(yù)先要滿足某些條件。首先,請(qǐng)求是與預(yù)定的客戶端標(biāo)識(shí)(ID)相關(guān)聯(lián)的,從而驗(yàn)證該請(qǐng)求者沒(méi)有哄騙其物理節(jié)點(diǎn)標(biāo)識(shí)符。例如,在InfiniBand中,客戶端ID是全球唯一標(biāo)識(shí)符(GUID),其通常與唯一的硬件塊相關(guān)聯(lián)。接著,進(jìn)一步確定該請(qǐng)求是否來(lái)自在該節(jié)點(diǎn)上執(zhí)行的超級(jí)用戶狀態(tài)代碼。如果請(qǐng)求者的節(jié)點(diǎn)的客戶端ID和超級(jí)用戶狀態(tài)條件二者都滿足,則將一個(gè)密鑰或一組密鑰返回給該節(jié)點(diǎn),該密鑰可以用在隨后的呼叫上,使得對(duì)于那些將來(lái)的呼叫不需要該驗(yàn)證序列。
簡(jiǎn)言之,此處提出的實(shí)施例描述了用于確定從其發(fā)送請(qǐng)求并且可以將密鑰返回給其的物理節(jié)點(diǎn)的方法論。在示例性實(shí)施例中,該方法論可以應(yīng)用到資源提供者節(jié)點(diǎn),該資源提供者節(jié)點(diǎn)具有向?qū)Y源提供者節(jié)點(diǎn)作出請(qǐng)求的每個(gè)客戶端節(jié)點(diǎn)提供不同組服務(wù)、資源或私有數(shù)據(jù)的能力。其也可以用在其中必須確定遠(yuǎn)程節(jié)點(diǎn)的標(biāo)識(shí)的任何情況中,該遠(yuǎn)程節(jié)點(diǎn)發(fā)送包含不可能進(jìn)行哄騙的遠(yuǎn)程節(jié)點(diǎn)的資源本地ID(SLID)的分組。
此外,提供了簡(jiǎn)單得多的認(rèn)證機(jī)制來(lái)認(rèn)證作為請(qǐng)求私有信息的發(fā)送者的超級(jí)用戶。在這種做法中,消除了證書交換機(jī)制的復(fù)雜度和計(jì)算開(kāi)銷。在InfiniBand網(wǎng)絡(luò)中實(shí)現(xiàn)時(shí),本方法論不需要手工詢問(wèn)網(wǎng)絡(luò)管理員以確定客戶端節(jié)點(diǎn)訪問(wèn)資源提供者節(jié)點(diǎn)內(nèi)的資源時(shí)所需要的那組密鑰。在配置期間將這些密鑰提供給請(qǐng)求節(jié)點(diǎn)和資源提供者二者,并且密鑰被包括在給資源提供者的請(qǐng)求分組中。資源提供者使用在客戶端的請(qǐng)求中提供的密鑰來(lái)唯一地標(biāo)識(shí)客戶端節(jié)點(diǎn),并且因此標(biāo)識(shí)允許請(qǐng)求客戶端使用的資源。示例性的密鑰大小是128位,但是其可以根據(jù)需要變長(zhǎng)或變短,以便確保其是不可能推測(cè)出的。因此,此處描述的本發(fā)明實(shí)施例提供了一種安全地將私有數(shù)據(jù)傳給請(qǐng)求者的方法,而不需要給交換的兩端配置任意長(zhǎng)的二進(jìn)制密鑰或者其它類型的口令,所述配置可能是耗時(shí)的且易出錯(cuò)的。
確定請(qǐng)求者的客戶端ID首先參考圖1,示出了適合根據(jù)本發(fā)明實(shí)施例使用的示例性通信環(huán)境100(例如,子網(wǎng))的示意框圖。盡管此處討論的方法論可以用在需要從其接收分組(請(qǐng)求)的客戶端節(jié)點(diǎn)的標(biāo)識(shí)的任何情況中,但是其特別適合于當(dāng)對(duì)信息的請(qǐng)求是由資源提供者接收的情況,該資源提供者的資源已經(jīng)根據(jù)同時(shí)提交的代理卷號(hào)POU9-2004-0157US1中公開(kāi)的方式進(jìn)行了分割。
在這樣的框架中,請(qǐng)求包含了包括請(qǐng)求者的SLID和描述請(qǐng)求的凈荷的頭部。盡管SLID由可信的硬件生成,但是其僅是臨時(shí)標(biāo)識(shí)符。為了確定請(qǐng)求所來(lái)自的實(shí)際節(jié)點(diǎn),資源提供者首先確定與請(qǐng)求者的物理節(jié)點(diǎn)相關(guān)聯(lián)的永久標(biāo)識(shí)符,其稱為請(qǐng)求者的全球唯一標(biāo)識(shí)符(GUID)。在接收到請(qǐng)求時(shí)并且在對(duì)該請(qǐng)求進(jìn)行響應(yīng)前,IB服務(wù)或資源提供者通過(guò)發(fā)送新的請(qǐng)求給子網(wǎng)管理員(SA)來(lái)確定請(qǐng)求節(jié)點(diǎn)的GUID。因?yàn)镾A知道對(duì)物理節(jié)點(diǎn)的SLID的所有分配,所以其用對(duì)應(yīng)于任何給定SLID的那組GUID進(jìn)行響應(yīng)。
包含客戶端節(jié)點(diǎn)的SLID的請(qǐng)求來(lái)請(qǐng)求SA返回對(duì)應(yīng)于在該請(qǐng)求中發(fā)送的SLID的GUID。響應(yīng)于該請(qǐng)求,SA返回該SLID當(dāng)前分配給的節(jié)點(diǎn)的GUID(或多個(gè)GUID)。在接收到來(lái)自SA的響應(yīng)并因此確定請(qǐng)求者的GUID之后,資源提供者可以確定是否允許該請(qǐng)求客戶端訪問(wèn)資源。如果資源被允許由從SA返回的GUID所標(biāo)識(shí)的節(jié)點(diǎn)使用,則服務(wù)器節(jié)點(diǎn)將允許由該請(qǐng)求節(jié)點(diǎn)使用資源。
如在圖1中所示,該示例性配置包括子網(wǎng)管理員(SA)102、物理管理員104、各個(gè)客戶端節(jié)點(diǎn)106(標(biāo)記為客戶端物理節(jié)點(diǎn)A-E)以及共享的資源提供者節(jié)點(diǎn)108。所有的節(jié)點(diǎn)通過(guò)IB子網(wǎng)110互連。在一個(gè)可能的實(shí)現(xiàn)中,網(wǎng)絡(luò)管理員104給資源提供者108配置包含每個(gè)客戶端節(jié)點(diǎn)的節(jié)點(diǎn)GUID以及允許由節(jié)點(diǎn)訪問(wèn)或使用的相應(yīng)資源114的表112。在所描述的例子中,通過(guò)將每個(gè)資源關(guān)聯(lián)到GUID,節(jié)點(diǎn)A和C被許可訪問(wèn)單個(gè)資源(在資源組114之中),節(jié)點(diǎn)B和D被許可訪問(wèn)資源中的兩個(gè),而節(jié)點(diǎn)E被許可訪問(wèn)三個(gè)資源。與該GUID相關(guān)聯(lián)的資源可以是超級(jí)用戶或資源密鑰(在代理卷號(hào)POU9-2004-0157US1中進(jìn)行了進(jìn)一步描述)。
在初始配置該通信環(huán)境100之后,客戶端節(jié)點(diǎn)(例如,客戶端物理節(jié)點(diǎn)A)發(fā)送請(qǐng)求116,在該請(qǐng)求中請(qǐng)求分組頭部包含請(qǐng)求者的SLID。在接收到請(qǐng)求116時(shí)并在進(jìn)行響應(yīng)之前,資源提供者108通過(guò)把包含請(qǐng)求者的SLID的詢問(wèn)118發(fā)送給SA 102來(lái)確定請(qǐng)求者的GUID。接著,SA 102發(fā)送具有與該請(qǐng)求者的SLID相關(guān)聯(lián)的GUID的響應(yīng)120。
作為替代,資源提供者108還可以構(gòu)建并維護(hù)客戶端SLID和其相應(yīng)的資源提供者先前已經(jīng)確定的GUID的表121。換言之,無(wú)論何時(shí)資源提供者108詢問(wèn)SA 102以確定對(duì)應(yīng)于來(lái)自請(qǐng)求分組的SLID的GUID,則將該信息添加到SLID到GUID映射的表中。在接收到具有已知SLID的隨后請(qǐng)求時(shí),資源提供者108根據(jù)其本地表121確定相應(yīng)的GUID,因此不需要詢問(wèn)SA。然而,應(yīng)該理解,在該情況下,資源提供者108將需要認(rèn)出其客戶端中任意一個(gè)的SLID的任何變化的能力。因?yàn)椴⒉豢偸强梢源_保該能力,所以優(yōu)選地,除非可以確保該改變能力,否則就不實(shí)現(xiàn)利用資源提供者108來(lái)維護(hù)SLID到GUID的信息。
在進(jìn)一步確定請(qǐng)求116是由客戶端節(jié)點(diǎn)106的超級(jí)用戶發(fā)送的(在下文討論)之后,資源提供者108可以接著確定授權(quán)該請(qǐng)求者使用的資源/私有數(shù)據(jù),并且經(jīng)由響應(yīng)122返回這樣的資源/私有數(shù)據(jù)。
保證請(qǐng)求者是超級(jí)用戶除了確定請(qǐng)求實(shí)體的物理客戶端ID之外,還有一個(gè)特定任務(wù),即確定在某個(gè)客戶端節(jié)點(diǎn)處的請(qǐng)求者是否實(shí)際上是相對(duì)于例如運(yùn)行在該客戶端節(jié)點(diǎn)上的應(yīng)用的超級(jí)用戶。在所提出的InfiniBand通信網(wǎng)絡(luò)例子中,存在多種機(jī)制,通過(guò)這些機(jī)制端節(jié)點(diǎn)在IB構(gòu)造中彼此通信。根據(jù)IB體系結(jié)構(gòu),節(jié)點(diǎn)在通信建立期間交換Q_Key(Q密鑰)。接收到具有與節(jié)點(diǎn)提供給遠(yuǎn)程隊(duì)列對(duì)的Q_Key不同的Q_Key的分組意味著該分組不是有效的,并且因此被拒絕。
在IB體系結(jié)構(gòu)中存在兩種常見(jiàn)類型的Q_Key特權(quán)Q_Key和非特權(quán)Q_Key。具有最高比特位組的Q_Key是特權(quán)Q_Key,它的使用由操作系統(tǒng)所控制。特權(quán)Q_Key和非特權(quán)Q_Key的主要區(qū)別在于非特權(quán)Q_Key可以通過(guò)若干措施由用戶模式程序附加到消息。然而,InfiniBand體系結(jié)構(gòu)要求僅運(yùn)行在特權(quán)狀態(tài)中的代碼(即,超級(jí)用戶)可以使得特權(quán)Q_Key附加到消息。這是通過(guò)當(dāng)且僅當(dāng)所關(guān)聯(lián)的Q_Key是特權(quán)Q_Key時(shí),使得關(guān)聯(lián)Q_Key與隊(duì)列對(duì)的操作成為特權(quán)操作來(lái)強(qiáng)制執(zhí)行。一旦該關(guān)聯(lián)完成,則發(fā)送自隊(duì)列對(duì)的任何消息將附加該Q_Key(除非針對(duì)特定的具有非特權(quán)Q_Key消息進(jìn)行了覆蓋(override))。不存在其它的方式來(lái)將特權(quán)Q_Key附加到消息;因此,如果消息包含特權(quán)Q_Key,則確保是以下情況中的任一種(a)超級(jí)用戶發(fā)送該消息,或者(b)超級(jí)用戶通過(guò)設(shè)置隊(duì)列對(duì)的Q_Key為特權(quán)Q_Key而允許該消息被發(fā)送,并且接著允許用戶模式代碼來(lái)使用該隊(duì)列對(duì)。
另外,存在被稱為已知特權(quán)Q_Key(WKPQ_Key)的單個(gè)已知Q_Key。IB管理器、代理和服務(wù)當(dāng)前通過(guò)發(fā)送包含WKPQ_Key值的連接請(qǐng)求來(lái)建立連接,WKPQ_Key記載在IB規(guī)范中。然而WKPQ_Key的使用不限于超級(jí)用戶,因?yàn)檫\(yùn)行在超級(jí)用戶或應(yīng)用狀態(tài)任一中的IB管理器、代理和服務(wù)也可以被允許使用它。這些是一個(gè)例子,即如上文所討論的,超級(jí)用戶將隊(duì)列對(duì)的Q_Key設(shè)置到特權(quán)值,并且接著允許用戶模式代碼來(lái)使用該隊(duì)列對(duì)。因此,包含當(dāng)前WKPQ_Key的連接請(qǐng)求不足以認(rèn)證出該連接請(qǐng)求來(lái)自超級(jí)用戶。
因此,為了解決該標(biāo)識(shí)問(wèn)題,定義了新的特權(quán)Q_Key,并且此處稱為僅超級(jí)用戶用的特權(quán)Q_Key(SOPQ_Key)。僅由超級(jí)用戶或其可信的代理許可該SOPQ_Key值在連接請(qǐng)求中的使用,并且因此使用SOPQ_Key的連接的建立肯定地指示了該連接是由發(fā)送請(qǐng)求的節(jié)點(diǎn)的超級(jí)用戶完成的。相應(yīng)地,這使得連接請(qǐng)求的接收者能夠通過(guò)驗(yàn)證該連接請(qǐng)求包含SOPQ_Key值而確定該請(qǐng)求來(lái)自超級(jí)用戶。如果請(qǐng)求不包含SOPQ_Key值,則連接請(qǐng)求接受者將拒絕該連接,并且因此拒絕通過(guò)任何私有信息。
因?yàn)檎?qǐng)求節(jié)點(diǎn)上的超級(jí)用戶限制了把使用SOPQ_Key的隊(duì)列對(duì)用于超級(jí)用戶自身及其可信代理,所以與超級(jí)用戶駐留在同一節(jié)點(diǎn)上的客戶端應(yīng)用不能發(fā)送包含SOPQ_Key的連接請(qǐng)求。超級(jí)用戶可以因此限制這種使用,因?yàn)镾OPQ_Key是特權(quán)Q_Key,并且因此,如上面所解釋的,僅超級(jí)用戶可以將SOPQ_Key與隊(duì)列對(duì)相關(guān)聯(lián)。該過(guò)程使得接收包含SOPQ_Key的連接請(qǐng)求的節(jié)點(diǎn)能夠確信該請(qǐng)求事實(shí)上來(lái)自超級(jí)用戶,并且針對(duì)特權(quán)資源的請(qǐng)求可在該連接上被接受。
實(shí)現(xiàn)上述節(jié)點(diǎn)客戶端ID和超級(jí)用戶驗(yàn)證協(xié)議的一種實(shí)際使用在于,分發(fā)諸如超級(jí)用戶和資源密鑰之類的私有信息。超級(jí)用戶或資源密鑰是任意長(zhǎng)度的數(shù)字序列,其足夠長(zhǎng)而不會(huì)被猜測(cè)出。在IB構(gòu)造上的可被多個(gè)節(jié)點(diǎn)共享的每個(gè)資源可以與一個(gè)或多個(gè)資源密鑰的集合相關(guān)聯(lián),其中每個(gè)資源密鑰對(duì)應(yīng)于給定節(jié)點(diǎn)被許可訪問(wèn)或消耗的資源。為了使用該共享資源,每個(gè)節(jié)點(diǎn)的超級(jí)用戶必須獲得資源密鑰以便獲取對(duì)提供者節(jié)點(diǎn)中它的那部分資源的訪問(wèn)。為了分發(fā)資源密鑰,提供密鑰服務(wù)以便在請(qǐng)求時(shí)將資源密鑰分發(fā)到恰當(dāng)?shù)某?jí)用戶。因此,為了驗(yàn)證對(duì)密鑰服務(wù)的請(qǐng)求來(lái)自超級(jí)用戶,僅當(dāng)請(qǐng)求包含SOPQ_Key時(shí),密鑰服務(wù)才接受該請(qǐng)求。該過(guò)程防止了除超級(jí)用戶或其可信代理之外的所有應(yīng)用從該密鑰服務(wù)獲得資源密鑰。密鑰服務(wù)可以在或者可以不在與資源提供者相同的節(jié)點(diǎn)上。
圖2說(shuō)明了針對(duì)圖1的通信環(huán)境100的SOPQ_Key的實(shí)現(xiàn)。具體地,圖2描述了來(lái)自客戶端節(jié)點(diǎn)A的四個(gè)連接請(qǐng)求一個(gè)來(lái)自超級(jí)用戶,因此包含SOPQ_Key;一個(gè)來(lái)自特權(quán)客戶端,其包含WKPQ_Key;以及兩個(gè)來(lái)自非特權(quán)客戶端,包含非特權(quán)Q_Key。當(dāng)接收到這些請(qǐng)求時(shí),資源提供者節(jié)點(diǎn)108檢查每個(gè)請(qǐng)求中包含的Q_Key,如框202所示。如果請(qǐng)求不包含SOPQ_Key,則由資源提供者節(jié)點(diǎn)108拒絕該請(qǐng)求,如框204所示。然而,如果請(qǐng)求的確包含SOPQ_Key,則其被接受并且資源提供者節(jié)點(diǎn)108允許發(fā)生連接,在該連接中將私有數(shù)據(jù)(例如密鑰)返回給客戶端節(jié)點(diǎn)106,如框206所示。
通過(guò)如此配置,資源提供者節(jié)點(diǎn)106僅在請(qǐng)求來(lái)自客戶端節(jié)點(diǎn)的超級(jí)用戶時(shí)才許可連接,因此保證了不會(huì)將私有數(shù)據(jù)分發(fā)給不是超級(jí)用戶的任何進(jìn)程。將要注意,已經(jīng)由超級(jí)用戶授權(quán)使用SOPQ_Key的任何進(jìn)程被認(rèn)為是超級(jí)用戶的一部分。因此,通過(guò)定義SOPQ_Key并僅允許其由超級(jí)用戶使用,消除了對(duì)耗時(shí)的超級(jí)用戶認(rèn)證過(guò)程(例如,交換證書數(shù)據(jù))的需要,因此改善了系統(tǒng)性能,減少了復(fù)雜度和成本。
提供用于隨后呼叫的密鑰現(xiàn)在參考圖3,示出了示例性通信環(huán)境100的另一個(gè)示意框圖,其中網(wǎng)絡(luò)管理員被示出為給資源提供者節(jié)點(diǎn)108配置包含每個(gè)客戶端節(jié)點(diǎn)106的GUID和密鑰映射的表302,以及如圖1所示的包含被授權(quán)使用的相應(yīng)資源114的表112。網(wǎng)絡(luò)管理員104或某個(gè)其它可信實(shí)體將密鑰與每個(gè)客戶端相關(guān)聯(lián),其也示出在表302中。資源提供者節(jié)點(diǎn)108在正常操作期間在接收到來(lái)自各個(gè)客戶端的請(qǐng)求時(shí)使用表302和112,如下文所描述的。
在正常操作期間,每個(gè)客戶端節(jié)點(diǎn)106在給資源提供者節(jié)點(diǎn)108的所有連接請(qǐng)求中包括其相應(yīng)的密鑰。當(dāng)資源提供者節(jié)點(diǎn)108接收到請(qǐng)求時(shí),其通過(guò)檢查表302、112(在配置步驟期間形成的)以標(biāo)識(shí)對(duì)應(yīng)于在請(qǐng)求中接收的密鑰的資源,而確定允許客戶端節(jié)點(diǎn)106使用的資源。例如,如果客戶端節(jié)點(diǎn)B發(fā)送請(qǐng)求304,于是請(qǐng)求304包含客戶端節(jié)點(diǎn)B的密鑰,其在表302中表示為“密鑰B”。
當(dāng)接收到該請(qǐng)求時(shí),資源提供者節(jié)點(diǎn)108使用表302來(lái)確定客戶端節(jié)點(diǎn)B的GUID,并且進(jìn)一步使用表112來(lái)確定與具有GUID B的客戶端節(jié)點(diǎn)相關(guān)聯(lián)的被允許資源。接著,從資源提供者節(jié)點(diǎn)108向客戶端節(jié)點(diǎn)B發(fā)送連接響應(yīng)306。該過(guò)程不需要資源提供者節(jié)點(diǎn)108每次進(jìn)行到資源提供者108的連接時(shí)訪問(wèn)SA 102以確定允許客戶端節(jié)點(diǎn)B使用的資源,如上所解釋的。因?yàn)槊總€(gè)SA訪問(wèn)需要在SA上的查詢操作,并且因此往返延遲由于多個(gè)資源提供者節(jié)點(diǎn)詢問(wèn)SA而倍增,這也降低了對(duì)SA的利用,所以不需要訪問(wèn)SA 102顯著改善了性能,因此允許SA更高效地處理其它事務(wù)。
從客戶端發(fā)起、到資源提供者的這種請(qǐng)求可以僅僅是針對(duì)資源使用的獨(dú)立請(qǐng)求,或者它們也可以是在客戶端節(jié)點(diǎn)和資源提供者節(jié)點(diǎn)之間的連接請(qǐng)求和響應(yīng)。如果在客戶端節(jié)點(diǎn)和資源提供者節(jié)點(diǎn)之間形成連接,則在連接持續(xù)期間允許客戶端使用對(duì)應(yīng)于在連接請(qǐng)求中包含的資源密鑰的所有資源,而不需要在每個(gè)隨后請(qǐng)求中傳送資源密鑰。
本發(fā)明實(shí)施例的又一附加方面涉及更新資源密鑰。如果在資源密鑰已經(jīng)傳送給資源提供者節(jié)點(diǎn)之后需要更新,則可信的管理員104可以發(fā)送GUID列表和其相應(yīng)的密鑰給資源提供者節(jié)點(diǎn)108。然而,不需要重新發(fā)送與每個(gè)GUID相關(guān)聯(lián)的資源列表。參考圖3,這樣的操作將通過(guò)更新資源提供者中的表302來(lái)實(shí)現(xiàn),而不會(huì)影響表112。
應(yīng)該認(rèn)識(shí)到,盡管上述的本發(fā)明的示例性實(shí)施例使用包含請(qǐng)求客戶端節(jié)點(diǎn)的GUID的表302和112,而不需要使用GUID。例如,一個(gè)替代性的實(shí)施例將消除對(duì)GUID的使用,并且簡(jiǎn)單地將密鑰直接與被允許的資源列表或其它參數(shù)相關(guān)聯(lián),因此有效地將表302和112合成到單個(gè)表。這樣的替代方案將可應(yīng)用在這樣的情形下,其中管理員不是基于GUID而是基于諸如全球唯一軟件標(biāo)識(shí)符的另一標(biāo)識(shí)符來(lái)分配資源。
最后,圖4是其中可以實(shí)現(xiàn)上述請(qǐng)求認(rèn)證機(jī)制的示例性計(jì)算機(jī)系統(tǒng)400的實(shí)施例的框圖。圖4中說(shuō)明的計(jì)算機(jī)系統(tǒng)400旨在表示寬泛范圍的計(jì)算機(jī)系統(tǒng),并且因此替代性的計(jì)算機(jī)系統(tǒng)可以包括更多、更少和/或不同的部件。
如圖4所示,計(jì)算機(jī)系統(tǒng)400包括總線402或用于傳送信息的其它通信設(shè)備,以及耦合到總線402用于處理信息的處理器404。盡管計(jì)算機(jī)系統(tǒng)400被說(shuō)明為具有單個(gè)處理器,但是也可以包括多個(gè)處理器和/或協(xié)處理器。
隨機(jī)存取存儲(chǔ)器(RAM)或其它類型的動(dòng)態(tài)存儲(chǔ)設(shè)備406(在圖4中描述為主存儲(chǔ)器)耦合到總線402,以便存儲(chǔ)信息和由處理器404執(zhí)行的指令。在處理器404執(zhí)行指令期間,主存儲(chǔ)器406也可以用于存儲(chǔ)臨時(shí)變量或其它中間信息。還示出了耦合到總線402的只讀存儲(chǔ)器(ROM)和/或其它靜態(tài)數(shù)據(jù)存儲(chǔ)設(shè)備408,用于存儲(chǔ)靜態(tài)信息和由處理器執(zhí)行的其它指令,而數(shù)據(jù)存儲(chǔ)設(shè)備410(例如,磁盤或光盤和相應(yīng)的驅(qū)動(dòng)器)耦合到總線402,用于存儲(chǔ)信息和指令。
計(jì)算機(jī)系統(tǒng)400還可以經(jīng)由總線402耦合到顯示設(shè)備412,諸如陰極射線管(CRT)或液晶顯示器(LCD),用于向計(jì)算機(jī)用戶顯示信息。包括字母數(shù)字鍵和其它鍵的字母數(shù)字輸入設(shè)備414可以耦合到總線402,以允許用戶向處理器404傳送信息和命令選擇??膳c計(jì)算機(jī)系統(tǒng)400相關(guān)聯(lián)的另一種類型的用戶輸入設(shè)備是光標(biāo)控制設(shè)備416,諸如鼠標(biāo)、跟蹤球或光標(biāo)方向鍵,其用于向處理器404傳送方向信息和命令選擇,以及控制顯示設(shè)備412上的光標(biāo)移動(dòng)。另外,可以使用網(wǎng)絡(luò)接口418來(lái)提供對(duì)諸如局域網(wǎng)之類的網(wǎng)絡(luò)的訪問(wèn)。
考慮上文,因此,本方法和系統(tǒng)實(shí)施例可以采用計(jì)算機(jī)或控制器實(shí)現(xiàn)的過(guò)程和用于實(shí)施那些過(guò)程的裝置的形式。該公開(kāi)還可以用實(shí)現(xiàn)在有形媒體中的包含指令的計(jì)算機(jī)程序代碼的形式來(lái)實(shí)現(xiàn),該有形媒體諸如軟盤、CD-ROM、硬盤驅(qū)動(dòng)器或任何其它計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì),其中當(dāng)計(jì)算機(jī)程序代碼被加載進(jìn)計(jì)算機(jī)或控制器并由計(jì)算機(jī)或控制器執(zhí)行時(shí),計(jì)算機(jī)成為用于實(shí)施本發(fā)明的實(shí)施例的裝置。本公開(kāi)還可以用例如無(wú)論是存儲(chǔ)在存儲(chǔ)介質(zhì)中、加載進(jìn)計(jì)算機(jī)或控制器中和/或由計(jì)算機(jī)或控制器執(zhí)行、或者通過(guò)某種傳輸介質(zhì)傳輸(諸如通過(guò)電導(dǎo)線或電纜,通過(guò)光纖,或者經(jīng)由電磁輻射)的計(jì)算機(jī)程序代碼或信號(hào)的形式來(lái)實(shí)現(xiàn),其中當(dāng)計(jì)算機(jī)程序代碼被加載進(jìn)計(jì)算機(jī)并由計(jì)算機(jī)執(zhí)行時(shí),計(jì)算機(jī)成為用于實(shí)施本發(fā)明的裝置。當(dāng)在通用微處理器上實(shí)現(xiàn)時(shí),計(jì)算機(jī)程序代碼段配置該微處理器以創(chuàng)建專用的邏輯電路。
權(quán)利要求
1.一種用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的方法,所述方法包括確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí);確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力;以及在確定所述客戶端節(jié)點(diǎn)的所述客戶端標(biāo)識(shí)指示了許可所述客戶端節(jié)點(diǎn)訪問(wèn)資源提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且所述客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),從所述提供者節(jié)點(diǎn)返回密鑰給所述請(qǐng)求實(shí)體。
2.根據(jù)權(quán)利要求1所述的方法,其中所述確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)包括從所述請(qǐng)求實(shí)體接收源標(biāo)識(shí)符;以及將所述源標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)永久標(biāo)識(shí)符相關(guān)聯(lián)。
3.根據(jù)權(quán)利要求2所述的方法,其中所述源標(biāo)識(shí)符是源邏輯標(biāo)識(shí)符;以及所述一個(gè)或多個(gè)永久標(biāo)識(shí)符是所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符。
4.根據(jù)權(quán)利要求3所述的方法,其中所述將所述源邏輯標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符相關(guān)聯(lián)進(jìn)一步包括將所述源邏輯標(biāo)識(shí)符轉(zhuǎn)發(fā)給子網(wǎng)管理員;以及從所述子網(wǎng)管理員接收對(duì)應(yīng)于所述源邏輯標(biāo)識(shí)符的所述一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)維護(hù)第一表,所述第一表關(guān)聯(lián)多個(gè)已知全球唯一標(biāo)識(shí)符中的每一個(gè)的可訪問(wèn)資源。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)維護(hù)第二表,所述第二表將全球唯一標(biāo)識(shí)符關(guān)聯(lián)到源邏輯標(biāo)識(shí)符。
7.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)維護(hù)第三表,所述第三表包括對(duì)于所述資源提供者節(jié)點(diǎn)為已知的每個(gè)全球唯一標(biāo)識(shí)符的密鑰的關(guān)聯(lián)。
8.根據(jù)權(quán)利要求1所述的方法,其中所述確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力進(jìn)一步包括對(duì)于所述通信環(huán)境中的每個(gè)客戶端節(jié)點(diǎn)定義僅超級(jí)用戶用的特權(quán)密鑰;以及確定從所述請(qǐng)求實(shí)體接收的連接請(qǐng)求是否包括對(duì)應(yīng)于所述請(qǐng)求實(shí)體的所述客戶端節(jié)點(diǎn)的所述僅超級(jí)用戶用的特權(quán)密鑰。
9.一種用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的系統(tǒng),包括用于確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)的裝置;用于確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力的裝置;以及資源提供者節(jié)點(diǎn),其配置為在確定所述客戶端節(jié)點(diǎn)的所述客戶端標(biāo)識(shí)指示了許可所述客戶端節(jié)點(diǎn)訪問(wèn)所述提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且所述客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),返回密鑰給所述請(qǐng)求實(shí)體。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述用于確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端標(biāo)識(shí)的裝置進(jìn)一步包括從所述請(qǐng)求實(shí)體接收源標(biāo)識(shí)符;以及將所述源標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)永久標(biāo)識(shí)符相關(guān)聯(lián)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述源標(biāo)識(shí)符是源邏輯標(biāo)識(shí)符;以及所述一個(gè)或多個(gè)永久標(biāo)識(shí)符是所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述將所述源邏輯標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符相關(guān)聯(lián)進(jìn)一步包括將所述源邏輯標(biāo)識(shí)符轉(zhuǎn)發(fā)給子網(wǎng)管理員;以及從所述子網(wǎng)管理員接收對(duì)應(yīng)于所述源邏輯標(biāo)識(shí)符的所述一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)維護(hù)的第一表,所述第一表關(guān)聯(lián)多個(gè)已知全球唯一標(biāo)識(shí)符中的每一個(gè)的可訪問(wèn)資源。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)維護(hù)的第二表,所述第二表將全球唯一標(biāo)識(shí)符關(guān)聯(lián)到源邏輯標(biāo)識(shí)符。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),進(jìn)一步包括在所述資源提供者節(jié)點(diǎn)內(nèi)的第三表,所述第三表包括對(duì)于所述資源提供者節(jié)點(diǎn)為已知的每個(gè)全球唯一標(biāo)識(shí)符的密鑰的關(guān)聯(lián)。
16.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述用于確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力的裝置進(jìn)一步包括對(duì)于所述通信環(huán)境中的每個(gè)客戶端節(jié)點(diǎn)定義僅超級(jí)用戶用的特權(quán)密鑰;以及確定從所述請(qǐng)求實(shí)體接收的連接請(qǐng)求是否包括對(duì)應(yīng)于所述請(qǐng)求實(shí)體的所述客戶端節(jié)點(diǎn)的所述僅超級(jí)用戶用的特權(quán)密鑰。
17.一種存儲(chǔ)介質(zhì),包括用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的機(jī)器可讀的計(jì)算機(jī)程序代碼;以及用于使得計(jì)算機(jī)實(shí)現(xiàn)一種方法的指令,所述方法進(jìn)一步包括確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí);確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力;以及在確定所述客戶端節(jié)點(diǎn)的所述客戶端標(biāo)識(shí)指示了許可所述客戶端節(jié)點(diǎn)訪問(wèn)提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且所述客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),從所述提供者節(jié)點(diǎn)返回密鑰給所述請(qǐng)求實(shí)體。
18.根據(jù)權(quán)利要求17所述的存儲(chǔ)介質(zhì),其中所述確定與所述請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)包括從所述請(qǐng)求實(shí)體接收源邏輯標(biāo)識(shí)符;以及將所述源邏輯標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符相關(guān)聯(lián)。
19.根據(jù)權(quán)利要求18所述的存儲(chǔ)介質(zhì),其中所述將所述源邏輯標(biāo)識(shí)符與所述客戶端節(jié)點(diǎn)的一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符相關(guān)聯(lián)進(jìn)一步包括將所述源邏輯標(biāo)識(shí)符轉(zhuǎn)發(fā)給子網(wǎng)管理員;以及從所述子網(wǎng)管理員接收對(duì)應(yīng)于所述源邏輯標(biāo)識(shí)符的所述一個(gè)或多個(gè)全球唯一標(biāo)識(shí)符。
20.根據(jù)權(quán)利要求17所述的存儲(chǔ)介質(zhì),其中所述確定與所述客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力進(jìn)一步包括對(duì)于所述通信環(huán)境中的每個(gè)客戶端節(jié)點(diǎn)定義僅超級(jí)用戶用的特權(quán)密鑰;以及確定從所述請(qǐng)求實(shí)體接收的連接請(qǐng)求是否包括對(duì)應(yīng)于所述請(qǐng)求實(shí)體的所述客戶端節(jié)點(diǎn)的所述僅超級(jí)用戶用的特權(quán)密鑰。
全文摘要
一種用于在通信環(huán)境中認(rèn)證請(qǐng)求實(shí)體的方法。在示例性實(shí)施例中,該方法包括確定與請(qǐng)求實(shí)體相關(guān)聯(lián)的客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí);以及確定與客戶端節(jié)點(diǎn)相關(guān)聯(lián)的請(qǐng)求實(shí)體是否正充任超級(jí)用戶能力。在確定客戶端節(jié)點(diǎn)的客戶端標(biāo)識(shí)指示了許可客戶端節(jié)點(diǎn)訪問(wèn)資源提供者節(jié)點(diǎn)的一個(gè)或多個(gè)資源并且客戶端節(jié)點(diǎn)正充任超級(jí)用戶能力之時(shí),從該提供者節(jié)點(diǎn)返回密鑰給請(qǐng)求實(shí)體。
文檔編號(hào)H04L29/06GK101057201SQ200580038334
公開(kāi)日2007年10月17日 申請(qǐng)日期2005年11月9日 優(yōu)先權(quán)日2004年11月12日
發(fā)明者T·布雷, G·弗雷澤, G·普菲斯特, W·魯尼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司