新四季網

創建與遠程資源的安全交互連接的製作方法

2023-10-09 15:11:04


專利名稱::創建與遠程資源的安全交互連接的製作方法創建與遠程資源的安全交互連接扭旦冃足
背景技術:
和相關領域隨著計算機化系統的日益流行,對大型和小型網絡內計算機系統的文件和處理資源分布的需要也日益增加。一般而言,計算機系統和相關設備經由網絡傳遞信息是出於各種原因,例如交換個人電子消息、出售商品、提供帳戶信息等。然而人們會認識到,隨著計算機系統及其相關應用程式變得愈發複雜,與在網絡上共享數據和資源相關聯的各種挑戰(例如,"設備"、"應用"或"應用組件")也在增加。在網絡內分布資源的一些現有方法包括集中式計算場景,這會涉及與未本地安裝資源的一個或多個客戶共享這些資源的集中式網絡伺服器。已用於這類功能的一種協議是遠程桌面協議(RDP)。使用遠程桌面協議,集中式網絡伺服器可以與網絡上的其他客戶共享感興趣的數據和資源。在某些情況下,這些客戶隨後可以如同這些資源被本地安裝一樣來與這些資源進行交互(例如,發送滑鼠和鍵盤事件等)。理想情況下,客戶計算機系統和網絡伺服器之間的這種交互會無縫地進行,如同該客戶計算機系統用其自身安裝的資源來在本地處理這些數據一樣。當用戶與集中式伺服器發起連接時,該用戶的客戶計算機系統發起一系列的協議交換,這最終會使用戶登陸到伺服器計算機系統。這組交換的一部分是標準連接"握手"開銷,這是大多數安全網絡連接類型所固有的。這些開銷的很大一部分是在用戶有機會驗證個人憑證(例如,用戶名和口令)之前在客戶計算機系統和集中式伺服器之間建立初始連接的一部分。例如,在某些情況下可能存在有16種之多的不同交換,它們作為客戶登錄集中式伺服器的一部分在向用戶呈現登錄屏幕之前發生。結果,集中式伺服器和客戶計算機系統通常耗費大量連接處理資源來生成用戶連接會話,這甚至是在用戶實際有機會進行驗證之前。6用戶驗證中的這一相對延遲會導致客戶/伺服器交互的許多不同的困難。更具體地,建立這類連接的問題之一在於任何人都可以發起與伺服器的連接,即使最後只有經授權的用戶才能得到完全驗證。這一初始連接開銷可能會引起集中式伺服器潛在地易受某類拒絕服務("DOS")攻擊,諸如在惡意代理髮起多個連接請求,企圖超載並危及集中式伺服器安全之時。連接場景的另一個類似的潛在問題是在客戶與伺服器變為斷開連接時可能會存在困難。具體而言,通常,對原始連接建立的保存即使存在,也會很少,因而客戶計算機系統和伺服器將需要重建該連接,這就意味著再一次的重新啟動先前的建立開銷序列。這會使用強度波動的連接(諸如,無線連接)的客戶計算機系統產生問題,並且會抑制對該客戶計算機系統所期望的無縫體驗。這還會其中客戶計算機系統通過伺服器場連接至集中式伺服器的情況中造成困難。例如,一個組織可能配置一組伺服器(即,"伺服器場")來分擔負載平衡顧慮,而與此同時這些伺服器都可通過單個虛擬網際網路協議地址("VIP")來尋址。然而,如果客戶計算機系統從伺服器場斷開,該客戶計算機系統就僅僅知曉VIP,而不知曉伺服器場中正處理與其連接的特定伺服器的具體網絡地址。於是,客戶計算機系統就無法順利地使用先前建立的連接設置自動與該集中式伺服器重新連接,而是通常需要重新啟動所有的常規連接協議交換才能繼續該通信。因此,在當前可被尋址的連接發起協議中,特別是那些處理集中式計算環境的協議,存在有諸多困難,簡述本發明的各個實現通過系統、方法和電腦程式產品來解決本領域中的一個或多個問題,這些系統、方法和電腦程式產品被配置為在安全客戶伺服器通信中建立比以前更加安全的憑證信息。更具體地,本發明的各個實現在不要求伺服器分配大量連接資源的情況下提供驗證信息的交換。此外,本發明的各個實現還能夠容易適於允許已丟失安全連接的一致性重建,無論是在典型的一對一客戶/伺服器連接下,還是在客戶與虛擬IP位址後的多個伺服器的伺服器場之間的連接下。例如,就網絡伺服器而言,一種在連接過程中相對較早地創建與客戶計算機系統的安全連接的方法,可以包括接收來自遠程客戶的、與網絡伺服器上一個或多個遠程伺服器資源進行通信的連接請求。一般而言,該連接請求指示了用以啟用該遠程客戶的多個安全通信協議。本方法還包括向該遠程客戶發送連接響應,其中該連接響應指示多個安全通信協議中的優選安全通信協議。此外,本方法還包括證實優選安全通信協議的使用以及與遠程客戶的驗證證書的交換,以及通過此優選安全通信協議與遠程客戶的遠程客戶資源傳遞數據。就客戶計算機系統而言,一種創建與網絡伺服器的安全連接的方法可以包括在客戶計算機系統處標識多個安全通信協議能力。本方法還包括與網絡伺服器協商多個安全通信協議能力中優選的一個。由此,客戶和網絡伺服器標識相互優選的安全通信協議。此外,本方法還包括使用該優選的安全通信協議與該網絡伺服器的遠程伺服器資源傳遞驗證信息,藉此證實各自的身份。一般而言,客戶可以發送其自身的驗證信息,並且客戶將收到來自伺服器的驗證證書。伺服器證書可以包括自籤名證書、手動安裝證書或從遠程證書權威機構收到的證書中的一種。本方法還包括用一個或多個初始數據分組來證實網絡伺服器的身份,而這些數據分組是使用該優選安全通信協議來傳遞的。提供本概述以便以簡化形式介紹概念的精選,這些概念將在以下的詳細描述中被進一步描述。本概述並不旨在標識要求保護的主題的關鍵特徵或本質特徵,也不旨在用於幫助確定要求保護的主題的範圍。本發明的額外特徵和優點將在以下的描述中闡述,並且可從該描述部分地變得顯而易見,或者可以在本發明的實踐中習得。各個特徵和優點可以通過在所附權利要求中特別指出的手段和組合來實現和獲知。本發明的這些和其它特徵將從以下描述和所附權利要求書中變得更加顯而易見,或者可通過如下所述對本發明的實踐而獲知。為了描述在其中能夠獲得本發明的前述和其他優點和特徵的方式,將通過參考在附圖中示出的其特定實施例來呈現以上簡述的本發明的更具體描述。應該理解這些附圖僅描述了本發明的典型實施例,因此不應被視為是對其範圍的限制,通過使用附圖可以用額外的特徵和細節來描述本發明,在附圖中圖1A示出了根據本發明一個實現的客戶計算機系統和網絡伺服器之間的安全協商的總覽示意圖;圖1B示出了根據本發明一個實現的其中客戶計算機系統和網絡伺服器協商安全通道並且交換驗證信息以最終建立該安全通道的圖1A的示意圖;圖1C示出了根據本發明一個實現的其中客戶計算機系統和網絡伺服器以證實它們的安全協議能力和/或選擇的方式來交換數據的圖1A-1B的示意圖;圖1D示出了根據本發明一個實現的另一示意圖,其中在圖1A-1C中示出的網絡伺服器是伺服器場的一部分,並且其中客戶計算機系統和網絡伺服器在失去連結之後嘗試重新連接;以及圖2示出了根據本發明一個實現的在客戶計算機系統和網絡伺服器的角度上用於發起安全網絡連接的流程圖。詳細說明本發明的各個實現延及被配置成在安全客戶伺服器通信中建立比以前更安全的憑證信息的系統、方法和電腦程式產品。更具體地,本發明的各個實現在不要求伺服器分配大量連接資源的情況下提供驗證信息的交換。此外,本發明的各個實現還能夠容易地適於允許已丟失安全連接的一致性重建,無論是在典型的一對一客戶/伺服器連接下,還是在客戶與虛擬IP位址後的多個伺服器的伺服器場之間的連接下。因此,如從以下說明書和權利要求所能更透徹理解的,這些原理的至少一個優點在於遠程客戶和網絡伺服器能夠建立安全網絡連接而不必將客戶或計算機置於某類DOS攻擊之下。例如,客戶計算機系統和網絡伺服器能夠在交互登錄連接序列早期交換安全和憑證信息,諸如在最初的多組請求和響應消息中,而非在創建連接會話之後。此外,本發明的各實現還提供要在隨後採用經協商的安全通信協議進行通信時在客戶和伺服器處被證實的請求和響應消息。於是,該客戶和伺服器就能夠避免分配大量資源給不合格的請求實體,這些請求實體要麼無法在連接創建早期提供驗證信息,要麼在連接創建的一個或多個證實階段中失敗。例如,圖1A示出了根據本發明一個實現的在客戶計算機系統和網絡伺服器之間的安全協商的總覽示意圖。如圖所示,客戶IOO包括遠程客戶應用程式105。一般而言,遠程客戶應用程式(本文中也稱為"遠程資源"或"遠程客戶資源")是能夠連接至另一遠程應用程式或相關組件(例如,遠程伺服器應用程式140)並能夠共享數據的應用程式或相關組件。例如,在一個實現中,遠程客戶應用程式105是使用遠程桌面協議(RDP)在建立安全連接會話之後最終與網絡伺服器的MICROSOFTTERMINALSERVICES(微軟終端服務)應用程式相連接的MICROSOFTTERMINALSERVICES客戶。在此情況下,遠程客戶資源可以訪問伺服器資源以提供某些應用程式功能(例如,文字處理、電子數據表等),該功能在隨後會顯示在客戶計算機系統100的顯示屏(未示出)上。圖1A還示出了遠程客戶應用程式105與安全選項組件120以及與憑證管理器109和證書存儲110之間的通信,而這將在下文中更為詳細地討論。一般而言,安全選項組件120是在客戶計算機系統100處啟用(例如,安裝的、活動的)的所有安全通信協議的列表(例如,系統配置表)。安全通信協議的這一列表可以包括任何數量的已知和可用的協議。然而,圖1A示出的客戶機100處的安全選項120例如可以包括安全套接字層("SSL")組件130禾卩"Cred-SSP"("證書安全服務提供者",也被稱為"證書安全支持提供者")組件135。Cred-SSP組件135是將其他安全通信協議的各方面(諸如SSL、WINDOWSNTLANMANAGER("NTLM")和Kerberos)捆綁在一起的相對較新的WINDOWS(視窗)安全服務提供者("SSP")。雖然未示出,但是客戶IOO也可以被配置成使用傳統的RDP安全基礎結構。作為解釋,雖然將組件125、130和135示為已知用於微軟作業系統環境的安全通信協議(或基礎結構一例如,傳統的RDP),但是應該理解在此描述中概述的原理不限於特定類型的安全通信協議,也不限於特定的作業系統環境或應用程式。也就是說,本文描述的原理可以容易地應用於其他的相關安全客戶/伺服器或共享應用程式以及相應的通信協議,並且能夠在任何其他的作業系統環境中輕鬆實現。因此,對微軟操作環境中常用名稱的具體列舉主要是為了描述方便。無論如何,圖1A還示出了遠程客戶應用程式105能夠通過驗證界面103來接收客戶憑證(例如,用戶名和口令107)。例如,當從某些用戶輸入收到初始化遠程客戶應用程式105的請求時,或當諸如在計算機啟動期間收到一般登陸請求時,客戶IOO就向用戶呈現驗證界面103。驗證界面103要求用戶出示諸如用戶名和口令、智慧卡或某些其他驗證信息。由用戶提供的這些和其他客戶驗證信息隨後被存儲在例如憑證管理器109中。其他類型的客戶驗證信息可以包括諸如智慧卡和個人身份號碼("PIN")l11。在某些情況下,客戶IOO還具有客戶證書113形式的存儲在客戶證書存儲110中的驗證信息。然而更典型地,作為驗證對象的證書可由伺服器150使用,如下文更完整的討論。一般而言,存在有多種不同種類的安全證書,這些安全證書可以從某些形式的輸入中創建,存儲在證書存儲中,並最終用於標識用戶或計算機系統。在某些情況下,證書可以只是提供加密密鑰的佔位符。然而,某些類型的證書包括"自籤名的證書",這是由創建者籤名的基本數字籤名,但沒有必要由第三方背書。其他類型的證書包括手動安裝的證書,諸如其中用戶訪問伺服器並手動安裝用戶可能已經創建的優選證書。其他類型的證書包括用戶通過第三方證書伺服器背書基礎結構接收的證書,諸如已由認可的驗證方背書的數字籤名。無論如何,這些證書類型的任何或全部都可以在任意給定時刻存儲在證書存儲110(或存儲155)內。然而,圖1A示出了證書存儲110持有證書113,並且如下文更完整的描述,證書存儲110最終將持有從伺服器150發送的伺服器證書117(例如,圖1B-1C)。當在遠程客戶應用程式105處的用戶想要發起與伺服器150的安全交互登錄連接時,客戶應用程式105首先執行內部安全檢測。例如,客戶應用程式105可以標識安全選項組件120內的每個已啟用的可用安全通信協議。客戶應用程式105隨後能夠標識至少存在組件125、130和135,這些組件各自在安全網絡通信中使用。客戶應用程式105還檢測其在某些情況下會優選使用的現有的安全基礎結構,諸如傳統的RDP基礎結構。遠程客戶應用程式105隨後準備連接請求消息137,該消息指示所標識的不同安全通信協議(即,125、130、135等)或相關安全基礎結構的每一個。值得注意的是,連接請求消息137可以是不請求對特定資源進行訪問(諸如通常在交換登錄中進行)的一般連接請求。然而人們將會認識到,本發明的原理也可應用於指向伺服器150的特定資源的登錄連接請求。然而,連接請求137在至少一個實現中可以是"X224"連接請求消息,它可被擴展成包括所標識的不同安全通信協議(即,"客戶能力")。遠程客戶應用程式105隨後經網絡發送連接請求137,並最終到達遠程伺服器應用程式140。在可選實現中,客戶100不準備X224連接請求消息,而是使用SSL向伺服器端的Cred-SSP175直接發送消息137。伺服器150隨後在最初的一個或多個消息137的分組中標識SSL和Cred-SSP指示。在某些情況下,這允許客戶100和伺服器150更快地完成安全協商階段,而沒有原本與創建X224連接請求和響應消息相關聯的某些開銷。無論如何,假設使用X224或其他相關方法發送消息137,遠程伺服器應用程式140就接收並處理消息137。伺服器150隨後標識由客戶IOO提出的安全通信能力,並且確定對安全通信協議(或安全基礎結構)的適當選擇。例如,圖1A示出了伺服器150經由應用程式140的判定模塊145標識伺服器150也啟用了SSL組件170和/或Cred-SSP組件175中的任一個。雖然未示出,但是伺服器150還可以啟用傳統的RDP安全基礎結構。在一個實現中,判定模塊145通過查看在某些方面與客戶端組件120相類似的伺服器端安全選項組件(例如,組件160)來確定使用具體的安全通信協議。當然,伺服器150可以啟用比客戶100呈現的更多或更少的安全通信協議。在此情況下,判定模塊145可以標識與客戶IOO共用的那些通信協議,並且挑選出優選的通信協議(或基礎結構)。判定模塊145可以基於任何數量的因素來做出該判定,這些因素包括但不限於系統設置、網絡管理員或其他用戶的偏好和/或其他網絡條件。然而,圖1A示出了遠程伺服器應用程式140決定使用Cred-SSP安全通信協議139來通信。更具體地,圖1A示出了遠程伺服器應用程式140準備連接響應信息139,該消息包括伺服器150想要使用Cred-SSP(在客戶100和伺服器150處分別為組件135和137)進行通信的指示。在一個實現中(例如,消息137是X224連接消息),連接響應消息139也是X224格式的連接響應消息。伺服器150隨後發送消息139給客戶100,而客戶100的接收則完成所請求連接的初始安全協商階段。如果消息B9不包含優選安全通信協議的指示,則客戶IOO可以標識伺服器150是無法執行前述的安全協商階段的老式伺服器。在此情況下,客戶100可以簡單地斷掉連接,提示用戶進行附加動作,或者調整到伺服器150可能理解的默認安全通信協議。如同其他判定一樣,這些默認設置可以基於用戶、網絡管理員或其他系統範圍內的默認設置中的任一個。在一個實現中,在沒有安全通信協議偏好的指示的情況下接收連接響應消息139會使得遠程客戶應用程式105默認RDP通信協議。在完成前述的安全協商階段之後,圖1B示出了客戶計算機系統100和伺服器150能夠建立安全通信通道。在這一特定情況下,客戶100和伺服器150使用它們各自通信堆棧的安全層中的"Cred-SSP"組件來初始化安全通信通道,以彼此通話。這意味著客戶100處的Cred-SSP組件135可以與伺服器150處的Cred-SSP組件175通信(例如,如圖1B中虛線雙向箭頭所指示的)。例如,圖1B示出了遠程客戶應用程式105準備將要發送到遠程伺服器資源,即遠程伺服器應用程式140的消息167。在此情況下,消息167包括待使用的一個或多個安全通道建議(例如,通道136)。伺服器100隨後查看消息167並確定要使用哪條提議通道。伺服器IOO隨後發送證實消息169,該消息證實由客戶IOO建議的通道之一(例如,通道136)的使用。客戶IOO和伺服器150還可以交換驗證信息以結束對協商的安全通道(例如,在此情況下的通道163)的建立。例如,圖1B示出了客戶IOO還發送客戶驗證消息168(與消息167同時,或稍後)至伺服器150,而伺服器150則回復伺服器驗證信息171。客戶驗證信息可以包括各類驗證機制,諸如用戶名和口令107、智慧卡和PINlll、以及在某些情況下甚至可以是客戶證書113。作為對比,伺服器驗證信息171可以包括各類驗證機制,諸如特別選擇的伺服器證書以及Kereros帳戶憑證和/或權證。在伺服器150,判定模塊145可以判定要使用哪一個可用的伺服器證書。在一個實現中,判定模塊145被配置成優選伺服器管理員選擇的證書,隨後進行核對以查看伺服器150系統設置是1否指示了證書偏好。如果伺服器管理員和伺服器150都沒有指示證書偏好,判定模塊145隨後使伺服器145為消息171自動生成自籤名的證書。無論如何,遠程伺服器應用程式145準備消息171,而選定的安全組件(即,Cred-SSP175)能夠將所確定的伺服器證書插入到消息171中。伺服器150隨後通過經協商的安全通道(例如,163)發送消息171,並將伺服器證書117的拷貝放置在客戶端的證書存儲110中。人們將會認識到可能存在有在其中由客戶或由伺服器發送的驗證被接收方拒絕的事件。被拒絕的原因很多,包括接收方判定為無效、驗證上的時間戳過期、標識信息與初始連接建立消息137和139提供的信息不一致等。在這些情況下,由相應的接收應用程式(例如,分別為105、140)使用的安全組件(例如,Cred-SSP135、175)可被配置成基於拒絕的原因執行一特定的動作。例如,判定模塊115或判定模塊145可以諮詢其配置設置,並請求新的證書,斷掉連接,提示用戶進行附加動作等。在某些情況下,合適的動作會取決於默認的系統設置或取決於用戶偏好,這指示了各應用程式被配置如何處理這類問題。無論如何,一旦客戶IOO和伺服器150完成安全通道建立(即,協商安全通道;發送、接收和接受驗證),客戶100和伺服器150就能夠建立用戶連接會話,並開始發送數據分組(例如,圖1C)。結果,圖1A和1B示出了客戶IOO和伺服器150在建立給定的用戶連接會話之前彼此進行驗證。這種早期驗證能夠提供多方面優點,其中至少部分優點可用來減輕DOS攻擊。例如,如果從一客戶接收的初始連接請求消息組(例如,137、167和168)不包括適當的客戶驗證信息,或者對客戶安全能力的指示,伺服器150就可被配置成簡單地丟棄該連接請求,由此避免耗費任何連接處理開銷。除了這些初始連接請求之外,響應於建立安全通道,圖1C示出了客戶100和伺服器150能夠發送增加系統安全能力的附加消息。例如,客戶100和伺服器150可以證實安全協議中的選擇,並進一步在用戶連接會話期間交換數據分組的最初各組時彼此驗證。更具體地,圖1C示出了客戶應用程式105準備消息177,該消息包括根據遠程應用協議(例如,RDP)格式化的數據,以及哪個客戶100想要被遠程伺服器應用程式140處理。圖1C還示出了消息177可以包括附加其上的消息137和/或139中的任一個,該消息證實在初始驗證中選定的安全協議實際上就是客戶和伺服器想要選擇的協議,並沒有受到另一方的篡改。當接收到消息177時,遠程伺服器應用程式140就開始處理相應的數據。然而在某些實現中,遠程伺服器應用程式140直到證實了有附加消息與伺服器150所期望的相匹配才開始處理消息177的數據。然而,圖1C示出了當處理消息177時,遠程伺服器應用程式140準備響應消息179,該消息也被格式化為遠程應用協議(例如,RDP)數據分組。此外,圖1C示出了消息179可以類似地包括附至其上的消息137和/或139中的任一個,作為在協商安全協議時證實由伺服器150提出的能力的方法。伺服器150隨後向客戶100發送消息179。一旦接收,遠程客戶應用程式105就處理消息179中所包含的數據。然而,在可選實現中並且如上所述,遠程客戶應用程式105可以在處理數據之前首先核對包含在消息179內的信息(例如,附加消息或其他)就是客戶100期望的信息。如果期望信息丟失,客戶100就斷掉該連接,提示用戶進行額外動作和/或發送新的連接請求。類似地,如果包括在消息179內的信息與所期望的在某些方面不同,則客戶IOO可以斷掉該連接,請求來自伺服器的校正或者簡單地開始發出新的連接請求(例如,圖1A)。假設客戶IOO和伺服器150已適當協商並建立起一安全通信通道,證實了所協商的協議,並且證實它們各自的身份,那麼相應的應用程式105和140就能夠使用選定的安全通信協議繼續通信。例如,客戶100的應用程式105可以接收、格式化(例如,RDP)並發送諸如滑鼠或鍵盤命令的用戶選擇事件,而遠程伺服器應用程式140能夠處理這些事件並且經由安全通道163向客戶100發送相應的響應數據。這一通信可以長期進行,或者直到任一方有意或無意地關閉通道163。因此,下表簡要概述了諸如上文所述的這一初始建立過程的實現。tableseeoriginaldocumentpage15tableseeoriginaldocumentpage16在本發明的一個實現中,客戶IOO還可以在無需就憑證或其他驗證信息再次提示用戶的情況下重新啟動用戶連接會話。更具體地,就客戶ioo在連接斷掉之後重新啟動該連接(諸如,經由自動或手動重新連接)而言,客戶100可以簡單地提交重申其在前有效連接上下文(即,用戶憑證上下文或句柄)的重新連接請求。一般而言,連接上下文(例如,圖1D中的111)包括客戶連接設置信息,諸如先前中繼給伺服器150的客戶驗證信息(例如,168)、以及在安全通信協議中的選擇和允許客戶和伺服器方便地彼此標識的任何其他適當的設置。如上所述,這些設置通常包括用戶名和口令、和/或智慧卡和PIN驗證組件。於是,當連接丟失且該連接的上下文仍然有效(即,沒有過期或變更)時,客戶100可以在無需就驗證信息提示用戶的情況下向伺服器150重新提交其連接上下文,並且在客戶100和伺服器150斷掉該連接的那一點通過協商通道163繼續通信。然而,類似剛才描述的重新連接在有伺服器場的情況下可能更為複雜,諸如被配置成用於負載平衡目的而在單個IP位址之後的一組伺服器。例如,如圖1D所示,對於遠程客戶計算機,可以經由相同的IP位址,即虛擬IP位址190("VIP190")對伺服器148、149、150和151的伺服器場180進行尋址。至。一般而言,VIP是由另一邊緣伺服器,甚至由伺服器場180內每個伺服器的配置提供服務。作為替代,伺服器場180中的每個伺服器都被配置為處理同一VIP的不同方面,並且還中繼並路由分組至伺服器場中的其他伺服器。儘管如此,雖然所有的伺服器可以通過VIP共享一部分連接負載,但是在給定時刻只有一個伺服器能夠處理與另一臺計算機(例如,客戶ioo)的特定會話。為了確保對連接責任的知曉被適當處理,圖1D示出了每個伺服器148、149、150和151具有對應的"會話目錄代理"183、185、187和189,用來跟蹤在安裝了對應的會話目錄代理的相應伺服器上的連接會話。例如,處理給定連接的伺服器具有基於用於連接客戶(例如,有關上述客戶100)的給定連接上下文(包括用戶驗證信息)的一個或多個連接會話。伺服器經由相應的會話目錄代理以及中央會話目錄代理伺服器153也將具有由伺服器場(例如在VIP190後的伺服器場180)內其他伺服器所服務的所有會話位置的目錄列表。也就是說,通常沒有一個伺服器能具有通過伺服器場服務的所有連接的所有用戶會話,但是能夠成功地把其不具有合適信息的連接(即,與給定客戶上下文相對應的會話)引向該場內的確具有該信息的伺服器。於是,例如圖1D示出了客戶IOO在諸如客戶IOO或伺服器150無意間斷開連接之後的某一點處準備重新連接消息193,並通過VIP190發送該消息。圖1D還示出了消息193包括諸如包括伺服器150的名稱和/或網絡地址的cookie的在前連接信息、和/或某些用戶信息。一般而言,VIP管理基礎結構(例如,經由伺服器153)能夠識別所包含的在前連接信息,因此能夠將消息193準確路由至伺服器150。伺服器150隨後建立與客戶100的安全通道,經由會話目錄代理187(或會話目錄伺服器153)證實它正對與有關在前連接的連接上下文lll提供服務,並在隨後重建在前連接會話。在自動重新連接沒有發生的情況下,該過程會因為重新連接消息193可能不包括足夠的伺服器標識信息而略有不同。於是,例如重新連接消息193可以首先到達伺服器148,該伺服器在此情況下沒有服務於在前連接。然而,當建立安全通道之後,伺服器148通過會話目錄代理183或者通過參考會話目錄伺服器153可以對消息193進行充分處理,從而確定伺服器148不具有合適的信息以使用會話191來進行連接。也就是說,伺服器148不能識別消息193中的用戶或伺服器的身份,或者標識為它不具有關於在前連接的連接上下文。17在這樣的處理中,會話目錄代理183與會話目錄伺服器153通信,並且向伺服器148指示伺服器150具有關於該用戶會話的記錄(即,經由上下文111)。於是,伺服器148準備響應消息195,該消息指示該連接不可用,並且還指示該連接可由伺服器150處理。客戶IOO隨後接收並處理消息195,並在隨後準備新的重新連接消息197。再一次,客戶100附加在前連接信息,而這一次則表明使用伺服器150(例如,伺服器名和/或網絡地址等)。因此,如圖1D所示,重新連接請求消息197通過VIP190適當路由至伺服器150。例如,與網際網路和伺服器場180進行接口的邊緣伺服器標識對伺服器150的經修改的請求,並將連接請求消息197轉發給伺服器150。當伺服器150收到連接請求197時,伺服器150開始處理該消息,以了解會話目錄代理187是否具有有關連接上下文111的記錄。因為會話目錄代理187具有有關上下文lll的記錄,所以伺服器150用合適的重新連接消息(即,消息199)做出響應。這一簡明的交換序列在客戶IOO和伺服器150之間重建了先前協商的通信通道163,並且允許客戶和伺服器如同之前一樣進行通信,而無需重新分配資源來初始化新的連接會話。因此,圖1A至1D提供了用於在創建安全連接的相對早期驗證連接序列的多個圖示和組件。更具體地,圖1A至1D示出了如何在安全連接請求的最先幾個數據分組中建立安全連接,並以此方式提供客戶和伺服器之間的多層證實。這樣,客戶和伺服器兩者就都能避免將寶貴的資源耗費在原本會導致成功的DOS攻擊的偽造連接上。本發明的各個實現還可以被描述成在一種用於實現期望結果的方法中的動作(和/或包括一個或多個非功能性動作的功能性步驟)序列。例如,圖2分別示出了在客戶100和伺服器150的角度上用來初始安全連接的方法中各動作的流程圖。如下將參考圖1A-1D所示的示圖描述圖2中示出的動作。例如,圖2示出一種在客戶IOO的角度上的方法,包括標識多個安全通信協議的動作200。動作200包括在客戶計算機系統處標識多個安全通信協議能力。例如,如圖1A所示,遠程客戶應用程式105經由判定模塊115標識組件125、130和135是在客戶IOO處啟用的有效的安全通信協議。此外,圖2示出在客戶100的角度上該方法包括與網絡伺服器協商優選安全通信協議的動作210。動作210包括與網絡伺服器協商多個安全通信協議能力中優選的一個,從而標識相互優選的安全通信協議。例如,客戶應用程式105執行準備並發送消息137給伺服器150的動作,其中消息137包括對安全連接的請求,並且還指示了協議125、130和135可用於該連接。由此,圖2示出在伺服器150的角度上該方法包括接收標識了安全能力的連接請求的動作220。動作220包括從遠程客戶接收與網絡伺服器處一個或多個遠程伺服器資源通信的連接請求,該連接請求指示遠程客戶啟用的多個安全通信協議。例如,如圖1A所示,伺服器應用程式140接收消息137,並且在處理時標識客戶100啟用了"SSL"和/或"Cred-SSP"通信機制中的任一種。此外,圖2示出在伺服器150的角度上該方法包括發送指示了優選安全通信協議的連接響應的動作230。動作230包括發送連接響應給該遠程客戶,該連接響應指示多個安全通信協議中的優選安全通信協議。例如,如圖1A所示,伺服器應用程式140判定它具有與客戶100中所指示的相同的啟用安全選項。伺服器應用程式140於是基於任何數量的偏好或系統設置來確定優選的安全通信協議,在此情況下是來自組的"Cred-SSP"175。伺服器應用程式140隨後準備並發送連接響應消息139給客戶100,其中消息139指示了使用Cred-SSP的偏好。在一個實現中,這樣就完成了由客戶在動作210中開始的安全協商的初始階段。因此,圖2示出在客戶100的角度上該方法包括與遠程伺服器資源交換驗證證書的動作240。動作240包括使用優選的安全通信協議與該網絡伺服器的遠程伺服器資源交換驗證信息,其中該伺服器驗證信息包括自籤名證書、手動安裝證書或接收自遠程證書權威機構的證書中的任一種。例如,如圖1B所示,遠程客戶應用程式105標識一個或多個合適的客戶驗證信息組件(例如,用戶名和口令107、智慧卡和PINlll、或證書存儲110中的客戶證書113),並且將選定的驗證信息經由消息137發送給遠程伺服器應用程式140。作為響應,遠程伺服器應用程式經由消息171接收來自伺服器150的伺服器證書117。圖2還示出在伺服器150的角度上該方法還包括證實該優選安全通信協議的使用的動作250。動作250包括通過與遠程客戶計算機系統交換初始數據分組來證實對優選安全通信協議的使用。例如,圖1C示出了當伺服器應用程式140發送消息179時,伺服器150還諸如通過包括在前發送的消息137和139的副本來向客戶100附加證實消息,或者重申先前在消息139中聲明的設置。此外,圖2示出在客戶150的角度上該方法包括與遠程客戶資源傳遞數據的動作260。動作260包括通過優選的安全通信協議與遠程客戶的遠程客戶資源傳遞數據。例如,如圖1C所示,伺服器應用程式140在經協商的通信通道163上接收消息177(例如,RDP數據分組),並且發送消息179(例如,響應於消息177的RDP數據分組)或者到遠程客戶應用程式105的任何其他數據通信。這樣,圖2示出在伺服器100的角度上該方法還包括證實該優選安全通信協議的使用的動作270。動作270包括用一個或多個初始數據分組證實網絡伺服器的身份。例如,遠程客戶應用程式經遠程應用協議接收消息179(例如,使用RDP準備的消息),其中消息179包括來自伺服器150的某些期望信息,諸如在前發送的消息137和/或139的副本。因此,消息179就向客戶100證實了對經同意的所選安全通信協議的使用。因此,各示意圖和本文描述的方法提供了多種組件和機制,用來創建安全通信通道和連接會話,並用來在連接過程的早期驗證這些安全通信通道和會話。更具體地,相比先前可用技術,本發明的各個實現能夠在交互登錄和遠程資源通信中提供更高級別的安全。例如,客戶和伺服器可以在連接過程早期彼此驗證,這樣就避免了將連接會話分配給那些未在期望時刻提供這種驗證信息的請求。此外,客戶和伺服器還可以在連接序列中的任意數量的點處附加先前發送的消息和/或設置,從而提供對客戶和/或伺服器各自身份的額外擔保。本發明的實施例可以包括含有各種計算機硬體的專用或通用計算機,如下文更詳細描述。更具體地,本發明的範圍內的實施例還包括用於承載或具有儲存其上的計算機可執行指令或數據結構的計算機可讀介質。這類計算機可讀介質可以是可由通用或專用計算機系統訪問的任何可用介質。作為示例而非限制,這類計算機可讀介質可包括RAM、ROM、EEPROM、CD-ROM或其它光碟存儲、磁碟存儲或其它磁存儲設備、或可用來以計算機可執行指令或數據結構的形式承載或當通過網絡或另一通信連接(硬接線、無線、或硬接線和無線的組合)向計算機傳輸或提供信息時,計算機將該連接適當地視為計算機可讀介質。由此,任何這類連接適當地稱為計算機可讀介質。上述的組合也應當包括在計算機可讀介質的範圍內。計算機可執行指令包括例如促使通用計算機、專用計算機或專用處理設備執行一個或一組特定功能的指令和數據。雖然已經用具體到結構特徵和/或方法動作的語言對主題進行了描述,但是應該理解在所附權利要求中定義的主題不必限於上述具體的特徵或動作。相反,上述具體特徵和動作作為實現權利要求的示例形式而公開。本發明可以用其它具體形式來實施,而不脫離其精神或本質特徵。所描述的實施例被認為在所有方面都僅是說明性而非限制性的。因此,本發明的範圍由所附權利要求書而非以上描述來指示。該權利要求書的等效技術方案的含義和範圍以內的所有更改將被包含在其範圍內。權利要求1.在其中伺服器與客戶計算機系統通過安全連接傳遞數據的計算機化系統內的所述伺服器處,一種通過在連接過程相對早期對發起來自所述客戶計算機系統的連接的用戶進行驗證而創建所述安全連接的方法,包括以下動作從所述客戶計算機系統接收與所述伺服器處一個或多個遠程伺服器資源通信的連接請求,所述連接請求指示所述客戶計算機系統啟用的多個安全通信協議;發送連接響應給所述客戶計算機系統,所述連接響應指示所述多個安全通信協議中的優選安全通信協議;通過與所述客戶計算機系統建立的安全通道中的數據交換,證實所述優選安全通信協議的使用;以及通過所述優選安全通信協議,與所述客戶計算機系統的客戶應用程式傳遞數據。2.如權利要求1所述的方法,其特徵在於,所述多個安全通信協議包括RDP、SSL、NTLM、Kerberos安全協議或其組合中的至少一種。3.如權利要求l所述的方法,其特徵在於,來自所述客戶計算機系統的所述連接請求是被擴展成包括所述客戶計算機系統啟用的所述多個安全通信協議的X224連接請求;並且所述連接響應是被擴展成包括所述優選安全通信協議的X224連接響應。4.如權利要求l所述的方法,其特徵在於,還包括在所述伺服器處標識與所述客戶計算機系統所指示的所述多個安全通信協議中的至少一個相同的一個或多個安全通信協議的動作。5.如權利要求4所述的方法,其特徵在於,還包括確定在所述伺服器處基於伺服器系統設置而使得所述一個或多個安全通信協議中有一個被允許的動作。6.如權利要求l所述的方法,其特徵在於,還包括以下動作在證書存儲中標識多個伺服器證書;以及確定所述多個伺服器證書中優選的一個以發送至所述客戶計算機系統。7.如權利要求6所述的方法,其特徵在於,所述優選的伺服器證書是由用戶顯式選擇的證書、通過伺服器系統策略配置的證書或自籤名伺服器證書中的任一小8.如權利要求l所述的方法,其特徵在於,還包括以下動作接收客戶計算機系統驗證信息;以及將所述驗證信息作為有關所述客戶計算機系統的連接上下文的一部分進行存儲。9.如權利要求8所述的方法,其特徵在於,還包括確定所述客戶計算機系統驗證信息為無效的步驟,所述步驟包括以下的一項或多項(i)標識所述客戶計算機系統驗證信息內的時間戳已過期的動作;(ii)標識已從所述客戶計算機系統接收到不包括期望驗證信息的一個或多個消息的動作;或者(iii)標識接收到的驗證證書與同來自所述客戶計算機系統的所述連接請求相關聯的期望驗證證書不相匹配的動作。10.如權利要求l所述的方法,其特徵在於,還包括接收導向VIP位址的不同連接請求的動作,其中所述不同的連接請求包括有關在前連接的連接信息。11.如權利要求IO所述的方法,其特徵在於,還包括以下動作標識對所述在前連接標識的連接上下文被保存在所述伺服器處;以及允許所請求的不同連接。12.如權利要求10所述的方法,其特徵在於,還包括以下動作標識有關所述在前連接的連接上下文被保存在不同伺服器處;以及發送響應消息給所述客戶計算機系統,所述響應消息指示所述不同伺服器是用於所述不同連接請求的適當伺服器。13.如權利要求1所述的方法,其特徵在於,還包括把先前從所述客戶計算機系統接收到的關於所述初始連接請求的一個或多個消息附加到由所述伺服器準備的傳出消息的動作,使得所述伺服器向所述客戶計算機系統證實它對所述優選安全通信協議的選擇。14.在一個被配置成通過安全連接與伺服器傳遞數據的客戶計算機系統處,一種通過在連接過程相對早期進行驗證來創建與所述伺服器的所述安全連接的方法,包括在所述客戶計算機系統處標識多個安全通信協議能力的動作;與所述伺服器協商所述多個安全通信協議能力中優選的一個的步驟,從而標識相互優選的安全通信協議;使用所述優選安全通信協議與所述伺服器交換驗證信息的動作,其中來自所述伺服器的驗證信息包括自籤名證書、手動安裝證書或接收自遠程證書權威機構的證書中的任一種;以及用在與所述伺服器協商期間傳遞的一個或多個初始數據分組來證實與所述伺服器協商的所述安全通信協議的使用的步驟。15.如權利要求14所述的方法,其特徵在於,所述協商多個安全通信協議中優選的一個的步驟還包括以下動作發送包括對在所述客戶計算機系統處標識的所述一個或多個安全通信協議的指示的連接請求消息;以及從所述伺服器接收標識所述安全通信協議中所述相互優選的一個的響應。16.如權利要求14所述的方法,其特徵在於,所述證實與所述伺服器協商的所述安全通信協議的使用的步驟包括以下動作從所述伺服器接收一個或多個初始數據分組;以及標識先前己與所述伺服器交換的、附加到所述一個或多個初始數據分組中任一個的信息。17.如權利要求14所述的方法,其特徵在於,還包括在所述客戶計算機系統處將從所述伺服器接收到的所述伺服器證書存儲在連接上下文中。18.如權利要求17所述的方法,其特徵在於,還包括以下動作標識與所述伺服器的連接己失敗;以及發送重新連接請求消息到所述伺服器的虛擬IP位址,其中所述重新連接請求消息包括存儲在所述連接上下文中的至少部分信息。19.如權利要求17所述的方法,其特徵在於,還包括以下動作從所述伺服器的所述虛擬IP位址接收拒絕連接消息,所述拒絕連接消息包括伺服器名和所述伺服器的網絡地址中的至少一個;發送新的重新連接請求消息到所述伺服器的所述虛擬IP位址,所述新的重新連接請求消息包括所述伺服器名和所述伺服器的網絡地址中的至少一個;以及根據所述連接上下文重建與所述伺服器的所述連接。20.在其中伺服器與客戶計算機系統通過安全連接傳遞數據的計算機化系統內的所述伺服器處,一種具有計算機可執行指令的電腦程式產品,所述指令在被執行時使所述伺服器處的一個或多個處理器執行一種通過在連接過程相對早期對所述客戶計算機系統進行驗證而創建所述安全連接的方法,包括以下動作從所述客戶計算機系統接收與伺服器處一個或多個遠程伺服器資源通信的連接請求,所述連接請求指示所述客戶計算機系統啟用的多個安全通信協議;發送連接響應給所述客戶計算機系統,所述連接響應指示所述多個安全通信協議中的優選安全通信協議;通過在與所述客戶計算機系統建立的安全通道中的數據交換,證實所述優選安全通信協議的使用;以及通過所述優選安全通信協議,與所述客戶計算機系統的客戶應用程式傳遞數據。全文摘要本發明的各個實現至少部分地通過在連接建立階段早期對客戶和伺服器進行驗證,而在該客戶和伺服器之間有效地建立安全連接。發起與伺服器連接的客戶標識在該客戶處啟用的安全通信協議,並在其發送給伺服器的連接請求中標識這些協議。伺服器處理該消息並且通過用其認為適合該連接的通信協議做出響應。客戶和伺服器於是交換合適的驗證信息,隨後建立實現所選通信協議的連接會話,並使用協商的通信協議加密各消息。附加實現涉及重建虛擬網際網路協議地址後的丟失連接,而無需重新耗費大量的連接資源開銷。文檔編號G06F15/16GK101263468SQ200680033199公開日2008年9月10日申請日期2006年9月11日優先權日2005年9月12日發明者A·伯納迪,A·帕勒卡,C·哈古,E·索爾,J·E·帕裡森斯,J·奇克,R·瑪哈佳,S·A·庫辛申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀