安全的單點(diǎn)登錄的制作方法
【專利摘要】本文中描述了一種提供安全的單點(diǎn)登錄的系統(tǒng)和方法。當(dāng)用戶向客戶端設(shè)備提供證書時(shí),可以攔截證書并且將證書高速緩存在安全位置,如在可信環(huán)境內(nèi)。當(dāng)客戶端過程如在客戶端設(shè)備上運(yùn)行的遠(yuǎn)程桌面程序向提供遠(yuǎn)程桌面服務(wù)的服務(wù)器請求用于單點(diǎn)登錄的證書時(shí),證書可以被保護(hù),例如在可以作為在可信環(huán)境下運(yùn)行的僅被訪問的部件的不透明容器內(nèi),并且證書可以被提供給客戶端過程??蛻舳诉^程可以在不可信環(huán)境下運(yùn)行,如操作系統(tǒng)會話??蛻舳嗽O(shè)備可以將安全證書轉(zhuǎn)發(fā)給服務(wù)器中的可信環(huán)境,以實(shí)現(xiàn)單點(diǎn)登錄。
【專利說明】安全的單點(diǎn)登錄
【技術(shù)領(lǐng)域】
[0001]本文中描述的多個(gè)方面涉及計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)安全。更具體地,本文中描述的多個(gè)方面涉及安全的單點(diǎn)登錄,如在虛擬化背景下,并且提供了一種用于以安全方式從客戶端向服務(wù)器發(fā)送用戶證書的方法和系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)上,個(gè)人計(jì)算機(jī)包括操作系統(tǒng)、應(yīng)用和用戶設(shè)置的組合,操作系統(tǒng)、應(yīng)用和用戶設(shè)置各自分別由擁有者或管理者在持續(xù)基礎(chǔ)上來管理。然而,很多組織現(xiàn)在使用桌面虛擬化來提供解決其用戶的變化的需求的更靈活的選擇。在桌面虛擬化中,用戶的計(jì)算環(huán)境(例如,操作系統(tǒng)、應(yīng)用、和/或用戶設(shè)置)可以與用戶的物理計(jì)算設(shè)備(例如,智能電話、筆記本計(jì)算機(jī)、臺式計(jì)算機(jī))分離。通過使用客戶端-服務(wù)器技術(shù),可以由遠(yuǎn)程服務(wù)器而非客戶端計(jì)算設(shè)備的本地存儲裝置中的服務(wù)器來存儲和管理“虛擬桌面”。
[0003]存在若干不同類型的桌面虛擬化系統(tǒng)。例如,虛擬桌面基礎(chǔ)架構(gòu)(VDI)指代在存在于服務(wù)器上的虛擬機(jī)內(nèi)運(yùn)行用戶桌面的處理。VDI和其他基于服務(wù)器的桌面虛擬化系統(tǒng)可以向每個(gè)用戶提供個(gè)性化的桌面,同時(shí)使得能夠?qū)崿F(xiàn)集中化的管理和安全。這樣的系統(tǒng)中的服務(wù)器可以包括用于虛擬桌面圖像和系統(tǒng)配置信息的存儲裝置、以及用于提供虛擬桌面并且使得用戶能夠與其交互的軟件部件。例如,VDI服務(wù)器可以包括用于創(chuàng)建和維護(hù)多個(gè)虛擬機(jī)的一個(gè)或多個(gè)管理程序(虛擬機(jī)管理者)、用于管理管理程序的軟件、連接代理、以及用于提供和管理虛擬桌面的軟件。
[0004]可以使用單個(gè)虛擬化服務(wù)器或互連為服務(wù)器網(wǎng)的多個(gè)服務(wù)器的組合來實(shí)現(xiàn)桌面虛擬化系統(tǒng)。多服務(wù)器桌面虛擬化系統(tǒng)通常包括附加的計(jì)算設(shè)備和/或共享存儲裝置,以提供公共系統(tǒng)管理門戶并且維持全局狀態(tài)信息。這樣的系統(tǒng)通常使用外部共享存儲裝置、連同虛擬化服務(wù)器內(nèi)的數(shù)據(jù)庫和企業(yè)服務(wù)器軟件來管理系統(tǒng)。在虛擬化桌面系統(tǒng)中,用戶分別提供證書來登陸提供虛擬化服務(wù)的服務(wù)器,阻礙了用戶生產(chǎn)率。
【發(fā)明內(nèi)容】
[0005]鑒于以上【背景技術(shù)】,以下內(nèi)容呈現(xiàn)本公開內(nèi)容的簡化概述,以提供對本文中描述的一些方面的基本理解。這個(gè)概述不是廣泛的概要,并且不意在識別關(guān)鍵或重要的元素或者描繪權(quán)利要求的范圍。以下概述僅以簡化形式呈現(xiàn)了各種所描述的方面,作為以下提供的更詳細(xì)的描述的序言。
[0006]為了克服以上缺點(diǎn)并且獲得在閱讀本公開內(nèi)容時(shí)實(shí)現(xiàn)的附加優(yōu)點(diǎn),本文中的方面描述了具有客戶端的單點(diǎn)登錄系統(tǒng),其通過證書提供者從客戶端過程接收對于用戶證書的請求并且向客戶端安全服務(wù)查詢用戶證書。向客戶端安全服務(wù)查詢用戶證書可以包括向客戶端安全服務(wù)發(fā)送高速緩存的用戶證書。在一些實(shí)施方式中,客戶端安全服務(wù)可以認(rèn)證服務(wù)器,并且在認(rèn)證服務(wù)器之后,可以基于服務(wù)器來保護(hù)用戶證書,例如以安全傳輸至服務(wù)器。保護(hù)用戶證書可以包括對高速緩存的用戶證書進(jìn)行加密??梢酝ㄟ^客戶端過程將安全的用戶證書發(fā)送至服務(wù)器,并且服務(wù)器可以基于安全的用戶證書來授予對客戶端過程的訪問權(quán)限。
[0007]在一些實(shí)施方式中,保護(hù)用戶證書可以包括基于客戶端安全服務(wù)和服務(wù)器安全服務(wù)達(dá)成一致的密鑰來對用戶證書進(jìn)行加密。在另外的實(shí)施方式中,服務(wù)器可以包括服務(wù)器安全服務(wù),并且服務(wù)器可以通過查詢服務(wù)器安全服務(wù)以對加密用戶證書進(jìn)行解密以及確認(rèn)用戶證書的有效性來授予對客戶端過程的訪問權(quán)限。
[0008]在又一實(shí)施方式中,證書提供者和客戶端安全服務(wù)可以在可信計(jì)算基礎(chǔ)中執(zhí)行,而客戶端過程可以在操作系統(tǒng)的不可信會話中執(zhí)行??蛻舳诉^程可以是不可信過程,并且證書提供者可以先于將安全的用戶證書發(fā)送至客戶端過程來認(rèn)證客戶端過程。認(rèn)證客戶端過程可以包括例如驗(yàn)證與客戶端過程關(guān)聯(lián)的可執(zhí)行文件(例如,通過操作系統(tǒng)加載以創(chuàng)建客戶端過程的可執(zhí)行文件)的數(shù)字簽名。
[0009]對于單點(diǎn)登錄,客戶端可以接收用戶證書。隨后,證書提供者可以攔截所接收的用戶證書并且將證書高速緩存在可信計(jì)算基礎(chǔ)內(nèi)的位置。在一些實(shí)施方式中,用戶證書可以包括智能卡引腳。
【專利附圖】
【附圖說明】
[0010]這樣,已經(jīng)用通用術(shù)語描述了本公開內(nèi)容的多個(gè)方面,現(xiàn)在將參考并非必須按比例繪制的附圖,其中:
[0011]圖1示出了可以實(shí)現(xiàn)本公開內(nèi)容的多個(gè)方面的示例操作環(huán)境。
[0012]圖2示出了可以根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面來使用的設(shè)備。
[0013]圖3示出了可以根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面來使用的設(shè)備。
[0014]圖4示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的一個(gè)示例客戶端和服務(wù)器環(huán)境。
[0015]圖5示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的另一示例客戶端和服務(wù)器環(huán)境。
[0016]圖6示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的又一示例客戶端和服務(wù)器環(huán)境。
[0017]圖7示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的安全的單點(diǎn)登錄的示例方法。
[0018]圖8示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的安全的單點(diǎn)登錄的另一示例方法。
【具體實(shí)施方式】
[0019]在以下對多種實(shí)施方式的描述中,參考了附圖,附圖形成了本文的一部分,并且其中,通過說明示出了可以實(shí)踐本文中所描述的多個(gè)方面的多種實(shí)施方式。應(yīng)當(dāng)理解,可以使用其他實(shí)施方式,并且可以在不脫離本公開內(nèi)容的范圍和精神的情況下進(jìn)行結(jié)構(gòu)和功能修改。
[0020]如本領(lǐng)域技術(shù)人員在閱讀以下公開內(nèi)容時(shí)可以理解的,本文中所描述的多個(gè)方面可以實(shí)現(xiàn)為方法、數(shù)據(jù)處理系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,這些方面可以采用完全硬件實(shí)施方式、完全軟件實(shí)施方式或組合軟件和硬件方面的實(shí)施方式的形式。此外,這樣的方面可以采用由一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲介質(zhì)來存儲的計(jì)算機(jī)程序產(chǎn)品的形式,計(jì)算機(jī)可讀存儲介質(zhì)具有在存儲介質(zhì)中或上實(shí)施的計(jì)算機(jī)可讀程序代碼或指令??梢允褂萌我夂线m的計(jì)算機(jī)可讀存儲介質(zhì),包括硬盤、⑶-ROM、光學(xué)存儲設(shè)備、磁性存儲設(shè)備、和/或其任意組合。此夕卜,可以以通過信號傳導(dǎo)介質(zhì)如金屬線、光纜、和/或無線傳輸介質(zhì)(例如,空氣和/或空間)行進(jìn)的電磁波的形式在源與目的地之間傳送多種如本文中所描述的表示數(shù)據(jù)或事件的信號。
[0021]圖1示出了可以根據(jù)本公開內(nèi)容的一個(gè)或多個(gè)說明性實(shí)施方式來使用的示例計(jì)算環(huán)境100中的通用計(jì)算設(shè)備101 (例如,計(jì)算機(jī)服務(wù)器106a)的示例框圖。根據(jù)一個(gè)或多個(gè)方面,通用計(jì)算設(shè)備101可以是被配置成提供用于客戶端存取設(shè)備的虛擬機(jī)的單服務(wù)器或多服務(wù)器桌面虛擬化系統(tǒng)中的服務(wù)器106a。通用計(jì)算設(shè)備101可以具有用于控制服務(wù)器及其關(guān)聯(lián)部件——包括隨機(jī)存取存儲器(RAM) 105、只讀存儲器(ROM) 107、輸入/輸出(I/O)模塊109和存儲器115——的整個(gè)操作的處理器103。
[0022]I/O模塊109可以包括鼠標(biāo)、鍵盤、觸摸屏、掃描儀、光學(xué)讀取器和/或觸筆(或其他輸入設(shè)備),通過這些輸入設(shè)備,通用計(jì)算設(shè)備101的用戶可以提供輸入,I/O模塊109還可以包括以下中的一個(gè)或多個(gè):用于提供音頻輸出的揚(yáng)聲器、以及用于提供文本、音視頻、和/或圖形輸出的視頻顯示設(shè)備。軟件可以存儲在存儲器115和/或其他存儲裝置內(nèi),以向處理器103提供用于使得通用計(jì)算設(shè)備101執(zhí)行各種功能的指令。例如,存儲器115可以存儲由通用計(jì)算設(shè)備來使用的軟件,如操作系統(tǒng)117、應(yīng)用程序119和關(guān)聯(lián)數(shù)據(jù)庫121。可替換地,用于通用計(jì)算設(shè)備101的計(jì)算機(jī)可執(zhí)行指令中的一些或全部可以用硬件或固件(未示出)來實(shí)施。
[0023]通用計(jì)算設(shè)備101可以在支持與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)如終端140(也稱為客戶端設(shè)備)的連接的連網(wǎng)環(huán)境下使用。終端140可以是包括以上關(guān)于通用計(jì)算設(shè)備101所描述的元件中的很多或全部元件的個(gè)人計(jì)算機(jī)或服務(wù)器。圖1所描繪的網(wǎng)絡(luò)連接包括局域網(wǎng)(LAN) 125和廣域網(wǎng)(WAN) 129,但是也可以包括其他網(wǎng)絡(luò)。當(dāng)在LAN連網(wǎng)環(huán)境下使用時(shí),通用計(jì)算設(shè)備101可以通過網(wǎng)絡(luò)接口或適配器123連接至LAN125。當(dāng)在WAN連網(wǎng)環(huán)境下使用時(shí),通用計(jì)算設(shè)備101可以包括用于通過WAN129如計(jì)算機(jī)網(wǎng)絡(luò)130 (例如,互聯(lián)網(wǎng))建立通信的調(diào)制解調(diào)器127或其他網(wǎng)絡(luò)接口。應(yīng)當(dāng)理解,所示網(wǎng)絡(luò)連接是說明性的,可以使用在計(jì)算機(jī)之間建立通信鏈接的其他器件。
[0024]通用計(jì)算設(shè)備101和/或終端140還可以是包括各種其他部件如電池、揚(yáng)聲器和天線(未示出)的移動終端(例如,移動電話、智能電話、PDA、筆記本等)。
[0025]本公開內(nèi)容在大量其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置下操作。可以適合于與本公開內(nèi)容一起使用的公知計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)、月艮務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于多處理器的系統(tǒng)、機(jī)頂盒、可編程客戶電子設(shè)備、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任意上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)士咅坐坐
-1?、寸寸ο
[0026]如圖1所示,一個(gè)或多個(gè)客戶端設(shè)備140可以與一個(gè)或多個(gè)服務(wù)器106a至106η(本文中統(tǒng)稱為“服務(wù)器106”)通信。在一些實(shí)施方式中,計(jì)算環(huán)境100可以包括安裝在服務(wù)器106與客戶端機(jī)器140之間的裝置。這個(gè)裝置可以管理客戶端/服務(wù)器連接,并且在一些情況下可以加載多個(gè)后端服務(wù)器106之間的平衡客戶端連接。
[0027]在一些實(shí)施方式中,客戶端機(jī)器140可以稱為單個(gè)客戶端機(jī)器140或單個(gè)客戶端機(jī)器組140,而服務(wù)器106可以稱為單個(gè)服務(wù)器106或單個(gè)服務(wù)器組106。在一些實(shí)施方式中,單個(gè)客戶端機(jī)器140與多于一個(gè)服務(wù)器106通信,而在其他實(shí)施方式中,單個(gè)服務(wù)器106與多于一個(gè)客戶端機(jī)器140通信。在又一其他實(shí)施方式中,單個(gè)客戶端機(jī)器140與單個(gè)服務(wù)器106通信。
[0028]在一些實(shí)施方式中,客戶端機(jī)器140可以用以下術(shù)語中的任一個(gè)來指代:客戶端機(jī)器140、客戶端、客戶端計(jì)算機(jī)、客戶端設(shè)備、客戶端計(jì)算設(shè)備、本地機(jī)器、遠(yuǎn)程機(jī)器、客戶端節(jié)點(diǎn)、端點(diǎn)、端點(diǎn)節(jié)點(diǎn)、或第二機(jī)器。在一些實(shí)施方式中,服務(wù)器106可以用以下術(shù)語中的任一種來指代:服務(wù)器、本地機(jī)器、遠(yuǎn)程機(jī)器、服務(wù)器群、主機(jī)計(jì)算設(shè)備、或第一機(jī)器。
[0029]在一些實(shí)施方式中,客戶端機(jī)器140可以是虛擬機(jī)。虛擬機(jī)可以是任何虛擬機(jī),雖然在一些實(shí)施方式中,虛擬機(jī)可以是由Citrix系統(tǒng)、IBM、VMware提出的管理程序或任何其他管理系統(tǒng)來管理的任何虛擬機(jī)。在一些方面,虛擬機(jī)可以由管理程序來管理,而在一些方面,虛擬機(jī)可以由在服務(wù)器106上執(zhí)行的管理程序或在客戶端140上執(zhí)行的管理程序來管理。
[0030]客戶端機(jī)器140可以執(zhí)行、操作或提供可以為以下各項(xiàng)的任一項(xiàng)的應(yīng)用:軟件、程序、可執(zhí)行指令、虛擬機(jī)、管理程序、網(wǎng)絡(luò)瀏覽器、基于網(wǎng)絡(luò)的客戶端、客戶端服務(wù)器應(yīng)用、瘦客戶端計(jì)算客戶端、ActiveX控件、Java小程序、與網(wǎng)絡(luò)語音協(xié)議(VoIP)通信如軟IP電話有關(guān)的軟件、用于流傳輸視頻和/或音頻的應(yīng)用、用于方便實(shí)時(shí)數(shù)據(jù)通信的應(yīng)用、HTTP客戶端、FTP客戶端、Oscar客戶端、TeInet客戶端、或任何其他可執(zhí)行指令集。又一其他實(shí)施方式包括顯示由在服務(wù)器106或其他遠(yuǎn)程機(jī)器上遠(yuǎn)程執(zhí)行的應(yīng)用生成的應(yīng)用輸出的客戶端設(shè)備140。在這些實(shí)施方式中,客戶端設(shè)備140可以在應(yīng)用窗口、瀏覽器、或其他輸出窗口中顯示應(yīng)用輸出。在一個(gè)示例中,應(yīng)用為桌面,而在其他示例中,應(yīng)用為生成桌面的應(yīng)用。桌面可以包括提供用于其中可以包括本地和/或遠(yuǎn)程應(yīng)用的操作系統(tǒng)的實(shí)例的用戶界面的圖形殼。如本文中所使用的,應(yīng)用為在加載操作系統(tǒng)(以及可選地也加載桌面)的實(shí)例之后執(zhí)行的程序。
[0031]在一些實(shí)施方式中,服務(wù)器106執(zhí)行遠(yuǎn)程呈現(xiàn)客戶端或如下其他客戶端或程序:其使用瘦客戶端或遠(yuǎn)程顯示協(xié)議來捕獲由在服務(wù)器106上執(zhí)行的應(yīng)用生成的顯示輸出,并且將應(yīng)用顯示輸出傳輸至遠(yuǎn)程客戶端140。瘦客戶端或遠(yuǎn)程顯示協(xié)議可以是以下協(xié)議中的任一個(gè):由佛羅里達(dá)勞德代爾堡的Citrix System(西里克斯系統(tǒng))公司制造的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議、或由華盛頓雷德蒙德的Microsoft (微軟)公司制造的遠(yuǎn)程桌面協(xié)議(RDP)。
[0032]計(jì)算環(huán)境可以包括多于一個(gè)服務(wù)器106A至106N,使得服務(wù)器106A至106N在邏輯上被一起分組成服務(wù)器群(farm) 106。服務(wù)器群106可以包括服務(wù)器群106中的地理上分散并且邏輯上被一起分組的服務(wù)器106、或者服務(wù)器群106中的位于彼此附近并且邏輯上被一起分組的服務(wù)器106。在一些實(shí)施方式中,服務(wù)器群106內(nèi)的地理上分散的服務(wù)器106A至106N使用WAN、MAN或LAN來通信,其中,不同地理區(qū)域的可以被特征化為:不同的大陸、大陸的不同區(qū)域、不同的國家、不同的州、不同的城市、不同的校園、不同的房間、或上述地理位置的任意組合。在一些實(shí)施方式中,服務(wù)器群106可以作為單個(gè)實(shí)體被管理,而在其他實(shí)施方式中,服務(wù)器群106可以包括多個(gè)服務(wù)器群106。
[0033]在一些實(shí)施方式中,服務(wù)器群106可以包括執(zhí)行基本上類似類型的操作系統(tǒng)平臺(例如,由華盛頓雷德蒙德的Microsoft公司制造的WINDOWS NT, UNIX、LINUX或SNOWLEOPARD)的服務(wù)器106。在其他實(shí)施方式中,服務(wù)器群106可以包括執(zhí)行第一類型的操作系統(tǒng)平臺的第一組服務(wù)器106、以及執(zhí)行第二類型的操作系統(tǒng)平臺的第二組服務(wù)器106。在其他實(shí)施方式中,服務(wù)器群106可以包括執(zhí)行不同類型的操作系統(tǒng)平臺的服務(wù)器106。
[0034]在一些實(shí)施方式中,服務(wù)器106可以是任何服務(wù)器類型。在其他實(shí)施方式中,服務(wù)器106可以是以下服務(wù)器類型中的任一種:文件服務(wù)器、應(yīng)用服務(wù)器、網(wǎng)絡(luò)服務(wù)器、代理服務(wù)器、裝置、網(wǎng)絡(luò)應(yīng)用、網(wǎng)關(guān)、應(yīng)用網(wǎng)關(guān)、網(wǎng)關(guān)服務(wù)器、虛擬化服務(wù)器、部署服務(wù)器、SSL VPN服務(wù)器、防火墻、網(wǎng)絡(luò)服務(wù)器、應(yīng)用服務(wù)器或主應(yīng)用服務(wù)器、執(zhí)行活動目錄的服務(wù)器106、或者執(zhí)行提供防火墻功能、應(yīng)用功能或加載平衡功能的應(yīng)用加速程序的服務(wù)器106。在一些實(shí)施方式中,服務(wù)器106可以是包括遠(yuǎn)程認(rèn)證撥入用戶服務(wù)的RADIUS服務(wù)器。在服務(wù)器106包括裝置的實(shí)施方式中,服務(wù)器106可以是由以下制造商中的任一個(gè)制造的裝置=CitrixApplicat1n Networking Group (西里克斯應(yīng)用網(wǎng)絡(luò)組)、Silver Peak Systems (銀峰系統(tǒng))公司、Riverbed Technology (河床科技)公司、F5Networks (F5 網(wǎng)絡(luò))公司、或 JuniperNetworks (瞻博網(wǎng)絡(luò))公司。一些實(shí)施方式包括從客戶端機(jī)器140接收請求、向第二服務(wù)器106η轉(zhuǎn)發(fā)請求、以及用來自第二服務(wù)器106η的響應(yīng)對由客戶端機(jī)器140生成的請求進(jìn)行響應(yīng)的第一服務(wù)器106Α。第一服務(wù)器106Α可以獲取可應(yīng)用于客戶端機(jī)器140的大量應(yīng)用以及與存儲在大量應(yīng)用內(nèi)識別的應(yīng)用的應(yīng)用服務(wù)器106關(guān)聯(lián)的地址信息。接著,第一服務(wù)器106Α可以使用網(wǎng)絡(luò)接口來呈現(xiàn)對客戶請求的響應(yīng),并且與客戶端140直接通信以向客戶端140提供對識別的應(yīng)用的訪問。
[0035]在一些實(shí)施方式中,服務(wù)器106可以執(zhí)行以下應(yīng)用中的任一個(gè):使用瘦客戶端協(xié)議來向客戶端傳輸應(yīng)用顯示數(shù)據(jù)的瘦客戶端應(yīng)用、遠(yuǎn)程顯示呈現(xiàn)應(yīng)用、Citrix System公司的 CITRIX ACCESS SUITE 的任何部分如 METAFRAME 或 CITRIX PRESENTAT1N SERVER、由Microsoft公司制造的MICROSOFT WINDOWS終端服務(wù)、或由Citrix System公司研發(fā)的ICA客戶端。另一實(shí)施方式包括作為應(yīng)用服務(wù)器的服務(wù)器106,例如:提供電子郵件服務(wù)如由Microsoft公司制造的MICROSOFT EXCHANGE的電子郵件服務(wù)器、網(wǎng)絡(luò)或互聯(lián)網(wǎng)服務(wù)器、桌面共享服務(wù)器、協(xié)同服務(wù)器、或任何其他類型的應(yīng)用服務(wù)器。又一其他實(shí)施方式包括執(zhí)行以下類型的存儲服務(wù)器應(yīng)用中的任一個(gè)的服務(wù)器106:由Citrix Online Divis1n(西里克斯在線部門)公司提供的G0T0MEETING、由加利福尼亞圣克拉拉的WebEx(網(wǎng)迅)公司提供的 WEBEX、或由 Microsoft 公司提供的 Microsoft Office LIVE MEETING。
[0036]在一些實(shí)施方式中,客戶端機(jī)器140可以是尋求對由服務(wù)器106提供的資源的訪問的客戶端節(jié)點(diǎn)。在其他實(shí)施方式中,服務(wù)器106可以向客戶端140或客戶端節(jié)點(diǎn)提供對存儲資源的訪問。在一些實(shí)施方式中,服務(wù)器106用作主節(jié)點(diǎn),使得其能夠與一個(gè)或多個(gè)客戶端140或服務(wù)器106通信。在一些實(shí)施方式中,主節(jié)點(diǎn)可以識別與存儲所請求的應(yīng)用的服務(wù)器106關(guān)聯(lián)的地址信息并且將其提供給一個(gè)或多個(gè)客戶端140或服務(wù)器106。在再一實(shí)施方式中,主節(jié)點(diǎn)可以是服務(wù)器群106、客戶端140、一組客戶端節(jié)點(diǎn)140或裝置。
[0037]一個(gè)或多個(gè)客戶端140和/或一個(gè)或多個(gè)服務(wù)器106可以通過安裝在計(jì)算環(huán)境100內(nèi)的機(jī)器與應(yīng)用之間的網(wǎng)絡(luò)130傳輸數(shù)據(jù)。網(wǎng)絡(luò)130可以包括一個(gè)或多個(gè)子網(wǎng)絡(luò),并且可以安裝在包括在計(jì)算環(huán)境100內(nèi)的客戶端140、服務(wù)器106、計(jì)算機(jī)器和裝置的任意組合之間。在一些實(shí)施方式中,網(wǎng)絡(luò)130可以是:局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、包括位于客戶端機(jī)器140與服務(wù)器106之間的多個(gè)子網(wǎng)絡(luò)的主網(wǎng)絡(luò)104、具有私有子網(wǎng)絡(luò)的主公共網(wǎng)絡(luò)130 (例如,互連網(wǎng))、具有公共子網(wǎng)絡(luò)的主私有網(wǎng)絡(luò)130、或具有私有子網(wǎng)絡(luò)的主私有網(wǎng)絡(luò)130。另外的實(shí)施方式包括可以是以下網(wǎng)絡(luò)類型中的任意類型的網(wǎng)絡(luò)130:點(diǎn)對點(diǎn)網(wǎng)絡(luò)、廣播網(wǎng)絡(luò)、電信網(wǎng)絡(luò)、數(shù)據(jù)通信網(wǎng)絡(luò)、計(jì)算機(jī)網(wǎng)絡(luò)、ATM(異步傳輸模式)網(wǎng)絡(luò)、SONET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò)、SDH(同步數(shù)字體系)網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、或包括其中無線鏈路可以是紅外信道或衛(wèi)星頻帶的無線鏈路的網(wǎng)絡(luò)。在不同的實(shí)施方式中,網(wǎng)絡(luò)130的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以不同,可能的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括:總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、星形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、環(huán)形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、基于中繼器的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、或分層星形網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。另外的實(shí)施方式可以包括使用用于多個(gè)移動設(shè)備之間的通信的協(xié)議的移動電話網(wǎng)絡(luò)的網(wǎng)絡(luò),其中,這個(gè)協(xié)議可以是以下各項(xiàng)中的任一項(xiàng):AMPS、TDMA、CDMA、GSM、GPRS UMTS、或任何其他能夠在多個(gè)移動設(shè)備之間傳輸數(shù)據(jù)的協(xié)議。
[0038]圖2所示為計(jì)算設(shè)備200的實(shí)施方式,其中,圖1所示的客戶端機(jī)器140和服務(wù)器106可以部署為本文中所說明和描述的計(jì)算設(shè)備200的任何實(shí)施方式和/或在其上執(zhí)行。計(jì)算設(shè)備200內(nèi)包括與以下部件通信的系統(tǒng)總線250:中央處理單元221、主存儲器222、存儲裝置228、輸入/輸出(I/O)控制器223、顯示設(shè)備224A至224N、安裝設(shè)備216、和網(wǎng)絡(luò)接口 218。在一種實(shí)施方式中,存儲裝置228包括:操作系統(tǒng)、軟件例程和客戶端代理220。在一些實(shí)施方式中,I/O控制器223還連接至鍵盤226和指示設(shè)備227。其他實(shí)施方式可以包括連接至多于一個(gè)輸入/輸出設(shè)備230A至230N的I/O控制器223。
[0039]圖3示出了計(jì)算設(shè)備300的一種實(shí)施方式,其中,圖1所示的客戶端機(jī)器140和服務(wù)器106可以部署為本文中所說明并且描述的計(jì)算設(shè)備300的任何實(shí)施方式并且可以在其上執(zhí)行。計(jì)算設(shè)備300內(nèi)包括與以下部件通信的系統(tǒng)總線350:橋接器370和第一 I/O設(shè)備330a。在其他實(shí)施方式中,橋接器370還與主控制處理單元321通信,其中,中央處理單元321還可以與第二 I/O設(shè)備330b、主存儲器322和高速緩沖存儲器340通信。中央處理單元321內(nèi)包括I/O端口、存儲器端口 303和主處理器。
[0040]計(jì)算機(jī)器300的實(shí)施方式可以包括特征在于以下部件配置中的任一種的中央處理單元321:響應(yīng)于并且處理從主存儲器單元322取出的指令的邏輯電路;微處理器單元,如:由Intel (英特爾)公司制造的、由Motorola(摩托羅拉)公司制造的、由加利福尼亞圣克拉拉的Transmeta(全美達(dá))公司制造的、由Internat1nal Business Machnies(國際商業(yè)機(jī)器)制造的微處理器單元;處理器,如由Advanced Micro Devices制造的處理器;或邏輯電路的任意其他組合。中央處理單元321的其他實(shí)施方式可以包括以下的任意組合:微處理器、微控制器、具有單個(gè)處理核的中央處理單元、具有兩個(gè)處理核的中央處理單元、或者具有多于兩個(gè)處理核的中央處理單元。
[0041]雖然圖3示出了包括單個(gè)中央處理單元321的計(jì)算設(shè)備300,然而,在一些實(shí)施方式中,計(jì)算設(shè)備300可以包括一個(gè)或多個(gè)處理單元321。在這些實(shí)施方式中,計(jì)算設(shè)備300可以存儲并且執(zhí)行固件或如下其他可執(zhí)行指令:這些指令在執(zhí)行時(shí)指示一個(gè)或多個(gè)處理單元321同時(shí)執(zhí)行多個(gè)指令或?qū)蝹€(gè)數(shù)據(jù)同時(shí)執(zhí)行多個(gè)指令。在其他實(shí)施方式中,計(jì)算設(shè)備300可以存儲并且執(zhí)行固件或如下其他可執(zhí)行指令:這些指令在執(zhí)行時(shí)指示一個(gè)或多個(gè)處理單元每個(gè)執(zhí)行一組指令的一部分。例如,可以指令每個(gè)處理單元321執(zhí)行程序的一部分或程序內(nèi)的具體模塊。
[0042]在一些實(shí)施方式中,處理單元321可以包括一個(gè)或多個(gè)處理核。例如,處理單元321可以具有兩個(gè)核、四個(gè)核、八個(gè)核等等。在一些實(shí)施方式中,處理單元321可以包括一個(gè)或多個(gè)并行處理核。在一些實(shí)施方式中,處理單元321的處理核可以訪問可用存儲器,如全局地址空間,或者在其他實(shí)施方式中,可以將計(jì)算設(shè)備300內(nèi)的存儲器分段并且分配給處理單元321內(nèi)的具體的核。在一些實(shí)施方式中,計(jì)算設(shè)備300內(nèi)的一個(gè)或多個(gè)處理核或處理器每個(gè)可以訪問本地存儲器。在其他實(shí)施方式中,計(jì)算設(shè)備300內(nèi)的存儲器可以由一個(gè)或多個(gè)處理器或處理器核來共享,而其他存儲器可以由具體的處理器或處理器的子集來訪問。在計(jì)算設(shè)備300包括多于一個(gè)處理單元的實(shí)施方式中,多個(gè)處理單元可以包括在單個(gè)集成電路(IC)中。在一些實(shí)施方式中,這些多個(gè)處理器可以通過內(nèi)部高速總線鏈接在一起,內(nèi)部高速總線可以稱為元件互連總線。
[0043]在計(jì)算設(shè)備300包括一個(gè)或多個(gè)處理單元321或者處理單元321包括一個(gè)或多個(gè)處理核的實(shí)施方式中,處理器可以同時(shí)對多個(gè)數(shù)據(jù)執(zhí)行單個(gè)指令(SMD),或者在其他實(shí)施方式中,可以同時(shí)對多個(gè)數(shù)據(jù)執(zhí)行多個(gè)指令(MIMD)。在一些實(shí)施方式中,計(jì)算設(shè)備100可以包括任何數(shù)量的SMD處理器和MMD處理器。
[0044]在一些實(shí)施方式中,計(jì)算設(shè)備300可以包括圖形處理器或圖形處理單元(未示出)。圖形處理單元可以包括軟件和硬件的任意組合,并且還可以輸入圖形數(shù)據(jù)和圖形指令,渲染來自輸入數(shù)據(jù)和指令的圖形,并且輸出渲染圖形。在一些實(shí)施方式中,圖形處理單元可以包括在處理單元321內(nèi)。在一些實(shí)施方式中,計(jì)算設(shè)備300可以包括一個(gè)或多個(gè)處理單元321,其中,至少一個(gè)處理單元321專用于處理和渲染圖形。
[0045]計(jì)算機(jī)器300的一個(gè)實(shí)施方式包括經(jīng)由輔助總線一也公知為后端總線一與高速緩沖存儲器340通信的中央處理單元321,而計(jì)算機(jī)器300的其他實(shí)施方式包括經(jīng)由系統(tǒng)總線350與高速緩沖存儲器通信的中央處理單元321。在一些實(shí)施方式中,本地系統(tǒng)總線350也由中央處理單元用于與多于一種類型的I/O設(shè)備330a至330η通信。在一些實(shí)施方式中,本地系統(tǒng)總線350可以是以下類型的總線中的任一種:VESA VL總線、ISA總線、EISA總線、微通道架構(gòu)(MAC)總線、PCI總線、PC1-X總線、PC1-Express總線或NuBus。計(jì)算機(jī)器300的其他實(shí)施方式包括I/O設(shè)備330a至330η,I/O設(shè)備330a至330η包括與中央處理單元321通信的視頻顯示器224。計(jì)算設(shè)備300的其他版本包括經(jīng)由以下連接中的任一種連接至I/O設(shè)備330a至330η的處理器321:超傳輸、快速I/O或無限帶寬。計(jì)算機(jī)器300的另外的實(shí)施方式包括使用本地互連總線與一個(gè)I/O設(shè)備330a通信并且使用直接連接與第二 I/O設(shè)備330b通信的處理器321。
[0046]在一些實(shí)施方式中,計(jì)算設(shè)備300包括主存儲器單元322和高速緩沖存儲器340。高速緩沖存儲器340可以是任何存儲器類型,并且在一些實(shí)施方式中,高速緩沖存儲器340可以是以下類型的存儲器中的任一種:SRAM、BSRAM或EDRAM。其他實(shí)施方式包括高速緩沖存儲器340以及可以為以下類型的存儲器中的任一種的主存儲器單元332:靜態(tài)隨機(jī)存取存儲器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM (BSRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、快速頁面模式DRAM (FPM DRAM)、增強(qiáng)型DRAM (EDRAM)、擴(kuò)展型數(shù)據(jù)輸出RAM (EDORAM)、擴(kuò)展型數(shù)據(jù)輸出DRAM (ED0DRAM)、突發(fā)擴(kuò)展型數(shù)據(jù)輸出DRAM (BEDO DRAM)、增強(qiáng)型DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PC100SDRAM、雙數(shù)據(jù)速率 SDRAM (DDR SDRAM)、增強(qiáng)型 SDRAM(ESDRAM)、同步鏈路 DRAM(SLDRAM)、直接蘭巴斯(Rambus)DRAM(DRDRAM)、鐵電RAM(FRAM)、或者任何其他類型的存儲器。另外的實(shí)施方式包括可以經(jīng)由以下來訪問主存儲器322的中央處理單元321:系統(tǒng)總線350、存儲器端口 303、或者任何其他使得處理器321能夠訪問存儲器322的連接、總線或端口。
[0047]計(jì)算設(shè)備200/300的一種實(shí)施方式提供對以下安裝設(shè)備216中的任一種的支持;CD-ROM驅(qū)動、CD-R/RW驅(qū)動、DVD-ROM驅(qū)動、各種格式的磁帶驅(qū)動、USB設(shè)備、可引導(dǎo)介質(zhì)、可引導(dǎo)⑶、用于GNU/Linux分布如ICNOPP丨X?的可引導(dǎo)⑶、硬驅(qū)動或任何其他適合于安裝應(yīng)用或軟件的設(shè)備。在一些實(shí)施方式中,應(yīng)用可以包括客戶端代理220、或者客戶端代理220的任何部分。計(jì)算設(shè)備200/300還可以包括可以是一個(gè)或多個(gè)硬盤驅(qū)動或者一個(gè)或多個(gè)獨(dú)立磁盤的冗余陣列的存儲設(shè)備228,其中,存儲設(shè)備被配置成存儲操作系統(tǒng)、軟件、程序應(yīng)用或至少客戶端代理220的一部分。計(jì)算設(shè)備200、300的另外的實(shí)施方式包括用作存儲設(shè)備228的安裝設(shè)備216。
[0048]計(jì)算設(shè)備200、300還可以包括網(wǎng)絡(luò)接口 218,網(wǎng)絡(luò)接口 218用于通過各種連接與局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或互聯(lián)網(wǎng)對接,各種連接包括但不限于標(biāo)準(zhǔn)電話線、LAN或WAN鏈路(例如,802.ll、Tl、T3、56kb、X.25、SNA、DECNET)、寬帶連接(例如,ISDN、幀延遲、ATM、千兆比特以太網(wǎng)、SONET之上的以太網(wǎng))、無線連接、或以上中的任意或全部的一些組合。也可以使用各種通信協(xié)議(例如,TCP/IP、IPX、SPX,NetB1S,以太網(wǎng)、ARCNET、SONET、SDH、光纖分布式數(shù)據(jù)接口(FDDI)、RS232、RS485、IEEE802.1UIEEE 802.11a, IEEE 802.lib, IEEE802.llg、CDMA、GSM、WiMax和直接異步連接)來建立連接。計(jì)算設(shè)備200、300的一個(gè)版本包括能夠經(jīng)由任何類型和/或形式的網(wǎng)關(guān)或隧道協(xié)議如安全套接層(SSL)或傳輸層安全(TLS)或者Citrix Systems公司制造的Citrix網(wǎng)關(guān)協(xié)議來與附加的計(jì)算設(shè)備200’、300’通信的網(wǎng)絡(luò)接口 218。網(wǎng)絡(luò)接口 218的版本可以包括以下中的任一種:內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)卡、卡總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器、或適合于將計(jì)算設(shè)備200、300對接至能夠傳輸和執(zhí)行本文中所描述的方法和系統(tǒng)的網(wǎng)絡(luò)的任何其他設(shè)備。
[0049]計(jì)算設(shè)備200、300的實(shí)施方式包括以下I/O設(shè)備230a至230η中的任一個(gè):鍵盤226、指示設(shè)備227、鼠標(biāo)、跟蹤板、光學(xué)筆、跟蹤球、麥克風(fēng)、繪圖板、視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)、和熱升華打印機(jī)、或者能夠執(zhí)行本文所描述的方法和系統(tǒng)的任何其他輸入/輸出設(shè)備。在一些實(shí)施方式中,I/O控制器223可以連接至多個(gè)I/O設(shè)備230a至230η,以控制一個(gè)或多個(gè)I/O設(shè)備。I/O設(shè)備230a至230η的一些實(shí)施方式可以被配置成提供存儲裝置或安裝介質(zhì)216,而其他實(shí)施方式可以提供用于接納USB存儲設(shè)備如由Twintech工業(yè)公司制造的設(shè)備的USB閃存驅(qū)動線的通用串行總線(USB)接口。又一其他實(shí)施方式包括可以是系統(tǒng)總線250與外部通信總線之間的橋接器的I/O設(shè)備230,外部通信總線例如為=USB總線、蘋果桌面總線、RS-232串聯(lián)、SCSI總線、防火墻總線、防火墻800總線、以太網(wǎng)總線、蘋果對話總線、千兆比特以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超HIPPI總線、串行Plus總線、SCI/LAMP總線、光纖信道總線、或串行附接小型計(jì)算機(jī)系統(tǒng)接口總線。
[0050]在一些實(shí)施方式中,計(jì)算機(jī)器200、300可以連接至多個(gè)顯示設(shè)備224a至224η,在其他實(shí)施方式中,計(jì)算設(shè)備100可以連接至單個(gè)顯示設(shè)備224,而在又一其他實(shí)施方式中,計(jì)算設(shè)備200、300連接至為相同類型或形式的顯示器的顯示設(shè)備224a至224η,或者連接至為不同類型或形式的顯示設(shè)備。顯示設(shè)備224a至224η的實(shí)施方式可以由以下設(shè)備來支持或啟用:一個(gè)或多個(gè)I/O設(shè)備230a至230η、I/O控制器223、I/O設(shè)備230a至230η與I/O控制器223的組合、能夠支持顯示設(shè)備224a至224η的硬件與軟件的任意組合、用于對接、通信、連接或以其他方式使用顯示設(shè)備224a至224η的任何類型和/或形式的視頻適配器、視頻卡、驅(qū)動器、和/或庫。在一些實(shí)施方式中,計(jì)算設(shè)備200、300可以被配置成使用一個(gè)或多個(gè)顯示設(shè)備224Α至224Ν,這些配置包括:具有用于接口連接至多個(gè)顯示設(shè)備224Α至224Ν的多個(gè)連接器;具有多個(gè)視頻適配器,其中,每個(gè)視頻適配器連接至顯示設(shè)備224Α至224Ν中的一個(gè)或多個(gè);具有被配置成支持多個(gè)顯示器224Α至224Ν的操作系統(tǒng);使用包括在計(jì)算設(shè)備200內(nèi)的電路和軟件來連接至并且使用多個(gè)顯示設(shè)備224Α至224Ν ;以及執(zhí)行主計(jì)算設(shè)備200和多個(gè)輔助計(jì)算設(shè)備上的軟件以使得主計(jì)算機(jī)設(shè)備200能夠使用輔助計(jì)算設(shè)備的顯示器作為用于主計(jì)算設(shè)備200的顯示器224Α至224Ν。計(jì)算設(shè)備200的又一其他實(shí)施方式可以包括由多個(gè)輔助計(jì)算設(shè)備提供的并且經(jīng)由網(wǎng)絡(luò)連接至主計(jì)算設(shè)備200的多個(gè)顯示設(shè)備224Α至224Ν。
[0051]在一些實(shí)施方式中,計(jì)算機(jī)器200可以執(zhí)行任何操作系統(tǒng),而在其他實(shí)施方式中,計(jì)算機(jī)器200可以執(zhí)行以下操作系統(tǒng)中的任一種MICROSOFT WINDOWS操作系統(tǒng)的如下版本,如 WIND0WS3.X、WIND0WS95, WINDOWS 98、WIND0WS2000, WINDOWS NT3.51、WINDOWSNT4.0、WINDOWS CE、WINDOWS XP、WINDOWS VISTA 和 WIND0WS7 ;Unix 和 Linux 操作系統(tǒng)的不同發(fā)布;由Apple Computer(蘋果計(jì)算機(jī)公司)制造的MAC OS的任何版本;由Internat1nal Business Machines制造的OS/2 ;任何嵌入式操作系統(tǒng)、任何實(shí)時(shí)操作系統(tǒng)、任何開放式源操作系統(tǒng)、任何專有操作系統(tǒng);用于移動計(jì)算設(shè)備的任何操作系統(tǒng);或者任何其他操作系統(tǒng)。在又一其他實(shí)施方式中,計(jì)算機(jī)器200可以執(zhí)行多個(gè)操作系統(tǒng)。例如,計(jì)算機(jī)器200可以執(zhí)行PARALLELS或者其他虛擬化平臺,該其他虛擬化平臺可以執(zhí)行或管理執(zhí)行第一操作系統(tǒng)的虛擬機(jī),與此同時(shí)計(jì)算機(jī)器200執(zhí)行不同于第一操作系統(tǒng)的第二操作系統(tǒng)。
[0052]計(jì)算機(jī)器200可以內(nèi)嵌在以下計(jì)算設(shè)備中的任一種中:計(jì)算工作站、臺式計(jì)算機(jī)、筆記本計(jì)算機(jī)、服務(wù)器、手持式計(jì)算機(jī)、移動電話、便攜式電信設(shè)備、媒體播放設(shè)備、游戲系統(tǒng)、移動計(jì)算設(shè)備、上網(wǎng)本、由Apple Computer制造的IPOD設(shè)備家族中的設(shè)備、由Sony (索尼)公司制造的PLAYSTAT1N設(shè)備家族中的任何設(shè)備、由Nintendo (任天堂)公司制造的Nintendo設(shè)備家族中的任何設(shè)備、由Microsoft公司制造的XBOX設(shè)備家族中的任何設(shè)備、或者能夠通信并且具有足以執(zhí)行本文中所描述的方法和系統(tǒng)的處理器功率和存儲器能力的任何其他類型和/或形式的計(jì)算、電信或媒體設(shè)備。在其他實(shí)施方式中,計(jì)算機(jī)器100可以是移動設(shè)備,如以下移動設(shè)備中的任一種:支持JAVA的蜂窩電話或個(gè)人數(shù)字助理(PDA),如 i55sr> i58sr> i85s、i88s、i90c、i95cl 或 imllOO,其全部由 Motorola 公司制造;由Kyocera(京瓷)制造的6035或7135 ;由Samsung Electronics (三星電子)有限公司制造的 ?300 或 ?330 ;由 Palm 公司制造的 TRE0180、270、600、650、680、700p、700w 或 750 智能電話;具有不同的處理器的任何計(jì)算設(shè)備、操作系統(tǒng)和與該設(shè)備一致的輸入設(shè)備;或者能夠執(zhí)行本文中所描述的方法和系統(tǒng)的任何其他移動計(jì)算設(shè)備。在又一其他實(shí)施方式中,計(jì)算設(shè)備200可以是以下移動計(jì)算設(shè)備中的任一種:任一種Blackberry (黑莓)系列或者由Research In Mot1n Limited 制造的其他手持式設(shè)備;由 Apple Computer 制造的 iPhone ;Palm Pre ; 口袋型PC ; 口袋型PC電話;或任何其他手持式移動設(shè)備。
[0053]在一些實(shí)施方式中,計(jì)算設(shè)備200可以具有不同的處理器、操作系統(tǒng)和與該設(shè)備一致的輸入設(shè)備。例如,在一種實(shí)施方式中,計(jì)算設(shè)備200為由Palm公司制造的TRE0180、270、600、650、680、700p、700w、或750智能電話。在這些實(shí)施方式中的一些中,TREO智能電話在PalmOS操作系統(tǒng)的控制下操作,并且包括手寫筆輸入設(shè)備以及五向?qū)Ш皆O(shè)備。
[0054]在其他實(shí)施方式中,計(jì)算設(shè)備200為移動設(shè)備,如支持JAVA的蜂窩電話或個(gè)人數(shù)字助理(PDA), ta i55sr、i58sr、i85s、i88s、i90c、i95cl 或 imllOO,其全部由伊利諾斯州紹姆堡的Motorola公司制造;由日本京都的Kyocera制造的6035或7135 ;或者由韓國首爾的Samsung Electronics有限公司制造的i300或i330。在一些實(shí)施方式中,計(jì)算設(shè)備200為由芬蘭的Nokia制造的移動設(shè)備、或者由瑞典隆德的Sony Ericsson移動通信公司制造的移動設(shè)備。
[0055]在又一其他實(shí)施方式中,計(jì)算設(shè)備200為Blackberry手持式或智能電話,如由Research In Mot1n Limited 制造的設(shè)備,包括 Blackberry7100 系列、8700 系列、7700 系列、7200系列、Blackberry 7520或Blackberry Pearl 8100。在又一其他實(shí)施方式中,計(jì)算設(shè)備200為智能電話、口袋型PC、口袋型PC電話或支持Microsoft Windows移動軟件的其他手持式移動設(shè)備。此外,計(jì)算設(shè)備200可以是任何工作站、臺式計(jì)算機(jī)、筆記本計(jì)算機(jī)、服務(wù)器、手持式計(jì)算機(jī)、移動電話、任何其他計(jì)算機(jī)、或能夠通信并且具有足以執(zhí)行本文中所描述的操作的處理器功率和存儲器能力的其他形式的計(jì)算或電信設(shè)備。
[0056]在一些實(shí)施方式中,計(jì)算設(shè)備200為數(shù)字音頻播放器。在這些實(shí)施方式中的一種中,計(jì)算設(shè)備200為數(shù)字音頻播放器,如由加利福尼亞庫比蒂諾的Apple Computer制造的Apple IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE設(shè)備線。在這些實(shí)施方式中的其他實(shí)施方式中,數(shù)字音頻播放器可以用作便攜式媒體播放器和大容量存儲設(shè)備二者。在其他實(shí)施方式中,計(jì)算設(shè)備200為數(shù)字音頻播放器,如由新澤西里奇菲爾德公園的SamsungElectronics America 制造的數(shù)字音頻播放器選擇(DigitalAud1Player Select)MP3 播放器、或者由伊利諾伊州紹姆堡的Motorola公司制造的Motorola m500或m25數(shù)字音頻播放器。在又一其他實(shí)施方式中,計(jì)算設(shè)備200為便攜式媒體播放器,如由CreativeTechnologies (創(chuàng)新科技)有限公司制造的MP3播放器的Zen Vis1n W、Zen Vis1n系列、Zen便攜式媒體中央設(shè)備、或數(shù)字MP3線。在又一其他實(shí)施方式中,計(jì)算設(shè)備200為支持如下文件格式的便攜式媒體播放器或數(shù)字音頻播放器:包括但不限于MP3、WAV、M4A/AAC> WMA保護(hù)的AAC、AIFF、可聽有聲讀物、Apple無損失音頻文件格式以及.mov、.m4v和.mp4MPEG-4 (H.264/MPEG-4AVC)視頻文件格式。
[0057]在一些實(shí)施方式中,計(jì)算設(shè)備200包括如組合有數(shù)字音頻播放器或便攜式媒體播放器的移動電話等設(shè)備的組合。在這些實(shí)施方式中的一種中,計(jì)算設(shè)備200為組合數(shù)字音頻播放器和移動電話的Motorola RAZR或Motorola ROKR線。在這些實(shí)施方式中的其他實(shí)施方式中,計(jì)算設(shè)備200為由加利福尼亞庫比蒂諾的Apple Computer制造的iPhone智能電話。
[0058]圖1至圖3示出了說明性桌面虛擬化系統(tǒng)的高層架構(gòu)。如所示出的,桌面虛擬化系統(tǒng)可以是單服務(wù)器或多服務(wù)器系統(tǒng),包括被配置成向一個(gè)或多個(gè)客戶端訪問設(shè)備140提供虛擬桌面和/或虛擬應(yīng)用的至少一個(gè)虛擬化服務(wù)器106。如本文中所使用的,桌面指代其中可以保存和/或執(zhí)行一個(gè)或多個(gè)應(yīng)用的圖形環(huán)境或空間。桌面可以包括提供用于其中可以集成有本地和/或遠(yuǎn)程應(yīng)用的操作系統(tǒng)的實(shí)例的用戶界面的圖形殼。如本文中所使用的,應(yīng)用為在操作系統(tǒng)(以及可選的桌面)的實(shí)例加載之后執(zhí)行的程序。操作系統(tǒng)的每個(gè)實(shí)例可以為物理的(例如,每個(gè)設(shè)備一個(gè)操作系統(tǒng))或虛擬的(例如,在單個(gè)設(shè)備上運(yùn)行的OS的很多實(shí)例)。每個(gè)應(yīng)用可以在本地設(shè)備上執(zhí)行,或者在位于遠(yuǎn)處的設(shè)備(例如,遠(yuǎn)程設(shè)備)上執(zhí)行。
[0059]以上參考圖1至圖3所描述的系統(tǒng)和架構(gòu)以及其他系統(tǒng)和架構(gòu)可以用于實(shí)現(xiàn)以下描述的功能。通常,在單點(diǎn)登錄(SSO)系統(tǒng)中,用戶在第一次登陸計(jì)算機(jī)或網(wǎng)絡(luò)時(shí)可以提供證書(例如,經(jīng)由客戶端設(shè)備的輸入設(shè)備),并且用戶可以被授權(quán)訪問多個(gè)系統(tǒng)而不必再次提供證書。在一些實(shí)施方式中,SSO可能要求用戶證書在實(shí)現(xiàn)SSO的所有系統(tǒng)上是相同的。在一些實(shí)施方式中,用戶在初始登陸客戶端設(shè)備或網(wǎng)絡(luò)時(shí)可以提供證書。在用戶隨后訪問遠(yuǎn)程桌面應(yīng)用時(shí),用戶的證書可能被自動提供給運(yùn)行遠(yuǎn)程桌面的客戶端或服務(wù)器,使得SSO通過縮短與遠(yuǎn)程桌面的連接時(shí)間來增加用戶的生產(chǎn)率。另一方面,在多簽名系統(tǒng)中,可能要求用戶在登陸客戶端設(shè)備以及在登陸服務(wù)器以訪問遠(yuǎn)程應(yīng)用或桌面兩種情況下提供證書,降低了用戶的效率。
[0060]在SSO系統(tǒng)中,保持了如用戶證書的信息的安全??梢酝ㄟ^將證書保持在可信計(jì)算基礎(chǔ)(TCB)內(nèi)和/或在證書離開TCB時(shí)以安全(例如,加密)格式傳輸證書來保護(hù)用戶證書。TCB可以在任何時(shí)間捕獲并且存儲證書,如當(dāng)證書在簽名期間或在設(shè)定處理期間被初始提供給客戶端設(shè)備時(shí)。在客戶端設(shè)備的可信操作系統(tǒng)會話中運(yùn)行的客戶端過程(例如,在客戶端設(shè)備上運(yùn)行的遠(yuǎn)程桌面程序)可以從TCB請求用戶證書,以使用其中所包括的服務(wù)器和處理來實(shí)現(xiàn)SS0。響應(yīng)于請求,TCB可以認(rèn)證客戶端過程和服務(wù)器。在認(rèn)證之后,TCB可以將證書保護(hù)在如不透明容器中,并且將安全證書發(fā)送給服務(wù)器TCB。不透明容器可以存儲任何類型的數(shù)據(jù),包括但不限于用戶證書和認(rèn)證消息。容器之所以被稱為不透明是因?yàn)?,其中存儲的?nèi)容在沒有適當(dāng)?shù)氖跈?quán)或安全的情況下不可見和/或不可用。在一些實(shí)施方式中,軟件、硬件和/或固件部件可以使用密鑰如加密或解密密鑰來提取不透明容器中存儲的數(shù)據(jù)。不能提取數(shù)據(jù)或未鎖住不透明容器的部件可能不知道不透明容器的內(nèi)容。相反,這些部件可能僅知道容器的長度、容器存儲數(shù)據(jù)的事實(shí)、和/或包括在容器的一些頭字段中的數(shù)據(jù)(例如,以識別不透明容器的目的地)。不透明容器可以包括例如HTTP載荷、TCP載荷、UDP載荷等。在一些實(shí)施方式中,安全證書從不離開不安全TCB(客戶端或服務(wù)器)。一旦用戶驗(yàn)證證書有效,則服務(wù)器可以授權(quán)對服務(wù)器資源的客戶端過程訪問(例如,用于支持遠(yuǎn)程桌面環(huán)境的服務(wù))。
[0061]圖4示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的示例客戶端405和服務(wù)器425環(huán)境。在一些實(shí)施方式中,客戶端405可以是圖1所示客戶端設(shè)備140中的一種??蛻舳?05可以包括可信計(jì)算基礎(chǔ)(TCB)410。TCB410可以包括可信的和安全的和/或以提升的權(quán)限執(zhí)行的硬件、固件和/或軟件部件。在一些實(shí)施方式中,TCB410可以執(zhí)行強(qiáng)調(diào)安全的功能,包括:存儲重要的和/或信任的信息;通過生成包含信息和/或加密信息的不透明容器來保護(hù)該信息;使用安全通信手段如密碼學(xué)通過不可信環(huán)境與其他TCB部件通信;以及提供對于安全而言重要的服務(wù)和/或政策。
[0062]若干元件——包括證書提供者445和安全服務(wù)460——可以在TCB410內(nèi)運(yùn)行。在一些實(shí)施方式中,證書提供者445可以由開發(fā)者(例如,Citrix Systems公司的CtxKerbHook.dll內(nèi)的開發(fā)者)來提供,以高速緩存由客戶端提供的證書。證書提供者445可以攔截(例如,接收)用戶證書。在一些實(shí)施方式中,當(dāng)用戶向客戶端設(shè)備提供證書時(shí)(例如,通過經(jīng)由計(jì)算設(shè)備200的I/O設(shè)備230輸入證書),證書提供者445可以將證書攔截和/或存儲(例如,高速緩存)在如TCB410內(nèi)。在其他實(shí)施方式中,證書提供者445可以類似地?cái)r截和/或存儲由用戶提供的證書,以用嵌入式芯片來解鎖智能卡或其他安全卡??梢圆捎萌魏涡问交蛐螤?。當(dāng)將智能卡插入客戶端設(shè)備405的讀取器(或帶入非接觸智能卡的讀取器的附近內(nèi))時(shí),智能卡可以與客戶端設(shè)備405內(nèi)的一個(gè)或多個(gè)部件通信,以認(rèn)證用戶。在這個(gè)用戶認(rèn)證期間,證書提供者445可以攔截和/或存儲證書(例如,用戶PIN)。在一些實(shí)施方式中,證書提供者可以僅在用戶認(rèn)證成功時(shí)存儲證書。證書提供者445可以通過存儲證書并且在請求證書時(shí)提供證書來用作代理證書提供者。
[0063]證書提供者445可以將用戶證書高速緩存為證書450,如圖4所示。證書450可以被高速緩存在TCB410內(nèi)的位置,由TCB410來維護(hù),或者是TCB410可訪問的。此外,可以用如下方式來高速緩存證書450:該方式使得能夠保護(hù)其對證書提供者445和/或安全服務(wù)460的可訪問性,這將在以下示例中進(jìn)一步描述。證書可以包括用于識別和/或認(rèn)證證書的持有者如用戶的任何信息。例如,證書包括但不限于用戶標(biāo)識(例如,用戶編號、用戶名等)和/或密碼、個(gè)人標(biāo)識號(PIN)、智能卡標(biāo)識、安全證書(例如,公共密鑰證書)、和用戶的特征(例如,通過傳感器捕獲的,如指紋讀取器、虹膜掃描、語音識別器或其他生物計(jì)量器件等等)。證書可以用安全格式來存儲。例如,證書提供者445可以使得能夠先于存儲來對證書450進(jìn)行加密。
[0064]TCB410還可以包括客戶端側(cè)安全服務(wù)部件460。在一些實(shí)施方式中,客戶端側(cè)安全服務(wù)460可以方便通過不可信環(huán)境來實(shí)現(xiàn)用戶證書的傳輸。例如,證書提供者445可以向客戶端側(cè)安全服務(wù)460查詢服務(wù),以方便從客戶端405至服務(wù)器425安全地傳輸用戶證書。此外,客戶端側(cè)安全服務(wù)460可以方便服務(wù)器425的認(rèn)證。可以由例如服務(wù)器側(cè)認(rèn)證器435和服務(wù)器側(cè)安全服務(wù)440來對客戶端405執(zhí)行類似的認(rèn)證步驟,這將在以下示例中進(jìn)一步詳細(xì)描述。在服務(wù)器425和/或客戶端405被認(rèn)證之后,客戶端側(cè)安全服務(wù)460可以保護(hù)用戶證書。例如,安全服務(wù)460可以生成其中包含有加密用戶證書的不透明容器。在一些實(shí)施方式中,僅具有匹配解密密鑰的部件可以解鎖不透明容器以訪問其中包括的用戶證書。這些部件可以包括在客戶端側(cè)TCB410或服務(wù)器側(cè)TCB430內(nèi)運(yùn)行的部件。在其他實(shí)施方式中,僅客戶端側(cè)安全服務(wù)460和服務(wù)器側(cè)安全服務(wù)440可以具有用于訪問證書的加密和/或解密密鑰。在一些實(shí)施方式中,客戶端側(cè)安全服務(wù)460和服務(wù)器側(cè)安全服務(wù)440可以關(guān)于在服務(wù)器425和/客戶端405的認(rèn)證之后但是在安全的用戶證書傳輸之前所使用的加密和/或解密密鑰達(dá)成一致。例如,安全服務(wù)460和440可以依賴于標(biāo)準(zhǔn)密碼協(xié)議(例如,TLS、SSL等)以協(xié)商用于加密/解密的共享對稱密鑰。
[0065]安全服務(wù)460可以將各種類型的加密用于安全信息,包括TLS、SSL、公共網(wǎng)關(guān)協(xié)議和/或任何其他密碼協(xié)議。安全服務(wù)460還可以依賴于密碼協(xié)議中所包括的握手功能來執(zhí)行認(rèn)證。在一些實(shí)施方式中,加密/解密密鑰可以是對稱的,并且可以在一次使用之后(例如,在加密和/或解密用戶證書的實(shí)例之后)被丟棄。例如,客戶端可以在向服務(wù)器發(fā)送安全證書之后立刻丟棄密鑰。通常,沒有正確密鑰的部件不能夠訪問不透明容器內(nèi)包括的信息。(先于發(fā)送證書執(zhí)行的)認(rèn)證步驟可以類似地通過發(fā)送和接收不透明容器來執(zhí)行,使得中間不可信部件(例如,TCB外部的部件,如客戶端過程420)不知道不透明容器的內(nèi)容,如容器是否包括認(rèn)證消息或用戶證書??蛻舳藗?cè)安全服務(wù)460可以與服務(wù)器側(cè)安全服務(wù)440一起工作以認(rèn)證和傳輸用戶證書。在一些實(shí)施方式中,客戶端側(cè)安全服務(wù)460可以向證書提供者445 (或查詢安全服務(wù)460的任何其他部件)發(fā)送包括加密用戶證書的不透明容器,證書提供者445 (或查詢安全服務(wù)460的任何其他部件)又可以向服務(wù)器轉(zhuǎn)發(fā)容器。在一些實(shí)施方式中,安全服務(wù)460和/或440可以是由設(shè)備操作系統(tǒng)提供的服務(wù)。例如,安全服務(wù)460和/或440可以是WINDOWS證書安全支持提供者(CredSSP)?;蛘撸梢允褂梅?wù)器側(cè)SSP來訪問服務(wù)器425。
[0066]客戶端405還可以包括不可信計(jì)算環(huán)境415。在一些實(shí)施方式中,不可信計(jì)算環(huán)境可以包括易于遭受惡意軟件(malware)攻擊的環(huán)境。不可信環(huán)境415可以包括可信計(jì)算基礎(chǔ)外部的任何硬件、固件和/或軟件部件。例如,不可信環(huán)境415可以是不可信操作系統(tǒng)(OS)會話,如WINDOWS (或UNIX、MAC OS等)會話。在一些實(shí)施方式中,可以通過使用用戶證書注冊來利用OS在用戶證書之后創(chuàng)建登陸會話。如之前所討論的,可以另外在用戶提供用于登陸會話的證書時(shí)由證書提供者445來攔截和/或高速緩存的用戶證書。在創(chuàng)建會話之后,用戶可以發(fā)起會話內(nèi)的應(yīng)用,包括客戶端過程420??蛻舳诉^程420可以包括虛擬化會話應(yīng)用,如ICA(例如,Citrix ICA客戶端),以方便客戶端405與服務(wù)器425之間的通信,使得服務(wù)器425能夠向客戶端405提供虛擬化(例如,虛擬應(yīng)用、桌面等)服務(wù)。客戶端過程420還可以使得一個(gè)或多個(gè)可執(zhí)行文件與其關(guān)聯(lián)。在一些實(shí)施方式中,在OS會話內(nèi)運(yùn)行的應(yīng)用可以是不可信的,因?yàn)槠湓诓豢尚怒h(huán)境中運(yùn)行。因此,可以先于證書輸入不可信環(huán)境來保護(hù)用戶證書(例如,設(shè)置在不透明容器中、加密等等)。
[0067]服務(wù)器425還可以包括可信計(jì)算基礎(chǔ)(TCB) 430。如之前關(guān)于客戶端側(cè)TCB410所描述的,服務(wù)器側(cè)TCB430通??梢园尚诺那野踩暮?或以提升的權(quán)限執(zhí)行的硬件、固件和/或軟件部件。若干元件一包括認(rèn)證器435和安全服務(wù)440—可以在TCB430內(nèi)運(yùn)行。在一些實(shí)施方式中,認(rèn)證器435可以由開發(fā)者(例如,Citrix Systems公司)來提供。由于認(rèn)證器435在TCB430內(nèi)運(yùn)行,所以認(rèn)證器435可以是以提升的權(quán)限運(yùn)行的可信部件。認(rèn)證器435可以方便對客戶端405和包括在其中的部件(例如,證書提供者445、客戶端過程等)的認(rèn)證。例如,認(rèn)證器435可以是在客戶端過程420與服務(wù)器側(cè)安全服務(wù)440之間交換的代理不透明容器。認(rèn)證器435還可以告知其他服務(wù)器部件(例如,被配置成提供虛擬化資源的部件)由客戶端過程420提供的證書有效,并且將用戶標(biāo)識提供給服務(wù)器部件,以方便向客戶端過程420提供虛擬化資源(例如,虛擬應(yīng)用)。
[0068]服務(wù)器側(cè)安全服務(wù)440可以與客戶端側(cè)安全服務(wù)460—起工作以認(rèn)證和傳送用戶證書。例如,當(dāng)認(rèn)證器435從客戶端405處接收安全信息(例如,在不透明容器中或者作為加密信息)時(shí),認(rèn)證器435可以向安全服務(wù)440查詢對安全信息的訪問。在一些實(shí)施方式中,安全服務(wù)440可以具有用于對從客戶端側(cè)TCB410接收的信息進(jìn)行解密的密鑰。安全信息可以包括例如認(rèn)證信息,其可以用于(例如,經(jīng)由握手處理)認(rèn)證服務(wù)器425和/或客戶端405。安全信息還可以包括例如通過客戶端側(cè)安全服務(wù)460保護(hù)的安全的用戶證書。在一些實(shí)施方式中,服務(wù)器側(cè)安全服務(wù)440可以不保護(hù)用戶證書(例如,純文本格式)并且將其發(fā)送給認(rèn)證器435。認(rèn)證器435可以通過例如比較證書與本地認(rèn)證數(shù)據(jù)庫或其他連接至服務(wù)器425 (例如,LDAP服務(wù)器、RADIUS服務(wù)器等)的基礎(chǔ)架構(gòu)而基于證書來驗(yàn)證用戶。
[0069]客戶端405和服務(wù)器425可以經(jīng)由一個(gè)或多個(gè)信道455來通信,如LAN125、WAN129、計(jì)算機(jī)網(wǎng)絡(luò)130或客戶端與服務(wù)器之間的任何其他網(wǎng)絡(luò)中所包括的通信信道。信道455可以方便客戶端過程420與服務(wù)器425之間的通信,并且可以包括任何數(shù)量的信道,包括虛擬信道??梢员A粢粋€(gè)或多個(gè)信道用于在證書提供者455/客戶端側(cè)安全服務(wù)460與認(rèn)證器435/服務(wù)器側(cè)安全服務(wù)440之間傳輸不透明容器。
[0070]圖5示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的另一示例客戶端505和服務(wù)器525環(huán)境。類似于圖4的示例環(huán)境,客戶端505可以包括可信計(jì)算基礎(chǔ)510和不可信環(huán)境515??尚庞?jì)算基礎(chǔ)510可以具有若干元件,包括證書提供者545、證書550、和安全服務(wù)560。不可信環(huán)境515可以包括客戶端過程520。服務(wù)器525可以包括可信計(jì)算基礎(chǔ)530。若干元件一包括認(rèn)證器535和安全服務(wù)540——可以在可信計(jì)算基礎(chǔ)530內(nèi)運(yùn)行。類似于圖4的示例環(huán)境,客戶端505和服務(wù)器525可以經(jīng)由一個(gè)或多個(gè)信道555來通信。
[0071]圖5的不例環(huán)境可以包括第二信道565,第二信道565用于證書提供者545直接與認(rèn)證器535通信,而非通過客戶端過程520彼此通信。在一些實(shí)施方式中,證書提供者545和認(rèn)證器535可以依賴于第二信道545來認(rèn)證和/或交換證書。例如,在SSO中,證書提供者545可以直接向認(rèn)證器535發(fā)送用戶證書,以允許客戶端過程520使用服務(wù)器525的資源,而不需要客戶端505第二次提供用戶證書(例如,在首次用戶證書提供之后,如當(dāng)用戶登錄OS會話時(shí))。在這個(gè)示例中,由于客戶端側(cè)TCB510中的部件和服務(wù)器側(cè)TCB530中的部件直接通信(例如,不通過不可信應(yīng)用,如客戶端過程520),所以證書沒有離開可信計(jì)算基礎(chǔ),并且因此保持安全。
[0072]圖6示出了根據(jù)本文中描述的一個(gè)或多個(gè)說明性方面的用于單點(diǎn)登錄的另一示例客戶端605和服務(wù)器625環(huán)境。類似于圖4和圖5的示例環(huán)境,客戶端605可以包括可信計(jì)算基礎(chǔ)610和不可信環(huán)境615??尚庞?jì)算基礎(chǔ)610可以具有若干元件,包括證書提供者645和高速緩存證書650。不同于圖4和圖5的示例環(huán)境,安全服務(wù)665可以在不可信環(huán)境615而非TCB610內(nèi)運(yùn)行。以下將參考圖8在示例中進(jìn)一步詳細(xì)描述安全服務(wù)665的功能。
[0073]不可信環(huán)境615還可以包括客戶端過程620和用戶證書660。在一些實(shí)施方式中,客戶端過程620可以從證書提供者645處請求和/或接收高速緩存證書的安全副本650 (例如,加密版本)。證書650的安全副本650可以存儲在不可信環(huán)境中作為副本660。
[0074]服務(wù)器625可以包括可信計(jì)算基礎(chǔ)630。若干元件——包括認(rèn)證器635和安全服務(wù)640—可以在可信計(jì)算基礎(chǔ)640內(nèi)運(yùn)行。類似于圖4和圖5的示例環(huán)境,客戶端605和服務(wù)器625可以經(jīng)由一個(gè)或多個(gè)655來通信。
[0075]圖7示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的安全的單點(diǎn)登錄的示例方法。在一些實(shí)施方式中,圖7的示例方法可以對應(yīng)于圖4的示例客戶端和服務(wù)器系統(tǒng)。在步驟705,客戶端405可以接收用戶證書。證書可以是用戶提供的,作為登錄過程的一部分,如經(jīng)由I/O設(shè)備230而通過智能卡或用戶輸入。在一些實(shí)施方式中,在用戶進(jìn)入登錄(例如,OS)會話時(shí),客戶端可以接收證書。例如,當(dāng)用戶發(fā)起WINDOWS會話時(shí),客戶端405可以經(jīng)由WINDOWS會話來提示用戶輸入證書,如用戶名和密碼。
[0076]在步驟710,證書提供者445可以攔截和/或存儲用戶的證書以便啟用SS0。證書提供者445可以將證書450高速緩存在TCB410內(nèi)的位置處以維持證書的安全性。在一些實(shí)施方式中,證書450可以以安全(例如,加密)格式來存儲。
[0077]在步驟715,證書提供者445可以從客戶端過程420接收對證書的請求。在一些實(shí)施方式中,客戶端過程420可以在OS會話內(nèi)的客戶端過程420開始(例如,通過OS自動開始或者通過用戶命令手動開始)之后請求證書。在一些實(shí)施方式中,客戶端過程420可以在服務(wù)器425從客戶端過程420處請求證書時(shí)請求證書。因此,在一些實(shí)施方式中,不是給用戶生成用戶證書的提示(例如,經(jīng)由⑶I),而是客戶端過程420可以從用于SSO的證書提供者445處請求證書。
[0078]在步驟720,可以響應(yīng)于對證書的請求來認(rèn)證客戶端過程420。在一些實(shí)施方式中,證書提供者445可以認(rèn)證客戶端過程420。例如,證書提供者445可以從OS請求與客戶端過程420關(guān)聯(lián)的可執(zhí)行文件的路徑(例如,開始客戶端過程的路徑)??蛻舳诉^程420的認(rèn)證可以包括若干步驟。首先,證書提供者445可以驗(yàn)證識別的可執(zhí)行文件的數(shù)字簽名。如果證書提供者445不能驗(yàn)證數(shù)字簽名,則可執(zhí)行文件可能被惡意軟件破壞。接著,證書提供者445可以例如通過聯(lián)系證書機(jī)構(gòu)(CA)以認(rèn)證附接至數(shù)字簽名的證書來認(rèn)證這個(gè)證書。如果CA不能確定證書的擁有者,則擁有者可能是惡意軟件創(chuàng)建者。其次,證書提供者445可以例如通過判定在可執(zhí)行文件中所包括的可執(zhí)行代碼被數(shù)字簽名之后是否被改變來驗(yàn)證可執(zhí)行代碼的完整性。如果不能判定可執(zhí)行代碼的真實(shí)性,則可執(zhí)行代碼可能已經(jīng)被惡意軟件改變。其次,證書提供者445可以通過判定簽名證書的擁有者是否可信來認(rèn)證可執(zhí)行文件的簽名者。如果不能認(rèn)證簽名者,則惡意軟件創(chuàng)建者可能已經(jīng)對證書簽名。
[0079]通過認(rèn)證客戶端過程420,將所添加的安全層合并到SSO系統(tǒng)中。在一些實(shí)施方式中,如果證書提供者445不能認(rèn)證客戶端過程420,則證書提供者可以拒絕與客戶端過程交流,因?yàn)榭蛻舳诉^程客戶可能已經(jīng)被惡意軟件感染。例如,由于客戶端過程的可執(zhí)行圖像可能是惡意軟件或可能被惡意軟件感染,所以如果數(shù)字簽名無效,或者如果簽名證書不能被認(rèn)證,則證書提供者445可以拒絕與客戶端過程420交流。在一些實(shí)施方式中,因?yàn)楹灻呖梢允遣豢尚欧?,如惡意軟件?chuàng)建者,所以如果簽名者不是可信方,則證書提供者445可以拒絕與客戶端過程420交流。雖然認(rèn)證客戶端過程420被示出為直接在接收對證書的請求這個(gè)步驟之后,然而,認(rèn)證也可以在任何時(shí)間出現(xiàn)。在一些實(shí)施方式中,認(rèn)證先于TCB410向服務(wù)器425發(fā)送證書(例如,步驟740,如圖7所示)而出現(xiàn),使得證書保持安全,直到客戶端過程420被認(rèn)證。
[0080]在步驟725,證書提供者445可以向安全服務(wù)460查詢安全證書。在一些實(shí)施方式中,這個(gè)查詢發(fā)起對客戶端405和/或服務(wù)器425的認(rèn)證(例如,步驟730),并且發(fā)起將證書傳送至服務(wù)器425 (例如,步驟740,如圖7所示)。在一些實(shí)施方式中,證書提供者445在查詢安全服務(wù)460的情況下可以包括高速緩存證書的副本450(例如,“新的證書”)。在其他實(shí)施方式中,安全服務(wù)460可以知道證書的位置,使得證書提供者445在查詢的情況下可以不包括高速緩存證書。在這些實(shí)施方式中,安全服務(wù)460可以獨(dú)立地從TCB410內(nèi)的其存儲位置獲取高速緩存證書450 (例如,“默認(rèn)證書”)。例如,“默認(rèn)證書”可以由WINDOWSCredSSP來提供。在一些實(shí)施方式中,安全服務(wù)460在查詢的情況下可以包括識別高速緩存證書的位置的信息。
[0081]在步驟730,可以對服務(wù)器425和/或客戶端405進(jìn)行認(rèn)證。在一些實(shí)施方式中,客戶端側(cè)安全服務(wù)460和服務(wù)器側(cè)安全服務(wù)440可以生成和/或消費(fèi)不透明容器以認(rèn)證。通常,證書提供者445 (和客戶端側(cè)安全服務(wù)460)和認(rèn)證器435 (和服務(wù)器側(cè)安全服務(wù)440)可以經(jīng)由客戶端過程420和/或信道455來交換不透明容器。如在先所描述的,安全服務(wù)460和440可以依賴于對于各種密碼協(xié)議如TLS、SSL或任何其他安全隧道協(xié)議可用的握手功能。
[0082]在步驟735,安全服務(wù)460可以保護(hù)證書。如在先所描述的,安全服務(wù)460可以創(chuàng)建包含有加密用戶證書的不透明容器。在一些實(shí)施方式中,可以使用任何密碼協(xié)議如TLS、SSL、公共網(wǎng)關(guān)協(xié)議等來對用戶證書進(jìn)行加密。安全服務(wù)460可以向證書提供者445轉(zhuǎn)發(fā)安全證書或者指示安全證書的位置(例如,在TCB410內(nèi))。
[0083]在步驟740,證書提供者445可以向認(rèn)證器435發(fā)送安全證書。在一些實(shí)施方式中,可以經(jīng)由客戶端過程420來發(fā)送安全證書,客戶端過程420已經(jīng)建立了一個(gè)或多個(gè)與認(rèn)證器435的通信信道455。因?yàn)樽C書先于傳送至客戶端過程420而被保護(hù),所以證書沒有離開安全可信計(jì)算基礎(chǔ)。以這種方式,客戶端過程420可以用作在客戶端側(cè)TCB410與服務(wù)器偵UTCB430之間轉(zhuǎn)發(fā)不透明容器的假的(dumb)代理。在一些實(shí)施方式中,客戶端過程420可以使用一個(gè)或多個(gè)預(yù)先存在的信道(例如,用于傳輸圖像信息的數(shù)據(jù)信道)來轉(zhuǎn)發(fā)不透明容器。在其他實(shí)施方式中,客戶端過程420和服務(wù)器425可以建立專用信道以轉(zhuǎn)發(fā)不透明容器。
[0084]在步驟745,認(rèn)證器435可以查詢服務(wù)器側(cè)安全服務(wù)440以訪問安全信息(例如,包括在不透明容器中的安全信息)。安全服務(wù)440可以具有用于對從客戶端側(cè)TCB410接收的信息進(jìn)行解密的密鑰。密鑰可以是與客戶端側(cè)安全服務(wù)460共享的密鑰。例如,加密密鑰(例如,客戶端側(cè)安全服務(wù)460所使用的)和解密密鑰(例如,服務(wù)器側(cè)安全服務(wù)440所使用的)可以是對稱的。在一些實(shí)施方式中,可以在解密證書之后丟棄解密密鑰。在步驟750,認(rèn)證器435和/或安全服務(wù)440可以驗(yàn)證從客戶端設(shè)備處接收的證書。例如,可以將證書與用戶證書的數(shù)據(jù)庫進(jìn)行比較以驗(yàn)證用戶是否試圖訪問服務(wù)器資源。認(rèn)證器435和/或安全服務(wù)440還可以通過比較一組證書如全文本格式的證書與用戶證書散列的數(shù)據(jù)庫來驗(yàn)證證書。如果存在散列匹配,則認(rèn)證器435可以確定證書是可靠的。
[0085]認(rèn)證器435和/或安全服務(wù)440可以依賴于其他認(rèn)證協(xié)議,如Kerberos。例如,認(rèn)證器435可以使用證書從Kerberos服務(wù)器(例如,Kerberos票據(jù)授予服務(wù)器)請求票據(jù)授予票據(jù)(TGT)。如果Kerberos服務(wù)器響應(yīng)于請求返回TGT,則認(rèn)證器435可以判定證書有效。此外,如果結(jié)合用戶提供證書(例如,PIN)使用智能卡,則可以使用智能卡重新定向來授予Kerberos對客戶端405處的智能卡的訪問。智能卡重新定向部件可以攔截所有對訪問智能卡的服務(wù)器側(cè)請求并且經(jīng)由虛擬信道(例如,通信信道455內(nèi)的信道)將請求重新定向至客戶端405?;谶@個(gè)重新定向,客戶端405可以代表服務(wù)器425服務(wù)于智能卡請求。在步驟755,服務(wù)器425可以在驗(yàn)證證書時(shí)授權(quán)客戶端過程420訪問服務(wù)器資源(例如,虛擬化硬件、固件和/或軟件)。
[0086]圖8示出了根據(jù)本文中所描述的一個(gè)或多個(gè)說明性方面的安全單點(diǎn)登錄的另一示例方法。在一些實(shí)施方式中,圖8的示例方法可以對應(yīng)于圖6的示例客戶端和服務(wù)器系統(tǒng)。在一些實(shí)施方式中,先于步驟805并且類似于步驟705、710和715,客戶端605可以接收證書(例如,當(dāng)用戶進(jìn)入登錄會話時(shí)),證書提供者645可以攔截和/或存儲證書和/或證書提供者645可以例如從客戶端過程620接收對證書的請求。
[0087]在步驟805,證書提供者645可以以第一安全性來保護(hù)證書650。例如,可以使用僅證書提供者645和/或可信計(jì)算基礎(chǔ)610內(nèi)的其他部件可訪問的密鑰來加密證書。例如,服務(wù)器側(cè)TCB630 (或者其中所包括的部件)可以具有用于使用第一安全性加密的信息的解密密鑰。在步驟810,證書提供者645可以將安全證書發(fā)送至客戶端過程620。在一些實(shí)施方式中,客戶端過程620可以具有用于解密證書的密鑰??蛻舳诉^程620可以將所接收的安全證書存儲為副本660。
[0088]在步驟815,客戶端過程620可以向安全服務(wù)665查詢安全證書。具體地,客戶端過程620可以請求以不同于第一安全性的第二安全性來保護(hù)安全證書660。在步驟820,安全服務(wù)665可以不保護(hù)以第一安全性保護(hù)的證書660。例如,安全服務(wù)665可以調(diào)用TCB610內(nèi)的部件如證書提供者645以不保護(hù)(例如,解密)證書。由證書提供者645管理的密鑰可以用于解密證書。
[0089]在步驟825,安全服務(wù)665可以以第二安全性來重新保護(hù)證書。例如,可以將證書隱藏在不透明容器中和/或使用對于客戶端側(cè)安全服務(wù)665和服務(wù)器側(cè)安全服務(wù)640可訪問的密鑰來加密證書。如在先所描述的,可以使用任何密碼協(xié)議如TLS、SSL、公共網(wǎng)關(guān)協(xié)議等來加密證書。在一些實(shí)施方式中,安全服務(wù)665所使用的密鑰和安全服務(wù)640所使用的密鑰可以是對稱的。
[0090]安全服務(wù)665可以將以第二安全性保護(hù)的證書轉(zhuǎn)發(fā)給客戶端過程620。在步驟830,客戶端過程620可以使用一個(gè)或多個(gè)預(yù)先存在的和/或?qū)S玫男诺?65將安全證書轉(zhuǎn)發(fā)給認(rèn)證器635。在一些實(shí)施方式中,如在先關(guān)于步驟730所討論的,可以先于發(fā)送安全證書來認(rèn)證服務(wù)器625和/或客戶端605。
[0091 ] 在接收到安全證書之后,認(rèn)證器635可以查詢服務(wù)器側(cè)安全服務(wù)640,如關(guān)于步驟745類似地描述的,并且認(rèn)證器635和/或安全服務(wù)640可以驗(yàn)證用戶證書并且基于驗(yàn)證來授權(quán)對服務(wù)器625的訪問,如關(guān)于步驟750和755類似地描述的。
[0092] 雖然以上描述了示例實(shí)施方式,然而,可以以任何期望方式來組合、劃分、省略和/或增加各種特征和步驟,并且可以依賴于所期望的具體的建議處理來添加其他步驟。本專利的范圍應(yīng)當(dāng)僅由以下權(quán)利要求來限定。
【權(quán)利要求】
1.一種在遠(yuǎn)程桌面環(huán)境下執(zhí)行單點(diǎn)登錄的方法,包括: 通過證書提供者從客戶端過程接收對于用戶證書的請求; 通過所述證書提供者向客戶端安全服務(wù)查詢所述用戶證書; 通過所述客戶端安全服務(wù)對服務(wù)器進(jìn)行認(rèn)證; 在對所述服務(wù)器進(jìn)行認(rèn)證之后,所述客戶端安全服務(wù)保護(hù)所述用戶證書以向所述服務(wù)器安全傳輸; 通過所述客戶端過程將安全的用戶證書發(fā)送至所述服務(wù)器;以及 通過所述服務(wù)器基于所述安全的用戶證書來授予對所述客戶端過程的訪問權(quán)限。
2.根據(jù)權(quán)利要求1所述的方法,其中保護(hù)所述用戶證書包括基于所述客戶端安全服務(wù)和服務(wù)器安全服務(wù)達(dá)成一致的密鑰來對所述用戶證書進(jìn)行加密。
3.根據(jù)權(quán)利要求2所述的方法,其中所述服務(wù)器包括所述服務(wù)器安全服務(wù),并且授予對所述客戶端過程的訪問權(quán)限包括: 查詢所述服務(wù)器安全服務(wù)以對所述加密的用戶證書進(jìn)行解密;以及 確認(rèn)所述用戶證書的有效性。
4.根據(jù)權(quán)利要求1所述的方法,其中所述客戶端過程為不可信過程,并且所述方法還包括: 在發(fā)送所述安全的用戶證書之前,對所述客戶端過程進(jìn)行認(rèn)證。
5.根據(jù)權(quán)利要求4所述的方法,其中對所述客戶端過程進(jìn)行認(rèn)證還包括驗(yàn)證與所述客戶端過程關(guān)聯(lián)的可執(zhí)行文件的數(shù)字簽名。
6.根據(jù)權(quán)利要求1所述的方法,其中所述證書提供者和所述客戶端安全服務(wù)在可信計(jì)算基礎(chǔ)中執(zhí)行,并且其中所述客戶端過程在操作系統(tǒng)的不可信會話中執(zhí)行。
7.根據(jù)權(quán)利要求1所述的方法,其中: 向所述客戶端安全服務(wù)查詢所述用戶證書還包括向所述客戶端安全服務(wù)發(fā)送高速緩存的用戶證書;并且 所述客戶端安全服務(wù)保護(hù)所述用戶證書還包括對所述高速緩存的用戶證書進(jìn)行加密。
8.根據(jù)權(quán)利要求1所述的方法,還包括: 在客戶端處接收所述用戶證書; 通過所述證書提供者攔截所述用戶證書;以及 將所述用戶證書高速緩存在可信計(jì)算基礎(chǔ)內(nèi)的位置。
9.根據(jù)權(quán)利要求8所述的方法,其中所述用戶證書包括智能卡引腳。
10.一種或多種存儲計(jì)算機(jī)可讀指令的非暫態(tài)計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀指令在由計(jì)算設(shè)備執(zhí)行時(shí)使得所述計(jì)算設(shè)備: 通過證書提供者從客戶端過程接收對于用戶證書的請求; 通過所述證書提供者向客戶端安全服務(wù)查詢所述用戶證書; 通過所述客戶端安全服務(wù)對服務(wù)器進(jìn)行認(rèn)證; 在對所述服務(wù)器進(jìn)行認(rèn)證之后,通過所述客戶端安全服務(wù)保護(hù)所述用戶證書以向所述服務(wù)器安全傳輸; 通過所述客戶端過程將安全的用戶證書發(fā)送至所述服務(wù)器;以及 基于所述安全的用戶證書來訪問服務(wù)器服務(wù)。
11.根據(jù)權(quán)利要求10所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中保護(hù)所述用戶證書包括基于所述客戶端安全服務(wù)和服務(wù)器安全服務(wù)達(dá)成一致的密鑰來對所述用戶證書進(jìn)行加密。
12.根據(jù)權(quán)利要求10所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中所述客戶端過程為不可信過程,并且所述一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì)存儲附加的計(jì)算機(jī)可讀指令,所述附加的計(jì)算機(jī)可讀指令在由所述計(jì)算設(shè)備執(zhí)行時(shí)使得所述計(jì)算設(shè)備: 在發(fā)送所述安全的用戶證書之前,對所述客戶端過程進(jìn)行認(rèn)證。
13.根據(jù)權(quán)利要求12所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中對所述客戶端過程進(jìn)行認(rèn)證還包括驗(yàn)證與所述客戶端過程關(guān)聯(lián)的可執(zhí)行文件的數(shù)字簽名。
14.根據(jù)權(quán)利要求10所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中所述證書提供者和所述客戶端安全服務(wù)在可信計(jì)算基礎(chǔ)中執(zhí)行,并且其中所述客戶端過程在操作系統(tǒng)的不可信會話中執(zhí)行。
15.根據(jù)權(quán)利要求10所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中: 向所述客戶端安全服務(wù)查詢所述用戶證書還包括向所述客戶端安全服務(wù)發(fā)送高速緩存的用戶證書;并且 所述客戶端安全服務(wù)保護(hù)所述用戶證書還包括對所述高速緩存的用戶證書進(jìn)行加密。
16.根據(jù)權(quán)利要求10所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中所述一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì)存儲附加的計(jì)算機(jī)可讀指令,所述附加的計(jì)算機(jī)可讀指令在由所述計(jì)算設(shè)備執(zhí)行時(shí)使得所述計(jì)算設(shè)備: 在所述客戶端處接收所述用戶證書; 通過所述證書提供者攔截所述用戶證書;以及 將所述用戶證書高速緩存在可信計(jì)算基礎(chǔ)內(nèi)的位置。
17.根據(jù)權(quán)利要求16所述的一種或多種非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其中所述用戶證書包括智能卡引腳。
18.—種設(shè)備,包括: 處理器;以及 存儲器,所述存儲器存儲計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令在由所述處理器執(zhí)行時(shí)使得所述處理器: 通過證書提供者從客戶端過程接收對于用戶證書的請求; 通過所述證書提供者向客戶端安全服務(wù)查詢所述用戶證書; 通過所述客戶端安全服務(wù)對服務(wù)器進(jìn)行認(rèn)證; 在對所述服務(wù)器進(jìn)行認(rèn)證之后,所述客戶端安全服務(wù)保護(hù)所述用戶證書以向所述服務(wù)器安全傳輸; 通過所述客戶端過程將安全的用戶證書發(fā)送至所述服務(wù)器;以及 在所述服務(wù)器基于所述安全的用戶證書授予訪問權(quán)限的基礎(chǔ)上,訪問服務(wù)器服務(wù)。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中通過所述處理器保護(hù)所述用戶證書包括基于所述客戶端安全服務(wù)和服務(wù)器安全服務(wù)達(dá)成一致的密鑰來對所述用戶證書進(jìn)行加密。
20.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述客戶端過程為不可信過程,并且所述存儲器存儲附加的計(jì)算機(jī)可讀指令,所述附加的計(jì)算機(jī)可讀指令在由所述處理器執(zhí)行時(shí)使得所述處理器: 在發(fā)送所述安全的用戶證書之前,通過驗(yàn)證與所述客戶端過程關(guān)聯(lián)的可執(zhí)行文件的數(shù)字簽名來對所述客戶端過程進(jìn)行認(rèn)證。
【文檔編號】G06F21/41GK104137112SQ201380011196
【公開日】2014年11月5日 申請日期:2013年2月27日 優(yōu)先權(quán)日:2012年2月28日
【發(fā)明者】V·莫卡納 申請人:西里克斯系統(tǒng)公司