日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

用于生成dns查詢以提高抗dns攻擊性的系統(tǒng)和方法

文檔序號(hào):7911891閱讀:153來源:國(guó)知局
專利名稱:用于生成dns查詢以提高抗dns攻擊性的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明總的涉及數(shù)據(jù)通信網(wǎng)絡(luò)。具體而言,本發(fā)明涉及用于生成域名系統(tǒng)[‘‘DNS”] 查詢以提高抗DNS攻擊性的系統(tǒng)和方法。
背景技術(shù)
域名系統(tǒng)[“DNS”]允許將對(duì)人類有意義的名稱與客戶機(jī)、服務(wù)器或互聯(lián)網(wǎng)上其他資源的數(shù)字的互聯(lián)網(wǎng)協(xié)議[“IP”]地址相關(guān)聯(lián)。例如,域名www. example, com可以與 208. 77. 188. 166相關(guān)聯(lián)??梢杂擅Q服務(wù)器對(duì)域名進(jìn)行映射和索引。每個(gè)名稱服務(wù)器被授權(quán)用于或負(fù)責(zé)對(duì)在其授權(quán)區(qū)域內(nèi)的客戶機(jī)、服務(wù)器或其他資源進(jìn)行索引。當(dāng)用戶通過域名請(qǐng)求資源時(shí),DNS解析器識(shí)別該請(qǐng)求。如果在解析器的高速緩存中沒有可用的所請(qǐng)求的資源的IP地址,那么該解析器向名稱服務(wù)器發(fā)出查詢。DNS解析器的查詢包括事務(wù)標(biāo)識(shí)符。名稱服務(wù)器的答復(fù)也包括該事務(wù)(transaction)標(biāo)識(shí)符以將該響應(yīng)標(biāo)識(shí)為來自由DNS解析器所查詢的名稱服務(wù)器。如果惡意的攻擊者能在真正的服務(wù)器能響應(yīng)之前對(duì)DNS解析器的請(qǐng)求進(jìn)行響應(yīng),那么該惡意的攻擊者可以將用戶定向到不同于用戶本來的目的地的客戶機(jī)、 服務(wù)器或資源。這開啟了身份或數(shù)據(jù)偷竊或其他惡意行為的可能性。

發(fā)明內(nèi)容
本解決方案提供用于生成更能抵抗攻擊者的危害的DNS查詢的系統(tǒng)和方法。DNS 解析器使用加密哈希函數(shù)來生成事務(wù)標(biāo)識(shí)符。對(duì)該哈希函數(shù)的輸入可包括預(yù)定的隨機(jī)數(shù)、 將要被查詢的名稱服務(wù)器的目的IP地址,和將要被查詢的域名。由于在公式中包含了名稱服務(wù)器的IP地址,所以對(duì)不同名稱服務(wù)器的、相同的域名查詢可能有不同的事務(wù)標(biāo)識(shí)符, 以防止攻擊者觀察查詢以及預(yù)測(cè)其他查詢的標(biāo)識(shí)符。通過將名稱服務(wù)器的端口號(hào)和/或域名的一部分作為對(duì)哈希函數(shù)的輸入來給生成事務(wù)標(biāo)識(shí)符提供額外的加密。如果確定響應(yīng)的服務(wù)器可在其響應(yīng)中保留大寫,那么可以對(duì)在域名中的大小寫字符進(jìn)行加鹽(salt)以便在生成事務(wù)標(biāo)識(shí)符的期間提供額外的加密。在一個(gè)方面,本發(fā)明描繪了用于生成DNS查詢以提高抗DNS攻擊性的方法。該方法包括DNS解析器接收解析域名的請(qǐng)求。該方法也包括由該DNS解析器識(shí)別該域名和DNS 服務(wù)器的互聯(lián)網(wǎng)協(xié)議地址。該方法還包括通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、DNS 服務(wù)器的互聯(lián)網(wǎng)協(xié)議地址和該域名的輸入來為DNS查詢生成事務(wù)標(biāo)識(shí)符。該方法還包括由 DNS解析器將對(duì)該域名的DNS查詢傳輸?shù)紻NS服務(wù)器,所述DNS查詢是由所生成的事務(wù)標(biāo)識(shí)符標(biāo)識(shí)的。
在一些實(shí)施例中,該方法包括DNS解析器識(shí)別DNS服務(wù)器的IP端口號(hào)。在進(jìn)一步的實(shí)施例中,該方法包括通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、DNS服務(wù)器的IP地址與端口和該域名的輸入來為DNS查詢生成事務(wù)標(biāo)識(shí)符。在進(jìn)一步的實(shí)施例中,對(duì)單向哈希函數(shù)的域名輸入可以包括將要被解析的域名的一部分。在一個(gè)實(shí)施例中,該方法包括以預(yù)定的頻率改變輸入到單向哈希函數(shù)的預(yù)定的隨機(jī)數(shù)。在又一個(gè)實(shí)施例中,該方法包括響應(yīng)于事件來改變預(yù)定的隨機(jī)數(shù)。在其他實(shí)施例中, 該方法包括為被傳輸?shù)酵粋€(gè)域名服務(wù)器的、解析相同域名的DNS查詢生成相同的事務(wù)標(biāo)識(shí)符。在其他實(shí)施例中,該方法包括對(duì)DNS請(qǐng)求的一個(gè)或多個(gè)字段進(jìn)行編碼并且使用所編碼的一個(gè)或多個(gè)字段作為對(duì)所述單向哈希函數(shù)的輸入以生成事務(wù)標(biāo)識(shí)符。在其他實(shí)施例中,該方法包括通過將域名的一個(gè)或多個(gè)字符大寫來對(duì)該域名進(jìn)行編碼并且通過使用所編碼的域名作為對(duì)所述單向哈希函數(shù)的域名輸入來生成事務(wù)標(biāo)識(shí)符。在其他實(shí)施例中,該方法還包括通過使用域名轉(zhuǎn)碼和RACE編碼方案來對(duì)輸入到單向哈希函數(shù)的域名進(jìn)行編碼。在又一個(gè)實(shí)施例中,該方法還包括DNS解析器確定DNS服務(wù)器重寫響應(yīng)或規(guī)格化響應(yīng)。響應(yīng)于所述確定,DNS解析器可以不對(duì)DNS查詢的一部分進(jìn)行編碼。在其他實(shí)施例中,該方法還包括DNS解析器確定目的地不重寫響應(yīng)。響應(yīng)于所述確定,DNS解析器可以對(duì) DNS查詢的一部分進(jìn)行編碼并且將所編碼的部分包含在事務(wù)標(biāo)識(shí)符中。在其他實(shí)施例中,該方法還包括DNS解析器將目的地的IP地址和所述域名的輸入傳送到事務(wù)標(biāo)識(shí)符生成器。在又一個(gè)方面,本發(fā)明描繪了用于生成DNS查詢以提高抗DNS攻擊性的系統(tǒng)。該系統(tǒng)包括DNS解析器和事務(wù)標(biāo)識(shí)符生成器。DNS解析器接收解析域名的請(qǐng)求以及識(shí)別該域名和該請(qǐng)求的目的地的IP地址。事務(wù)標(biāo)識(shí)符生成器通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、目的地的IP地址以及該域名的輸入來生成事務(wù)標(biāo)識(shí)符。DNS解析器使用所生成的事務(wù)標(biāo)識(shí)符來形成DNS查詢并且將對(duì)該域名的DNS查詢傳輸?shù)剿瞿康牡?。在一個(gè)實(shí)施例中,DNS解析器識(shí)別所述請(qǐng)求的目的地的端口。在進(jìn)一步的實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器可以通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、所述目的地的互聯(lián)網(wǎng)協(xié)議地址與端口和所述域名的輸入來生成事務(wù)標(biāo)識(shí)符。在進(jìn)一步的實(shí)施例中,對(duì)單向哈希函數(shù)的域名輸入可以包括將要被解析的域名的一部分。在又一個(gè)實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器以預(yù)定的頻率改變預(yù)定的隨機(jī)數(shù)。在又一個(gè)實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器響應(yīng)于事件來改變預(yù)定的隨機(jī)數(shù)。在又一個(gè)實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器為標(biāo)識(shí)同一域名和同一目的地的輸入生成相同的事務(wù)標(biāo)識(shí)符。在其他實(shí)施例中,DNS解析器對(duì)DNS請(qǐng)求的一個(gè)或多個(gè)字段進(jìn)行編碼并且將所編碼的一個(gè)或多個(gè)字段作為輸入傳送給事務(wù)標(biāo)識(shí)符生成器以生成事務(wù)標(biāo)識(shí)符。在又一個(gè)實(shí)施例中,DNS解析器通過將所述域名的一個(gè)或多個(gè)字符大寫來對(duì)所述域名進(jìn)行編碼并且將所編碼的域名作為所述域名的輸入傳送給事務(wù)標(biāo)識(shí)符生成器。在又一個(gè)實(shí)施例中,DNS解析器通過使用域名轉(zhuǎn)碼或RACE編碼方案來對(duì)所述域名進(jìn)行編碼。在其他實(shí)施例中,DNS解析器可確定目的地重寫或規(guī)格化響應(yīng),并且響應(yīng)于所述確定,DNS解析器可以不對(duì)DNS查詢的一部分進(jìn)行編碼。在其他實(shí)施例中,DNS解析器可確定所述目的地不重寫響應(yīng),并且響應(yīng)于所述確定,DNS解析器對(duì)DNS查詢的一部分進(jìn)行編碼以及將所編碼的部分作為輸入傳送到事務(wù)標(biāo)識(shí)符生成器以生成事務(wù)標(biāo)識(shí)符。在其他實(shí)施例中,DNS解析器可以駐留在客戶機(jī)、月艮務(wù)器或中間設(shè)備上。
在下面的附圖和描述中對(duì)本發(fā)明的各種實(shí)施例的細(xì)節(jié)進(jìn)行了詳細(xì)的闡述。


前述和本發(fā)明的其它目的、方面、特征和優(yōu)點(diǎn),通過參考下述結(jié)合附圖的描述將會(huì)更加明顯并更易于理解,其中圖IA是客戶機(jī)通過設(shè)備訪問服務(wù)器的網(wǎng)絡(luò)環(huán)境的實(shí)施例的框圖;圖IB是通過設(shè)備從服務(wù)器傳送計(jì)算環(huán)境到客戶機(jī)的環(huán)境的又一個(gè)實(shí)施例的框圖;圖IC和圖ID是計(jì)算裝置的實(shí)施例的框圖;圖2是域名解析器的實(shí)施例的框圖;以及圖3是用于生成具有改善的抗DNS攻擊性的DNS查詢的方法的步驟的實(shí)施例的流程圖。從下面結(jié)合附圖所闡述的詳細(xì)描述,本發(fā)明的特征和優(yōu)點(diǎn)將更明顯,其中,同樣的參考標(biāo)記在全文中標(biāo)識(shí)相應(yīng)的元素。在附圖中,同樣的附圖標(biāo)記通常表示相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。
具體實(shí)施例方式為了閱讀下述各種具體實(shí)施例的描述,下述對(duì)于說明書的部分以及它們各自內(nèi)容的描述是有用的-A部分描述有益于實(shí)施此處描述的實(shí)施例的網(wǎng)絡(luò)環(huán)境和計(jì)算環(huán)境;-B部分描述用于響應(yīng)于DNS域名解析請(qǐng)求,向名稱服務(wù)器傳輸請(qǐng)求、接收來自名稱服務(wù)器的響應(yīng)以及傳輸對(duì)DNS域名解析請(qǐng)求的響應(yīng)的系統(tǒng)和方法的實(shí)施例;以及;-C部分描述生成具有改善的抗DNS攻擊性的DNS查詢的系統(tǒng)和方法的實(shí)施例;A.網(wǎng)絡(luò)和計(jì)算環(huán)境在討論設(shè)備和/或客戶機(jī)的系統(tǒng)和方法的實(shí)施例的細(xì)節(jié)之前,討論可在其中部署這些實(shí)施例的網(wǎng)絡(luò)和計(jì)算環(huán)境是有幫助的。現(xiàn)在參見圖1A,描述了網(wǎng)絡(luò)環(huán)境的實(shí)施例。概括來講,網(wǎng)絡(luò)環(huán)境包括經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)104、104’ (總的稱為網(wǎng)絡(luò)104)與一個(gè)或多個(gè)服務(wù)器106a-106n(同樣總的稱為服務(wù)器106,或遠(yuǎn)程機(jī)器106)通信的一個(gè)或多個(gè)客戶機(jī) 10加-10211(同樣總的稱為本地機(jī)器102,或客戶機(jī)10 。在一些實(shí)施例中,客戶機(jī)102通過設(shè)備105與服務(wù)器106通信。雖然圖IA示出了在客戶機(jī)102和服務(wù)器106之間的網(wǎng)絡(luò)104和網(wǎng)絡(luò)104,,客戶機(jī)102和服務(wù)器106可以位于同一個(gè)的網(wǎng)絡(luò)104上。網(wǎng)絡(luò)104和104'可以是相同類型的網(wǎng)絡(luò)或不同類型的網(wǎng)絡(luò)。網(wǎng)絡(luò)104和/或104'可為局域網(wǎng)(LAN)例如公司內(nèi)網(wǎng),城域網(wǎng) (MAN),或者廣域網(wǎng)(WAN)例如因特網(wǎng)或萬維網(wǎng)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)104’可為專用網(wǎng)絡(luò)并且網(wǎng)絡(luò)104可為公網(wǎng)。在一些實(shí)施例中,網(wǎng)絡(luò)104’可為專用網(wǎng)并且網(wǎng)絡(luò)104’可為公網(wǎng)。 在又一個(gè)實(shí)施例中,網(wǎng)絡(luò)104和104’可都為專用網(wǎng)。在一些實(shí)施例中,客戶機(jī)102可位于公司企業(yè)的分支機(jī)構(gòu)中,通過網(wǎng)絡(luò)104上的WAN連接與位于公司數(shù)據(jù)中心的服務(wù)器106通信。網(wǎng)絡(luò)104和/或104’可以是任何類型和/或形式的網(wǎng)絡(luò),并且可包括任何下述網(wǎng)絡(luò)點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),廣播網(wǎng)絡(luò),廣域網(wǎng),局域網(wǎng),電信網(wǎng)絡(luò),數(shù)據(jù)通信網(wǎng)絡(luò),計(jì)算機(jī)網(wǎng)絡(luò),ATM(異步傳輸模式)網(wǎng)絡(luò),S0NET(同步光纖網(wǎng)絡(luò))網(wǎng)絡(luò),SDH(同步數(shù)字體系)網(wǎng)絡(luò),無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)。在一些實(shí)施例中,網(wǎng)絡(luò)104可以包括無線鏈路,諸如紅外信道或者衛(wèi)星頻帶。網(wǎng)絡(luò)104和/或104’的拓?fù)淇蔀榭偩€型、星型或環(huán)型網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)104和/或104’以及網(wǎng)絡(luò)拓?fù)淇梢允菍?duì)于本領(lǐng)域普通技術(shù)人員所熟知的、可以支持此處描述的操作的任何這樣的網(wǎng)絡(luò)或網(wǎng)絡(luò)拓?fù)?。如圖IA所示,設(shè)備105被顯示在網(wǎng)絡(luò)104和104,之間,設(shè)備105也可被稱為接口單元200或者網(wǎng)關(guān)200。在一些實(shí)施例中,設(shè)備105可位于網(wǎng)絡(luò)104上。例如,公司的分支機(jī)構(gòu)可在分支機(jī)構(gòu)中部署設(shè)備105。在其它實(shí)施例中,設(shè)備105可以位于網(wǎng)絡(luò)104'上。例如,設(shè)備105可位于公司的數(shù)據(jù)中心。在又一個(gè)實(shí)施例中,多個(gè)設(shè)備105可在網(wǎng)絡(luò)104上部署。在一些實(shí)施例中,多個(gè)設(shè)備105可部署在網(wǎng)絡(luò)104’上。在一個(gè)實(shí)施例中,第一設(shè)備105 與第二設(shè)備105’通信。在其它實(shí)施例中,設(shè)備105可為位于與客戶機(jī)102同一或不同網(wǎng)絡(luò) 104、104,的任一客戶機(jī)102或服務(wù)器106的一部分。一個(gè)或多個(gè)設(shè)備105可位于客戶機(jī) 102和服務(wù)器106之間的網(wǎng)絡(luò)或網(wǎng)絡(luò)通信路徑中的任一點(diǎn)。在一些實(shí)施例中,設(shè)備105包括由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems公司制造的被稱為Citrix Netkaler設(shè)備的任何網(wǎng)絡(luò)設(shè)備。在其它實(shí)施例中, 設(shè)備105包括由位于華盛頓州西雅圖的F5Networks公司制造的被稱為W^ebAcceIerator 和BigIP的任何一個(gè)產(chǎn)品實(shí)施例。在又一個(gè)實(shí)施例中,設(shè)備205包括由位于加利福尼亞州 Sunnyvale的Juniper Networks公司制造的DX加速設(shè)備平臺(tái)和/或諸如SA700、SA2000、 SA4000和SA6000的SSL VPN系列設(shè)備中的任何一個(gè)。在又一個(gè)實(shí)施例中,設(shè)備105包括由位于加利福尼亞州San Jose的Cisco Systems公司制造的任何應(yīng)用加速和/或安全相關(guān)的設(shè)備和/或軟件,例如Cisco ACE應(yīng)用控制引擎模塊服務(wù)(Application Control Engine Module service)軟件和網(wǎng)絡(luò)模塊以及Cisco AVS系列應(yīng)用速度系統(tǒng)(Application Velocity System)。在一個(gè)實(shí)施例中,系統(tǒng)可包括多個(gè)邏輯分組的服務(wù)器106。在這些實(shí)施例中,服務(wù)器的邏輯分組可以被稱為服務(wù)器群38。在其中一些實(shí)施例中,服務(wù)器106可為地理上分散的。在一些情況中,群38可以作為單個(gè)實(shí)體被管理。在其它實(shí)施例中,服務(wù)器群38包括多個(gè)服務(wù)器群38。在一個(gè)實(shí)施例中,服務(wù)器群代表一個(gè)或多個(gè)客戶機(jī)102執(zhí)行一個(gè)或多個(gè)應(yīng)用程序。在每個(gè)群38中的服務(wù)器106可為不同種類。一個(gè)或多個(gè)服務(wù)器106可根據(jù)一種類型的操作系統(tǒng)平臺(tái)(例如,由華盛頓州Redmond的Microsoft公司制造的WINDOWS NT)操作,而一個(gè)或多個(gè)其它服務(wù)器106可根據(jù)另一類型的操作系統(tǒng)平臺(tái)(例如,Unix或Linux) 操作。每個(gè)群38的服務(wù)器106不需要與同一群38內(nèi)的另一個(gè)服務(wù)器106物理上接近。因此,被邏輯分組為群38的服務(wù)器106組可使用廣域網(wǎng)(WAN)連接或城域網(wǎng)(MAN)連接互聯(lián)。例如,群38可包括物理上位于不同大陸或大陸的不同區(qū)域、國(guó)家、州、城市、校園或房間的服務(wù)器106。如果使用局域網(wǎng)(LAN)連接或一些直連形式來連接服務(wù)器106,則可增加群 38中的服務(wù)器106間的數(shù)據(jù)傳送速度。服務(wù)器106可指文件服務(wù)器、應(yīng)用服務(wù)器、web服務(wù)器、代理服務(wù)器或者網(wǎng)關(guān)服務(wù)器。在一些實(shí)施例中,服務(wù)器106可以有作為應(yīng)用服務(wù)器或者作為主應(yīng)用服務(wù)器工作的能力。在一個(gè)實(shí)施例中,服務(wù)器106可包括活動(dòng)目錄??蛻魴C(jī)102也可稱為客戶機(jī)節(jié)點(diǎn)或端點(diǎn)。在一些實(shí)施例中,客戶機(jī)102可以有作為客戶機(jī)節(jié)點(diǎn)尋求訪問服務(wù)器上的應(yīng)用的能力, 也可以有作為應(yīng)用服務(wù)器為其它客戶機(jī)10加-10211提供對(duì)寄載的應(yīng)用的訪問的能力。在一些實(shí)施例中,客戶機(jī)102與服務(wù)器106通信。在一個(gè)實(shí)施例中,客戶機(jī)102可與群38中的服務(wù)器106的其中一個(gè)直接通信。在又一個(gè)實(shí)施例中,客戶機(jī)102執(zhí)行程序鄰近應(yīng)用(program neighborhood application)以與群38內(nèi)的服務(wù)器106通信。在又一個(gè)實(shí)施例中,服務(wù)器106提供主節(jié)點(diǎn)的功能。在一些實(shí)施例中,客戶機(jī)102通過網(wǎng)絡(luò)104與群 38中的服務(wù)器106通信。通過網(wǎng)絡(luò)104,客戶機(jī)102例如可以請(qǐng)求執(zhí)行群38中的服務(wù)器 106a-106n寄載的各種應(yīng)用,并接收應(yīng)用執(zhí)行結(jié)果的輸出進(jìn)行顯示。在一些實(shí)施例中,只有主節(jié)點(diǎn)提供識(shí)別和提供與寄載所請(qǐng)求的應(yīng)用的服務(wù)器106'相關(guān)的地址信息所需的功能。在一個(gè)實(shí)施例中,服務(wù)器106提供web服務(wù)器的功能。在又一個(gè)實(shí)施例中,服務(wù)器106a接收來自客戶機(jī)102的請(qǐng)求,將該請(qǐng)求轉(zhuǎn)發(fā)到第二服務(wù)器106b,并使用來自服務(wù)器 106b對(duì)該請(qǐng)求的響應(yīng)來對(duì)客戶機(jī)102的請(qǐng)求進(jìn)行響應(yīng)。在又一個(gè)實(shí)施例中,服務(wù)器106獲得客戶機(jī)102可用的應(yīng)用的列舉以及與由該應(yīng)用的列舉所識(shí)別的應(yīng)用的服務(wù)器106相關(guān)的地址信息。在又一個(gè)實(shí)施例中,服務(wù)器106使用web接口將對(duì)請(qǐng)求的響應(yīng)提供給客戶機(jī) 102。在一個(gè)實(shí)施例中,客戶機(jī)102直接與服務(wù)器106通信以訪問所識(shí)別的應(yīng)用。在又一個(gè)實(shí)施例中,客戶機(jī)102接收由執(zhí)行服務(wù)器106上所識(shí)別的應(yīng)用而產(chǎn)生的諸如顯示數(shù)據(jù)的應(yīng)用輸出數(shù)據(jù)?,F(xiàn)在參考圖1B,描述了用于傳送和/或操作客戶機(jī)102上的計(jì)算環(huán)境的網(wǎng)絡(luò)環(huán)境。 在一些實(shí)施例中,服務(wù)器106包括用于向一個(gè)或多個(gè)客戶機(jī)102傳送計(jì)算環(huán)境或應(yīng)用和/ 或數(shù)據(jù)文件的應(yīng)用傳送系統(tǒng)190??偟膩碚f,客戶機(jī)10通過網(wǎng)絡(luò)104、104’和設(shè)備105與服務(wù)器106通信。例如,客戶機(jī)102可駐留在公司的遠(yuǎn)程辦公室里,例如分支機(jī)構(gòu),并且服務(wù)器106可駐留在公司數(shù)據(jù)中心??蛻魴C(jī)102包括客戶機(jī)代理120以及計(jì)算環(huán)境15。計(jì)算環(huán)境15可執(zhí)行或操作用于訪問、處理或使用數(shù)據(jù)文件的應(yīng)用。可經(jīng)由設(shè)備105和/或服務(wù)器 106傳送計(jì)算環(huán)境15、應(yīng)用和/或數(shù)據(jù)文件。在一些實(shí)施例中,設(shè)備105加速計(jì)算環(huán)境15或者其任何部分到客戶機(jī)102的傳送。在一個(gè)實(shí)施例中,設(shè)備105通過應(yīng)用傳送系統(tǒng)190加速計(jì)算環(huán)境15的傳送。例如,可使用此處描述的實(shí)施例來加速?gòu)墓局醒霐?shù)據(jù)中心到遠(yuǎn)程用戶位置(例如公司的分支機(jī)構(gòu)) 的流應(yīng)用(streaming application)及該應(yīng)用可處理的數(shù)據(jù)文件的傳送。在又一個(gè)實(shí)施例中,設(shè)備105加速客戶機(jī)102和服務(wù)器106之間的傳輸層業(yè)務(wù)量。設(shè)備105可以提供用于加速?gòu)姆?wù)器106到客戶機(jī)102的任何傳輸層有效載荷的加速技術(shù),例如1)傳輸層連接池,2)傳輸層連接多路復(fù)用,幻傳輸控制協(xié)議緩沖,4)壓縮和幻高速緩存。在一些實(shí)施例中,設(shè)備105響應(yīng)于來自客戶機(jī)102的請(qǐng)求提供服務(wù)器106的負(fù)載平衡。在其它實(shí)施例中, 設(shè)備105充當(dāng)代理或者訪問服務(wù)器來提供對(duì)一個(gè)或者多個(gè)服務(wù)器106的訪問。在又一個(gè)實(shí)施例中,設(shè)備105提供從客戶機(jī)102的第一網(wǎng)絡(luò)104到服務(wù)器106的第二網(wǎng)絡(luò)104’的安全虛擬專用網(wǎng)絡(luò)連接,諸如SSL VPN連接。在又一些實(shí)施例中,設(shè)備105提供客戶機(jī)102和服務(wù)器106之間的連接和通信的應(yīng)用防火墻安全、控制和管理。在一些實(shí)施例中,基于多個(gè)執(zhí)行方法并且基于通過策略引擎195所應(yīng)用的任一驗(yàn)證和授權(quán)策略,應(yīng)用傳送管理系統(tǒng)190提供將計(jì)算環(huán)境傳送到遠(yuǎn)程的或者另外的用戶的桌面的應(yīng)用傳送技術(shù)。使用這些技術(shù),遠(yuǎn)程用戶可以從任何網(wǎng)絡(luò)連接裝置100獲取計(jì)算環(huán)境并且訪問服務(wù)器所存儲(chǔ)的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可駐留在服務(wù)器106上或在其上執(zhí)行。在又一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可駐留在多個(gè)服務(wù)器 106a-106n上或在其上執(zhí)行。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190可在服務(wù)器群38內(nèi)執(zhí)行。 在一個(gè)實(shí)施例中,執(zhí)行應(yīng)用傳送系統(tǒng)190的服務(wù)器106也可存儲(chǔ)或提供應(yīng)用和數(shù)據(jù)文件。在又一個(gè)實(shí)施例中,一個(gè)或多個(gè)服務(wù)器106的第一組可執(zhí)行應(yīng)用傳送系統(tǒng)190,而不同的服務(wù)器106η可存儲(chǔ)或提供應(yīng)用和數(shù)據(jù)文件。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190、應(yīng)用和數(shù)據(jù)文件中的每一個(gè)可駐留或位于不同的服務(wù)器。在又一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190的任何部分可駐留、執(zhí)行、或被存儲(chǔ)于或分發(fā)到設(shè)備200或多個(gè)設(shè)備??蛻魴C(jī)102可包括用于執(zhí)行使用或處理數(shù)據(jù)文件的應(yīng)用的計(jì)算環(huán)境15??蛻魴C(jī) 102可通過網(wǎng)絡(luò)104、104,和設(shè)備105請(qǐng)求來自服務(wù)器106的應(yīng)用和數(shù)據(jù)文件。在一個(gè)實(shí)施例中,設(shè)備105可以將來自客戶機(jī)102的請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器106。例如,客戶機(jī)102可能不具有本地存儲(chǔ)或者本地可訪問的應(yīng)用和數(shù)據(jù)文件。響應(yīng)于請(qǐng)求,應(yīng)用傳送系統(tǒng)190和/或服務(wù)器106可以傳送應(yīng)用和數(shù)據(jù)文件到客戶機(jī)102。例如,在一個(gè)實(shí)施例中,服務(wù)器106可以把應(yīng)用作為應(yīng)用流來傳輸,以在客戶機(jī)102上的計(jì)算環(huán)境15中操作。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括Citrix Systems公司的CitrixAccess Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ) ;Citrix System 公司的 Citrix Delivery Center 的任一部分(XenDesktop 、XenApp 、XenServer 或 NetScaler );和/或微軟公司出品的Microsoft Windows終端服務(wù)中的任何一個(gè)。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以通過遠(yuǎn)程顯示協(xié)議或者以其它方式通過基于遠(yuǎn)程計(jì)算或者基于服務(wù)器計(jì)算來傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)102或者用戶。在又一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以通過應(yīng)用流來傳送一個(gè)或者多個(gè)應(yīng)用到客戶機(jī)或者用戶。在一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190包括策略引擎195,其用于控制和管理對(duì)應(yīng)用的訪問、應(yīng)用執(zhí)行方法的選擇以及應(yīng)用的傳送。在一些實(shí)施例中,策略引擎195確定用戶或者客戶機(jī)102可以訪問的一個(gè)或者多個(gè)應(yīng)用。在又一個(gè)實(shí)施例中,策略引擎195確定應(yīng)用應(yīng)該如何被傳送到用戶或者客戶機(jī)102,例如執(zhí)行方法。在一些實(shí)施例中,應(yīng)用傳送系統(tǒng)190 提供多個(gè)傳送技術(shù),從中選擇應(yīng)用執(zhí)行的方法,例如基于服務(wù)器的計(jì)算、本地流式傳輸或傳送應(yīng)用給客戶機(jī)120以用于本地執(zhí)行。在一個(gè)實(shí)施例中,客戶機(jī)102請(qǐng)求應(yīng)用程序的執(zhí)行并且包括服務(wù)器106的應(yīng)用傳送系統(tǒng)190選擇執(zhí)行應(yīng)用程序的方法。在一些實(shí)施例中,服務(wù)器106從客戶機(jī)102接收證書。在又一個(gè)實(shí)施例中,服務(wù)器106從客戶機(jī)102接收對(duì)于可用應(yīng)用的列舉的請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)該請(qǐng)求或者證書的接收,應(yīng)用傳送系統(tǒng)190列舉對(duì)于客戶機(jī)102可用的多個(gè)應(yīng)用程序。應(yīng)用傳送系統(tǒng)190接收?qǐng)?zhí)行所列舉的應(yīng)用的請(qǐng)求。應(yīng)用傳送系統(tǒng)190選擇預(yù)定數(shù)量的方法之一來執(zhí)行所列舉的應(yīng)用,例如響應(yīng)策略引擎的策略。應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得客戶機(jī)102接收通過執(zhí)行服務(wù)器106上的應(yīng)用程序所產(chǎn)生的應(yīng)用輸出數(shù)據(jù)。應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,使得本地機(jī)器10在檢索包括應(yīng)用的多個(gè)應(yīng)用文件之后本地執(zhí)行應(yīng)用程序。在又一個(gè)實(shí)施例中,應(yīng)用傳送系統(tǒng)190可以選擇執(zhí)行應(yīng)用的方法,以通過網(wǎng)絡(luò)104流式傳輸應(yīng)用到客戶機(jī)102??蛻魴C(jī)102可以執(zhí)行、操作或者以其它方式提供應(yīng)用,所述應(yīng)用可為任何類型和/或形式的軟件、程序或者可執(zhí)行指令,例如任何類型和/或形式的web瀏覽器、基于web的客戶機(jī)、客戶機(jī)-服務(wù)器應(yīng)用、瘦客戶端計(jì)算客戶機(jī)、ActiveX控件、或者Java程序、或者可以在客戶機(jī)102上執(zhí)行的任何其它類型和/或形式的可執(zhí)行指令。在一些實(shí)施例中,應(yīng)用可以是代表客戶機(jī)102在服務(wù)器106上執(zhí)行的基于服務(wù)器或者基于遠(yuǎn)程的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106可以使用任何瘦-客戶端或遠(yuǎn)程顯示協(xié)議來顯示輸出到客戶機(jī)102,所述瘦-客戶端或遠(yuǎn)程顯示協(xié)議例如由位于佛羅里達(dá)州Ft. Lauderdale的Citrix Systems 公司出品的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議或由位于華盛頓州Redmond的微軟公司出品的遠(yuǎn)程桌面協(xié)議(RDP)。應(yīng)用可使用任何類型的協(xié)議,并且它可為,例如,HTTP客戶機(jī)、FTP客戶機(jī)、 Oscar客戶機(jī)或Telnet客戶機(jī)。在其它實(shí)施例中,應(yīng)用包括和VoIP通信相關(guān)的任何類型的軟件,例如軟IP電話。在進(jìn)一步的實(shí)施例中,應(yīng)用包括涉及到實(shí)時(shí)數(shù)據(jù)通信的任一應(yīng)用,例如用于流式傳輸視頻和/或音頻的應(yīng)用。在一些實(shí)施例中,服務(wù)器106或服務(wù)器群38可運(yùn)行一個(gè)或多個(gè)應(yīng)用,例如提供瘦客戶端計(jì)算或遠(yuǎn)程顯示表示應(yīng)用的應(yīng)用。在一個(gè)實(shí)施例中,服務(wù)器106或服務(wù)器群38 作為一個(gè)應(yīng)用來執(zhí)行Citrix Systems公司的Citrix Access Suite 的任一部分(例如 MetaFrame 或 Citrix Presentation Server ) ;Citrix System 公司的 Citrix Delivery Center 的任一部分 OienDesktop 、XenApp 、XenServer 或 NetScaler );和 / 或微軟公司出品的Microsoft Windows終端服務(wù)中的任何一個(gè)。在一個(gè)實(shí)施例中,該應(yīng)用是位于佛羅里達(dá)州Fort Lauderdale的Citrix Systems Inc.開發(fā)的ICA客戶機(jī)。在其它實(shí)施例中,該應(yīng)用包括由位于華盛頓州Redmond的Microsoft公司開發(fā)的遠(yuǎn)程桌面(RDP)客戶機(jī)。另外,服務(wù)器106可以運(yùn)行一個(gè)應(yīng)用,例如,其可以是提供電子郵件服務(wù)的應(yīng)用服務(wù)器,例如由位于華盛頓州Redmond的Microsoft公司制造的Microsoft Exchange, web或 hternet服務(wù)器,或者桌面共享服務(wù)器,或者協(xié)作服務(wù)器。在一些實(shí)施例中,任一應(yīng)用可以包括任一類型的所寄載的服務(wù)或產(chǎn)品,例如位于加利福尼亞州SantaBarbara的Citrix Online Division 公司提供的 GoiToMeeting 、GoToffebinar , GoToMyPC 或 Go^ToAssist , 位于加利福尼亞州Santa Clara的W^ebEx公司提供的W^ebEx ,或者位于華盛頓州Redmond 的 Microsoft 公司提供的 Microsoft Office Live Meeting??蛻魴C(jī)102、服務(wù)器106和設(shè)備105可以被部署為和/或執(zhí)行在任何類型和形式的計(jì)算裝置上,諸如能夠在任何類型和形式的網(wǎng)絡(luò)上通信并執(zhí)行此處描述的操作的計(jì)算機(jī)、 網(wǎng)絡(luò)裝置或者設(shè)備。圖IC和ID描述了可用于實(shí)施客戶機(jī)102、服務(wù)器106或設(shè)備105的實(shí)施例的計(jì)算裝置100的框圖。如圖IC和ID所示,每個(gè)計(jì)算裝置100包括中央處理單元101 和主存儲(chǔ)器單元122。如圖IC所示,計(jì)算裝置100可以包括可視顯示裝置124、鍵盤1 和 /或諸如鼠標(biāo)的指示裝置127。每個(gè)計(jì)算裝置100也可包括其它可選元件,例如一個(gè)或多個(gè)輸入/輸出裝置130a-130b (總的使用附圖標(biāo)記130表示),以及與中央處理單元101通信的高速緩存存儲(chǔ)器140。中央處理單元101是響應(yīng)并處理從主存儲(chǔ)器單元122取出的指令的任何邏輯電路。在許多實(shí)施例中,中央處理單元由微處理器單元提供,例如由加利福尼亞州Mountain View的Intel公司制造的微處理器單元;由伊利諾伊州Schaumburg的Motorola公司制造的微處理器單元;由加利福尼亞州Santa Clara的Transmeta公司制造的微處理器單元;由紐約州 White Plains 的 hternational Business Machines 公司制造的 RS/6000 處理器;或者由加利福尼亞州Sunnyvale的Advanced Micro Device s公司制造的微處理器單元。 計(jì)算裝置100可以基于這些處理器中的任何一種,或者能夠按照這里所說明的那樣運(yùn)行的任何其它處理器。主存儲(chǔ)器單元122可以是能夠存儲(chǔ)數(shù)據(jù)并允許微處理器101直接訪問任何存儲(chǔ)位置的一個(gè)或多個(gè)存儲(chǔ)器芯片,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、突發(fā)SRAM或同步突發(fā)SRAM (BSRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM、快速頁(yè)模式DRAM (FPM DRAM)、增強(qiáng)型DRAM (EDRAM)、擴(kuò)展數(shù)據(jù)輸出RAM (EDO RAM)、擴(kuò)展數(shù)據(jù)輸出DRAM (EDO DRAM)、突發(fā)式擴(kuò)展數(shù)據(jù)輸出 DRAM (BEDO DRAM)、增強(qiáng)型 DRAM (EDRAM)、同步 DRAM (SDRAM)、JEDEC SRAM、PC100SDRAM、雙數(shù)據(jù)速率 SDRAM (DDR SDRAM)、增強(qiáng)型 SRAM (ESDRAM)、同步鏈路 DRAM(SLDRAM)、直接Rambus DRAM(DRDRAM)或鐵電RAM(FRAM)。主存儲(chǔ)器122可以基于上述存儲(chǔ)芯片的任何一種,或者能夠像這里所說明的那樣運(yùn)行的任何其它可用存儲(chǔ)芯片。在圖 IC中所示的實(shí)施例中,處理器101通過系統(tǒng)總線150(在下面進(jìn)行更詳細(xì)的描述)與主存儲(chǔ)器122進(jìn)行通信。圖IC描述了在其中處理器通過存儲(chǔ)器端口 103直接與主存儲(chǔ)器122通信的計(jì)算裝置100的實(shí)施例。例如,在圖ID中,主存儲(chǔ)器122可以是DRDRAM。圖ID描述了在其中主處理器101通過第二總線與高速緩存存儲(chǔ)器140直接通信的實(shí)施例,第二總線有時(shí)也稱為背側(cè)總線。其他實(shí)施例中,主處理器101使用系統(tǒng)總線150 和高速緩存存儲(chǔ)器140通信。高速緩存存儲(chǔ)器140通常有比主存儲(chǔ)器122更快的響應(yīng)時(shí)間,并且通常由SRAM、BSRAM或EDRAM提供。在圖ID中所示的實(shí)施例中,處理器101通過本地系統(tǒng)總線150與多個(gè)1/0裝置130進(jìn)行通信。可以使用各種不同的總線將中央處理單元 101連接到任何1/0裝置130,所述總線包括VESA VL總線、I SA總線、EI SA總線、微通道體系結(jié)構(gòu)(MCA)總線、PC I總線、PCI-X總線、PCI-Expre s s總線或NuBus。對(duì)于1/0裝置是視頻顯示器124的實(shí)施例,處理器101可以使用高級(jí)圖形端口(AGP)與顯示器IM通信。圖ID說明了主處理器101通過超傳輸(HyperTransport)、快速1/0或者InfiniBand 直接與1/0裝置130通信的計(jì)算機(jī)100的一個(gè)實(shí)施例。圖ID還描述了在其中混合本地總線和直接通信的實(shí)施例處理器101使用本地互連總線與1/0裝置130進(jìn)行通信,同時(shí)直接與1/0裝置130進(jìn)行通信。計(jì)算裝置100可以支持任何適當(dāng)?shù)陌惭b裝置116,例如用于接收像3. 5英寸、5. 25 英寸磁盤或ZIP磁盤這樣的軟盤的軟盤驅(qū)動(dòng)器、CD-ROM驅(qū)動(dòng)器、CD-R/RW驅(qū)動(dòng)器、DVD-ROM 驅(qū)動(dòng)器、多種格式的磁帶驅(qū)動(dòng)器、USB裝置、硬盤驅(qū)動(dòng)器或適于安裝像任何客戶機(jī)代理120 或其部分的軟件和程序的任何其它裝置。計(jì)算裝置100還可以包括存儲(chǔ)裝置128,諸如一個(gè)或者多個(gè)硬盤驅(qū)動(dòng)器或者獨(dú)立磁盤冗余陣列,用于存儲(chǔ)操作系統(tǒng)和其它相關(guān)軟件,以及用于存儲(chǔ)諸如涉及客戶機(jī)代理120的任何程序的應(yīng)用軟件程序。或者,可以使用安裝裝置116 的任何一種作為存儲(chǔ)裝置128。此外,操作系統(tǒng)和軟件可從例如可引導(dǎo)CD的可引導(dǎo)介質(zhì)運(yùn)行,諸如KNOPPIX ,—種用于GNU/Linux的可引導(dǎo)CD,該可引導(dǎo)CD可自knoppix. net作為 GNU/Linux分發(fā)獲得。此外,計(jì)算裝置100可以包括通過多種連接接口到局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)的網(wǎng)絡(luò)接口 118,所述多種連接包括但不限于標(biāo)準(zhǔn)電話線路、LAN或WAN鏈路(例如 802.11,Tl,T3、56kb、X. 25)、寬帶連接(如ISDN、幀中繼、ATM)、無線連接、或上述任何或所有連接的一些組合。網(wǎng)絡(luò)接口 118可以包括內(nèi)置網(wǎng)絡(luò)適配器、網(wǎng)絡(luò)接口卡、PCMCIA網(wǎng)絡(luò)卡、卡總線網(wǎng)絡(luò)適配器、無線網(wǎng)絡(luò)適配器、USB網(wǎng)絡(luò)適配器、調(diào)制解調(diào)器或適用于將計(jì)算裝置 100接口到能夠通信并執(zhí)行這里所說明的操作的任何類型的網(wǎng)絡(luò)的任何其它設(shè)備。計(jì)算裝置100中可以包括各種I/O裝置130a-130n。輸入裝置包括鍵盤、鼠標(biāo)、觸控板、軌跡球、麥克風(fēng)和繪圖板。輸出裝置包括視頻顯示器、揚(yáng)聲器、噴墨打印機(jī)、激光打印機(jī)和熱升華打印機(jī)。如圖IC所示,I/O裝置130可以由I/O控制器123控制。I/O控制器可以控制一個(gè)或多個(gè)I/O裝置,例如鍵盤1 和指示裝置127(如鼠標(biāo)或光筆)。此外,I/ 0裝置還可以為計(jì)算裝置100提供存儲(chǔ)裝置1 和/或安裝介質(zhì)116。在其它實(shí)施例中, 計(jì)算裝置100可以提供USB連接以接收手持USB存儲(chǔ)裝置,例如由位于加利福尼亞州Los Alamitos的Twintech Industry公司生產(chǎn)的設(shè)備的USB閃存驅(qū)動(dòng)器線。在一些實(shí)施例中,計(jì)算裝置100可以包括多個(gè)顯示裝置1對(duì)『12如或與其相連,這些顯示裝置各自可以是相同或不同的類型和/或形式。因而,任何一種I/O裝置130a-130n 和/或I/O控制器123可以包括任一類型和/或形式的適當(dāng)?shù)挠布?、軟件或硬件和軟件的組合,以支持、允許或提供通過計(jì)算裝置100連接和使用多個(gè)顯示裝置12如-1對(duì)11。例如, 計(jì)算裝置100可以包括任何類型和/或形式的視頻適配器、視頻卡、驅(qū)動(dòng)器和/或庫(kù),以與顯示裝置1對(duì)『12如接口、通信、連接或以其他方式使用顯示裝置。在一個(gè)實(shí)施例中,視頻適配器可以包括多個(gè)連接器以與多個(gè)顯示裝置1對(duì)『12如接口。在其它實(shí)施例中,計(jì)算裝置100可以包括多個(gè)視頻適配器,每個(gè)視頻適配器與顯示裝置1對(duì)『12如中的一個(gè)或多個(gè)連接。在一些實(shí)施例中,計(jì)算裝置100的操作系統(tǒng)的任一部分都可以被配置用于使用多個(gè)顯示器12如-1對(duì)11。在其它實(shí)施例中,顯示裝置12如-1對(duì)11中的一個(gè)或多個(gè)可以由一個(gè)或多個(gè)其它計(jì)算裝置提供,諸如例如通過網(wǎng)絡(luò)與計(jì)算裝置100連接的計(jì)算裝置IOOa和100b。 這些實(shí)施例可以包括被設(shè)計(jì)和構(gòu)造為將另一個(gè)計(jì)算機(jī)的顯示裝置用作計(jì)算裝置100的第二顯示裝置12 的任一類型的軟件。本領(lǐng)域的普通技術(shù)人員會(huì)認(rèn)識(shí)和理解可以將計(jì)算裝置100配置成具有多個(gè)顯示裝置12如-1對(duì)11的各種方法和實(shí)施例。在進(jìn)一步的實(shí)施例中,I/O裝置130可以是系統(tǒng)總線150和外部通信總線之間的橋170,所述外部通信總線例如USB總線、Apple桌面總線、RS-232串行連接、SCSI總線、 Fireffire總線、Fireffire800總線、以太網(wǎng)總線、AppleTalk總線、千兆位以太網(wǎng)總線、異步傳輸模式總線、HIPPI總線、超級(jí)HIPPI總線、SerialPlus總線、SCI/LAMP總線、光纖信道總線或串行SCSI總線。圖IC和ID中描述的那類計(jì)算裝置100通常在控制任務(wù)的調(diào)度和對(duì)系統(tǒng)資源的訪問的操作系統(tǒng)的控制下操作。計(jì)算裝置100可以運(yùn)行任何操作系統(tǒng),如Microsoft Windows操作系統(tǒng),不同發(fā)行版本的Unix和Linux操作系統(tǒng),用于Macintosh計(jì)算機(jī)的任何版本的MAC OS ,任何嵌入式操作系統(tǒng),任何實(shí)時(shí)操作系統(tǒng),任何開源操作系統(tǒng),任何專有操作系統(tǒng),任何用于移動(dòng)計(jì)算裝置的操作系統(tǒng),或者任何其它能夠在計(jì)算裝置上運(yùn)行并完成這里所述操作的操作系統(tǒng)。典型的操作系統(tǒng)包括WINDOWS 3. x、WI NDOffS 95,WINDOWS 98、 WINDOWS 2000,WINDOWS NT 3. 5UWIND0WS NT 4. 0、WINDOWS CE.WINDOWSXP,WINDOWS VISTA 和WINDOWS 7,所有這些均由位于華盛頓州Redmond的微軟公司出品;由位于加利福尼亞州 Cupertino的蘋果計(jì)算機(jī)出品的MacOS ;由位于紐約州Armonk的國(guó)際商業(yè)機(jī)器公司出品的 OS/2 ;以及由位于猶他州MltLake City的Caldera公司發(fā)布的可免費(fèi)使用的Linux操作系統(tǒng)或者任何類型和/或形式的Unix操作系統(tǒng),以及其它。
12
在其它實(shí)施例中,計(jì)算裝置100可以有符合該裝置的不同的處理器、操作系統(tǒng)和輸入設(shè)備。例如,在一個(gè)實(shí)施例中,計(jì)算機(jī)100是由I^lm公司出品的Treol80、270、1060、 600或650智能電話。在該實(shí)施例中,Treo智能電話在1 ImOS操作系統(tǒng)的控制下操作,并包括指示筆輸入裝置以及五向?qū)Ш窖b置。在又一個(gè)實(shí)施例中,計(jì)算機(jī)100是由蘋果計(jì)算機(jī)公司出品的iPhone智能電話。在該實(shí)施例中,iPhone在iPhone OS操作系統(tǒng)的控制下操作,并包含多點(diǎn)觸控屏接口。此外,計(jì)算裝置100可以是任何工作站、桌面計(jì)算機(jī)、膝上型或筆記本計(jì)算機(jī)、服務(wù)器、手持計(jì)算機(jī)、移動(dòng)電話、任何其它計(jì)算機(jī)、或能夠通信并有足夠的處理器能力和存儲(chǔ)容量以執(zhí)行此處所述的操作的其它形式的計(jì)算或者電信裝置。B. DNS解析器架構(gòu)在圖2中描述了駐留在服務(wù)器、客戶機(jī)或中間設(shè)備上的DNS解析器200的實(shí)施例。 如圖2所示,DNS解析器200包括DNS查詢識(shí)別器(identifier) 201、存儲(chǔ)器高速緩存202、 事務(wù)標(biāo)識(shí)符生成器203、DNS查詢生成器205、用于比較請(qǐng)求和響應(yīng)的比較器206,以及DNS 響應(yīng)生成器207。DNS解析器200也可以接收來自隨機(jī)數(shù)生成器204的輸入數(shù)。DNS解析器200接收來自客戶機(jī)、服務(wù)器或中間設(shè)備上的硬件或軟件的DNS解析請(qǐng)求208,或者接收來自另一客戶機(jī)、服務(wù)器或中間設(shè)備上的任何硬件或軟件的DNS解析請(qǐng)求208。DNS解析器 200將DNS查詢消息209傳輸?shù)紻NS名稱服務(wù)器,進(jìn)而DNS接收響應(yīng)消息210。DNS響應(yīng)消息210也可以是從與名稱服務(wù)器不同的源到達(dá)的。DNS解析器200也向與發(fā)送DNS解析請(qǐng)求208的相同或不同的客戶機(jī)、服務(wù)器或中間設(shè)備上的硬件或軟件傳輸DNS解析響應(yīng)211。 提供所顯示的經(jīng)簡(jiǎn)化的架構(gòu)是為了說明的目的而不是意欲限制。DNS解析器200包括解析域名的任何類型或形式的邏輯、操作或功能。DNS解析器 200可包括軟件和硬件的任一組合。DNS解析器200可包括庫(kù)、服務(wù)、守護(hù)進(jìn)程、進(jìn)程、函數(shù)或子程序。盡管圖2所示的隨機(jī)數(shù)生成器204是在DNS解析器200的外部,但在一些實(shí)施例中,DNS解析器200也可以包含隨機(jī)數(shù)生成器204。在其他實(shí)施例中,隨機(jī)數(shù)生成器204 可以是在另一個(gè)軟件或硬件系統(tǒng)上。DNS解析器200可包括用于以任何格式或協(xié)議(例如互聯(lián)網(wǎng)協(xié)議)傳輸和接收數(shù)據(jù)的功能。這樣,在一些實(shí)施例中,DNS解析器200可包含能夠執(zhí)行該功能的硬件或者與能夠執(zhí)行該功能的硬件通信。在其他實(shí)施例中,DNS解析器200可在虛擬機(jī)中操作并且可包括虛擬硬件或與虛擬硬件通信。DNS查詢識(shí)別器201包括一個(gè)或多個(gè)程序、任務(wù)、服務(wù)、進(jìn)程或可執(zhí)行指令以提供用于接收和處理DNS解析請(qǐng)求208的邏輯、規(guī)則、功能或操作。DNS查詢識(shí)別器201檢查解析器高速緩存202來確定對(duì)應(yīng)于該DNS解析請(qǐng)求208的之前接收的DNS響應(yīng)消息是否已經(jīng)被存儲(chǔ)在解析器高速緩存202中。如果是,則DNS響應(yīng)生成器201使用在解析器高速緩存 202中的之前接收的DNS響應(yīng)消息來向請(qǐng)求者傳輸DNS解析響應(yīng)211。如果答案是未知的, 則DNS查詢識(shí)別器201檢查DNS解析請(qǐng)求208是否是完全合格的域名查詢或不合格的多標(biāo)記域名查詢。如果DNS查詢識(shí)別器201確定DNS解析請(qǐng)求208不是完全合格的域名查詢或不合格的多標(biāo)記域名查詢,則DNS查詢識(shí)別器201向高速緩存202查詢后綴搜索列表。如果后綴搜索列表未駐留在高速緩存202中,則DNS查詢識(shí)別器201將全局DNS后綴附加到 DNS解析請(qǐng)求208。如果后綴搜索列表確實(shí)駐留在高速緩存202中,則DNS查詢識(shí)別器201 將主DNS后綴附加到DNS解析請(qǐng)求208。DNS查詢識(shí)別器201查詢高速緩存202以確定從其請(qǐng)求答復(fù)的一個(gè)或多個(gè)域名服務(wù)器的一個(gè)或多個(gè)IP地址。在一些實(shí)施例中,DNS查詢識(shí)別器201查詢高速緩存202以確定該一個(gè)或多個(gè)域名服務(wù)器的一個(gè)或多個(gè)端口。在一些實(shí)施例中,所請(qǐng)求的域名是ASCI I名稱。在其他實(shí)施例中,所請(qǐng)求的域名是國(guó)際域名系統(tǒng)的部分并以基于行的ASCII兼容編碼(RACE)或域名轉(zhuǎn)碼(pimycode)來進(jìn)行編碼。國(guó)際域名可以由DNS解析器200進(jìn)行編碼,或者在被DNS查詢識(shí)別器201收到時(shí)是已編碼的。在一些實(shí)施例中,DNS查詢識(shí)別器201查詢高速緩存202以確定要聯(lián)系的每個(gè)域名服務(wù)器是否與IETFRFC4343(域名系統(tǒng)大小寫不敏感說明)相兼容。在一些實(shí)施例中, 如果域名服務(wù)器是RFC4343兼容的,則DNS查詢識(shí)別器201可以保留如在DNS解析請(qǐng)求208 中接收的混合大寫的域名。在其他實(shí)施例中,如果域名服務(wù)器是RFC4343兼容的,則DNS查詢識(shí)別器201可以在域名中編碼隨機(jī)的大寫。高速緩存202可包括在硬件和軟件的任一組合中實(shí)現(xiàn)的任何類型和形式的數(shù)據(jù)結(jié)構(gòu)。在一些實(shí)施例中,高速緩存202可包括數(shù)據(jù)庫(kù)、平面文件、字典、注冊(cè)表、索引、查詢表或能夠以任何格式存儲(chǔ)DNS資源記錄的任何其他倉(cāng)庫(kù)。高速緩存202可包括用于記錄和獲得DNS資源記錄的任何關(guān)聯(lián)的邏輯和控制功能。一旦DNS資源記錄被存儲(chǔ)在高速緩存202 中,DNS解析器202可使用所緩存的副本而不是重新傳輸對(duì)該資源的DNS查詢消息,因此減少了訪問時(shí)間和對(duì)網(wǎng)絡(luò)帶寬的使用。在一些實(shí)施例中,高速緩存202可以包括關(guān)聯(lián)的存儲(chǔ)器元件,包括RAM、閃存,或者磁盤驅(qū)動(dòng)的一部分。在其他實(shí)施例中,高速緩存202可包括上文結(jié)合圖IC和ID所討論的主存儲(chǔ)器單元122或高速緩存存儲(chǔ)器140中的數(shù)據(jù)對(duì)象,或上述的任一組合。在其他實(shí)施例中,高速緩存202可包括任何類型的集成電路,例如現(xiàn)場(chǎng)可編程門陣列(FPGA)或可編程邏輯電路(PLD)。在一些實(shí)施例中,高速緩存202可以具有固定的最大尺寸。在其他實(shí)施例中,沒有這樣的限制。此外,高速緩存202可包括用于根據(jù)時(shí)間的到期或者在收到來自DNS解析器200的無效命令時(shí)無效或刪除所緩存的DNS資源記錄的邏輯或功能。該邏輯或功能可允許無效或刪除在高速緩存202中駐留的單個(gè)記錄、記錄組或所有記錄。隨機(jī)數(shù)生成器204可包括用于生成隨機(jī)或偽隨機(jī)數(shù)的任何類型和形式的軟件或硬件,或軟件和硬件的任一組合。在一些實(shí)施例中,隨機(jī)數(shù)生成器204在DNS解析器200之內(nèi)。在其他實(shí)施例中,隨機(jī)數(shù)生成器204與DNS解析器200在同一客戶機(jī)、服務(wù)器或中間設(shè)備中。在其他實(shí)施例中,隨機(jī)數(shù)生成器204是與包含DNS解析器200的客戶機(jī)、服務(wù)器或中間設(shè)備相分開的。在這些實(shí)施例中,隨機(jī)數(shù)生成器204可通過任何類型和形式的網(wǎng)絡(luò)或通信裝置或協(xié)議來與DNS解析器通信。隨機(jī)數(shù)生成器204生成隨機(jī)或偽隨機(jī)數(shù)并且將其傳輸?shù)紻NS解析器200中的事務(wù)標(biāo)識(shí)符生成器203。隨機(jī)或偽隨機(jī)數(shù)可以為任何長(zhǎng)度。在一些實(shí)施例中,該隨機(jī)數(shù)的長(zhǎng)度至少與所請(qǐng)求的域名的長(zhǎng)度一樣長(zhǎng)。例如,在IETF RFC1034中, 完全合格的域名的最大長(zhǎng)度是255個(gè)八位位組或2040位。在其他實(shí)施例中,隨機(jī)或偽隨機(jī)數(shù)可以更短或更長(zhǎng)。在一些實(shí)施例中,隨機(jī)數(shù)生成器204為由DNS解析器200接收的每個(gè)新的DNS解析請(qǐng)求生成新的隨機(jī)或偽隨機(jī)數(shù)。在其他實(shí)施例中,相同的隨機(jī)或偽隨機(jī)數(shù)可以用于多個(gè)事務(wù)標(biāo)識(shí)符,以減少對(duì)每個(gè)請(qǐng)求的新的隨機(jī)或偽隨機(jī)數(shù)的需求。在一些實(shí)施例中,隨機(jī)數(shù)生成器204可以預(yù)定的頻率生成新的隨機(jī)或偽隨機(jī)數(shù)。較高的頻率可導(dǎo)致較高的計(jì)算代價(jià),而較低的頻率可導(dǎo)致較低的抗攻擊性。在其他實(shí)施例中,隨機(jī)數(shù)生成器204可響應(yīng)于事件來生成新的隨機(jī)或偽隨機(jī)數(shù)。例如,隨機(jī)數(shù)生成器204可以響應(yīng)于DNS解析器 200收到的每5或10個(gè)DNS解析請(qǐng)求208來生成新的隨機(jī)數(shù)。又例如,隨機(jī)數(shù)生成器204可以響應(yīng)于高速緩存202中的每個(gè)無效DNS響應(yīng)記錄來生成新的隨機(jī)數(shù)。在這些實(shí)施例中, 致使隨機(jī)數(shù)生成器204生成新的隨機(jī)或偽隨機(jī)數(shù)的事件可以是能夠觸發(fā)隨機(jī)數(shù)生成器204 中的這樣的功能的任一事件,例如關(guān)閉或打開開關(guān)、改變存儲(chǔ)寄存器中的值,執(zhí)行功能調(diào)用或者訪問存儲(chǔ)單元。事務(wù)標(biāo)識(shí)符生成器203包括用于例如為DNS查詢創(chuàng)建或提供事務(wù)標(biāo)識(shí)符的進(jìn)程、 邏輯、功能、服務(wù)、任務(wù)、子程序或可執(zhí)行指令。如IETF RFC1035定義的,DNS事務(wù)標(biāo)識(shí)符是 DNS查詢消息209的頭部中的16位的字段。然而,在其他協(xié)議中,事務(wù)標(biāo)識(shí)符可以是不同的長(zhǎng)度或格式。在一些實(shí)施例中,所查詢的域名服務(wù)器用包含相同的DNS事務(wù)標(biāo)識(shí)符的DNS 響應(yīng)消息210來對(duì)DNS查詢消息209進(jìn)行響應(yīng),以將響應(yīng)與查詢相關(guān)聯(lián)。然而,在一些實(shí)施例中,在DNS響應(yīng)消息被收到之前,DNS解析器200可以響應(yīng)于多個(gè)DNS解析請(qǐng)求208來發(fā)送多個(gè)DNS查詢消息209。事務(wù)標(biāo)識(shí)符使DNS解析器能識(shí)別哪個(gè)未處理的請(qǐng)求與哪個(gè)響應(yīng)相關(guān)聯(lián)。通過響應(yīng)/請(qǐng)求比較器206比較發(fā)送或接收的事務(wù)標(biāo)識(shí)符,如果所接收的事務(wù)標(biāo)識(shí)符不匹配任何未處理的DNS查詢消息209,則DNS解析器200丟棄該DNS響應(yīng)消息210。 如果所接收的事務(wù)標(biāo)識(shí)符的確匹配未處理的DNS查詢消息209,則將該DNS響應(yīng)消息210傳遞到DNS響應(yīng)生成器207。為了生成事務(wù)標(biāo)識(shí)符,事務(wù)標(biāo)識(shí)符生成器203可以使用包含從隨機(jī)數(shù)生成器204接收的隨機(jī)或偽隨機(jī)數(shù)、將要被查詢的域名服務(wù)器的IP地址和所請(qǐng)求的域名或域名的一部分的輸入來執(zhí)行加密哈希函數(shù)。在一些實(shí)施例中,對(duì)事務(wù)標(biāo)識(shí)符生成器203 哈希函數(shù)的輸入可以包括將要被查詢的域名服務(wù)器的端口號(hào)。在進(jìn)一步的實(shí)施例中,對(duì)哈希函數(shù)的輸入可以包括用大寫編碼的域名。在進(jìn)一步的實(shí)施例中,對(duì)哈希函數(shù)的輸入可以包括用域名轉(zhuǎn)碼或RACE編碼的域名。用于創(chuàng)建事務(wù)標(biāo)識(shí)符的加密哈希函數(shù)可以是任何哈希函數(shù),具有或不具有抗沖突性,例如MD5、SHA-U SHA-256或任何其他已知或當(dāng)前未知的哈希函數(shù)或哈希函數(shù)的組合。在一些實(shí)施例中,加密哈希函數(shù)的輸出可以被壓縮到16位。 在其他實(shí)施例中,該輸出可以通過任何其他方式被截短或縮短至16位。在其他實(shí)施例中, 加密哈希函數(shù)的輸出可以任何方式被縮短、截短或擴(kuò)展以便獲得DNS查詢消息209的格式所需的事務(wù)標(biāo)識(shí)符的長(zhǎng)度。在進(jìn)一步的實(shí)施例中,加密哈希函數(shù)可以是抗沖突或無沖突的。DNS查詢生成器205包括用于創(chuàng)建任何類型和形式的DNS查詢消息209的進(jìn)程、邏輯、功能、服務(wù)、任務(wù)、子程序或可執(zhí)行指令??梢詣?chuàng)建與在IETFRFC1035中定義的標(biāo)準(zhǔn)DNS 查詢消息格式兼容的DNS查詢消息209,或者創(chuàng)建任何其他期望格式的DNS查詢請(qǐng)求209。 DNS查詢消息209可包括從事務(wù)標(biāo)識(shí)符生成器203接收的事務(wù)標(biāo)識(shí)符。DNS查詢消息209可包括自DNS查詢識(shí)別器201接收的所查詢的域名的詢問條目。詢問條目可包括如RFC1035 中所描述的域名,類和類型,或者包含由查詢消息格式所指定的更多或更少的信息??梢杂?DNS解析器200將DNS查詢消息209傳輸?shù)接蒁NS查詢識(shí)別器201從高速緩存202選擇的一個(gè)或多個(gè)域名服務(wù)器的地址。在一些實(shí)施例中,DNS查詢消息209可以被存儲(chǔ)在與響應(yīng) /請(qǐng)求比較器206關(guān)聯(lián)的存儲(chǔ)器元件中。在其他實(shí)施例中,DNS查詢消息209可以被存儲(chǔ)在與DNS查詢生成器205關(guān)聯(lián)的存儲(chǔ)器元件中、高速緩存202,或者任何與DNS解析器200 關(guān)聯(lián)的或由其可訪問的任何其他存儲(chǔ)器元件中??梢詫?duì)所存儲(chǔ)的DNS查詢消息作標(biāo)記、作標(biāo)志(flag)或作記錄以便將該查詢標(biāo)識(shí)為未處理的查詢。在這樣的實(shí)施例中,DNS解析器 200可包括用于當(dāng)所存儲(chǔ)的DNS查詢不再是未處理的時(shí)無效或者刪除標(biāo)記或標(biāo)志或者刪除該查詢的功能。在一些實(shí)施例中,DNS查詢消息209可以例如響應(yīng)于生存時(shí)間到期而被DNS解析器200傳輸多次。響應(yīng)/請(qǐng)求比較器206包括用于將DNS響應(yīng)消息210與DNS查詢消息209相比較的進(jìn)程、邏輯、功能、服務(wù)、任務(wù)、子程序或可執(zhí)行指令。例如,響應(yīng)/請(qǐng)求比較器206可將由 DNS解析器200接收的DNS響應(yīng)消息210與由DNS解析器200發(fā)送的DNS查詢消息209相比較。在一些實(shí)施例中,響應(yīng)/請(qǐng)求比較器206可將所接收的DNS響應(yīng)消息210與如上述所討論的被標(biāo)記為未處理的查詢的DNS查詢消息相比較。響應(yīng)/請(qǐng)求比較器206可檢查DNS 響應(yīng)消息210是否明顯地來自與曾向其發(fā)送DNS查詢消息209的域名服務(wù)器的同一 IP地址和端口。此外,在一些實(shí)施例中,響應(yīng)/請(qǐng)求比較器206可以檢查DNS響應(yīng)消息210是否具有與已發(fā)送的DNS查詢消息209相同的事務(wù)標(biāo)識(shí)符。在這些實(shí)施例中,如果響應(yīng)/請(qǐng)求比較器206確定DNS響應(yīng)消息210不匹配DNS查詢消息209,則比較器209忽略該DNS響應(yīng)消息。在進(jìn)一步的實(shí)施例中,當(dāng)所查詢的域名與RFC4343兼容時(shí),響應(yīng)/請(qǐng)求比較器206 可以比較傳輸?shù)腄NS查詢消息209和接收的DNS響應(yīng)消息210中的域名的大寫。在這些實(shí)施例中,響應(yīng)/請(qǐng)求比較器206可以響應(yīng)于大寫不匹配的確定來指示DNS解析器200忽略 DNS響應(yīng)消息210。如果響應(yīng)/請(qǐng)求比較器206將DNS響應(yīng)消息210識(shí)別為匹配未處理的 DNS查詢消息209,則在一些實(shí)施例中,其可以將該DNS響應(yīng)消息210作為有效的響應(yīng)傳遞到DNS響應(yīng)生成器207。響應(yīng)/請(qǐng)求比較器206也可以無效或者刪除標(biāo)記或標(biāo)志或者刪除將DNS查詢消息209標(biāo)識(shí)為未處理的存儲(chǔ)器條目,或者指示另一個(gè)進(jìn)程來做這些工作。DNS響應(yīng)生成器207包括用于生成和/或發(fā)送DNS解析響應(yīng)211的進(jìn)程、邏輯、功能、服務(wù)、任務(wù)、子程序或可執(zhí)行指令。DNS響應(yīng)生成器207可以接收來自響應(yīng)/請(qǐng)求比較器206的有效的DNS響應(yīng)消息210。在一些實(shí)施例中,DNS響應(yīng)生成器207可檢查DNS響應(yīng)消息210以確定其是否是完全響應(yīng)于DNS解析請(qǐng)求208。完全響應(yīng)的消息包含所尋找的最終地址。例如,對(duì)www. example, com的地址的請(qǐng)求可能返回域名www. example, com位于 208. 77. 188. 166的響應(yīng)。對(duì)www. example, com的地址的查詢的不完全響應(yīng)消息可能返回 example, com的域名服務(wù)器位于208. 77. 188. 1的響應(yīng),但沒有指出www. example, com的地址。在一些實(shí)施例中,如果DNS響應(yīng)消息210是對(duì)DNS解析請(qǐng)求208的不完全響應(yīng),則DNS 響應(yīng)生成器207可在高速緩存202中記錄任何部分的響應(yīng)或額外的名稱服務(wù)器信息。此外,DNS查詢識(shí)別器201可使用該部分的響應(yīng)或額外的名稱服務(wù)器信息來創(chuàng)建新的反復(fù)查詢。在一些實(shí)施例中,如果DNS響應(yīng)消息210是對(duì)DNS解析請(qǐng)求208的完全響應(yīng),則DNS響應(yīng)生成器207可在高速緩存202中記錄該響應(yīng)。DNS響應(yīng)生成器207可以將DNS解析響應(yīng) 211發(fā)送到在相同或不同客戶機(jī)、服務(wù)器或中間設(shè)備上的最初請(qǐng)求的軟件或硬件。DNS解析請(qǐng)求208為包括要解析的DNS名稱的一個(gè)或多個(gè)數(shù)據(jù)分組。DNS解析請(qǐng)求208可包括完全合格的域名或域名的一部分;DNS查詢類型和DNS查詢類。在一些實(shí)施例中,DNS解析請(qǐng)求208來自同一客戶機(jī)、服務(wù)器或中間設(shè)備上的軟件或硬件系統(tǒng)。在其他實(shí)施例中,DNS解析請(qǐng)求208來自另一客戶機(jī)、服務(wù)器或中間設(shè)備上的軟件或硬件系統(tǒng)。DNS查詢消息209為包括對(duì)識(shí)別域名的名稱服務(wù)器的請(qǐng)求的一個(gè)或多個(gè)數(shù)據(jù)分組。DNS查詢消息209可包括如上文結(jié)合DNS查詢生成器205所討論的事務(wù)標(biāo)識(shí)符和詢問條目。DNS查詢消息209可通過TCP、UDP或允許通過網(wǎng)絡(luò)通信的任何其他已知或者當(dāng)前未知的協(xié)議傳輸。DNS響應(yīng)消息210為包括對(duì)DNS查詢消息210的響應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)分組。DNS響應(yīng)消息210包括事務(wù)標(biāo)識(shí)符。該事務(wù)標(biāo)識(shí)符可以與未處理的DNS查詢消息209的事務(wù)標(biāo)識(shí)符相同、類似或不同。DNS響應(yīng)消息210包括響應(yīng)條目。該響應(yīng)條目可包括如RFC1035中所描述的域名,類或類型,或者包含由查詢消息格式所指定的更多或更少的信息。響應(yīng)條目也可包括額外的信息,例如對(duì)于所請(qǐng)求的域名的權(quán)威名稱服務(wù)器的地址。DNS響應(yīng)消息210 可通過TCP、UDP或允許通過網(wǎng)絡(luò)通信的任何其他類型和形式的協(xié)議傳輸。DNS解析響應(yīng)211為包括對(duì)DNS解析請(qǐng)求208的響應(yīng)的一個(gè)或多個(gè)數(shù)據(jù)分組。DNS 解析響應(yīng)211可包括在DNS解析請(qǐng)求208中所請(qǐng)求的域名和對(duì)應(yīng)于該域名的IP地址。在一些實(shí)施例中,DNS解析響應(yīng)211可包括不能定位域名的消息。C、DNS查詢生成圖3描述了為DNS查詢消息生成事務(wù)標(biāo)識(shí)符的方法的步驟的實(shí)施例??偟膩碚f, 在步驟300,接收到解析域名的請(qǐng)求。在步驟301,分析該請(qǐng)求,確定在其授權(quán)區(qū)域(zone of authority)或委托區(qū)域之內(nèi)的域名服務(wù)器的IP地址和端口。在步驟302,查詢高速緩存以確定將要被查詢的域名服務(wù)器是否重寫或規(guī)格化(normalize)混合大寫的域名;如果域名服務(wù)器不這樣做,則可以在所請(qǐng)求的域名的字符中進(jìn)行大寫轉(zhuǎn)換。在步驟303,生成隨機(jī)或偽隨機(jī)數(shù)以用于對(duì)加密哈希函數(shù)的加鹽輸入(salt input)。在步驟304,創(chuàng)建事務(wù)標(biāo)識(shí)符作為加密哈希函數(shù)的輸出。在步驟305,創(chuàng)建DNS查詢消息。在步驟306,將該DNS查詢消息傳輸至將要被查詢的域名服務(wù)器。在一些實(shí)施例中,對(duì)于查詢多個(gè)域名服務(wù)器的同一請(qǐng)求, 該過程可以被重復(fù)多次。在進(jìn)一步的實(shí)施例中,在DNS的答復(fù)沒有完整地回答DNS請(qǐng)求,但指示要查詢的更權(quán)威的名稱服務(wù)器時(shí),可以循環(huán)地或遞歸地重復(fù)該過程。在進(jìn)一步的細(xì)節(jié)中,在步驟300,DNS解析器可接收解析域名的請(qǐng)求。在一些實(shí)施例中,該請(qǐng)求可來自Web瀏覽器或類似的應(yīng)用。在其他實(shí)施例中,該請(qǐng)求可來自駐留在硬件、軟件或硬件和軟件的任一組合中的內(nèi)核服務(wù)、函數(shù)、守護(hù)進(jìn)程或其他可執(zhí)行代碼。在一些實(shí)施例中,該請(qǐng)求的來源可以與DNS解析器在同一客戶機(jī)、服務(wù)器或中間設(shè)備上。在其他實(shí)施例中,該請(qǐng)求的來源可以是來自在相同或不同網(wǎng)絡(luò)上的不同的客戶機(jī)、服務(wù)器或中間設(shè)備。DNS請(qǐng)求可以針對(duì)完整的或部分的域名。DNS請(qǐng)求可以包括域類和域類型。在一些實(shí)施例中,DNS請(qǐng)求可在名稱或類或類型中包含通配符,以表示請(qǐng)求與域名或部分域名或類或類型相關(guān)的所有記錄。如果相關(guān)的完全響應(yīng)DNS記錄駐留在DNS解析器的高速緩存中, 則可以將包含該DNS記錄中的信息的響應(yīng)返回給請(qǐng)求者。在這種情形下,可以不需要采取生成DNS查詢的進(jìn)一步的步驟。在步驟301,DNS解析器從高速緩存中的名稱服務(wù)器的索引選擇要查詢的域名服務(wù)器。在一些實(shí)施例中,DNS解析器可以選擇優(yōu)選的名稱服務(wù)器。在其他實(shí)施例中,DNS解析器可選擇在包含高速緩存中的名稱服務(wù)器的索引中所列出的所請(qǐng)求的域的最窄的管轄區(qū)內(nèi)選擇名稱服務(wù)器。在進(jìn)一步的實(shí)施例中,DNS解析器可以選擇根區(qū)域的名稱服務(wù)器。當(dāng)已經(jīng)選擇了要查詢的名稱服務(wù)器后,DNS解析器從高速緩存中的名稱服務(wù)器的索引檢索該名稱服務(wù)器的IP地址和端口號(hào)。在步驟302,DNS解析器可查詢高速緩存以確定要查詢的域名服務(wù)器是否重寫或規(guī)格化響應(yīng)。在一些實(shí)施例中,DNS解析器可以通過所緩存的資源記錄中的其他數(shù)據(jù)字段的存在和內(nèi)容來確定該名稱服務(wù)器重寫響應(yīng)。在其他實(shí)施例中,DNS解析器可以通過將先前對(duì)該名稱服務(wù)器的混合大寫的域名查詢與來自同一名稱服務(wù)器的保留大寫的響應(yīng)相比較來確定名稱服務(wù)器重寫響應(yīng)。如果將要被查詢的域名服務(wù)器不重寫或標(biāo)準(zhǔn)化響應(yīng),那么在一些實(shí)施例中,DNS解析器需要將域名的任何或所有字符在大小寫之間進(jìn)行轉(zhuǎn)換。在步驟303,隨機(jī)數(shù)生成器生成隨機(jī)或偽隨機(jī)數(shù)。在一個(gè)實(shí)施例中,隨機(jī)數(shù)生成器可將隨機(jī)或偽隨機(jī)數(shù)傳遞到事務(wù)標(biāo)識(shí)符生成器。在其他實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器從與隨機(jī)數(shù)生成器相關(guān)聯(lián)的存儲(chǔ)器元件獲得或檢索隨機(jī)或偽隨機(jī)數(shù)。在一些實(shí)施例中,對(duì)于每個(gè)新的DNS查詢,將新的隨機(jī)或偽隨機(jī)數(shù)傳遞到加密哈希函數(shù)。在其他實(shí)施例中,對(duì)于多個(gè) DNS查詢可以重用隨機(jī)或偽隨機(jī)數(shù)。在進(jìn)一步的實(shí)施例中,可以以預(yù)定的頻率來更新隨機(jī)或偽隨機(jī)數(shù)。在其他實(shí)施例中,如結(jié)合隨機(jī)數(shù)生成器204和圖2描述的,可以響應(yīng)于事件來更新隨機(jī)或偽隨機(jī)數(shù)。在步驟304,事務(wù)標(biāo)識(shí)符生成器對(duì)包含隨機(jī)或偽隨機(jī)數(shù)、將要被查詢的域名服務(wù)器的IP地址和所請(qǐng)求的域名或域名的一部分的輸入執(zhí)行加密哈希函數(shù)。加密哈希函數(shù)可以是任一哈希函數(shù)或哈希函數(shù)的任一組合,包括MD5、SHA-l、SHA-256或當(dāng)前已知或未知的任何其他哈希函數(shù)。例如,在一個(gè)實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器可以附加隨機(jī)數(shù)、域名服務(wù)器的IP地址和域名的輸入位來創(chuàng)建位串。在這個(gè)示例實(shí)施例中,事務(wù)標(biāo)識(shí)符生成器可以使用鄰近的位或位組的加法、異或O(OR)和不斷輪換來將該位串轉(zhuǎn)換為由協(xié)議的事務(wù)標(biāo)識(shí)符字段的大小所指定的長(zhǎng)度的加密哈希。例如,IETF RFC1035標(biāo)準(zhǔn)為DNS查詢指定了 16位的事務(wù)標(biāo)識(shí)符。然而,事務(wù)標(biāo)識(shí)符生成器可以被配置為輸出由所使用的網(wǎng)絡(luò)協(xié)議所需的任意長(zhǎng)度的哈希。盡管圖示的示例描述了附加輸入位來創(chuàng)建字符串,但事務(wù)標(biāo)識(shí)符生成器可以使用附加、乘法、加法、減法、異或,或者對(duì)本領(lǐng)域技術(shù)人員所知的任何其他方法。在步驟305,DNS查詢生成器使用在步驟300接收的所請(qǐng)求的域名、域類和/或域類型和在步驟304生成的事務(wù)標(biāo)識(shí)符來創(chuàng)建DNS查詢。如在上文步驟300所提到的,DNS請(qǐng)求可以是針對(duì)完全的或部分的域名,并且可在名稱或類或類型中出現(xiàn)通配符,以表示請(qǐng)求與域名或部分域名或類或類型相關(guān)的所有記錄。在一個(gè)實(shí)施例中,DNS查詢生成器可創(chuàng)建 RFC1035標(biāo)準(zhǔn)的DNS查詢,包括由問題跟隨的頭部。在該實(shí)施例中,頭部可包括在步驟304 所生成的事務(wù)標(biāo)識(shí)符、查詢標(biāo)志、指定查詢類型的操作碼,以及遞歸標(biāo)志。該問題可包括域名、域類型和域類。在一些實(shí)施例中,DNS查詢生成器也可以創(chuàng)建與諸如TCP或UDP的相關(guān)協(xié)議兼容的消息,將DNS查詢作為有效負(fù)荷。在其他實(shí)施例中,DNS查詢生成器可將該查詢作為有效負(fù)荷傳遞到在應(yīng)用或傳輸層操作的另一個(gè)協(xié)議或進(jìn)程。在步驟306,DNS解析器將該DNS查詢傳輸?shù)皆诓襟E301所選擇的域名服務(wù)器。域名服務(wù)器可以與DNS解析器位于相同的網(wǎng)絡(luò)或不同的網(wǎng)絡(luò)上。在一些實(shí)施例中,DNS解析器直接傳輸DNS查詢。在其他實(shí)施例中,DNS解析器將DNS查詢傳遞到負(fù)責(zé)處理網(wǎng)絡(luò)通信的另一個(gè)進(jìn)程或服務(wù),例如網(wǎng)絡(luò)驅(qū)動(dòng)。盡管已經(jīng)引用具體實(shí)施例詳細(xì)地顯示和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)理解,可以在不脫離由下列權(quán)利要求定義的本發(fā)明的精神和范圍內(nèi)進(jìn)行形式或細(xì)節(jié)上的各種變換。
權(quán)利要求
1.一種用于生成域名服務(wù)(DNS)查詢以提高抗DNS攻擊性的方法,所述方法包括a)由DNS解析器接收解析域名的請(qǐng)求;b)由DNS解析器識(shí)別所述域名和DNS服務(wù)器的互聯(lián)網(wǎng)協(xié)議地址;c)通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、DNS服務(wù)器的互聯(lián)網(wǎng)協(xié)議地址和所述域名的輸入來為DNS查詢生成事務(wù)標(biāo)識(shí)符;以及d)由DNS解析器將對(duì)所述域名的DNS查詢傳輸?shù)紻NS服務(wù)器,所述DNS查詢是由所生成的事務(wù)標(biāo)識(shí)符標(biāo)識(shí)的。
2.根據(jù)權(quán)利要求1所述的方法,其中步驟(b)還包括由DNS解析器識(shí)別DNS服務(wù)器的端□。
3.根據(jù)權(quán)利要求2所述的方法,其中步驟(c)還包括通過將單向哈希函數(shù)應(yīng)用于所述預(yù)定的隨機(jī)數(shù)、DNS服務(wù)器的互聯(lián)網(wǎng)協(xié)議地址與端口和所述域名的輸入來為DNS查詢生成事務(wù)標(biāo)識(shí)符。
4.根據(jù)權(quán)利要求3所述的方法,其中輸入的域名包括將要被解析的域名的一部分。
5.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括以預(yù)定的頻率改變所述預(yù)定的隨機(jī)數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括響應(yīng)于事件來改變所述預(yù)定的隨機(jī)數(shù)。
7.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括由所述單向哈希函數(shù)為傳輸?shù)酵粋€(gè)DNS服務(wù)器的、解析同一個(gè)域名的DNS查詢生成相同的事務(wù)標(biāo)識(shí)符。
8.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括對(duì)DNS請(qǐng)求的一個(gè)或多個(gè)字段進(jìn)行編碼并且使用所編碼的一個(gè)或多個(gè)字段作為對(duì)所述單向哈希函數(shù)的輸入以生成事務(wù)標(biāo)識(shí)符。
9.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括通過將所述域名的一個(gè)或多個(gè)字符大寫來對(duì)所述域名進(jìn)行編碼并且通過用所編碼的域名作為對(duì)所述單向哈希函數(shù)的域名輸入來生成事務(wù)標(biāo)識(shí)符。
10.根據(jù)權(quán)利要求1所述的方法,其中步驟(C)還包括通過使用域名轉(zhuǎn)碼或RACE編碼方案的其中一個(gè)來對(duì)所述域名進(jìn)行編碼。
11.根據(jù)權(quán)利要求1所述的方法,還包括由DNS解析器確定DNS服務(wù)器是重寫響應(yīng)還是規(guī)格化響應(yīng),以及響應(yīng)于所述確定不對(duì)DNS查詢的一部分進(jìn)行編碼。
12.根據(jù)權(quán)利要求1所述的方法,還包括由DNS解析器確定所述目的地不重寫響應(yīng),以及響應(yīng)于所述確定來對(duì)DNS查詢的一部分進(jìn)行編碼并將所編碼的部分包含在事務(wù)標(biāo)識(shí)符中。
13.根據(jù)權(quán)利要求1所述的方法,其中步驟(c)還包括由DNS解析器將所述目的地的互聯(lián)網(wǎng)協(xié)議地址和所述域名的輸入傳送到事務(wù)標(biāo)識(shí)符生成器。
14.一種用于生成域名服務(wù)(DNS)查詢以提高抗DNS攻擊性的系統(tǒng),所述系統(tǒng)包括DNS解析器,用于接收解析域名的請(qǐng)求以及識(shí)別所述域名和所述請(qǐng)求的目的地的互聯(lián)網(wǎng)協(xié)議地址;事務(wù)標(biāo)識(shí)符生成器,用于通過將單向哈希函數(shù)應(yīng)用于預(yù)定的隨機(jī)數(shù)、所述目的地的互聯(lián)網(wǎng)協(xié)議地址和所述域名的輸入來生成事務(wù)標(biāo)識(shí)符;以及其中DNS解析器使用所生成的事務(wù)標(biāo)識(shí)符來形成DNS查詢并且將對(duì)所述域名的DNS查詢傳輸?shù)剿瞿康牡亍?br> 15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器識(shí)別所述請(qǐng)求的目的地的端口。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中事務(wù)標(biāo)識(shí)符生成器通過將單向哈希函數(shù)應(yīng)用于所述預(yù)定的隨機(jī)數(shù)、目的地的互聯(lián)網(wǎng)協(xié)議地址與端口和所述域名的輸入來為DNS查詢生成事務(wù)標(biāo)識(shí)符。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中輸入的域名包括將要被解析的域名的一部分。
18.根據(jù)權(quán)利要求14所述的系統(tǒng),其中事務(wù)標(biāo)識(shí)符生成器以預(yù)定的頻率改變所述預(yù)定的隨機(jī)數(shù)。
19.根據(jù)權(quán)利要求14所述的系統(tǒng),其中事務(wù)標(biāo)識(shí)符生成器響應(yīng)于事件來改變所述預(yù)定的隨機(jī)數(shù)。
20.根據(jù)權(quán)利要求14所述的系統(tǒng),其中事務(wù)標(biāo)識(shí)符生成器為標(biāo)識(shí)同一域名和同一目的地的輸入生成相同的事務(wù)標(biāo)識(shí)符。
21.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器對(duì)DNS請(qǐng)求的一個(gè)或多個(gè)字段進(jìn)行編碼并且將所編碼的一個(gè)或多個(gè)字段作為輸入傳送給事務(wù)標(biāo)識(shí)符生成器以生成事務(wù)標(biāo)識(shí)符。
22.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器通過將所述域名的一個(gè)或多個(gè)字符大寫來對(duì)所述域名進(jìn)行編碼并且將所編碼的域名作為所述域名的輸入傳送給事務(wù)標(biāo)識(shí)符生成器。
23.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器通過使用域名轉(zhuǎn)碼或RACE編碼方案的其中一個(gè)來對(duì)所述域名進(jìn)行編碼。
24.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器確定所述目的地是重寫響應(yīng)還是規(guī)格化響應(yīng),以及響應(yīng)于所述確定不對(duì)DNS查詢的一部分進(jìn)行編碼。
25.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器確定所述目的地不重寫響應(yīng),以及響應(yīng)于所述確定來對(duì)DNS查詢的一部分進(jìn)行編碼并將所編碼的部分作為輸入傳送到事務(wù)標(biāo)識(shí)符生成器以生成事務(wù)標(biāo)識(shí)符。
26.根據(jù)權(quán)利要求14所述的系統(tǒng),其中DNS解析器駐留在客戶機(jī)、服務(wù)器或中間設(shè)備的其中一個(gè)上。
全文摘要
本解決方案提供用于生成更抗攻擊者危害的DNS查詢的系統(tǒng)和方法。DNS解析器使用加密哈希函數(shù)來生成事務(wù)標(biāo)識(shí)符。對(duì)該哈希函數(shù)的輸入可包括預(yù)定的隨機(jī)數(shù)、將要被查詢的名稱服務(wù)器的目的IP地址,和將要被查詢的域名。由于在公式中包含了名稱服務(wù)器的IP地址,所以對(duì)不同名稱服務(wù)器的相同的域名查詢可能有不同的事務(wù)標(biāo)識(shí)符,以防止攻擊者觀察查詢以及預(yù)測(cè)其他查詢的標(biāo)識(shí)符。通過將名稱服務(wù)器的端口號(hào)和/或域名的一部分作為對(duì)哈希函數(shù)的輸入來給生成事務(wù)標(biāo)識(shí)符提供額外的加密。如果確定響應(yīng)的服務(wù)器可在其響應(yīng)中保留大寫,那么可以對(duì)在域名中的大小寫字符進(jìn)行加鹽以便在生成事務(wù)標(biāo)識(shí)符的期間提供額外的加密。
文檔編號(hào)H04L29/12GK102577303SQ201080026895
公開日2012年7月11日 申請(qǐng)日期2010年3月12日 優(yōu)先權(quán)日2009年4月20日
發(fā)明者A·謝里斯特 申請(qǐng)人:思杰系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1