亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

安全網(wǎng)絡包圍區(qū)中的密鑰管理的制作方法

文檔序號:7911743閱讀:130來源:國知局
專利名稱:安全網(wǎng)絡包圍區(qū)中的密鑰管理的制作方法
安全網(wǎng)絡包圍區(qū)中的密鑰管理
背景技術
安全性對于計算機系統(tǒng)已經(jīng)變得日益重要。企業(yè)保持許多類型的信息,比如財務信息、機密商業(yè)信息或者關于客戶和雇員的個人信息。由于許多重要的商業(yè)原因,該信息通常通過企業(yè)計算機系統(tǒng)、至少對于某些個人而言是可獲得的。但是該信息如果被未授權方訪問和誤用則可能導致對企業(yè)、其雇員或客戶的極大危害。為了保護企業(yè)計算系統(tǒng)中的信息,已經(jīng)提出了許多安全性技術,一個這樣的方法是稱為IPsec的安全網(wǎng)絡通信協(xié)議。在IPsec中,要通信的兩個主機設備形成“安全關聯(lián)”。 該安全關聯(lián)基于使用密鑰交換協(xié)議在主機之間交換的一個或多個密鑰。然后,取決于期望的安全性級別,兩個主機可以使用該密鑰來加密或驗證在它們之間傳送的消息。在聯(lián)網(wǎng)的設置中使用IPsec的缺點是,加密和解密或者簽名和驗證消息所需的加密處理可能非期望地加載主機設備的中央處理器。為了降低處理器負荷,已經(jīng)開發(fā)了網(wǎng)絡接口芯片集來卸載這些加密功能(function)。這樣的芯片集可以為每個活動的安全關聯(lián)存儲密鑰,對于該每個活動的安全關聯(lián)而言,包含網(wǎng)絡接口的計算機是主機。在使用具體的安全關聯(lián)將信息傳遞到網(wǎng)絡接口用于通信時,芯片集可以使用適當?shù)拿荑€來加密或簽名該信息。同樣,在接收到與安全關聯(lián)相關聯(lián)的分組時,芯片集可以驗證或解密該分組中的信息, 并將這種處理的結果傳遞到網(wǎng)絡堆棧用于進一步處理。盡管這種處理在某些場景中可能是有用的,但是現(xiàn)有的芯片集在它們可以同時保持的活動的安全關聯(lián)的數(shù)量方面受到限制。例如,大企業(yè)中的服務器可能保持了 10000個安全關聯(lián)的量級,但是芯片集可能能夠保持僅支持1000個安全關聯(lián)的量級的信息。為了擴大網(wǎng)絡接口的芯片集可以支持的安全關聯(lián)的數(shù)量,已經(jīng)提出了形成網(wǎng)絡 “包圍區(qū)(enclave)”。根據(jù)此提議,每個包圍區(qū)可以具有它自己的密鑰,該密鑰用于以可預測方式產(chǎn)生涉及該包圍區(qū)中的各設備的安全關聯(lián)的密鑰。包圍區(qū)密鑰用于以可預測方式產(chǎn)生該包圍區(qū)內的各服務器的密鑰。根據(jù)這些密鑰,服務器然后可以在安全關聯(lián)形成時產(chǎn)生安全關聯(lián)的密鑰。當設備發(fā)送使用安全關聯(lián)密鑰簽名或加密的分組時,該設備將標識如何導出該密鑰的信息附于該分組。訪問該分組的其他設備可以在運行中(on the fly)產(chǎn)生用于該分組的加密處理的適當密鑰。因為用于多個安全關聯(lián)的任意一個的安全關聯(lián)密鑰可以根據(jù)包圍區(qū)密鑰產(chǎn)生,因此芯片集有權訪問大量安全關聯(lián)而無需大量存儲器。用于自動密鑰產(chǎn)生的該方法可以由作為安全關聯(lián)的主機的設備或者在分組經(jīng)過主機之間時處理分組的中間設備使用,只要該中間設備有權訪問適當?shù)陌鼑鷧^(qū)密鑰即可。

發(fā)明內容
為了提供用在安全網(wǎng)絡包圍區(qū)中的適當密鑰,分級地產(chǎn)生密鑰。成對的包圍區(qū)密鑰被定義,以用于創(chuàng)建跨越包圍區(qū)中的各對的安全關聯(lián)。該成對的包圍區(qū)密鑰可以用于產(chǎn)生該對的包圍區(qū)中的服務器的密鑰。這些服務器密鑰又可以用于基于服務器和客戶端設備所位于的包圍區(qū)來建立與客戶端設備的安全關聯(lián)。通過將標識主機的包圍區(qū)的信息以及用于基于成對的包圍區(qū)密鑰產(chǎn)生安全關聯(lián)參數(shù)的其他信息并入分組中,訪問分組并有權訪問適當?shù)拿荑€的設備可以產(chǎn)生可以用于處理該分組的安全關聯(lián)參數(shù)。密鑰的分級特性可以用于使訪問級別適合于設備。通過提供在層級的較高級別處的密鑰,具有較高信任級別的設備可以被給予更大的訪問權。相反,可以為其他設備提供僅對用于在它們自己的包圍區(qū)內或者在它們自己的包圍區(qū)和所選數(shù)量的其他包圍區(qū)之間的通信的密鑰的訪問。分級密鑰產(chǎn)生方法允許受信任的中間設備訪問消息業(yè)務,其中具有可以基于中間者的角色和信任級別設置的訪問限制。在連接兩個包圍區(qū)或小數(shù)量的包圍區(qū)的網(wǎng)絡路徑中連接的受信任的中間者可以被給予對僅用于那些包圍區(qū)的成對的包圍區(qū)密鑰的訪問權,從而允許中間者監(jiān)視或控制進入或離開那些包圍區(qū)的網(wǎng)絡業(yè)務。將有權訪問所有網(wǎng)絡業(yè)務的其他中間者可以被給予用于所有包圍區(qū)的密鑰或被給予諸如組織密鑰之類的較高級別密鑰,從該較高級別密鑰產(chǎn)生包圍區(qū)密鑰。中間設備可以使用該密鑰來基于該密鑰和其他信息產(chǎn)生用于安全關聯(lián)的參數(shù)。這種其他信息可以包含于在安全關聯(lián)的端點之間傳送的分組中。在一些實施例中,中間設備可以監(jiān)視在形成安全關聯(lián)中交換的控制分組,并采取動作,比如動態(tài)獲得從其產(chǎn)生安全關聯(lián)密鑰的密鑰。如果中間者不支持在此密鑰層級下的密鑰導出,使得其不能產(chǎn)生安全關聯(lián)密鑰,則其可以將其性能缺乏用信號通知形成安全關聯(lián)的服務器,然后該服務器可以參與直接密鑰交換以向該中間者提供用于安全關聯(lián)的密鑰。在形成安全關聯(lián)后使用安全關聯(lián)發(fā)送的消息首先路由通過不支持安全包圍區(qū)處理的中間設備的場景中,中間設備可以用信號通知端點以重新建立安全關聯(lián),給予中間設備對用于處理使用安全關聯(lián)發(fā)送的分組的信息的直接訪問的機會。以上是由所附權利要求定義的本發(fā)明的非限制性概括。


不旨在按比例繪出附圖。在附圖中,在各個附圖中圖示的每個相同或近似相同的組件由相似的附圖標記表示。為了清楚的目的,不是每個組件都會在每個圖中標出。在附圖中
圖IA是包含多個安全包圍區(qū)的企業(yè)計算系統(tǒng)的略圖IB是可以形成根據(jù)本發(fā)明的一些實施例的企業(yè)計算系統(tǒng)的一部分的安全包圍區(qū)的展開圖2A是根據(jù)本發(fā)明的一些實施例的分級密鑰產(chǎn)生的示意性圖示; 圖2B是根據(jù)本發(fā)明的一些實施例的產(chǎn)生成對的包圍區(qū)密鑰的過程的流程圖; 圖3是根據(jù)本發(fā)明的一些實施例的包圍區(qū)發(fā)現(xiàn)和通信協(xié)議的示意性圖示; 圖4A和4B在標為A和B的點處連接時是操作安全包圍區(qū)中的服務器的過程的流程
圖5是根據(jù)本發(fā)明的一些實施例的操作安全包圍區(qū)中的客戶端的過程的流程圖; 圖6是圖示根據(jù)本發(fā)明的一些實施例的操作中間設備的過程的流程圖; 圖7是涉及中間設備和服務器之間的交互的過程的流程圖,在該交互過程期間中間設備直接從服務器接收密鑰;
圖8是涉及中間設備和服務器之間的交互的過程的流程圖,在該交互過程期間中間設
5備觸發(fā)安全關聯(lián)的密鑰更新(rekeying);
圖9A是根據(jù)本發(fā)明的一些實施例的服務器的簡化示意圖;以及圖9B是根據(jù)本發(fā)明的一些實施例可能存在于中間設備的網(wǎng)絡接口硬件中的存儲器結構的略圖。
具體實施例方式本發(fā)明人已經(jīng)認識到并領會可以通過改進的密鑰管理方法來改進安全包圍區(qū)以及支持安全包圍區(qū)的加密功能的硬件卸載??梢援a(chǎn)生并分發(fā)密鑰以允許容易的網(wǎng)絡訪問。 然而,密鑰管理系統(tǒng)應該實現(xiàn)限制每個設備接收的訪問。分級密鑰管理方法可以用于支持為不同組設備之間的通信提供不同級別的訪問的密鑰的產(chǎn)生。分級密鑰管理方法還實現(xiàn)了用于遍布企業(yè)計算機系統(tǒng)的密鑰分發(fā)的簡單機制,使得安全包圍區(qū)中的設備可以適當?shù)靥幚砭W(wǎng)絡業(yè)務。在一些實施例中,總的組織密鑰形成密鑰層級的頂級。根據(jù)此組織密鑰,可以產(chǎn)生用于由該組織操作的聯(lián)網(wǎng)計算機系統(tǒng)中的每對包圍區(qū)(包括與其自身配對為一對的每個包圍區(qū))的成對的包圍區(qū)密鑰。每個成對的包圍區(qū)密鑰可以在產(chǎn)生層級的下一較低級別處的密鑰時使用。在此所述的示例實施例中,在安全關聯(lián)的相對端的主機設備可以稱為“服務器”和 “客戶端”。服務器產(chǎn)生用于與客戶端形成的每個安全關聯(lián)的安全關聯(lián)密鑰。為了產(chǎn)生此安全關聯(lián)密鑰,服務器可以具有服務器密鑰,該密鑰可以從該服務器的包圍區(qū)以及客戶端所位于的包圍區(qū)的成對密鑰導出。在所述的實施例中,無論層級的任何級別處的密鑰都被當作安全信息。用于從層級的較高級別處的密鑰產(chǎn)生層級的較低級別處的密鑰的密鑰導出信息不需要被當作安全信息。密鑰導出信息可以在通過網(wǎng)絡發(fā)送的消息中按不安全或相對不安全的方式傳送。結果,許多網(wǎng)絡設備有權訪問該密鑰導出信息。有權訪問用于產(chǎn)生具體的安全關聯(lián)密鑰的層級中的任意級別處的密鑰的設備因此可以得到對密鑰導出信息的訪問并產(chǎn)生安全關聯(lián)密鑰。為了減少每個設備必須保留的安全關聯(lián)密鑰的數(shù)量,較高級別的密鑰和密鑰導出信息可以用于動態(tài)產(chǎn)生層級中的較低級別處的密鑰。例如,可以為包圍區(qū)內的服務器供應所有成對的服務器密鑰,對于所述所有成對的服務器密鑰,該包圍區(qū)是相關聯(lián)對中的一個包圍區(qū)。當與其將形成安全關聯(lián)的客戶端的包圍區(qū)被標識時,可以從這些密鑰之一產(chǎn)生具體的安全關聯(lián)密鑰。密鑰供應也可以動態(tài)發(fā)生。例如,設備可以從密鑰服務器下載密鑰,響應于使用密鑰來對分組執(zhí)行加密功能的要求,動態(tài)供應可以實時發(fā)生。可替代地,可以在需要之前供應一些或所有密鑰。當在使用之前供應時,密鑰不時地可以重新供應或重新產(chǎn)生。重新供應可以諸如每天地周期性地執(zhí)行,或者可以響應于諸如設備進入或離開包圍區(qū)之類的事件而執(zhí)行。無論何時供應密鑰,可以遍布以頂級組織密鑰開始的組織而分發(fā)密鑰。無論是現(xiàn)在本領域中已知的還是以后開發(fā)的適當?shù)陌踩胧┒伎梢杂糜谙拗茖蛹壍牟煌墑e處的密鑰僅分發(fā)給被授權訪問用從該密鑰直接或間接導出的密鑰加密的信息的那些設備。
可以按任何適當?shù)姆绞酱_定授權的設備。在一些實施例中,網(wǎng)絡管理員可以通過創(chuàng)建訪問控制列表、為某些設備供應證書或其他驗證標記來確立授權的設備。在一些實施例中,可以使用已經(jīng)置于企業(yè)計算機系統(tǒng)中的安全性系統(tǒng)來確立授權的設備。例如,許多企業(yè)計算機系統(tǒng)利用Active Directory 網(wǎng)絡管理系統(tǒng)來驗證設備。這樣的系統(tǒng)可以用于控制哪些設備得到對哪些密鑰的訪問以及用于提供向那些設備傳送密鑰的安全機制。無論如何限制密鑰的分發(fā),通過適當?shù)叵拗圃趯蛹壍牟煌墑e處的密鑰的分發(fā), 訪問的級別可以被設置為使得每個設備僅具有所需的訪問級別。例如,一些設備可以僅有權訪問具體服務器和具體客戶端之間的分組。其他設備可以有權訪問在具體服務器和任何包圍區(qū)中的任何設備之間的通信。另外的其他設備可以有權訪問在一個包圍區(qū)內的任意設備和任意包圍區(qū)中的任意設備之間傳送的分組。另外的其他設備可以被給予對通過計算機系統(tǒng)發(fā)送的任意分組的訪問權。但是,應該認識到,不是層級的所有級別都需要存在于所有實施例中。例如,在一些實施例中,不是提供單個頂級組織密鑰,可以為從其可以產(chǎn)生成對的包圍區(qū)密鑰的每個包圍區(qū)初始地提供包圍區(qū)密鑰??商娲兀梢杂晒芾韱T直接向設備供應成對的包圍區(qū)密鑰。作為另一例子,盡管描述了服務器密鑰,但是可以為服務器提供對成對的包圍區(qū)密鑰的訪問,其可以用于直接產(chǎn)生安全關聯(lián)密鑰而不需要產(chǎn)生服務器密鑰的中間步驟。同樣,可以在一些實施例中采用另外級別的分級密鑰。例如計算機系統(tǒng)可以被劃分成任意數(shù)量的級別的子包圍區(qū),每個子包圍區(qū)具有它自己的密鑰以及與其他子包圍區(qū)的成對的密鑰。分級密鑰管理方法的一種使用是允許中間設備訪問實時產(chǎn)生安全關聯(lián)密鑰所需的包圍區(qū)密鑰。通過為位于兩個包圍區(qū)之間的網(wǎng)絡中的中間設備提供與那些包圍區(qū)相關聯(lián)的成對的包圍區(qū)密鑰,該中間設備可以被授權監(jiān)視在那兩個包圍區(qū)之間的網(wǎng)絡業(yè)務??梢砸蚨鄠€原因中的任意一個而供應中間設備來訪問這樣的消息。例如,中間設備可以執(zhí)行反惡意(anti-malware)軟件,該軟件在一旦被提供了對消息內容的訪問時確保消息不被病毒感染。中間設備可以基于消息內容執(zhí)行任何其他適當?shù)谋O(jiān)視功能。中間設備還可以執(zhí)行其他功能,比如操縱消息或者采取在此所述的控制動作。無論中間設備的具體功能如何,其都可以捕捉在通過網(wǎng)絡發(fā)送的消息中的密鑰導出信息。然后密鑰導出信息與供應給中間設備的密鑰的組合可以用于導出用于經(jīng)過中間設備的網(wǎng)絡業(yè)務的安全關聯(lián)的密鑰。分級密鑰還有助于對于網(wǎng)絡分組的加密處理的硬件卸載以支持這些功能。無論是在安全關聯(lián)的主機中還是在監(jiān)視使用安全關聯(lián)發(fā)送的網(wǎng)絡業(yè)務的中間設備中,網(wǎng)絡接口硬件都可以動態(tài)地產(chǎn)生安全關聯(lián)密鑰,作為卸載處理的部分。結果,即使對于被給予了相對高級別的訪問權的設備,在硬件中必須保持的密鑰的數(shù)量也是可管理的。但是,在一些場景中,計算機系統(tǒng)可能包括支持這樣的密鑰導出的中間設備以及不支持這樣的密鑰導出的一些設備。密鑰管理系統(tǒng)可以為中間設備提供在其不能基于對其可獲得的信息產(chǎn)生密鑰時獲得其訪問安全關聯(lián)密鑰所需的信息的機制。例如,可以執(zhí)行直接密鑰交換。中間設備可以用信號通知擔當服務器的主機其不支持安全包圍區(qū),這可以觸發(fā)該服務器進入與該中間設備的直接密鑰交換。如果參與安全關聯(lián)的任一主機不支持在安全關聯(lián)之下發(fā)送的分組中包括密鑰導出信息,可以執(zhí)行類似的密鑰交換。如上所述,密鑰管理基于設備與包圍區(qū)相關聯(lián)。在一些實施例中,包圍區(qū)是靜態(tài)的并被預先定義。在這樣的實施例中,設備可以基于網(wǎng)絡拓撲或者其他因素被分配到包圍區(qū)。 然后可以為設備供應它們所屬的包圍區(qū)的指示。但是,在其他實例中,網(wǎng)絡可以被重新配置或者可以支持移動設備。在這些實施例中,可能不能將具體設備預先分配到包圍區(qū)。此外,在一些實例中,將所有設備分配到包圍區(qū)可能是困難的或者難于負擔的。從而,在一些實施例中,密鑰管理系統(tǒng)可以包括允許設備發(fā)現(xiàn)其包圍區(qū)的包圍區(qū)發(fā)現(xiàn)協(xié)議??梢允褂萌魏芜m當?shù)陌鼑鷧^(qū)發(fā)現(xiàn)協(xié)議。作為一個例子,網(wǎng)絡設備的子集可以被分配到包圍區(qū),并且可以將其包圍區(qū)狀態(tài)傳送給其他設備,使得其他設備可以基于與已經(jīng)被分配到包圍區(qū)的設備的連接來推斷其自己的包圍區(qū)成員資格。在一些實施例中,可能作為在其他網(wǎng)絡設備之間路由分組中涉及的中間者的設備可以被分配到包圍區(qū)。這種設備的子集可以足夠小并且這些設備的地點可以足夠少地改變,使得為每個這樣的設備供應該設備所位于的包圍區(qū)的指示需要相當小的負擔。當分組在形成安全關聯(lián)的兩個主機之間傳遞時,每個這樣的中間設備可以向該分組添加標記,指示包圍區(qū)。接收這樣的分組的主機可以使用該標記來確定其自己的包圍區(qū)。 在一些實施例中,所述標記可以指示任一或兩個主機的包圍區(qū)。這樣的信息可以由中間設備例如從包含系統(tǒng)中的主機的包圍區(qū)分配的對該中間設備可訪問的數(shù)據(jù)庫獲得。在其他實施例中,所述標記可以包含允許主機推斷其包圍區(qū)的信息。例如,每個中間設備可以附上標識其自己的包圍區(qū)的信息。該中間設備可以依次添加標記,創(chuàng)建排序的標記鏈。接收這樣的分組的任意主機可以分析該標記鏈以確定在該鏈的開始和結尾處的包圍區(qū),這可以指示形成安全關聯(lián)的主機的包圍區(qū)。根據(jù)此信息,主機可以確定其自己的包圍區(qū)。單個分組可以足夠主機確定其自己的包圍區(qū),盡管在某些情況下,在網(wǎng)絡內路由的分組的可變性可能產(chǎn)生在相同兩個主機之間傳送的不同分組中的不同標記鏈。如果存在不一致,則設備可以從多個分組獲得信息并基于最頻繁指示的包圍區(qū)或者使用用于分辨不確定性的任何適當?shù)姆椒▉順俗R其自己的包圍區(qū)。包圍區(qū)標記鏈類似地可以由服務器用來確定客戶端所位于的包圍區(qū)。該信息例如可以用在選擇適當?shù)某蓪γ荑€以產(chǎn)生服務器密鑰的過程中,該服務器密鑰又將用于產(chǎn)生安全關聯(lián)密鑰。任何適當?shù)脑O備可以將標識包圍區(qū)的標記置于分組上。在一些實施例中,諸如路由器和網(wǎng)關之類的中間設備可以被配置為放置這樣的標記,盡管可以使用任何適當?shù)脑O備來放置包圍區(qū)標記。可以在任何適當?shù)挠嬎銠C系統(tǒng)中采用根據(jù)本發(fā)明的實施例的密鑰管理系統(tǒng)。作為例子,密鑰管理系統(tǒng)可以被并入比如可以在大公司中找到的企業(yè)計算機系統(tǒng)100 (圖1A) 中。計算機系統(tǒng)100包含所示的劃分成包圍區(qū)110A、110B、110C和IlOD的多個計算機設備。網(wǎng)絡設備可以按任何適當?shù)姆绞椒纸M成包圍區(qū)。在所示的實施例中,包圍區(qū)通?;诰W(wǎng)絡拓撲形成,使得可以通過路由器或其他網(wǎng)關設備訪問的設備通常被分組在相同的包圍區(qū)中。但是,可以使用用于將設備劃分成包圍區(qū)的任何適當?shù)臉藴?。圖IA是計算機系統(tǒng)的簡化圖示。在此,示出了三種類型的設備服務器、客戶端和多端口設備。圖示了諸如服務器120A、120B和120C的服務器。服務器可以是具有相對大量的諸如處理功率或者計算機存儲介質之類的計算機資源的計算設備。這些設備可以是相對固定的,被安裝在架子或其他固定結構中。這樣的設備可以擔當文件服務器、打印服務器、數(shù)據(jù)庫服務器、網(wǎng)絡服務器或執(zhí)行企業(yè)內的其他功能。但是,服務器可以是向另一設備供應信息的任何計算設備。因而,本發(fā)明不受服務器的處理能力的特性的限制。臺式計算機、膝上型計算機甚至小型電子設備有時可以擔當服務器。圖IA還圖示了在計算機系統(tǒng)100內存在多個客戶端設備。為了簡化,圖示了三個客戶端設備130、132和134。在此例子中,客戶端設備被圖示為臺式計算機。但是,客戶端設備可以是從服務器接收信息的任意設備。因此,除了臺式計算機之外,客戶端設備可以是膝上型計算機或者其他便攜計算設備。取決于設備執(zhí)行的具體操作,具有相對大量的處理資源的設備也可以是客戶端。除了服務器和客戶端之外,計算機系統(tǒng)100可以包括一個或多個多端口設備,比如多端口設備136。通常,網(wǎng)絡內的多端口設備執(zhí)行有助于被尋址到具體設備的分組到達其預期的目的地的路由、切換或其他業(yè)務處理功能。多端口設備的例子包括路由器和開關以及負載平衡器、WAN優(yōu)化器以及入侵檢測/防御系統(tǒng)。除了多端口設備136之外,計算機系統(tǒng)100示出為包含擔當包圍區(qū)之間的中間設備的多端口設備。在圖IA中,示出了中間設備140A、140B、140C和140D。這些中間設備的每個可以擔當網(wǎng)關,到或者來自包圍區(qū)內的設備的消息可以通過該網(wǎng)關傳遞。例如,中間設備140A可以擔當?shù)桨鼑鷧^(qū)IlOA內的設備的網(wǎng)關。中間設備140B可以擔當?shù)交蛘邅碜园鼑鷧^(qū)IlOB內的設備的消息可以通過其傳遞的網(wǎng)關。類似地,中間設備140C可以擔當用于包圍區(qū)IlOC內的設備的網(wǎng)關并且中間設備140D可以擔當用于包圍區(qū)IlOD中的設備的網(wǎng)關。但是,不要求中間設備是到包圍區(qū)的網(wǎng)關。中間設備可以按它們可以從一個到另一個包圍區(qū)地轉發(fā)消息的方式在網(wǎng)絡中連接。例如,中間設備140C可以接收在包圍區(qū) 110A、110B、110C或IlOD的任意一個中產(chǎn)生的消息,并基于消息中的目的地地址將該消息路由到任何其他的包圍區(qū)。應該認識到,圖IA是其中可以采用本發(fā)明的企業(yè)計算機系統(tǒng)的僅一種可能的實現(xiàn)方式的簡化略圖。為了簡化僅在圖IA中圖示了四個包圍區(qū)??梢源嬖谌我膺m當數(shù)量的包圍區(qū),并且遠多于四個的包圍區(qū)可以存在于大企業(yè)的計算機系統(tǒng)中。無論包圍區(qū)的數(shù)量如何,可以按任何適當?shù)姆绞蕉x包圍區(qū)。在一些實施例中,包圍區(qū)可以由網(wǎng)絡管理員定義。包圍區(qū)可以基于網(wǎng)絡拓撲定義,使得由至少一個中間設備將每個包圍區(qū)與其他包圍區(qū)分離。另外,包圍區(qū)可以定義為使得僅在共同的管理控制下的設備被分組在相同的包圍區(qū)中。以此方式,可以適用類似的訪問控制的設備可以在相同的包圍區(qū)中,使得該包圍區(qū)中的設備可以共享包圍區(qū)密鑰而不包括信息的安全性。圖IA圖示了可以按每個包圍區(qū)中不同數(shù)量和類型的設備來形成包圍區(qū)。為了支持分級密鑰產(chǎn)生和分發(fā)系統(tǒng),包圍區(qū)內的某些設備可以具有與密鑰產(chǎn)生或分發(fā)相關聯(lián)的具體功能。圖IB示出了包圍區(qū)的放大圖。圖IB圖示了包圍區(qū)可以使其與執(zhí)行與分級密鑰產(chǎn)生和分發(fā)相關聯(lián)的具體功能的服務器相關聯(lián)。如圖IB所示,包圍區(qū)150包括諸如服務器170A和170B之類的服務器。在工作時,服務器170A和170B可以形成與客戶端設備的安全關聯(lián),兩者在包圍區(qū)150內和包圍區(qū)150可以通過網(wǎng)絡耦接到的其他包圍區(qū)內。在圖IB中,圖示客戶端設備180、182和184在包圍區(qū)150內,并且服務器170A和170B可以形成與這些客戶端設備的安全關聯(lián),盡管在圖 IB中未明確圖示其他包圍區(qū)中的客戶端設備,但是服務器170A和170B也可以通過中間設備192與其他包圍區(qū)中的客戶端設備通信。可以使用一種或多種加密技術來保證服務器和客戶端之間的通信的安全。這樣的加密技術可以用于加密或者提供用于驗證信息的機制。無論包括加密技術的目的如何,可以使用本領域中已知的諸如加密密鑰之類的加密參數(shù)來執(zhí)行加密功能。當用于加密時,根據(jù)加密功能,加密密鑰與要加密的信息相組合??梢杂删哂性摷用苊荑€的各方從加密的信息中恢復原始信息,但是加密功能的復雜性使得實際上不可能不用密鑰而從加密的信息確定原始信息。相反,驗證可能涉及其中信息與密鑰一起被組合以產(chǎn)生簽名的加密功能。在此情況下,該加密功能很復雜,使得實際上不用加密密鑰不能產(chǎn)生簽名。為了驗證已經(jīng)通過網(wǎng)絡傳送的信息,可以在接收信息并與在傳輸時與信息相關聯(lián)的簽名相比較時對該信息再次執(zhí)行加密功能。如果該信息已經(jīng)改變,則產(chǎn)生的簽名將不匹配,從而允許已經(jīng)更改的信息容易被標識。在此所述的例子中,描述了與加密有關的加密功能。但是,本發(fā)明不要求遍布計算機系統(tǒng)分發(fā)的密鑰用于加密??商娲鼗蛘吡硗?,密鑰可以用于驗證。在一些實施例中,可以為加密和驗證提供單獨密鑰。從而,盡管在此所述的例子討論了用于在兩個設備之間形成的每個安全關聯(lián)的單個密鑰,但是可以存在形成每個安全關聯(lián)的一部分的任意數(shù)量的密鑰。例如,可以產(chǎn)生加密密鑰和驗證密鑰??梢愿鶕?jù)在此所述的技術產(chǎn)生并分發(fā)每個這樣的密鑰。此外,由于除了加密和驗證數(shù)據(jù)之外的原因,可以采用加密密鑰作為加密功能的部分。因而,應該認識到,本發(fā)明不限于任意數(shù)量或類型的密鑰或者利用這些密鑰執(zhí)行的加密功能。無論加密密鑰的數(shù)量和使用如何,包圍區(qū)150中的每個服務器可以形成與一個或多個客戶端設備的安全關聯(lián)。每個安全關聯(lián)的是通過在安全關聯(lián)的每個主機設備之間共享安全性參數(shù)、包括一個或多個加密密鑰來創(chuàng)建的。安全性參數(shù)用于對使用安全關聯(lián)傳送的信息執(zhí)行加密功能??梢詫⒃撔畔⒆鳛榉纸M經(jīng)過網(wǎng)絡來傳遞。作為一個例子,分組可以包含使用為安全關聯(lián)產(chǎn)生的安全性參數(shù)加密的信息。安全性參數(shù)可以包括阻止未被授權方訪問該信息的任何信息。在這里提供的例子中,有時稱為安全關聯(lián)密鑰的會話密鑰被用作安全性參數(shù)的例子。該安全關聯(lián)密鑰用于加密從安全關聯(lián)的一個主機發(fā)送到其他主機的信息。為了簡化,在此例子中,使用相同的安全關聯(lián)密鑰來加密在主機之間的任一方向上傳遞的信息。但是,應該認識到,安全性參數(shù)可以包括用于在每個主機處發(fā)送和接收信息的多個密鑰??梢园慈魏芜m當?shù)姆绞皆趦蓚€主機之間共享安全性參數(shù),包括使用本領域中已知的技術。作為一個例子,已經(jīng)開發(fā)了 II3sec通信協(xié)議來允許安全通信。II3sec支持在主機之間傳遞的分組的加密和/或驗證。除了定義使用安全性信息保護的分組的格式之外,IPsec 包括用于主機之間的初始交互的協(xié)議,通過該初始交互,主機可以獲得要用作安全關聯(lián)的部分的安全性參數(shù)的公共集合。這種協(xié)議的例子是因特網(wǎng)密鑰交換協(xié)議(IKE)以及AuthIP 協(xié)議。根據(jù)這些協(xié)議,服務器可以產(chǎn)生安全關聯(lián)密鑰并將其發(fā)送到客戶端。隨后,客戶端和服務器可以使用該密鑰用于加密在它們之間傳遞的消息。
在示例實施例中,安全關聯(lián)密鑰處于密鑰層級的最低級。在諸如服務器170A和 170B之類的每個服務器形成新的安全關聯(lián)時,服務器產(chǎn)生安全關聯(lián)密鑰。每個服務器根據(jù)服務器密鑰產(chǎn)生安全關聯(lián)密鑰。在此,諸如服務器170A和170B之類的每個服務器可以包含服務器密鑰集。服務器密鑰可以是成對的密鑰,使得每個服務器密鑰可以與不同的包圍區(qū)對相關聯(lián)。從而,當服務器產(chǎn)生安全關聯(lián)密鑰時,其首先確定客戶端所位于的包圍區(qū),并為包含該客戶端包圍區(qū)和該服務器自己的包圍區(qū)的包圍區(qū)對選擇適當?shù)姆掌髅荑€。每個服務器可以從包圍區(qū)密鑰服務器160接收其服務器密鑰。包圍區(qū)密鑰服務器 160可以被配置為對包圍區(qū)150內的被授權接收服務器密鑰的每個服務器產(chǎn)生這樣的服務器密鑰。包圍區(qū)密鑰服務器160可以使用任何適當?shù)臋C制來標識被授權的服務器并向那些被授權的服務器傳送密鑰。例如,msec協(xié)議可以用于一旦服務器170A和170B驗證了它們自己時就將密鑰從包圍區(qū)密鑰服務器160安全地傳送到諸如服務器170A和170B的服務
ο在所圖示的實施例中,包圍區(qū)密鑰服務器160根據(jù)成對的包圍區(qū)密鑰集產(chǎn)生用于諸如服務器170A和170B之類的服務器的密鑰。在所圖示的實施例中,包圍區(qū)密鑰服務器 160可以基于從組織密鑰服務器148接收的信息來產(chǎn)生成對的包圍區(qū)密鑰,該組織密鑰服務器148可以保持組織密鑰。組織密鑰服務器148可以類似地向其他包圍區(qū)中的包圍區(qū)密鑰服務器提供成對的包圍區(qū)密鑰。圖2A以示意性形式圖示密鑰的分級產(chǎn)生。在此例子中,該層級的頂級是組織密鑰 220。組織密鑰210可以被存儲在組織密鑰服務器148中(圖1A),或者其可以被提供在預期使用圖2B所示的密鑰層級有權訪問計算機系統(tǒng)中的所有級別的信息的任意設備中。無論哪些設備接收組織密鑰,可以按任何適當?shù)姆绞较蜻@些設備提供組織密鑰210。例如它可以由網(wǎng)絡管理員提供或者按任何適當?shù)姆绞皆谠O備內產(chǎn)生。無論如何提供組織密鑰210,其都可以用于產(chǎn)生多個包圍區(qū)成對的密鑰,圖示了其中的成對的密鑰224A、2MB、224C和224D。在圖2A所示的實施例中,每個包圍區(qū)成對的密鑰基于對組織密鑰210與包圍區(qū)對導出輸入222的組合執(zhí)行的偽隨機功能220而產(chǎn)生??梢栽诮M織密鑰服務器148 (圖1B)內執(zhí)行該功能。以此方式,可以在組織密鑰服務器148內的安全環(huán)境中或者在要被給予最高級別的網(wǎng)絡訪問權的任何其他設備中保持組織密鑰210, 即使其至少間接地用于產(chǎn)生層級的所有級別處的密鑰。加密功能220可以是任何適當?shù)膫坞S機功能。如本領域中已知的,偽隨機功能使得實際上如果在其計算中使用的密鑰足夠長并隨機(或偽隨機),則從輸入到輸出的函數(shù)看起來是隨機的。該特性的一個含義是不能從輸入-輸出對確定密鑰。從而,盡管被計算為該函數(shù)的輸出的包圍區(qū)成對的密鑰224A、2MB、224C和224D可以被提供給在組織密鑰服務器148之外的設備,但是提供那些密鑰并不危害組織密鑰210的安全性。包圍區(qū)密鑰導出輸入222可以是對根據(jù)組織密鑰210產(chǎn)生包圍區(qū)成對的密鑰的設備可用的任何適當?shù)男畔?。作為一個例子,包圍區(qū)對密鑰導出輸入222可以是包圍區(qū)的標識符。例如,如果包圍區(qū)IlOA (圖1A)被標識為包圍區(qū)(1)并且包圍區(qū)IlOB被標識為包圍區(qū)(2),則可以使用密鑰導出輸入對(1,2)產(chǎn)生用于在包圍區(qū)IlOA和IlOB之間通信的包圍區(qū)成對密鑰。使用包圍區(qū)的標識符作為包圍區(qū)成對的密鑰導出輸入222允許任何設備有權訪
11問組織密鑰210以產(chǎn)生相同的包圍區(qū)成對的密鑰集。例如,如果中間設備140C (圖1A)要被給予對于計算機系統(tǒng)100內的所有消息業(yè)務的訪問權,則中間設備140C可以被給予對組織密鑰210的訪問權。以此方式,中間設備140C可以按與組織密鑰服務器148相同的方式產(chǎn)生包圍區(qū)成對的密鑰224A……224D。在中間設備140C內產(chǎn)生的包圍區(qū)成對的密鑰又可以用于產(chǎn)生密鑰層級的較低級別處的密鑰。該連續(xù)密鑰產(chǎn)生可以用于產(chǎn)生層級的任意級別處的密鑰,包括用于加密在作為安全關聯(lián)的部分的兩個主機之間傳送的分組的安全關聯(lián)密鑰。在所圖示的實施例中,可以為包圍區(qū)的每個唯一配對產(chǎn)生成對的包圍區(qū)密鑰 EKiijo在此實施例中,與從第二包圍區(qū)中的服務器到第一包圍區(qū)中的客戶端的通信相同的成對的密鑰被用于從第一包圍區(qū)中的服務器到第二包圍區(qū)中的客戶端的通信。從而,成對的密鑰EKiij與成對的密鑰EKjii相同。但是,在一些實施例中,可以為每個排序的包圍區(qū)對產(chǎn)生不同的密鑰。圖2A圖示產(chǎn)生包圍區(qū)成對密鑰的全集。在一些實施例中,可以動態(tài)地產(chǎn)生成對的密鑰,使得僅對具有正在進行的通信的包圍區(qū)對產(chǎn)生成對的密鑰。無論何時產(chǎn)生以及產(chǎn)生多少包圍區(qū)成對的密鑰,成對的密鑰可以用于產(chǎn)生一個或多個服務器密鑰。如所示,使用偽隨機加密功能230根據(jù)成對的包圍區(qū)密鑰產(chǎn)生每個服務器密鑰。 如偽隨機加密功能220那樣,偽隨機加密功能230以如下方式根據(jù)層級中較高級別處的密鑰產(chǎn)生服務器密鑰使得將輸入-輸出對與隨機產(chǎn)生的函數(shù)的輸入-輸出對相區(qū)分、特別是恢復在該函數(shù)中使用的較高級別密鑰來從輸入計算服務器密鑰輸出在計算上不實際。但是,基于服務器密鑰導出輸入232以可預測的方式產(chǎn)生每個服務器密鑰。結果,有權訪問包圍區(qū)成對的密鑰ΕΚ。的任何設備可以產(chǎn)生包圍區(qū)i中的服務器將使用來與包圍區(qū)j中的客戶端通信或者包圍區(qū)i中的服務器將使用來與包圍區(qū)j中的服務器通信的密鑰,假設該設備有權訪問服務器密鑰導出輸入。在所圖示的實施例中,服務器密鑰導出輸入可以簡單地是要為其產(chǎn)生密鑰的服務器的標識符。因為這樣的標識符可以容易地對其他設備而言可訪問,因此有權訪問包圍區(qū)成對的密鑰的設備可以重新創(chuàng)建服務器密鑰。例如,在圖IA的例子中,中間設備140A如果要被配置為監(jiān)視離開包圍區(qū)IlOA的網(wǎng)絡業(yè)務,則其可以有權訪問包圍區(qū)成對的密鑰EKm……ΕΚ。,這將足夠產(chǎn)生可能由包圍區(qū)IlOA內的設備使用的任何服務器密鑰。圖2A圖示包圍區(qū)成對的密鑰EKy用于產(chǎn)生用于在包圍區(qū)i和j中的設備之間通信的密鑰。當包圍區(qū)i中的服務器k需要在與包圍區(qū)j中的客戶端通信中使用的密鑰時, 使用服務器k的標識符作為服務器密鑰導出輸入來產(chǎn)生服務器密鑰SKi, j,k。因此,可以產(chǎn)生多個服務器密鑰,圖示了其中的服務器密鑰234A、234B、234C和234D。在此例子中,這些服務器密鑰可以用于不同的服務器,盡管每個服務器可以具有多個服務器密鑰,這取決于與其通信的客戶端設備的位置。如其他密鑰那樣,服務器密鑰可以預先產(chǎn)生或者可以在設備之間的通信創(chuàng)建了對另一個服務器密鑰的需要時動態(tài)地產(chǎn)生。根據(jù)服務器密鑰,可以產(chǎn)生諸如密鑰M4A、244B、M4C和M4D之類的各個安全關聯(lián)密鑰。如其他密鑰那樣,可以使用取層級中的下一個較高級別處的密鑰作為輸入的單向加密功能來產(chǎn)生安全關聯(lián)密鑰。在此情況下,偽隨機加密功能240使用服務器密鑰并基于安全關聯(lián)(SA)密鑰導出輸入242產(chǎn)生安全關聯(lián)密鑰。當包圍區(qū)i中的服務器k正與包圍區(qū)j中的客戶端通信時,其對每個客戶端m產(chǎn)生不同的安全關聯(lián)密鑰。從而,唯一的安全關聯(lián)密鑰CKi, j, k, m可以用于每個安全關聯(lián)??梢愿鶕?jù)服務器密鑰SKiijik和與安全關聯(lián)m相關聯(lián)的安全關聯(lián)密鑰導出輸入242 產(chǎn)生安全關聯(lián)密鑰CKiij,k,m。安全關聯(lián)密鑰導出輸入242可以是任何適當?shù)闹?。?yōu)選地,跨越在該服務器的活動的安全關聯(lián),該值是唯一的,因此可以用作安全關聯(lián)的標識符。在一些實施例中,安全關聯(lián)密鑰導出輸入可以是隨機產(chǎn)生的值。但是,該值可以基于時間戳或者任何其他適當?shù)男畔⒃?。為了允許設備根據(jù)層級中較高級別處的密鑰產(chǎn)生安全關聯(lián)密鑰,可以使安全關聯(lián)密鑰導出輸入對那些設備而言是可用的。例如,如果中間設備140A (圖1A)要監(jiān)視從包圍區(qū)IlOA (圖1A)發(fā)送的業(yè)務,則為中間設備140A提供用于產(chǎn)生用于涉及包圍區(qū)IlOA中的設備的所有安全關聯(lián)的安全關聯(lián)密鑰的安全關聯(lián)密鑰導出輸入??梢允褂萌魏芜m當?shù)臋C制來使得安全關聯(lián)密鑰導出輸入可用。作為一個例子,安全關聯(lián)密鑰導出輸入可以被包括在使用從那些輸入產(chǎn)生的安全關聯(lián)密鑰加密的消息中。在圖2A的實施例中,直接從組織密鑰210產(chǎn)生每個成對的包圍區(qū)密鑰。其他方法是可能的。在可替代實施例中,一些成對的包圍區(qū)密鑰可以間接從組織密鑰產(chǎn)生。圖2B圖示了其中基于包圍區(qū)密鑰服務器之間的交互從組織密鑰間接產(chǎn)生包圍區(qū)成對的密鑰的實施例。圖2B的過程開始于塊250。在塊250,產(chǎn)生包圍區(qū)密鑰。在塊250處產(chǎn)生的包圍區(qū)密鑰可以用于產(chǎn)生用于相同包圍區(qū)內的設備之間的通信的密鑰。從而,當i等于j時,在塊250處產(chǎn)生的包圍區(qū)密鑰可以被認為與包圍區(qū)成對的密鑰EKy相同。在塊250處產(chǎn)生的包圍區(qū)密鑰可以按任何適當?shù)姆绞疆a(chǎn)生。作為一個例子,可以使用如圖2A所示的偽隨機加密功能根據(jù)組織密鑰210產(chǎn)生包圍區(qū)密鑰。但是,在一些實施例中,包圍區(qū)密鑰可以由網(wǎng)絡管理員直接提供在包圍區(qū)密鑰服務器中或者按任何其它適當?shù)姆绞将@得。例如,它們可以隨機產(chǎn)生。一旦為每個包圍區(qū)產(chǎn)生了密鑰,處理就前進到循環(huán)開始252。循環(huán)開始252是針對每個包圍區(qū)i重復的循環(huán)的開始。從循環(huán)開始252,過程前進到循環(huán)開始254。循環(huán)邪4是針對每隔一個包圍區(qū)j重復的子循環(huán)的開始。處理前進到?jīng)Q定塊256。在決定塊256,取決于包圍區(qū)對(i,j)是否需要成對的密鑰,所述過程出現(xiàn)分支。如果需要成對的包圍區(qū)密鑰,則過程分支到塊258。在塊258,為包圍區(qū)對(i,j)產(chǎn)生成對的包圍區(qū)密鑰??梢园慈魏芜m當?shù)姆绞疆a(chǎn)生成對的密鑰。作為一個例子,可以在包圍區(qū)i中的包圍區(qū)密鑰服務器和包圍區(qū)j中的包圍區(qū)密鑰服務器之間執(zhí)行密鑰交換協(xié)議。該密鑰交換可以用于獨立地產(chǎn)生并共享成對的密鑰EKi,」。但是,使用任何適當?shù)募用芄δ艿娜魏芜m當?shù)臋C制可以用于產(chǎn)生成對的密鑰。一旦產(chǎn)生成對的密鑰,處理就前進到?jīng)Q定塊沈0,其中如果存在更多的包圍區(qū)對要處理,則處理循環(huán)回到循環(huán)開始254。處理按此方式在涉及循環(huán)開始254、決定塊254、決定塊256、處理塊258和決定塊沈0的子循環(huán)中繼續(xù),直到處理了每個包圍區(qū)對。對于可能因為在包圍區(qū)對中的設備之間不發(fā)生通信而不需要密鑰對的包圍區(qū)對,處理通過從決定塊256分支到?jīng)Q定塊260而繞過塊258中的密鑰產(chǎn)生步驟。
13
—旦對涉及在循環(huán)開始252處選擇的包圍區(qū)i的每對包圍區(qū)完成了開始于循環(huán)開始254的子循環(huán)中的處理,處理就將從決定塊260前進到?jīng)Q定塊沈2。在決定塊沈2,處理將循環(huán)回到其中下一個包圍區(qū)將被選擇的循環(huán)開始252。將針對該下一個包圍區(qū)重復子循環(huán)254中的處理。處理將按此方式繼續(xù)循環(huán),直到針對在其之間可以發(fā)生通信的每對包圍區(qū)產(chǎn)生成對的包圍區(qū)密鑰。無論產(chǎn)生成對的包圍區(qū)密鑰的方式如何,它們都可以用于產(chǎn)生層級中的較低級別處的密鑰以最終形成計算機系統(tǒng)中的設備對之間的安全關聯(lián)。來自在形成具體安全關聯(lián)中使用的成對的密鑰集的具體成對的密鑰取決于對于該安全關聯(lián)的主機所位于的包圍區(qū)。這樣的方法涉及具有關于具體主機可能位于的包圍區(qū)的可用信息。在一些實施例中,可以為每個主機供應其所位于的包圍區(qū)的指示。然后可以由主機向密鑰服務器或者產(chǎn)生由該主機使用的密鑰的其他設備提供包圍區(qū)標識。可替代地,在一些實施例中,可以提供允許主機動態(tài)地發(fā)現(xiàn)其所位于的包圍區(qū)的機制。在一些實施例中, 動態(tài)包圍區(qū)發(fā)現(xiàn)過程還可以允許主機發(fā)現(xiàn)預期用作安全關聯(lián)的相對端點的另一主機所位于的包圍區(qū)。在一些實施例中,包圍區(qū)發(fā)現(xiàn)過程可以被并入用于形成安全關聯(lián)的協(xié)議中。圖3 圖示了對形成安全關聯(lián)的已知協(xié)議的修改以允許至少一個主機確定一個主機或兩個主機所位于的包圍區(qū)。圖3圖示擔當服務器340的第一主機和擔當客戶端350的第二主機之間的通信。 在所示的實施例中,服務器340產(chǎn)生用于根據(jù)安全關聯(lián)通信的密鑰。然后服務器340將該密鑰分發(fā)到客戶端350。在產(chǎn)生和分發(fā)密鑰之前,服務器340和客戶端350交換控制密鑰產(chǎn)生和分發(fā)過程的一個或多個控制分組。從而,圖3圖示了在作為產(chǎn)生和分發(fā)密鑰的部分的用于交換控制信息的過程308中的步驟。過程308可以是本領域中已知的用于形成安全關聯(lián)的過程或該過程的部分。例如,過程308可以表示根據(jù)因特網(wǎng)密鑰交換(IKE)協(xié)議或者AuthIP協(xié)議的分組交換。這些協(xié)議的每個涉及在服務器340和客戶端350之間交換控制分組。在圖3的例子中,過程308涉及由服務器340發(fā)送到客戶端350的控制分組310。 客戶端350以發(fā)送到服務器340的控制分組320來響應??梢愿鶕?jù)已知的協(xié)議或者按任何其他適當?shù)姆绞絹砀袷交刂品纸M310和320。在圖3的例子中,控制分組310和320的每個包括多個字段。未由該協(xié)議指定的信息可以被插入到這些字段的一個或多個中以支持包圍區(qū)發(fā)現(xiàn)而不脫離該協(xié)議。例如,控制分組310被示出為具有字段312、314和316。在此,為了簡化示出了三個字段,但是控制分組可以具有比所示更多的字段。在此例子中,信息元素318被服務器 340插入字段314中。信息元素318可以用作包圍區(qū)發(fā)現(xiàn)過程的部分。類似地,示出控制分組320具有字段322、3M和326。在此例子中,支持包圍區(qū)發(fā)現(xiàn)的信息元素被插入到字段326中。在圖3的例子中,信息元素330、332和334被插入到字段326中。由處理控制分組320的中間設備在該控制分組320從客戶端350經(jīng)過網(wǎng)絡被路由到服務器340時插入這些信息元素的每個。當服務器340接收到分組320時,其提取信息元素330、332和334以確定其包圍區(qū),并可選地確定客戶端350所位于的包圍區(qū)。在所示的實施例中,信息元素318用于用信號通知位于服務器340和客戶端350之間的網(wǎng)絡中的中間設備服務器340正根據(jù)包圍區(qū)發(fā)現(xiàn)過程尋求信息??梢园慈魏芜m當方式將信息元素318并入控制分組310中。作為一個例子,信息元素318可以被添加在控制分組310的銷售商ID字段中,該字段可以是在某些已知的通信協(xié)議中所定義的字段。被插入到控制分組310的銷售商ID字段中的值可以是用信號通知期望包圍區(qū)發(fā)現(xiàn)過程的任何預定義的代碼。在控制分組310經(jīng)過服務器340和客戶端350之間的網(wǎng)絡時,其首先經(jīng)過中間設備360。中間設備360可以按已知的方式處理控制分組310使得控制分組310朝向客戶端 350繼續(xù)其路徑的路由器或其他多端口設備。除了這種已知的處理之外,中間設備360可以檢查字段314的內容。在檢測到信息元素318具有指示服務器340正設法參與包圍區(qū)發(fā)現(xiàn)過程的值時,中間設備360可以存儲服務器340正尋求包圍區(qū)發(fā)現(xiàn)信息的指示318’。中間設備360然后可以監(jiān)視網(wǎng)絡業(yè)務以檢測尋址到服務器340的分組??刂品纸M310可以從中間設備360傳遞到另一中間設備,在此圖示為中間設備 362。中間設備362可以類似地處理控制分組310,也存儲服務器340正尋求包圍區(qū)發(fā)現(xiàn)信息的指示318’。對于中間設備362,控制分組310可以在其到客戶端350的路途上傳遞到進一步的中間設備。在此,示出了一個附加的中間設備(中間設備364)。如中間設備362和 360那樣,中間設備364存儲服務器340正尋求包圍區(qū)發(fā)現(xiàn)信息的指示318’??蛻舳?50可以如本領域中已知那樣響應于控制分組310。對控制分組310的響應的一部分可以是產(chǎn)生隨后的控制分組,在此圖示為控制分組320。在控制分組320經(jīng)過網(wǎng)絡朝向服務器340傳送時,其經(jīng)過處理了控制分組310的中間設備364、362和360。從而, 這些中間設備的每個檢查導向服務器340的網(wǎng)絡分組,其中中間設備可以將包圍區(qū)發(fā)現(xiàn)信息插入該網(wǎng)絡分組。中間設備364因此將控制分組320標識為包圍區(qū)發(fā)現(xiàn)信息要被插入到的控制分組。在所示的實施例中,控制分組320包括字段322、3M和326。字段的具體數(shù)量和內容可以由在建立安全關聯(lián)中使用的協(xié)議定義。但是,在所示的實施例中,字段3 是可擴展性字段,意味著協(xié)議不定義對字段326的內容的要求。從而,中間設備可以將信息插入到字段326中而不更改在服務器340和客戶端350之間形成安全關聯(lián)所需的信息。中間設備364將服務器340可以使用來作為為客戶端350和/或服務器340確定包圍區(qū)的過程的部分的信息插入到字段326中。在所示的實施例中,中間設備364插入信息元素330。信息元素330指示中間設備364已經(jīng)被分配到的包圍區(qū)。因為中間設備364 是由客戶端350發(fā)送的分組遇到的第一個中間設備,同樣,中間設備364是網(wǎng)關或者關聯(lián)于與客戶端350相同的包圍區(qū)的其他多端口設備。因此,信息元素330可以被取作客戶端350 所位于的包圍區(qū)的指示符。在控制分組320經(jīng)過網(wǎng)絡時,其接下來被中間設備362處理。因為中間設備362 正監(jiān)視導向服務器340的分組,中間設備362類似地檢測控制分組320并插入標識中間設備362所位于的包圍區(qū)的信息元素332。信息元素332按反映控制分組320的處理順序的方式被插入到字段326中。用于反映處理順序的一個簡單的機制是將信息元素332插入到在信息元素330之后的列表中。 但是,可以使用用于保存排序的任何適當?shù)慕Y構。在控制分組320繼續(xù)經(jīng)過網(wǎng)絡時,其接下來由中間設備360處理。如中間設備362和364那樣,中間設備360插入指示中間設備所位于的包圍區(qū)的信息元素334。同樣按保存處理順序的方式插入信息元素334,比如通過將其附于已經(jīng)在字段326中的信息的列表。從而,當控制分組320到達服務器340時,服務器340可以分析字段3 的內容以確定控制分組320在從客戶端350到服務器340的路徑上所經(jīng)過的包圍區(qū)。在該路徑的任一端的包圍區(qū)類似地是服務器340和客戶端350所位于的包圍區(qū)的指示符。由在字段326 中的列表的任一端處的信息元素(在此是信息元素330和334)標識的包圍區(qū)對可以用于選擇用來產(chǎn)生用于服務器340和客戶端350之間的安全關聯(lián)的安全關聯(lián)密鑰的成對的密鑰。 在圖2A所示的實施例中,該信息可以用于選擇要在產(chǎn)生安全關聯(lián)密鑰時使用的具體服務朗。應該認識到,圖3圖示了包圍區(qū)發(fā)現(xiàn)過程的一個例子,并且各變化是可能的。例如,在一些實施例中,經(jīng)過網(wǎng)絡的不同路徑可能導致控制分組經(jīng)過不同的中間設備。結果, 服務器340可能不是在所有場景中都接收到其自己的包圍區(qū)的一致指示。在該場景中,月艮務器340可以保持在不同時間時接收的關于其指示的包圍區(qū)的信息。服務器340可以分析該信息以確定其包圍區(qū)位置。作為進一步的變化,當客戶端350獲悉其包圍區(qū)時,其可以將該信息插入到字段326中,作為該列表中的第一信息元素,或者另外發(fā)信號通知其包圍區(qū)位置。在另一變化中,中間者可以連同其分配的包圍區(qū)一起插入額外的信息。例如,中間者可以包括標識它們擁有其包圍區(qū)密鑰的其他包圍區(qū)的信息,使得服務器可以確定沿著該路徑的所有中間者是否都具有處理客戶端的所發(fā)現(xiàn)的包圍區(qū)和服務器的所發(fā)現(xiàn)的包圍區(qū)之間的業(yè)務所需的成對的密鑰。圖3圖示每個中間設備在接收到信息元素318之后將用于包圍區(qū)發(fā)現(xiàn)的信息元素插入到它們檢測到的導向服務器340的第一分組中。中間設備可以在與信息元素318的接收有關的任何適當?shù)臅r間將信息元素插入到任何適當數(shù)量的分組中。作為可替代方案,中間設備可以在接收到信息元素318之后將各信息元素插入到多個分組中或者達預定的時間量。作為另一變化的例子,中間設備可以插入用于包圍區(qū)發(fā)現(xiàn)的信息元素而沒有來自服務器的包圍區(qū)發(fā)現(xiàn)信息的需要的具體指示。在這樣的實施例中,中間設備可以將包圍區(qū)發(fā)現(xiàn)信息插入到所有分組中或者僅插入到某類型的分組中。例如,中間設備可以將用于包圍區(qū)發(fā)現(xiàn)的信息元素插入到在形成安全關聯(lián)中使用的所有控制分組中,而不管請求這種包圍區(qū)發(fā)現(xiàn)的信息元素是否在先前已被中間設備檢測到。無論包圍區(qū)發(fā)現(xiàn)信息被提供給服務器340的細節(jié)如何,一旦服務器340可以標識其包圍區(qū)和客戶端350的包圍區(qū),其就可以產(chǎn)生一個或多個安全關聯(lián)密鑰并使用已知的協(xié)議或按任何其他適當?shù)姆绞酵瓿尚纬膳c客戶端350的安全關聯(lián)的過程。其后,服務器340 和客戶端350可以根據(jù)該安全關聯(lián)而通信。圖3圖示了在過程308之后,客戶端350和服務器340可以根據(jù)該安全關聯(lián)交換分組。作為例子圖示了分組370。分組370可以根據(jù)用于定義客戶端350和服務器340之間的安全關聯(lián)的協(xié)議被格式化。分組370可以包含多個字段,圖示了其中的字段372、374和376。每個字段可以包含不同類型的信息。例如,字段376可以包含已經(jīng)用安全關聯(lián)密鑰簽名或加密的數(shù)據(jù)。分組 370內的其他字段可以用于通過網(wǎng)絡路由分組370或者另外用在處理分組370中。分組370中的一個這樣的字段可以包含密鑰導出信息,用于產(chǎn)生用于客戶端350和服務器340之間的安全關聯(lián)的安全關聯(lián)密鑰。將密鑰導出信息并入分組370內允許有權訪問用于導出安全關聯(lián)密鑰的密鑰層級中的任意級別處的密鑰的任何設備重新產(chǎn)生安全關聯(lián)密鑰并處理分組370。在圖2A圖示的密鑰層級中,這樣的密鑰導出信息可以包括客戶端350和服務器340所位于的包圍區(qū)對、產(chǎn)生了安全關聯(lián)密鑰的服務器的身份、以及用于產(chǎn)生安全關聯(lián)密鑰的密鑰導出輸入對2。該信息可以按任何適當?shù)姆绞讲⑷敕纸M370中。在圖3的例子中,該信息被記錄在分組370的字段374中。在所示的例子中,字段374包含服務器ID 380,其可以標識產(chǎn)生了安全關聯(lián)密鑰的服務器。另外,字段374可以包含安全性參數(shù)索引(SPI),其可以包含或標識其他密鑰導出輸入。SPI可以標識用作密鑰導出輸入M2 (圖2A)的隨機數(shù)和/或客戶端350和服務器340所位于的包圍區(qū)對。但是,應該認識到,圖3僅圖示了通過其可以使密鑰導出信息對處理分組370的設備而言可用的機制的一個例子。如所示,密鑰導出信息字段374未被加密。不過,可以保持分組370的安全性,因為字段374中的密鑰導出輸入僅對包含了從其產(chǎn)生了安全關聯(lián)密鑰的密鑰的設備有用。被授權獲得從其產(chǎn)生了安全關聯(lián)密鑰的密鑰的任何設備可以重新產(chǎn)生用于處理分組370的安全關聯(lián)密鑰。該過程可以由服務器340或者由諸如中間設備360、362和364 之類的中間設備的任意一個執(zhí)行。在一些實施例中,產(chǎn)生安全關聯(lián)密鑰使得可以處理分組370的處理可以被卸載到網(wǎng)絡接口卡或者計算機設備的其他適當?shù)慕M件中的硬件。該硬件如果有權訪問適當?shù)拿荑€則可以在分組370被處理時在運行中產(chǎn)生安全關聯(lián)密鑰,并然后使用所產(chǎn)生的密鑰來處理分組370中的信息。圖4A圖示了可以在諸如服務器340之類的服務器中執(zhí)行的過程400。 但是,可以在諸如中間者360、362或364的任意一個之類的任意設備中執(zhí)行相當?shù)倪^程。過程400開始于塊410。在塊410,服務器獲得用于該服務器所位于的包圍區(qū)的成對的密鑰。可以使用如上結合圖3所述的包圍區(qū)發(fā)現(xiàn)過程或者按任何其他適當?shù)姆绞絹順俗R服務器所位于的包圍區(qū)。在塊410處獲得的成對的密鑰可以是包圍區(qū)成對的密鑰,比如圖2A中所示的成對的密鑰224A……224D。可替代地,在其中根據(jù)包圍區(qū)成對的密鑰產(chǎn)生服務器成對的密鑰的實施例中,在塊410處獲得的成對的密鑰可以是服務器成對的密鑰,比如圖2A中的密鑰 234A……234D。無論成對的密鑰的具體格式如何,它們都可以從任何適當?shù)脑传@得,比如在包含要產(chǎn)生安全關聯(lián)密鑰的服務器的包圍區(qū)內部或外部的密鑰服務器。在塊412處,成對的密鑰被存儲在服務器上。該密鑰可以被存儲在與服務器相關聯(lián)的任何適當?shù)挠嬎銠C存儲介質上。但是,在其中要執(zhí)行加密功能的硬件卸載的實施例中, 成對的密鑰可以存儲在諸如網(wǎng)絡接口卡(NIC)之類的網(wǎng)絡接口硬件內。然后過程前進到循環(huán)開始420,這是服務器將進入的針對每個安全關聯(lián)執(zhí)行的循環(huán)的開始。在開始于循環(huán)開始420的該循環(huán)內,服務器可以執(zhí)行適合于一個安全關聯(lián)的處理。該處理開始于塊422,其中服務器向將作為安全關聯(lián)的第二主機的客戶端發(fā)送消息。這樣的消息可以是控制分組310 (圖3)的形式的。但是,可以使用任何適當?shù)南⒏袷?,包括特別格式化用于從客戶端或者從消息路徑上的中間者得出其所駐留的包圍區(qū)的指示的消肩、ο然后過程前進到塊424,其中服務器接收來自客戶端的響應。這樣的響應可以是中
17間設備已經(jīng)將包圍區(qū)發(fā)現(xiàn)信息插入到其中的控制分組320 (圖3)格式的。但是,在塊424 處接收的響應可以是任何適當?shù)母袷降?,包括由客戶端具體格式化用于傳達其包圍區(qū)的消肩、ο無論在塊422處發(fā)送的消息和在塊4M處接收的響應的格式如何,服務器都可以在塊似6和4 處處理響應以確定客戶端和服務器的適當?shù)陌鼑鷧^(qū)對。在塊似6處,從響應中提取標識服務器包圍區(qū)的信息,在塊428,從響應中提取標識客戶端包圍區(qū)的信息。在塊似6和似8處的處理可能涉及處理信息元素的列表,比如330、332和334 (圖3)。但是, 可以按任何適當?shù)姆绞綀?zhí)行塊似6和4 處的處理以確定客戶端和服務器的適當?shù)陌鼑鷧^(qū)對。一旦標識了適當?shù)陌鼑鷧^(qū)對,就在塊430處選擇成對的密鑰。在一些實施例中,選擇成對的密鑰可能需要訪問密鑰服務器。在其他實施例中,選擇成對的密鑰可能需要從先前下載到服務器的成對的密鑰集讀取。例如,選擇可以基于在塊410處獲得的密鑰。本領域技術人員將認識到,圖4A是簡化的圖示,并且不需要完全按照該例子中的順序執(zhí)行過程400的步驟。作為可能的變化的一個例子,應該理解,在塊430處選擇成對的密鑰可以形成在塊410處獲得成對的密鑰所需的處理的一部分。例如,如果存在可能可以使用的大量的成對的密鑰,則可以使用這樣的過程。在該場景中,可以在塊430處的處理標識形成與其他包圍區(qū)中的客戶端的安全關聯(lián)所需的具體成對的密鑰時動態(tài)并遞增地下載成對的密鑰。無論何時以及在哪里獲得所選的成對的密鑰,過程前進到塊432。在塊432處,獲得用于產(chǎn)生安全關聯(lián)密鑰的密鑰導出輸入。在一些實施例中,密鑰導出輸入可以包括隨機數(shù),使得塊432處的處理可以包括該隨機數(shù)的產(chǎn)生。可替代地或另外地,密鑰導出輸入可以包括在塊似6處檢測的服務器包圍區(qū)的標識符以及在塊4 處檢測的客戶端包圍區(qū)的標識符。無論具體的導出輸入以及獲得其的源如何,處理可以繼續(xù)到塊434,其中導出安全關聯(lián)密鑰。塊434處的處理可能涉及在塊432處獲得的密鑰導出輸入中使用在塊430處選擇的成對的密鑰來執(zhí)行加密功能。但是,可以按任何適當?shù)姆绞疆a(chǎn)生安全關聯(lián)密鑰。產(chǎn)生安全關聯(lián)密鑰可能需要服務器和客戶端之間的交互,使得客戶端和服務器兩者具有安全關聯(lián)密鑰的副本。安全關聯(lián)密鑰可以由服務器產(chǎn)生,然后按任何適當?shù)姆绞絺鬏數(shù)娇蛻舳?,所述方式包括如本領域中已知的密鑰交換協(xié)議。還可以使用在客戶端和服務器之間共享的其他信息在其兩者上產(chǎn)生密鑰。適當?shù)拿荑€交換協(xié)議的例子是IKE和 AuthIP。從而,圖4B示出了密鑰交換子過程436。應該認識到,圖4B示意性地指示發(fā)生通過其客戶端和服務器兩者共享密鑰的交互,并且那些交互可能需要在除圖4B所示之外的時間交換信息。無論安全關聯(lián)密鑰如何被傳送到客戶端,過程都還可以包括在塊438處將密鑰導出信息傳送到客戶端。盡管客戶端可能不使用密鑰導出信息用于對分組的加密處理,但是客戶端可以用一些或所有密鑰導出信息標記通過安全關聯(lián)發(fā)送的分組。以此方式標記分組允許設備、特別是不直接參與密鑰交換的中間設備重新產(chǎn)生安全關聯(lián)密鑰,使得它們可以處理通過安全關聯(lián)發(fā)送的分組。塊448圖示了在子過程436中的密鑰交換、包括在塊438處提供密鑰導出信息之后,在塊448,客戶端和服務器可以使用用一些或所有密鑰導出信息標記的分組通過安全關聯(lián)來通信??梢栽谂c服務器相關聯(lián)的任何適當?shù)挠布袌?zhí)行過程400。過程400的一些或所有可以由在服務器內的一個或多個處理器上執(zhí)行的軟件來控制。此外,過程400的一些或所有步驟可以被卸載到與服務器相關聯(lián)的其他硬件。例如,與處理在塊440處傳送的分組相關聯(lián)的加密功能可以被卸載到該服務器的網(wǎng)絡接口內的硬件。如上所述,分級分發(fā)系統(tǒng)允許被授權有權訪問密鑰的中間設備處理安全關聯(lián)中的分組。在一些計算機系統(tǒng)中,不是預期處理安全關聯(lián)中的分組的所有中間設備都可以支持這樣的分級密鑰產(chǎn)生。在那些實施例中,服務器可以支持與被授權中間者的直接密鑰交換。 可以按任何適當?shù)姆绞接|發(fā)直接密鑰交換。例如,中間者可以經(jīng)由類似于用于包圍區(qū)發(fā)現(xiàn)的信令機制而用信號通知終端主機它們對于直接密鑰交換的需要。圖4B圖示了中間者在檢測到形成安全關聯(lián)的分組時可以在導向服務器的分組中提供信息,其中中間設備不具有用于該安全關聯(lián)的安全關聯(lián)密鑰。該信息可以擔當服務器參與與中間設備的直接密鑰交換的請求。例如,圖3圖示了作為建立安全關聯(lián)的部分傳送的控制分組。例如中間設備可以在導向服務器340的控制分組320的字段中設置標志。這樣的標志可以用作服務器340參與與中間設備的直接密鑰交換協(xié)議的請求。圖4B圖示了當服務器接收到這樣標志的分組時,處理可以從決定塊442分支到塊 444。在塊444,服務器可以與中間者共享安全關聯(lián)密鑰。服務器可以按本領域中已知的任何適當?shù)姆绞焦蚕碓撁荑€,包括通過使用密鑰交換協(xié)議。這樣的過程可以包括確認中間設備被授權有權訪問通過安全關聯(lián)傳送的信息。在所示的實施例中,在塊442處檢測到的標志可以被附到的分組是與建立安全關聯(lián)相關聯(lián)的控制分組。在一些場景中,在建立安全關聯(lián)之后,中間設備可以進入或離開客戶端和服務器之間的路徑。例如由于網(wǎng)絡配置或者由于在網(wǎng)絡工作期間可能變化的負載或其他條件而改變分組路由的多端口設備中的有條件的處理的改變,可以發(fā)生網(wǎng)絡路徑中的這種改變。在其中被授權處理與安全關聯(lián)相關聯(lián)的分組的每個中間設備從分組獲得密鑰導出信息的實施例中,在形成安全關聯(lián)之后進入路徑的任何新的中間者可以訪問分組達與形成該安全關聯(lián)時該路徑中的中間設備相同的程度。但是,不能如上所述使用分級密鑰執(zhí)行動態(tài)密鑰產(chǎn)生的中間設備在安全關聯(lián)被形成之后新添加到路徑時,不能作為安全關聯(lián)形成的部分而用信號通知服務器執(zhí)行與該中間設備的直接密鑰交換。從而,根據(jù)一些實施例的計算機系統(tǒng)可以并入用于不支持動態(tài)密鑰產(chǎn)生的中間者的獲得適當?shù)陌踩P聯(lián)密鑰的機制。在圖4B所示的例子中,這樣的中間設備可以對導向服務器的任意分組加標志。這樣的標志可以由服務器翻譯為對安全關聯(lián)更新密鑰(re-key)的請求。作為更新密鑰的部分,該中間設備可以請求直接從服務器更新密鑰,如結合決定塊442和444所述。從而,圖 4B的過程包括決定塊450,其中如果服務器接收到用來自中間設備的執(zhí)行更新密鑰操作的請求加標志的分組則處理進行分支。如果接收到這樣的請求,則過程從決定塊450分支到?jīng)Q定塊452。在決定塊452 處,取決于服務器確定插入標記的中間設備是否是有效的中間設備,過程再次進行分支??梢允褂糜糜诖_定有效的中間設備的任何適當?shù)姆椒?。作為一個例子,服務器在接收到這樣標記的分組時可以驗證該分組的完整性以確定設置標志的中間者處于由在參與安全關聯(lián)的服務器和客戶端之間流動的認證的分組經(jīng)過的路徑中。無論如何確定中間設備的有效性,如果中間設備無效,則過程分支到?jīng)Q定塊454。 相反,如果請求來自有效的中間者,則過程循環(huán)回到循環(huán)開始420,其中重復建立安全關聯(lián)的過程。可以對每個活動的安全關聯(lián)執(zhí)行在塊422、424、426、428、430、432、434、436、438、 440、442、444、450和452處的處理。從而,圖4B圖示了當完成對于一個安全關聯(lián)的處理時, 所述過程可以從決定塊妨4循環(huán)回到循環(huán)開始420,其中可以對其他活動的安全關聯(lián)重復該過程。應該認識到,盡管圖4A和4B圖示了連續(xù)的處理,但是僅為了圖示的簡化而連續(xù)地圖示該處理,并且可以同時或在任何其他適當?shù)臅r間執(zhí)行對于多個安全關聯(lián)的處理。圖4A和4B圖示了對服務器執(zhí)行的處理,該服務器是安全關聯(lián)的一個主機。也對客戶端執(zhí)行處理,該客戶端可以是安全關聯(lián)的第二主機。圖5提供了可以對客戶端執(zhí)行的處理的例子。圖5的過程開始于塊510,其中發(fā)起與服務器的安全連接??梢酝ㄟ^對客戶端的處理、通過對服務器的處理或者響應于任何適當?shù)氖录l(fā)起該連接??梢园慈魏芜m當?shù)姆绞叫纬稍摪踩B接。形成安全連接可能需要將一個或多個控制消息從客戶端發(fā)送到服務器,如塊512處的處理所反映的。塊512處的處理可能需要發(fā)送諸如控制消息320 (圖3)之類的控制消息或者由客戶端發(fā)送和/或接收一個或多個控制消息。形成安全連接還可能需要執(zhí)行與服務器的密鑰交換協(xié)議。在塊520處,客戶端可以參與這樣的密鑰交換其結果是,客戶端從服務器獲得安全關聯(lián)密鑰。在一些實施例中,可能要求不對客戶端修改以便如上所述使用分級密鑰。從而,可以使用如本領域中已知的技術執(zhí)行塊510、512和520處的處理。但是,可以執(zhí)行任何適當?shù)奶幚?。一旦形成了安全關聯(lián),處理就可以前進到塊522,其中客戶端接收密鑰導出信息。 如上所述,可以使用密鑰導出信息來標記使用安全關聯(lián)發(fā)送的消息,使得接收那些分組的任何被授權的設備可以產(chǎn)生適當?shù)陌踩P聯(lián)密鑰。在所示的實施例中,無論是由客戶端還是服務器發(fā)起,根據(jù)該安全關聯(lián)傳送的分組被用密鑰導出信息標記。從而,在塊522處,客戶端接收并存儲該密鑰導出信息。在塊522處接收導出信息可能需要從包含該密鑰導出信息的服務器接收分組。但是,在塊522可以使用用于向客戶端提供密鑰導出信息的任何適當?shù)臋C制。一旦客戶端具有安全關聯(lián)密鑰和密鑰導出信息兩者,其就可以開始使用該安全關聯(lián)傳送分組。在塊5M處,使用安全關聯(lián)密鑰產(chǎn)生分組??梢允褂帽绢I域中已知的用于根據(jù)安全關聯(lián)來產(chǎn)生分組的技術來執(zhí)行塊5M處的處理。在塊526,可以將在塊522處接收到的密鑰導出信息附于在塊5 處產(chǎn)生的分組。 在其中存在四個級別的密鑰層級的諸如圖2A所示的實施例中,密鑰導出信息可以包括來自所有級別的密鑰產(chǎn)生的密鑰導出信息。從而,在塊5 處添加的信息可以包括包圍區(qū)對信息、服務器身份信息和由服務器用來產(chǎn)生安全關聯(lián)密鑰的值。但是,在塊5 處添加的具體信息可以取決于密鑰層級中的級別數(shù)量以及用于產(chǎn)生層級的每個級別處的密鑰的具體導出f曰息ο
一旦分組被格式化,處理就前進到塊528。在塊5 處,客戶端將分組傳輸?shù)椒掌?。在塊530,客戶端可以接收來自服務器的分組。在塊532,客戶端可以使用在塊520中獲得的安全關聯(lián)密鑰來解密和/或驗證接收的分組。可以使用本領域中已知的技術執(zhí)行塊 528,530和532處的處理。但是,可以使用用于傳輸、接收和解密和/或驗證分組的任何適當?shù)臋C制。然后過程可以前進到?jīng)Q定塊M0,其中取決于是否要使用安全關聯(lián)發(fā)送或接收更多數(shù)據(jù),所述過程可以進行分支。當仍有更多數(shù)據(jù)要處理時,過程循環(huán)回到塊524,其中客戶端可以使用安全關聯(lián)產(chǎn)生和/或接收進一步的分組。當沒有剩下進一步的數(shù)據(jù)用于客戶端和服務器之間的通信時,圖5的過程可以結束。圖6圖示可以由中間設備執(zhí)行的過程。如上所述,中間設備可以參與包圍區(qū)發(fā)現(xiàn)過程。另外,中間設備可以監(jiān)視和處理根據(jù)涉及其他設備的安全關聯(lián)傳輸?shù)姆纸M。圖6圖示在塊610處中間設備可以監(jiān)視分組。在塊610處,中間設備可以檢測經(jīng)過網(wǎng)絡的分組。可以使用本領域中已知的電路和技術來執(zhí)行此監(jiān)視,盡管任何適當?shù)姆椒梢杂糜跈z測經(jīng)過網(wǎng)絡傳輸?shù)姆纸M。當中間設備檢測到分組時,取決于該分組是否被標記為發(fā)現(xiàn)分組,處理可以在決定塊612處分支。在圖3的實施例中,可以通過將信息元素318包括在諸如字段314的字段中來將分組標記為發(fā)現(xiàn)分組。但是,可以使用任何適當?shù)臋C制來指定發(fā)現(xiàn)分組。無論標識發(fā)現(xiàn)分組的具體方式如何,當發(fā)現(xiàn)了發(fā)現(xiàn)分組時,處理可以從決定塊612 分支到塊614。在塊614處,中間設備可以將其包圍區(qū)的指示附于一個或多個分組。在一些實施例中,包圍區(qū)信息被附于的分組可以與發(fā)現(xiàn)分組相同。在該場景中,可以由與產(chǎn)生該發(fā)現(xiàn)分組的主機相對的主機接收在塊614處的包圍區(qū)發(fā)現(xiàn)信息。可替代地,如圖3所示,可以將包圍區(qū)信息附于導向產(chǎn)生了該發(fā)現(xiàn)分組的主機的隨后的分組。無論對該發(fā)現(xiàn)分組的具體響應如何,一旦該響應完成,圖6的處理就可以結束。如果通過在塊610處的監(jiān)視檢測到的分組不包含發(fā)現(xiàn)分組,則所述過程可以從決定塊612分支到塊630。在塊630處,中間設備可以對該分組執(zhí)行加密功能,這可能需要基于所接收的分組中的密鑰導出信息以及對該中間設備可用的層級中的較高級別處的密鑰產(chǎn)生安全關聯(lián)密鑰。該中間設備所執(zhí)行的具體加密功能可以取決于中間設備的特性以及分組中的信息。無論所執(zhí)行的加密功能如何,一旦它們完成,圖6的過程就可以結束。如上所述,分級密鑰分發(fā)系統(tǒng)的一種使用是其有助于將可以監(jiān)視使用安全關聯(lián)傳送的分組的中間設備并入計算機系統(tǒng)中。存在可以由可以監(jiān)視通過安全關聯(lián)保護的網(wǎng)絡業(yè)務的中間設備執(zhí)行的多個網(wǎng)絡管理或保護功能。在一些實施例中,可以為中間設備供應允許它們使用與網(wǎng)絡分組相關聯(lián)的密鑰導出信息產(chǎn)生安全關聯(lián)密鑰的密鑰??梢杂锰峁┌踩鼑鷧^(qū)卸載支持的網(wǎng)絡接口硬件實現(xiàn)這樣的設備。但是,在大企業(yè)中,不是所有的中間設備都可以具有這樣的網(wǎng)絡接口硬件,并且可能不另外支持使用密鑰產(chǎn)生信息產(chǎn)生安全關聯(lián)密鑰,或者可能無權訪問提供從其導出安全關聯(lián)密鑰的較高級別密鑰的密鑰服務器。從而,在一些實施例中,用在計算機系統(tǒng)中的協(xié)議可以提供將一個或多個安全關聯(lián)或者較高級別密鑰直接提供給中間設備的機制。圖7是服務器和中間設備之間的交互的例子,其中中間設備可以發(fā)信號通知服務器其需要安全關聯(lián)密鑰或者較高級別密鑰的直接傳送,并且服務器可以用該密鑰來響應。
圖7的過程開始于子過程700,在該子過程700期間,服務器創(chuàng)建與客戶端的安全關聯(lián),并且還通過直接密鑰交換將安全關聯(lián)密鑰提供給中間設備。子過程700開始于塊 710,其中服務器用服務器支持與中間設備的直接密鑰交換的指示符來標記用于建立安全關聯(lián)的控制分組的至少一個。在塊710處應用的標記可以是任何適當?shù)男问?。例如,在圖3 所示的消息交換中,盡管具有不同的值但是類似于信息元素318的信息元素可以被置于控制分組310中。在塊712處,服務器可以開始建立與客戶端的安全關聯(lián)的過程。建立安全關聯(lián)可以包括發(fā)送在塊710處產(chǎn)生的標記的分組。作為建立安全關聯(lián)的部分在服務器和客戶端之間交換的分組將經(jīng)過中間設備。在塊720,中間設備監(jiān)視網(wǎng)絡業(yè)務并檢測與建立安全關聯(lián)相關聯(lián)的在服務器和客戶端之間傳送的分組。當檢測到這樣的分組時,處理可以前進到?jīng)Q定塊722,其中取決于中間設備是否可以使用安全包圍區(qū)密鑰產(chǎn)生來產(chǎn)生用于處理該分組的密鑰,所述過程可以進行分支。如果是,則子過程700可以完成,處理傳遞到用于中間設備的塊752和用于服務器的塊750。在塊750處,服務器可以使用與客戶端建立的安全關聯(lián)來產(chǎn)生網(wǎng)絡業(yè)務。作為安全關聯(lián)的部分而發(fā)送的分組將在塊752處被中間設備檢測。因為中間設備支持使用安全關聯(lián)密鑰的處理,所以中間設備可以產(chǎn)生對在塊750處產(chǎn)生的網(wǎng)絡業(yè)務執(zhí)行加密處理所需的安全關聯(lián)密鑰。從而,在塊752處,中間設備可以監(jiān)視并另外處理該網(wǎng)絡業(yè)務。相反,如果中間設備不能產(chǎn)生密鑰,則所述過程可以在決定塊722處分支到?jīng)Q定塊724。該中間設備可能由于多個原因的任意一個而不能產(chǎn)生密鑰。例如,該中間設備可能根本不支持安全包圍區(qū)密鑰產(chǎn)生??商娲?,該設備可能支持密鑰產(chǎn)生,但是可能缺少用于處理接收的分組的適當級別處的密鑰。在所示的實施例中,無論中間設備為何不能產(chǎn)生密鑰,處理都分支到?jīng)Q定塊714。但是,其中取決于不能產(chǎn)生密鑰的原因而執(zhí)行不同的處理的其他實施例是可能的。在決定塊7M處,所述過程可以再次進行分支。在塊7M處,取決于中間設備是否有權訪問由服務器建立的安全關聯(lián)密鑰,所述過程進行分支。可以經(jīng)過一些帶外(out Of band)過程或按任何其他適當方式使得密鑰對于中間設備可用。無論如何使得那些密鑰可能對于中間設備可用,如果中間設備具有對作為安全關聯(lián)的部分在服務器和客戶端之間產(chǎn)生的網(wǎng)絡業(yè)務執(zhí)行加密處理所需的安全關聯(lián)密鑰,則所述過程可以從決定塊7M分支到塊 752和750,其中如上所述服務器和客戶端可以產(chǎn)生網(wǎng)絡業(yè)務,這可以由中間設備監(jiān)視。但是,如果該中間設備不支持安全關聯(lián)密鑰的產(chǎn)生或者無權另外訪問安全關聯(lián)密鑰或者任何較高級別密鑰,則所述過程可以從決定塊7M分支到塊726。在塊7 處,中間設備發(fā)信號通知服務器其需要用于在塊712建立的安全關聯(lián)的安全關聯(lián)密鑰或較高級別密鑰。中間設備可以按任何適當?shù)姆绞綄⒋诵枰眯盘柾ㄖ掌?。作為一個例子,中間設備可以用需要安全關聯(lián)密鑰的指示來標記諸如控制分組320 (圖3)之類的控制分組??梢詫⑷魏芜m當?shù)男畔⒃靥砑拥椒纸M以用信號通知服務器對安全關聯(lián)密鑰或較高級別密鑰的需要。當服務器接收到由中間設備在7 處標記的分組時,服務器可以在塊740發(fā)起密鑰交換過程。在塊740處,服務器執(zhí)行與中間設備的密鑰交換。用于密鑰交換的格式可以是與用于向客戶端提供安全關聯(lián)密鑰的相同的格式。但是,任何適當?shù)膮f(xié)議可以用于塊740和742處的密鑰交換。密鑰交換消息還可以被包括在服務器和客戶端之間傳遞的控制分組中,很像是這樣包括了指示對直接密鑰交換的支持或需要的標記。此外,密鑰交換可能涉及服務器聯(lián)系密鑰服務器以獲得適合于中間者的較高層密鑰,其被加密使得僅中間者(而不是服務器)可以對其解密。一旦完成了密鑰交換,過程就可以繼續(xù)到塊750和752,其中如上所述服務器和客戶端可以使用安全關聯(lián)產(chǎn)生網(wǎng)絡業(yè)務,這可以由中間設備使用在塊742處獲得的安全關聯(lián)密鑰在塊752處監(jiān)視。因為服務器和中間設備支持根據(jù)圖7所示的協(xié)議的直接密鑰交換,圖7的過程是可能的。在服務器不支持直接密鑰交換的實施例中,將不用在塊710處提供的指示標記在塊720處接收的分組。在該場景中,中間設備可以放棄請求直接密鑰交換,比如在塊7 處所示。取而代之,中間設備可以采取一個或多個其他的動作來嘗試按另一方式獲得安全關聯(lián)密鑰,或者可以記錄不能監(jiān)視安全關聯(lián)的網(wǎng)絡業(yè)務的錯誤或其他指示。此外,應該認識到,圖7的過程依賴于在服務器正建立與客戶端的安全關聯(lián)時交換的控制分組中的在服務器和中間設備之間傳送的信息。在一些場景中,在建立安全關聯(lián)時,中間設備可能不在服務器和客戶端之間的路徑中。不過,中間設備可能能夠觸發(fā)直接密鑰交換。圖8圖示了可以在該場景中執(zhí)行的處理。圖8的處理開始于塊812,其中服務器已經(jīng)根據(jù)建立的安全關聯(lián)與客戶端通信。在塊820處,中間設備可以監(jiān)視在客戶端和服務器之間交換的分組。但是,因為中間設備缺少用于該安全關聯(lián)的安全關聯(lián)密鑰,所以其不能對那些分組執(zhí)行加密功能。例如, 它不能解密分組中的加密的信息或者在轉發(fā)驗證的分組時按任何方式更改已經(jīng)被分配的分組。但是,作為塊820處的監(jiān)視的部分,中間設備可以標識服務器已經(jīng)創(chuàng)建了安全關聯(lián)。在決定塊822處,取決于中間設備是否支持安全關聯(lián)密鑰的產(chǎn)生并已經(jīng)獲得所需的較高級別密鑰,所述過程可以進行分支。如果是,則所述過程可以分支到塊850和852。 在塊852處,作為與客戶端的安全關聯(lián)的部分,服務器產(chǎn)生網(wǎng)絡業(yè)務。在塊852處,中間設備可以監(jiān)視該網(wǎng)絡業(yè)務,包括使用其已經(jīng)產(chǎn)生的安全關聯(lián)密鑰執(zhí)行加密功能。相反,如果中間設備不支持安全關聯(lián)密鑰的產(chǎn)生,則所述過程可以分支到?jīng)Q定塊 824。在決定塊824,取決于中間設備是否已經(jīng)另外獲得了安全關聯(lián)密鑰,所述過程可以進行分支。如果是,則所述過程分支到塊850和852,其中作為安全關聯(lián)的部分,客戶端和服務器產(chǎn)生網(wǎng)絡業(yè)務,這由中間設備使用安全關聯(lián)密鑰監(jiān)視。如果中間設備不具有安全關聯(lián)密鑰并且不能產(chǎn)生它們,則所述過程從決定塊824 分支到塊826。在塊擬6處,中間設備向服務器提供指示其不具有安全關聯(lián)密鑰的信號。該信號可以按任何適當?shù)姆绞教峁?。例如,當根?jù)msec傳送分組時,塊擬6處的處理可能涉及在去往服務器的msec分組中設置標志。在圖3的例子中,可以在諸如分組370之類的分組中設置標志。在塊擬6處可以采用用于向服務器發(fā)信號通知的任何適當?shù)臋C制。當服務器檢測到來自中間設備的信號時,服務器上的處理繼續(xù)到塊830。在塊830 處,服務器檢驗在塊擬6處標記的分組由在服務器和客戶端之間的路徑中的被授權的中間設備標記。任何適當?shù)臋C制可以用于執(zhí)行該確定。例如,服務器可以檢驗分組的完整性,由此得出結論其源自于客戶端,因此必須已經(jīng)由具有對客戶端和服務器之間的路徑上的分組的訪問的中間者標記。
23
當在塊830處的處理確定中間設備是應該獲得安全關聯(lián)密鑰的被授權的中間者時,服務器可以發(fā)起與客戶端的安全關聯(lián)的密鑰更新操作。重復密鑰更新操作允許中間設備請求直接建鑰。從而,在塊830的檢驗之后,可以執(zhí)行如上結合圖7所述的子過程700。 當然,如果不能驗證中間者,則所述過程可能終止或者可以采取避免使未授權設備觸發(fā)密鑰更新的其他動作。由于執(zhí)行子過程700,中間設備可以具有用于服務器和客戶端之間的安全關聯(lián)的安全關聯(lián)密鑰。從而,在塊850和852處,服務器和客戶端可以產(chǎn)生網(wǎng)絡業(yè)務,這可以由中間設備監(jiān)視。因為中間設備有權訪問安全關聯(lián)密鑰,所以該監(jiān)視可以包括執(zhí)行加密功能。可以使用任何適當?shù)挠布Y源在主機和中間設備內執(zhí)行上述處理。但是,分級密鑰分發(fā)系統(tǒng)的一種使用是實現(xiàn)一些加密功能的硬件卸載處理。圖9A圖示了可以使用分級密鑰來支持硬件卸載處理的計算設備的架構。在圖9A的例子中,設備910包括網(wǎng)絡接口硬件920。網(wǎng)絡接口硬件920可以是網(wǎng)絡接口卡或其他適當?shù)挠布M件。網(wǎng)絡接口硬件920可以包含按任何適當?shù)姆绞綄崿F(xiàn)的電路。例如,其可以包含一個或多個專用集成電路、可編程邏輯器件或被編程有微代碼用于執(zhí)行與到網(wǎng)絡、示意性地圖示為網(wǎng)絡922的接口相關聯(lián)的功能的微處理器。 網(wǎng)絡接口硬件920可以包括本領域中已知的用于執(zhí)行已知的網(wǎng)絡接口功能的硬件組件。另外,網(wǎng)絡接口硬件920可以包括可以基于存儲在網(wǎng)絡接口卡上的來自密鑰層級的較高級別的密鑰來產(chǎn)生安全關聯(lián)密鑰的硬件組件。從而,圖9A圖示了網(wǎng)絡接口硬件920 包括存儲器926。存儲在存儲器926中的可以是包含可以從其產(chǎn)生安全關聯(lián)密鑰的一個或多個成對的密鑰的數(shù)據(jù)結構928。在圖9A的例子中,數(shù)據(jù)結構9 被圖示為處于其中其保持了三個成對的密鑰(表示為密鑰K1^Kli2和Kli3)的狀態(tài)。當設備910位于包圍區(qū)1內并與包圍區(qū)1內的其他設備以及包圍區(qū)2和3中的設備通信時,例如此狀態(tài)可能是適當?shù)摹5?,應該認識到,圖9A是網(wǎng)絡設備的簡化圖示并且網(wǎng)絡設備可以包含遠多于三個密鑰。無論數(shù)據(jù)結構928中包含的密鑰數(shù)量如何,密鑰可以由安全關聯(lián)密鑰產(chǎn)生器電路 930訪問。安全關聯(lián)密鑰產(chǎn)生器電路930可以接收與經(jīng)過網(wǎng)絡922接收的分組相結合的密鑰導出信息。響應于此,安全關聯(lián)密鑰產(chǎn)生器電路930可以訪問存儲器926以從數(shù)據(jù)結構擬8獲得適當?shù)某蓪γ荑€。使用成對的密鑰,安全關聯(lián)密鑰產(chǎn)生器930可以產(chǎn)生安全關聯(lián)密鑰。所產(chǎn)生的安全關聯(lián)密鑰可以被提供給網(wǎng)絡接口硬件920上的其他組件用于在執(zhí)行加密功能中使用。在圖9A所示的例子中,安全關聯(lián)密鑰被提供給解密/驗證電路924。 解密/驗證電路擬4使用安全關聯(lián)密鑰來解密或驗證該分組。一旦被解密或驗證,分組就可以被提供給設備910內的架構的較高級別處的組件。如圖9A所示,一旦已經(jīng)對接收的分組執(zhí)行了加密功能,就可以通過驅動器940將該分組提供給操作系統(tǒng)950內的網(wǎng)絡堆棧952。從那里,可以將該分組提供給應用960??梢允褂靡阎募夹g執(zhí)行驅動器940、操作系統(tǒng)950和應用960內的這樣的處理。如本領域中已知的。驅動器940、操作系統(tǒng)950和應用960的可能的實現(xiàn)方式是作為由設備910內的中央處理單元執(zhí)行的計算機可執(zhí)行指令。除了執(zhí)行與分組的接收相關聯(lián)的處理之外,網(wǎng)絡接口硬件920可選地可操作以執(zhí)行與分組的傳輸相關聯(lián)的處理。當用于傳輸時,不同于通過網(wǎng)絡922接收密鑰導出信息,安全關聯(lián)密鑰產(chǎn)生器930可以從驅動器940或者設備910內的一些其他組件接收密鑰導出信息。無論密鑰導出信息的源如何,安全關聯(lián)密鑰產(chǎn)生器電路930都可以訪問數(shù)據(jù)表922以獲得適當?shù)某蓪Φ拿荑€并將安全關聯(lián)密鑰提供給網(wǎng)絡接口硬件920內的其他組件。圖9A圖示了被配置為擔當安全包圍區(qū)中的服務器的設備。類似的架構可以用于計算機系統(tǒng)內的其他設備。例如,通常相同的架構可以用于中間設備,盡管中間設備可能具有至少兩個網(wǎng)絡連接并可能具有網(wǎng)絡接口硬件920的兩個副本。當用于實現(xiàn)中間設備時,應用960可以是執(zhí)行網(wǎng)絡監(jiān)視功能或可以由中間設備執(zhí)行的其他功能的應用。另外,中間設備可以存儲與服務器不同的成對的密鑰。圖9B圖示了如果設備910被配置為中間設備則可以用來替換數(shù)據(jù)表928的數(shù)據(jù)表958的可替代配置。 如在圖9B中可見,當被配置用于中間設備時,數(shù)據(jù)表958可以包含用于多于一個包圍區(qū)的成對的密鑰。在此情況下,數(shù)據(jù)表958被示出為包含與包圍區(qū)1相關聯(lián)的成對的密鑰。另外,數(shù)據(jù)表958包含用于包圍區(qū)2和3的成對的密鑰。數(shù)據(jù)表958的此配置可能適合用于例如接收到和來自包圍區(qū)1的以及在包圍區(qū)2和3之間的通信的中間設備。應該認識到,盡管包含成對的密鑰的數(shù)據(jù)表的配置可能基于其中數(shù)據(jù)表存在于整個網(wǎng)絡中以及對于其該設備將有權訪問消息業(yè)務的包圍區(qū)中的設備的位置。因此已經(jīng)描述了本發(fā)明的至少一個實施例的若干個方面,將認識到,各種更改、修改和改進對本領域技術人員很容易想到。這樣的更改、修改和改進旨在作為本公開的一部分,并且旨在在本發(fā)明的精神和范圍內。因此,上述描述和附圖僅僅是為了舉例。本發(fā)明的上述實施例可以按多種方式的任意一種實現(xiàn)。例如,可以使用硬件、軟件或其組合來實現(xiàn)各實施例。當以軟件實現(xiàn)時,軟件代碼可以在任何適當處理器或處理器集合上實現(xiàn),無論其被提供在單個計算機中還是分布在多個計算機之間。此外,應該認識到,計算機可以體現(xiàn)在多種形式的任意一種中,比如支架安裝的計算機、臺式計算機、膝上型計算機或平板計算機。另外,計算機可以嵌入在通常不被認為是計算機但是具有適當?shù)奶幚砟芰Φ脑O備中,包括個人數(shù)字助理(PDA)、智能電話或任何其他適當?shù)谋銛y或固定電子設備。此外,計算機可以具有一個或多個輸入和輸出設備。這些設備尤其可以用于呈現(xiàn)用戶界面??梢杂糜谔峁┯脩艚缑娴妮敵鲈O備的例子包括用于輸出的視覺呈現(xiàn)的打印機或顯示屏以及用于輸出的聽覺呈現(xiàn)的揚聲器或其他聲音產(chǎn)生設備??梢杂糜谟脩艚缑娴妮斎朐O備的例子包括鍵盤以及諸如鼠標、觸摸板和數(shù)字化板的指向設備。作為另一例子,計算機可以通過語音識別或按其他聽覺格式接收輸入信息。這樣的計算機可以通過一個或多個網(wǎng)絡按任何適當?shù)男问交ミB,包括作為局域網(wǎng)或廣域網(wǎng),比如企業(yè)網(wǎng)絡或因特網(wǎng)。這樣的網(wǎng)絡可以基于任何適當?shù)募夹g并且可以根據(jù)任何適當?shù)膮f(xié)議來操作,并可以包括無線網(wǎng)絡、有線網(wǎng)絡或光纖網(wǎng)絡。此外,在此列出的各種方法或過程可以被編碼為可在一個或多個采用多種操作系統(tǒng)或平臺的任意一個的處理器上執(zhí)行的軟件。另外,這種軟件可以使用多種適當?shù)木幊陶Z言和/或編程或腳本工具的任意一種來寫出,并且還可以被編譯為在框架或虛擬機器上執(zhí)行的可執(zhí)行機器語言代碼或中間代碼。
在此方面,本發(fā)明可以體現(xiàn)為用一個或多個程序編碼的計算機可讀介質(或多個計算機可讀介質)(例如計算機存儲器、一個或多個軟盤、致密盤、光盤、磁帶、閃存、現(xiàn)場可編程門陣列或其他半導體器件中的電路配置或者其他切實的計算機存儲介質),該一個或多個程序在一個或多個計算機或其他處理器上執(zhí)行時執(zhí)行實現(xiàn)上述本發(fā)明的各個實施例的方法。該一個或多個計算機可讀介質可以是可運輸?shù)模沟么鎯υ谄渖系囊粋€或多個程序可以被加載到一個或多個不同的計算機或其他處理器以實現(xiàn)上述本發(fā)明的各個方面。在此以一般意思使用措辭“程序”和“軟件”以指代可以被采用來編程計算機或其他處理器以實現(xiàn)上述本發(fā)明的各個方面的任何類型的計算機代碼或計算機可執(zhí)行指令集。 另外,應該認識到,根據(jù)此實施例的一個方面,當被執(zhí)行時執(zhí)行本發(fā)明的方法的一個或多個計算機程序不需要存在于單個計算機或處理器上,而是可以按模塊化形式分布在多個不同的計算機或處理器之間以實現(xiàn)本發(fā)明的各個方面。計算機可執(zhí)行指令可以是由一個或多個計算機和其他設備執(zhí)行的許多形式的,比如程序模塊。通常,程序模塊包括執(zhí)行具體任務或實現(xiàn)具體的抽象數(shù)據(jù)類型的例程、程序、 對象、組件、數(shù)據(jù)結構等等。典型地,程序模塊的功能性可以如各個實施例中期望的那樣來組合或分布。此外,數(shù)據(jù)結構可以按任何適當?shù)男问酱鎯υ谟嬎銠C可讀介質中。為了簡化圖示, 數(shù)據(jù)結構可以被示出為具有通過在數(shù)據(jù)結構中的位置而相關的字段。這樣的關系同樣可以通過為在計算機可讀介質中具有傳達字段之間的關系的位置的字段分配存儲而實現(xiàn)。但是,可以使用任何適當?shù)臋C制來建立數(shù)據(jù)結構的字段中的信息之間的關系,包括通過使用指針、標簽或者建立數(shù)據(jù)元素之間的關系的其他機制。本發(fā)明的各個方面可以單獨、組合或者在未在以上所述的實施例中具體討論的多種布置中使用,因此其應用不限于以上描述中闡述以及附圖中所示的組件的細節(jié)和布置。 例如,在一個實施例中描述的方面可以按任何方式與在其他實施例中描述的方面相組合。此外,本發(fā)明可以體現(xiàn)為方法,已經(jīng)提供了其例子。作為該方法的部分而執(zhí)行的動作可以按任何適當?shù)姆绞蕉判?。從而,可以構建其中按不同于所示的順序?zhí)行各動作的實施例,這可以包括同時執(zhí)行某些動作,盡管其在所說明的實施例中被示出為連續(xù)的動作。權利要求中的用于修飾權利要求元素的諸如“第一”、“第二”、“第三”等等序數(shù)術語的使用本身并不意味任何優(yōu)先級、先后順序或一個權利要求元素在另一之上的順序或者執(zhí)行方法的各動作的時間順序,而是僅僅用作將具有某個名稱的一個權利要求元素與具有相同名稱(但使用了序數(shù)術語)的另一權利要求元素相區(qū)分的標簽,以區(qū)分權利要求元素。此外,在此使用的措詞和術語是為了描述的目的,并且不應當被認為是限制。“包括”、或“具有”、“包含”、“涉及”以及其變化的在此的使用意味包含在其之后所列出的各項及其等效物以及另外的項。
權利要求
1.一種操作計算機系統(tǒng)(100)以提供安全通信的方法,該計算機系統(tǒng)包括通過網(wǎng)絡互連并組織成包圍區(qū)的多個主機設備(170A、170B),該方法包括在多個包圍區(qū)的每個包圍區(qū)(110A、110B、110C)中,提供多個成對的包圍區(qū)密鑰,對于包括所述包圍區(qū)的多個包圍區(qū)對的每個,所述多個成對的包圍區(qū)密鑰(224A……224D)包括成對的包圍區(qū)密鑰;在至少一個處理器(160)中,對于多個包圍區(qū)的每個,為所述包圍區(qū)中的多個服務器設備的每個計算多個服務器密鑰(234A……234D),所述多個服務器密鑰的每個是從用于包括所述服務器的包圍區(qū)的包圍區(qū)對的成對的包圍區(qū)密鑰計算的;建立所述多個包圍區(qū)的第一包圍區(qū)中的第一主機設備和所述多個包圍區(qū)的第二包圍區(qū)中的第二主機設備之間的安全關聯(lián),所述建立包括利用第一主機設備,產(chǎn)生所述安全關聯(lián)的安全性參數(shù)(244A……M4D),所述安全性參數(shù)是從為第一主機設備計算的多個服務器密鑰的所選服務器密鑰產(chǎn)生的,該服務器密鑰包括從用于第一包圍區(qū)和第二包圍區(qū)的成對的包圍區(qū)密鑰計算的服務器密鑰。
2.如權利要求1的方法,其中在多個包圍區(qū)的每個中提供多個成對的包圍區(qū)密鑰包括根據(jù)公共組織密鑰(210)為多個包圍區(qū)的每個產(chǎn)生所述多個成對的包圍區(qū)密鑰。
3.如權利要求2的方法,其中計算系統(tǒng)另外包括組織密鑰服務器(148);以及該方法還包括向所述組織密鑰服務器驗證所述多個包圍區(qū)的每個中的密鑰服務器(160);以及響應于密鑰服務器被驗證,將為包圍區(qū)產(chǎn)生的多個成對的包圍區(qū)密鑰提供給在該包圍區(qū)中的密鑰服務器。
4.如權利要求1的方法,其中建立安全關聯(lián)還包括在第一主機設備和第二主機設備之間執(zhí)行密鑰交換協(xié)議(740, 742)。
5.如權利要求4的方法,還包括在第一主機設備的網(wǎng)絡接口硬件(920)中存儲所選的服務器密鑰;在使用安全關聯(lián)接收到分組時,產(chǎn)生該安全關聯(lián)的安全性參數(shù);以及使用產(chǎn)生的安全性參數(shù)對該分組執(zhí)行加密功能(852)。
6.如權利要求5的方法,其中第一主機設備與計算系統(tǒng)中的其他主機形成多個安全關聯(lián);該方法還包括存儲(928 )多個服務器密鑰,每個服務器密鑰從成對的包圍區(qū)密鑰導出, 并且每個服務器密鑰與多個安全關聯(lián)相關聯(lián);在使用安全關聯(lián)接收到分組時產(chǎn)生該安全關聯(lián)的安全性參數(shù)(240)包括基于該分組中的信息選擇所述多個服務器密鑰中的服務器密鑰,并利用所選的服務器密鑰和該分組中的信息產(chǎn)生安全性參數(shù)。
7.如權利要求1的方法,其中所述計算系統(tǒng)包括連接在第一主機設備和第二主機設備之間的網(wǎng)絡路徑中的至少一個中間設備(360、362、364);以及所述方法還包括為該中間設備供應多個成對的包圍區(qū)密鑰;在使用安全關聯(lián)檢測到分組時,使用所述多個成對的包圍區(qū)密鑰(752)中的成對的包圍區(qū)密鑰產(chǎn)生該安全關聯(lián)的安全性參數(shù);以及使用所產(chǎn)生的安全性參數(shù)對該分組執(zhí)行加密功能(752)。
8.如權利要求7的方法,其中所述多個包圍區(qū)的每個包括密鑰服務器;以及所述方法還包括為每個包圍區(qū)中的密鑰服務器產(chǎn)生服務器密鑰。
9.如權利要求8的方法,其中提供多個成對的包圍區(qū)密鑰包括 為每個包圍區(qū)提供包圍區(qū)密鑰;以及通過網(wǎng)絡在多個包圍區(qū)的每個中的密鑰服務器之間交互,該交互包括為所述多個包圍區(qū)的多個包圍區(qū)對的每個產(chǎn)生成對的包圍區(qū)密鑰。
10.一種操作計算設備以在計算系統(tǒng)中提供安全通信的方法,該計算系統(tǒng)包括通過網(wǎng)絡互連并被組織成包圍區(qū)的多個主機設備,每個包圍區(qū)至少包括主機設備,該方法包括在計算設備中檢測根據(jù)第一包圍區(qū)中的第一主機和第二包圍區(qū)中的第二主機之間的安全關聯(lián)傳輸?shù)脑摰谝恢鳈C和第二主機之間的消息(610);基于該消息中的密鑰導出信息以及用于第一包圍區(qū)和第二包圍區(qū)的成對的包圍區(qū)密鑰,產(chǎn)生安全關聯(lián)密鑰(740);利用產(chǎn)生的安全關聯(lián)密鑰對該消息執(zhí)行加密功能(630)。
11.如權利要求10的方法,其中所述計算設備包括網(wǎng)絡接口硬件(920);以及在網(wǎng)絡接口硬件內執(zhí)行檢測、產(chǎn)生和進行加密功能的動作。
12.如權利要求11的方法,其中所述網(wǎng)絡硬件具有存儲多個成對的包圍區(qū)密鑰的計算機存儲介質(擬6);以及所述方法包括基于所述密鑰導出信息從所述計算機存儲介質中的多個成對的包圍區(qū)密鑰中選擇成對的包圍區(qū)密鑰。
13.如權利要求12的方法,其中 產(chǎn)生安全關聯(lián)密鑰包括根據(jù)所選的成對的包圍區(qū)密鑰和所述密鑰導出信息中的服務器標識符產(chǎn)生服務器密鑰;以及根據(jù)產(chǎn)生的服務器密鑰以及安全關聯(lián)的標識符產(chǎn)生安全關聯(lián)密鑰。
14.如權利要求13的方法,其中產(chǎn)生服務器密鑰包括對所選的成對的包圍區(qū)密鑰以及所述密鑰導出信息中的服務器標識符執(zhí)行單向加密運算;以及產(chǎn)生安全關聯(lián)密鑰包括對產(chǎn)生的服務器密鑰和安全關聯(lián)的標識符執(zhí)行單向加密運算。
15.如權利要求14的方法,其中加密功能包括解密消息。
全文摘要
一種用于其中設備被組織成安全包圍區(qū)的計算機系統(tǒng)的分級密鑰產(chǎn)生和分發(fā)機制。該機制使得網(wǎng)絡訪問能夠適應于每個設備所需的近似最小特權。在層級的最低級別,密鑰用于形成設備之間的安全關聯(lián)。根據(jù)層級的較高級別處的密鑰以及密鑰導出信息產(chǎn)生層級的每個級別處的密鑰。密鑰導出信息可容易地從設備的標識符或者消息內確定,支持加密功能的硬件卸載。因為可以基于參與安全關聯(lián)的主機所位于的包圍區(qū)來產(chǎn)生密鑰,所以系統(tǒng)包括一種機制,通該機制設備可以發(fā)現(xiàn)它們所位于的包圍區(qū)。
文檔編號H04L9/08GK102461060SQ201080025723
公開日2012年5月16日 申請日期2010年6月3日 優(yōu)先權日2009年6月11日
發(fā)明者D. 斯萬德 B., R. 西蒙 D., E. 蒙特內格羅 G., 梅內澤斯 P. 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1