專利名稱:使用IPsec提供網(wǎng)絡(luò)隔離的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機(jī)訪問管理,尤其涉及在允許客戶機(jī)訪問主機(jī)資源之前檢查其安全狀態(tài)。
背景技術(shù):
在計算機(jī)網(wǎng)絡(luò)中,客戶機(jī)、服務(wù)器和對等體通常使用信任模型和機(jī)制來確保非授權(quán)用戶不會獲得對網(wǎng)絡(luò)上主機(jī)計算機(jī)的訪問。這些信任模型和機(jī)制用于識別非惡意的那些用戶。然而,在沒有用戶知識的情況下,用戶的機(jī)器可能對其它計算機(jī)造成危害。例如,機(jī)器可能包含病毒,或具有用戶不知道的安全漏洞。由此,不論用戶是如何非惡意的,用戶機(jī)器的非安全狀態(tài)將導(dǎo)致與網(wǎng)絡(luò)隔絕,直到修補(bǔ)了安全缺陷。
IPsec定義了保護(hù)通信的多個功能,包括數(shù)據(jù)加密和數(shù)據(jù)完整性。IPsec使用認(rèn)證報頭(AH)來提供無需加密的來源認(rèn)證和完整性,并使用封裝安全有效荷載(ESP)來提供連同加密一起的認(rèn)證和完整性。采用IPsec,僅發(fā)送者和接收者知道安全密鑰。如果認(rèn)證數(shù)據(jù)有效,則接收者知道該通信來自發(fā)送者且它沒有在傳輸中改變。
IPsec可以被視為傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)棧中的一層。該層由每一計算機(jī)上的安全策略以及發(fā)送者和接收者之間協(xié)商的安全關(guān)聯(lián)來控制。該策略由一組過濾器和相關(guān)聯(lián)的安全行為組成。如果數(shù)據(jù)包的IP地址、協(xié)議和端口號與過濾器匹配,則該數(shù)據(jù)包服從于相關(guān)聯(lián)的安全行為。第一個這樣的數(shù)據(jù)包觸發(fā)發(fā)送者和接收者之間的安全關(guān)聯(lián)協(xié)商?;ヂ?lián)網(wǎng)密鑰交換(IKE)是用于該協(xié)商的標(biāo)準(zhǔn)協(xié)議。在IKE協(xié)商期間,兩臺計算機(jī)對認(rèn)證和數(shù)據(jù)安全方法達(dá)成一致、執(zhí)行相互的認(rèn)證、然后生成用于后續(xù)的數(shù)據(jù)加密的共享密鑰。
在建立了安全關(guān)聯(lián)之后,數(shù)據(jù)傳輸可以對每一計算機(jī)繼續(xù),將數(shù)據(jù)安全處理應(yīng)用于它發(fā)送到遠(yuǎn)程接收者的數(shù)據(jù)包。該處理可簡單地確保所發(fā)送的數(shù)據(jù)的完整性,或者它也可以加密該數(shù)據(jù)。用于IP有效荷載的數(shù)據(jù)完整性和數(shù)據(jù)認(rèn)證可由位于IP報頭和傳輸報頭之間的認(rèn)證報頭來提供。認(rèn)證報頭包括認(rèn)證數(shù)據(jù)和序列號,它們共同用于驗證發(fā)送者、確保消息在傳輸中不被修改、以及防止重放攻擊。
ESP是該體系結(jié)構(gòu)中的一種密鑰格式,它通過加密要保護(hù)的數(shù)據(jù)并將加密的數(shù)據(jù)放置在IP ESP的數(shù)據(jù)部分中來提供機(jī)密性和完整性。取決于用戶的安全要求,該機(jī)制可用于加密傳輸層段(例如,TCP、UDP、ICMP、IGMP)或整個IP數(shù)據(jù)報。封裝保護(hù)的數(shù)據(jù)對于為整個原始的數(shù)據(jù)報提供機(jī)密性是必需的。ESP報頭被插入到IP報頭之后且在上層協(xié)議報頭之前(傳輸模式)或在封裝的IP報頭之前(隧道模式)。
然而,常規(guī)的認(rèn)證過程不防止非安全的或甚至是惡意的機(jī)器訪問主機(jī)。計算機(jī)可以給出有效的認(rèn)證,但是機(jī)器本身可能被病毒感染,或包含安全漏洞,而這些應(yīng)當(dāng)在允許機(jī)器訪問另一計算機(jī)的網(wǎng)絡(luò)資源之前被糾正。因此,本領(lǐng)域中需要一種確??蛻魴C(jī)在通過安全檢查之前不被準(zhǔn)許訪問主機(jī)的系統(tǒng)和方法。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,本發(fā)明提供了一種讓主機(jī)使用IP安全協(xié)議(IPsec)來提供網(wǎng)絡(luò)中選擇性的網(wǎng)絡(luò)隔絕的方法,這是如下實現(xiàn)的從客戶機(jī)接收包括客戶機(jī)健康聲明的互聯(lián)網(wǎng)密鑰交換(IKE)數(shù)據(jù)包、確認(rèn)客戶機(jī)健康聲明、如果客戶機(jī)健康聲明有效則向客戶機(jī)發(fā)送主機(jī)健康聲明、以及如果客戶機(jī)健康聲明無效則拒絕客戶機(jī)對主機(jī)的訪問。健康聲明描述了客戶機(jī)對于網(wǎng)絡(luò)的安全策略的符合性。該方法還包括如果客戶機(jī)的健康證書是可接受的,則通過可任選地加密的通信與客戶機(jī)通信。在本發(fā)明的各實施例中,健康證書可以是X509證書、Kerberos權(quán)證、或WS安全令牌。
本發(fā)明的另一實施例提供了一種讓主機(jī)獲得健康證書的方法,包括向健康證書服務(wù)器發(fā)送一個或多個健康聲明、從健康證書服務(wù)器接收健康聲明響應(yīng)、以及如果健康證書服務(wù)器確認(rèn)該健康聲明,則接收一健康證書并將主機(jī)配置成實現(xiàn)一IPsec策略,該策略在向客戶機(jī)授予對主機(jī)的訪問權(quán)限之前向客戶機(jī)要求客戶機(jī)健康證書。如果健康聲明不被確認(rèn),則該健康聲明響應(yīng)指示主機(jī)不符合網(wǎng)絡(luò)安全策略。
本發(fā)明的又一實施例針對一種實現(xiàn)網(wǎng)絡(luò)隔絕模型的計算機(jī)網(wǎng)絡(luò)。該網(wǎng)絡(luò)包括第一組計算機(jī),其中每一計算機(jī)擁有一健康證書,并且僅與同樣擁有有效健康證書的計算機(jī)進(jìn)行通信;第二組計算機(jī),其中,每一計算機(jī)擁有一健康證書,并且與網(wǎng)絡(luò)中所有其它計算機(jī)進(jìn)行通信;以及第三組計算機(jī),其中每一計算機(jī)沒有健康證書,并與網(wǎng)絡(luò)中其它計算機(jī)的全部或其子集進(jìn)行通信。第一組計算機(jī)之間以及第一組計算機(jī)與第二組計算機(jī)之間的通信是使用IPsec來實現(xiàn)的。
當(dāng)參考附圖閱讀以下說明性實施例的詳細(xì)描述時,可以清楚本發(fā)明的其它特征和優(yōu)點。
結(jié)合于此并形成了本說明書的一部分的附圖示出了本發(fā)明的若干方面,并且連同說明書一起用于解釋本發(fā)明的原理。附圖中圖1A是概括地示出本發(fā)明在其中操作的一個示例性網(wǎng)絡(luò)環(huán)境的示意圖;圖1B是概括地示出本發(fā)明所駐留的一個示例性計算機(jī)系統(tǒng)的框圖;圖2所示是本發(fā)明的一個實施例的組件的交互的示意圖;圖3示出了本發(fā)明的網(wǎng)絡(luò)隔絕模型;以及圖4示出了本發(fā)明的隔離實施客戶機(jī);圖5示出了依照本發(fā)明客戶機(jī)用于獲取健康證書的過程;圖6示出了依照本發(fā)明客戶機(jī)用于啟動與主機(jī)的通信的過程。
盡管將結(jié)合某些較佳實施例來描述本發(fā)明,但是并沒有任何意圖將本發(fā)明限于那些實施例。相反,意圖是覆蓋包括在由所附權(quán)利要求書所定義的本發(fā)明的精神和范圍之內(nèi)的所有替換方案、修改和等效方案。
具體實施例方式
轉(zhuǎn)向附圖,本發(fā)明被示出為在一合適的計算環(huán)境中實現(xiàn),附圖中相同的標(biāo)號指相同的元素。以下描述基于本發(fā)明的實施例,且不應(yīng)當(dāng)被認(rèn)為對于此處未明確描述的替換實施例而限制本發(fā)明。
現(xiàn)在將參考圖1A描述其中可使用本發(fā)明的網(wǎng)絡(luò)化環(huán)境的一個示例。該示例網(wǎng)絡(luò)包括通過由云表示的網(wǎng)絡(luò)111彼此通信的若干計算機(jī)110。網(wǎng)絡(luò)111可包括許多公知的組件,諸如路由器、網(wǎng)關(guān)、交換器等等,并允許計算機(jī)110通過有線和/或無線介質(zhì)進(jìn)行通信。當(dāng)通過網(wǎng)絡(luò)111彼此交互時,一臺或多臺計算機(jī)可擔(dān)當(dāng)客戶機(jī)、網(wǎng)絡(luò)服務(wù)器、隔離服務(wù)器或?qū)τ谄渌嬎銠C(jī)的對等體。因此,本發(fā)明的各實施例可以在客戶機(jī)、網(wǎng)絡(luò)服務(wù)器、隔離服務(wù)器、對等體或其組合上實現(xiàn),即使此處所包含的具體示例不是指所有這些類型的計算機(jī)。
圖1B示出了其中可實現(xiàn)本發(fā)明的合適的計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅為合適的計算環(huán)境的一個示例,并非對本發(fā)明的使用范圍或功能提出任何局限。也不應(yīng)將計算環(huán)境100解釋為對示例性計算環(huán)境100中示出的任一組件或其組合具有任何依賴或需求。
本發(fā)明可以使用眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作。適用于本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個人計算機(jī)、服務(wù)器計算機(jī)、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任一上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本發(fā)明可在諸如由計算機(jī)執(zhí)行的程序模塊等計算機(jī)可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。
參考圖1B,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括計算機(jī)110形式的通用計算設(shè)備,它可擔(dān)當(dāng)客戶機(jī)、網(wǎng)絡(luò)服務(wù)器、隔離服務(wù)器或在本發(fā)明的上下文中的對等體。計算機(jī)110的組件可包括但不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器130的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用任何各類總線體系結(jié)構(gòu)的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)總線、微通道體系結(jié)構(gòu)總線、增強(qiáng)ISA總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會局部總線以及外圍部件互連(PCI)總線(也稱為Mezzanine總線)。
計算機(jī)110通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是可由計算機(jī)110訪問的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非局限,計算機(jī)可讀介質(zhì)可包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以用于儲存諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實現(xiàn)的易失性和非易失性,可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機(jī)110訪問的任一其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號中的計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計算機(jī)可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器130包括以易失性和非易失性存儲器形式的計算機(jī)存儲介質(zhì),如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包括如在啟動時幫助在計算機(jī)110內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和程序模塊。作為示例而非局限,圖1B示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機(jī)110也可包括其它可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作示例,圖1B示出了對不可移動、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動器141、對可移動、非易失性磁盤152進(jìn)行讀寫的磁盤驅(qū)動器151以及對可移動、非易失性光盤156,如CD ROM或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動器155??梢栽谑纠杂嬎悱h(huán)境100中使用的其它可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過不可移動存儲器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。
上文討論并在圖1B中示出的驅(qū)動器及其關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)110提供了計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1B中,示出硬盤驅(qū)動器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號來說明至少它們是不同的副本。
用戶可以通過輸入設(shè)備,如鍵盤162和定點設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸板)向計算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線121的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器191之外,計算機(jī)110也可包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們通過輸出外圍接口195連接。
計算機(jī)110可以使用到一個或多個遠(yuǎn)程計算機(jī),如遠(yuǎn)程計算機(jī)180的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機(jī)180可以是另一個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有以上相對于個人計算機(jī)110所描述的元件,盡管在圖1B中僅示出了存儲器存儲設(shè)備181。圖1B描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機(jī)110通常包括調(diào)制解調(diào)器172或用于通過WAN 173,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,它通過用戶輸入接口160或其它適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于個人計算機(jī)110所描述的程序模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備181中。作為示例,而非局限,圖1B示出遠(yuǎn)程應(yīng)用程序185駐留在存儲器設(shè)備181中。可以理解,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計算機(jī)之間建立通信鏈路的其它裝置。
在以下描述中,將參考由一個或多個計算機(jī)執(zhí)行的動作和操作的符號表示來描述本發(fā)明,除非另外指明。由此,可以理解,這類動作和操作,有時稱為計算機(jī)執(zhí)行的,包括計算機(jī)的處理單元對以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號的操縱。這一操縱轉(zhuǎn)換了數(shù)據(jù)或在計算機(jī)的存儲器系統(tǒng)中的位置上維護(hù)它,從而以本領(lǐng)域的技術(shù)人員都理解的方式重配置或改變了計算機(jī)的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是存儲器的物理位置,具有數(shù)據(jù)的格式所定義的具體特性。然而,盡管在上述的上下文環(huán)境中描述本發(fā)明,它并不意味著限制,如本領(lǐng)域的技術(shù)人員所理解的,后文所描述的各種動作和操作也可以用硬件實現(xiàn)。
本發(fā)明針對用于網(wǎng)絡(luò)訪問保護(hù)的實施機(jī)制,它組合了IP安全(IPsec)協(xié)議和主機(jī)防火墻來提供網(wǎng)絡(luò)隔絕。IPsec和主機(jī)防火墻的組合被稱為認(rèn)證防火墻(AFW)。隔離實施客戶機(jī)(QEC)在主機(jī)上操作,以協(xié)調(diào)IPsec和防火墻策略。QEC還負(fù)責(zé)獲取健康證書以與其它啟用了IPsec策略的主機(jī)進(jìn)行通信。
圖2描述了其中可實現(xiàn)本發(fā)明的典型網(wǎng)絡(luò)環(huán)境??蛻魴C(jī)200向健康證書服務(wù)器(HCS)210發(fā)送健康聲明(SoH)。HCS通過因特網(wǎng)認(rèn)證服務(wù)器(IAS)200驗證SoH,IAS 200維護(hù)來自策略服務(wù)器230a、230b、230c的更新的策略要求。如果SoH通過了所有的策略要求,則HCS 210向客戶機(jī)200發(fā)放健康證書??蛻魴C(jī)200然后可使用該健康證書來與圖2中諸如VPN網(wǎng)關(guān)240或DHCP服務(wù)器250等其它受保護(hù)的系統(tǒng)進(jìn)行通信。
HCS向滿足健康檢查的客戶機(jī)發(fā)放證書。在一個實施例中,健康證書是具有非常短的生存期(可配置的,但僅在小時的數(shù)量級上)的X509證書。然而,健康證書可以是指示系統(tǒng)的健康狀態(tài)的任何可驗證數(shù)據(jù)結(jié)構(gòu),諸如Kerberos權(quán)證或WS安全令牌。一旦系統(tǒng)具有了健康證書,它可使用它通過向其它系統(tǒng)認(rèn)證來證實它的健康狀態(tài)。在一個實施例中,HCS是獨立的,這意味著如果已安裝了PKI分層結(jié)構(gòu),則HCS不需要集成到PKI分層結(jié)構(gòu)中。在另一實施例中,HCS被集成到現(xiàn)有的PKI中用于管理目的,或允許健康證書綁定到特定的實體。作為標(biāo)準(zhǔn)NAP程序引導(dǎo)的一部分,將給予客戶機(jī)來自其HCS的根證書。客戶機(jī)可將該根證書安裝到專用于隔離目的的私有存儲中(如果充分利用了現(xiàn)有的PKI,則系統(tǒng)假定已供應(yīng)了根信任并且不需要程序引導(dǎo)),或者它可將根證書安裝在機(jī)器或用戶的標(biāo)準(zhǔn)證書存儲中。
AFW隔絕不同于由諸如DHCP和802.1x等其它隔離實施機(jī)制提供的隔絕。AFW隔絕是由每一獨立的主機(jī)以分布式的方式來實施的,而非在提供網(wǎng)絡(luò)連通性的點處集中實施。這意味著向每一主機(jī)給予即使在網(wǎng)絡(luò)上存在惡意主機(jī)的情況下也能保護(hù)其自己的能力,而對于諸如DHCP或802.1x隔離等其它實施機(jī)制而言這是不可能的。AFW是可以在每一主機(jī)、每一端口或每一應(yīng)用程序的基礎(chǔ)上提供的唯一隔絕選項。
AFW隔離將物理網(wǎng)絡(luò)劃分成三個或多個邏輯環(huán),如圖3所示。每一計算機(jī)在任何給定時刻存在于一個且僅一個邏輯環(huán)中。環(huán)是按照健康證書擁有和健康證書通信要求來定義的。環(huán)向所有系統(tǒng)給予最大通信能力,而同時仍保護(hù)健康系統(tǒng)不受來自非健康系統(tǒng)的攻擊。保護(hù)環(huán)被定義為具有健康證書且可要求其對等體具有健康證書的計算機(jī)的集合。大多數(shù)客戶機(jī)和服務(wù)器存在于該環(huán)中。按照由管理員定義的站點策略,保護(hù)環(huán)中的計算機(jī)可自由地與保護(hù)環(huán)或邊界環(huán)中的一些或全部計算機(jī)通信。同樣按照站點策略,只要保護(hù)環(huán)中的計算機(jī)啟動通信,它們就能夠與隔離環(huán)中的計算機(jī)通信。例如,保護(hù)環(huán)中的客戶機(jī)可能能夠向隔離環(huán)中的服務(wù)器請求網(wǎng)頁。然而,阻止隔離環(huán)中的客戶機(jī)向保護(hù)環(huán)中的服務(wù)器請求網(wǎng)頁。如果管理員決定隔離特定的應(yīng)用程序(與隔離整個計算機(jī)相反),則環(huán)之間的通信僅對于那些應(yīng)用程序是受限制的。例如,如果隔離了FTP通信,則阻止隔離環(huán)中的FTP客戶機(jī)連接到保護(hù)環(huán)中的FTP服務(wù)器。然而,在該特定情況下,同樣這兩個計算機(jī)能夠通過HTTP自由地通信,而不管其環(huán)成員資格如何。
邊界環(huán)被定義為具有健康證書但不要求其對等體具有健康證書的計算機(jī)的集合。這些計算機(jī)可自由地與任何其它計算機(jī)通信,而不管環(huán)成員資格如何。邊界環(huán)通常包含非常少的計算機(jī),它們被特別配置成存在于那里。邊界環(huán)中的系統(tǒng)通常是需要不管環(huán)成員資格如何都起動對所有客戶機(jī)的通信量的服務(wù)器。例如,補(bǔ)丁服務(wù)器需要向隔離環(huán)中的客戶機(jī)提供補(bǔ)丁,以便為那些客戶機(jī)發(fā)放健康證書。它也需要服務(wù)保護(hù)環(huán)中的客戶機(jī),并接受來自保護(hù)環(huán)中的管理服務(wù)器的通信。
隔離環(huán)被定義為沒有健康證書的計算機(jī)的集合。由于它們沒有完成健康檢查,它們可能沒有健康證書,因此它們是網(wǎng)絡(luò)上的訪客,或者它們不能參與隔離系統(tǒng)。隔離環(huán)中的計算機(jī)可自由地與除保護(hù)環(huán)中的計算機(jī)之外的計算機(jī)通信。本領(lǐng)域的技術(shù)人員可以認(rèn)識到,通過改變IPsec策略和要求可以實現(xiàn)其它隔絕模型。
轉(zhuǎn)向圖4,用AFW隔離實施客戶機(jī)(QEC)430在客戶機(jī)400上擴(kuò)展了隔離平臺體系結(jié)構(gòu)。AFW QEC的目的是與健康證書服務(wù)器協(xié)商以獲得健康證書并相應(yīng)地配置IPsec和防火墻組件。隔離代理(QA)與系統(tǒng)健康代理(SHA)410a、410b、410c協(xié)調(diào)以組裝SoH。每一SHA 410a、410b、410c負(fù)責(zé)確定客戶機(jī)是否滿足健康證書所需的所有策略和要求。QA 420通過SHA API獲取這些檢查的結(jié)果,并將它們組裝成可提供給QEC 430的SoH。當(dāng)QEC 430獲得新的健康證書時,QEC 430首先將SoH和任何認(rèn)證憑證傳遞給HCS 470。在一個實施例中,該傳遞是通過安全超文本傳輸協(xié)議(HTTPS)進(jìn)行的。如果QEC 430滿足所有的策略要求,則QEC430從HCS 470接收SoH響應(yīng)和健康證書。QEC430對防火墻和IPsec子系統(tǒng)460進(jìn)行默認(rèn)隔離規(guī)則配置。如果隔離系統(tǒng)是獨立的,則QEC將健康證書放置到私有證書存儲450中。如果客戶機(jī)未通過所有的健康檢查,則QEC從HCS接收一個或多個SoH響應(yīng),該響應(yīng)通知客戶機(jī)不滿足一個或多個策略要求。SoH響應(yīng)可詳細(xì)陳述客戶機(jī)未滿足的具體要求。QEC然后可挑出一修補(bǔ)服務(wù)器以安裝將客戶機(jī)帶回健康狀態(tài)所需的補(bǔ)丁和更新。
圖5示出了當(dāng)系統(tǒng)參與AFW隔離系統(tǒng)時所遵循的過程。在步驟510,系統(tǒng)引導(dǎo)。它從其DHCP服務(wù)器獲取不受限制的IP地址(假定未采用基于DHCP的隔離實施)。系統(tǒng)防火墻處于“打開且沒有任何例外”的模式,因此沒有其它系統(tǒng)能夠連接到它。在這一點上,系統(tǒng)處于隔離環(huán)中,因為它沒有最新的健康證書。它可能能夠與其它隔離的系統(tǒng)進(jìn)行通信并可訪問因特網(wǎng)。保護(hù)環(huán)中的計算機(jī)阻止該系統(tǒng)連接到它們。在步驟520,AFW QEC啟動。QEC啟動到健康證書服務(wù)器(HCS)的連接,并在步驟530通過對照可信HCS服務(wù)器列表確認(rèn)其證書來確認(rèn)該HCE是可信的。在步驟540,QEC將客戶機(jī)的當(dāng)前健康聲明(SoH)信息發(fā)送到HCS。在步驟550,HCS將SoH信息傳遞到IAS服務(wù)器。在步驟560,IAS服務(wù)器基于該SoH信息及其配置的策略確定是否應(yīng)當(dāng)向客戶機(jī)授予健康證書。IAS服務(wù)器將健康聲明響應(yīng)(SoHR)以及表明是否應(yīng)當(dāng)向客戶機(jī)發(fā)放健康證書的值一起發(fā)送回健康證書服務(wù)器。
在步驟570,健康證書服務(wù)器將SoHR傳遞回AFW QEC。如果客戶機(jī)通過了健康檢查,則此時向其發(fā)放健康證書。只要新的SoH信息到達(dá)隔離代理或者只要當(dāng)前的健康證書即將過期,AFW QEC就經(jīng)歷步驟530至570。如果向AFW QEC發(fā)放健康證書,則它在步驟580將該證書添加到計算機(jī)的機(jī)器存儲。它配置IPsec子系統(tǒng)以試圖向它所能夠的任何對等體認(rèn)證該健康證書。它使用IPsec配置主機(jī)防火墻以允許來自用健康證書認(rèn)證的任何對等體的傳入的連接。在這一點上,計算機(jī)現(xiàn)在在保護(hù)環(huán)中操作。
不能參與AFW隔離的系統(tǒng)簡單地引導(dǎo)到隔離環(huán)中并停留在那里。它可能能夠訪問因特網(wǎng)并且可能能夠訪問邊界環(huán)或隔離環(huán)中的任何其它計算機(jī)。保護(hù)環(huán)計算機(jī)能夠連接到這些計算機(jī),但相反則不能。
圖6示出了客戶機(jī)用于啟動與啟用了IPsec主機(jī)的通信的過程。在步驟610,客戶機(jī)向主機(jī)發(fā)送包括客戶機(jī)健康證書的IKE數(shù)據(jù)包。在步驟620,主機(jī)確認(rèn)該健康證書,并通過提供其自己的健康證書來響應(yīng)。在步驟630,客戶機(jī)使用ESP啟動TCP/IP握手。在步驟640,完成握手,并可任選地在客戶機(jī)和主機(jī)之間啟用加密的通信。
以上對本發(fā)明各實施例的描述是為說明和描述的目的而提出的。它并不打算窮盡或?qū)⒈景l(fā)明限于所公開的精確實施例。鑒于以上說明,許多修改或變體是可能的。選擇并描述所討論的實施例以提供對本發(fā)明的原理及其實際應(yīng)用的最佳說明,由此使本領(lǐng)域的普通技術(shù)人員能夠在各實施例中并用適用于所構(gòu)想的特定用途的各種修改來使用本發(fā)明。當(dāng)依照公平、合法且公正地授權(quán)的寬度來解釋時,所有這樣的修改和變體都在由所附權(quán)利要求書確定的本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種使主機(jī)使用IP安全協(xié)議(IPsec)來提供網(wǎng)絡(luò)中選擇性的網(wǎng)絡(luò)隔絕的方法,包括從客戶機(jī)接收包括客戶機(jī)健康證書的互聯(lián)網(wǎng)密鑰交換(IKE)數(shù)據(jù)包;確認(rèn)所述客戶機(jī)健康證書;如果所述客戶機(jī)健康證書有效,則向所述客戶機(jī)發(fā)送主機(jī)健康證書;以及如果所述客戶機(jī)健康證書無效,則拒絕所述客戶機(jī)對所述主機(jī)的訪問。
2.如權(quán)利要求1所述的方法,其特征在于,健康證書指示所述證書的所有者符合所述網(wǎng)絡(luò)的安全策略。
3.如權(quán)利要求1所述的方法,其特征在于,還包括如果所述客戶機(jī)健康證書有效,則通過IPsec通信與所述客戶機(jī)通信。
4.如權(quán)利要求1所述的方法,其特征在于,所述健康證書是X509證書。
5.如權(quán)利要求1所述的方法,其特征在于,所述健康證書是Kerberos權(quán)證。
6.如權(quán)利要求1所述的方法,其特征在于,所述健康證書是WS安全令牌。
7.一種其上儲存用于執(zhí)行如權(quán)利要求1所述的方法的計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)。
8.一種使主機(jī)用于獲取健康證書的方法,包括向健康證書服務(wù)器發(fā)送至少一個健康聲明;從健康證書服務(wù)器接收至少一個健康聲明響應(yīng);以及如果所述至少一個健康聲明被所述健康證書服務(wù)器確認(rèn),則接收一健康證書并將所述主機(jī)配置成實現(xiàn)一IPsec策略,所述IPsec策略在向客戶機(jī)授予對所述主機(jī)的訪問權(quán)限之前向所述客戶機(jī)要求客戶機(jī)健康證書。
9.如權(quán)利要求8所述的方法,其特征在于,如果所述至少一個健康聲明不被確認(rèn),則所述至少一個健康聲明響應(yīng)指示所述主機(jī)不符合網(wǎng)絡(luò)安全策略。
10.如權(quán)利要求8所述的方法,其特征在于,所述健康證書是X509證書。
11.如權(quán)利要求8所述的方法,其特征在于,所述健康證書是Kerberos權(quán)證。
12.如權(quán)利要求8所述的方法,其特征在于,所述健康證書是WS安全令牌。
13.一種其上儲存用于執(zhí)行如權(quán)利要求8所述的方法的計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)。
14.一種實現(xiàn)網(wǎng)絡(luò)隔絕模型的計算機(jī)網(wǎng)絡(luò),包括第一組計算機(jī),其中,每一計算機(jī)擁有一健康證書,并僅與同樣擁有有效健康證書的計算機(jī)進(jìn)行通信;第二組計算機(jī),其中,每一計算機(jī)擁有一健康證書,并與所述網(wǎng)絡(luò)中的所有其它計算機(jī)進(jìn)行通信;以及第三組計算機(jī),其中,每一計算機(jī)不擁有健康證書,并與所述網(wǎng)絡(luò)中的所有其它計算機(jī)進(jìn)行通信。
15.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述第一組計算機(jī)之間以及所述第一組計算機(jī)與所述第二組計算機(jī)之間的通信是使用IPsec來實現(xiàn)的。
16.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述健康證書是X509證書。
17.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述健康證書是Kerberos權(quán)證。
18.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述健康證書是WS安全令牌。
19.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述健康證書指示所述證書的所有者符合所述網(wǎng)絡(luò)的所建立的安全策略。
20.如權(quán)利要求14所述的網(wǎng)絡(luò),其特征在于,所述第一組計算機(jī)可啟動與所述第三組計算機(jī)的通信,但是所述第三組計算機(jī)不能啟動與所述第一組計算機(jī)的通信。
全文摘要
提供了一種用于確保具有無效或破壞狀態(tài)的機(jī)器被限制訪問主機(jī)資源的系統(tǒng)和方法。位于客戶機(jī)上的隔離代理(QA)從多個隔離策略客戶機(jī)獲取健康聲明。QA包裝該聲明,并將該包提供給隔離實施客戶機(jī)(QEC)。QEC用對健康證書的請求將該包發(fā)送到隔離健康證書服務(wù)器(HCS)。如果客戶機(jī)提供了有效的健康聲明,則HCS向客戶機(jī)授予可在IPsec會話協(xié)商中使用的健康證書。
文檔編號H04L12/24GK1770769SQ200510116338
公開日2006年5月10日 申請日期2005年10月14日 優(yōu)先權(quán)日2004年10月14日
發(fā)明者B·D·斯汪達(dá), C·J·布萊克, J·M·喬納森, K·N·蒙斯, P·G·梅菲爾德 申請人:微軟公司