專(zhuān)利名稱(chēng):基于dns來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的制作方法
基于DNS來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部
背景技術(shù):
很多計(jì)算設(shè)備是能被很容易地運(yùn)送到不同的位置的移動(dòng)設(shè)備。這些移動(dòng)設(shè)備有時(shí)可以根據(jù)其是否被認(rèn)為處于特定網(wǎng)絡(luò)內(nèi)而以不同的方式工作。但是,在任何特定時(shí)間可靠確定移動(dòng)設(shè)備何時(shí)處于特定網(wǎng)絡(luò)內(nèi)部是很困難的。
發(fā)明內(nèi)容
本發(fā)明內(nèi)容是為了以簡(jiǎn)化形式引入精選概念而被提供的,并且在以下的具體實(shí)施方式
部分中將會(huì)進(jìn)一步描述這些概念。本發(fā)明內(nèi)容的目的既不是識(shí)別所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不是用來(lái)限制所要求保護(hù)的主題的范圍。根據(jù)一個(gè)或多個(gè)方面,產(chǎn)生一個(gè)域名系統(tǒng)(DNS)查詢(xún)并促使其被發(fā)送。執(zhí)行關(guān)于是否接收到針對(duì)該DNS查詢(xún)的經(jīng)過(guò)核實(shí)的DNS響應(yīng)的檢查。如果接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部,如果沒(méi)有接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)外部。根據(jù)一個(gè)或多個(gè)方面,對(duì)DNS查詢(xún)的域名系統(tǒng)(DNS)響應(yīng)將被接收。關(guān)于DNS響應(yīng)是否具有預(yù)期值以及DNS響應(yīng)是否由可信機(jī)構(gòu)進(jìn)行了數(shù)字簽名的檢查將被執(zhí)行。如果DNS 響應(yīng)具有預(yù)期值并且DNS響應(yīng)是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,則確定計(jì)算設(shè)備通過(guò)核實(shí)且處于特定網(wǎng)絡(luò)內(nèi)部,否則確定計(jì)算設(shè)備未經(jīng)核實(shí)且處于特定網(wǎng)絡(luò)外部。
在所有附圖中,相同的數(shù)字被用于引用相同的特征。圖1圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的例示系統(tǒng)。圖2圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的另一個(gè)例示系統(tǒng)。圖3是圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例用于計(jì)算設(shè)備基于DNS確定其是否處于特定網(wǎng)絡(luò)內(nèi)部的例示過(guò)程的流程圖。圖4是圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例用于計(jì)算設(shè)備核實(shí)DNS響應(yīng)的例示過(guò)程的流程圖。圖5圖示了可以被配置成根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的例示計(jì)算設(shè)備。
具體實(shí)施例方式在這里討論了基于DNS來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部。計(jì)算設(shè)備產(chǎn)生一個(gè)請(qǐng)求解析特定名稱(chēng)的域名系統(tǒng)(DNS)查詢(xún),并且將這個(gè)DNS查詢(xún)發(fā)送到DNS服務(wù)。如果計(jì)算設(shè)備處于特定網(wǎng)絡(luò)(例如公司網(wǎng))內(nèi)部,那么計(jì)算設(shè)備預(yù)期將接收到具有特定值的DNS響應(yīng),并且還會(huì)預(yù)期所述DNS響應(yīng)是由可信機(jī)構(gòu)進(jìn)行了數(shù)字簽名的。如果DNS響應(yīng)具有預(yù)期的特定值,
3并且是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,那么計(jì)算設(shè)備確定其處于特定網(wǎng)絡(luò)內(nèi)部。但是,如果DNS 響應(yīng)沒(méi)有預(yù)期的特定值和/或未經(jīng)過(guò)可信機(jī)構(gòu)的數(shù)字簽名,或者如果沒(méi)有接收到DNS響應(yīng), 那么計(jì)算設(shè)備確定其處于特定網(wǎng)絡(luò)以外。在這里將會(huì)參考數(shù)字簽名和數(shù)字證書(shū)。雖然數(shù)字簽名和數(shù)字證書(shū)對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)是眾所周知的,但是在這里包含了對(duì)它們的簡(jiǎn)要概述來(lái)為讀者提供幫助。數(shù)字簽名和數(shù)字證書(shū)通常是使用公鑰密碼術(shù)(cryptography)產(chǎn)生的。在公鑰密碼術(shù)中,實(shí)體(例如用戶(hù)、硬件或軟件組件、設(shè)備、域等等)具有與之關(guān)聯(lián)的公鑰/私鑰對(duì)。公鑰可以是可公開(kāi)獲得的,但是實(shí)體會(huì)將私鑰保密。在沒(méi)有私鑰的情況下,使用公鑰加密的數(shù)據(jù)在計(jì)算上是很難解密的。因此,數(shù)據(jù)可以由任一實(shí)體使用公鑰來(lái)進(jìn)行加密,并且只能由具有相應(yīng)私鑰的實(shí)體進(jìn)行解密。此外,用于數(shù)據(jù)的數(shù)字簽名可以使用數(shù)據(jù)和私鑰來(lái)產(chǎn)生。在沒(méi)有私鑰的情況下,計(jì)算上很難創(chuàng)建可以使用公鑰核實(shí)的簽名。通過(guò)對(duì)公鑰、簽名以及帶有簽名的數(shù)據(jù)執(zhí)行適當(dāng)?shù)臄?shù)字簽名核實(shí)算法,具有公鑰的任何實(shí)體都可以使用公鑰來(lái)核實(shí)數(shù)字簽名。數(shù)字證書(shū)也是可以創(chuàng)建的,其中該數(shù)字證書(shū)包括實(shí)體的標(biāo)識(shí)符和用于該實(shí)體的公鑰,以及用實(shí)體私鑰簽名的數(shù)字證書(shū),以便將實(shí)體的標(biāo)識(shí)符綁定到該實(shí)體的公鑰。可替換地,數(shù)字簽名和數(shù)字證書(shū)可以使用對(duì)稱(chēng)密鑰密碼術(shù)來(lái)產(chǎn)生。在對(duì)稱(chēng)密鑰密碼術(shù)中,兩個(gè)實(shí)體知道共享密鑰(也被稱(chēng)為對(duì)稱(chēng)密鑰)并將其保密。任何具有共享密鑰的實(shí)體通常都能對(duì)使用共享密鑰加密的數(shù)據(jù)進(jìn)行解密。在沒(méi)有共享密鑰的情況下,計(jì)算上很難對(duì)使用共享密鑰加密的數(shù)據(jù)進(jìn)行解密。因此,如果兩個(gè)實(shí)體全都知道共享密鑰,那么每一個(gè)實(shí)體都可以加密數(shù)據(jù),并且所述加密數(shù)據(jù)可以被另一個(gè)實(shí)體解密,但是如果其他實(shí)體不知道共享密鑰,那么所述實(shí)體是不能解密該數(shù)據(jù)的。同樣,具有共享密鑰的實(shí)體可以對(duì)數(shù)據(jù)進(jìn)行加密,并且該數(shù)據(jù)可以被該相同的實(shí)體解密,但是如果其他實(shí)體不知道共享密鑰,那么所述其他實(shí)體是不能解密該數(shù)據(jù)的。此外,數(shù)字簽名可以是基于對(duì)稱(chēng)密鑰密碼術(shù)產(chǎn)生的,例如使用帶有密鑰的散列(keyed-hash)消息驗(yàn)證(authentication)碼機(jī)制。任何具有共享密鑰的實(shí)體都可以產(chǎn)生和核實(shí)數(shù)字簽名。例如,可信第三方可以基于特定實(shí)體的身份來(lái)產(chǎn)生對(duì)稱(chēng)密鑰,然后可以為這個(gè)特定實(shí)體產(chǎn)生和核實(shí)數(shù)字簽名(例如通過(guò)使用對(duì)稱(chēng)密鑰加密或解密數(shù)據(jù))。數(shù)字證書(shū)可被創(chuàng)建,其中該數(shù)字證書(shū)包含了實(shí)體的標(biāo)識(shí)符和用于該實(shí)體的公鑰,以及經(jīng)過(guò)數(shù)字簽名的數(shù)字證書(shū)(例如由可信第三方),以便將實(shí)體的標(biāo)識(shí)符綁定到該實(shí)體的公鑰。圖1圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的例示系統(tǒng)100。系統(tǒng)100包括網(wǎng)絡(luò)102,該網(wǎng)絡(luò)是借助通信網(wǎng)絡(luò)耦合在一起的一個(gè)或多個(gè)設(shè)備。通信網(wǎng)絡(luò)可以包括有線(xiàn)和/或無(wú)線(xiàn)通信,并且允許網(wǎng)絡(luò)102中的多種不同設(shè)備與網(wǎng)絡(luò) 102中的多種不同的其他設(shè)備進(jìn)行通信。舉例來(lái)說(shuō),通信網(wǎng)絡(luò)可以是局域網(wǎng)(LAN)、公共電話(huà)網(wǎng)、專(zhuān)用電話(huà)網(wǎng)、其他公共和/或?qū)S芯W(wǎng)絡(luò)、這些網(wǎng)絡(luò)的組合等等。網(wǎng)絡(luò)102包括多種不同的設(shè)備,這其中包括一個(gè)或多個(gè)路由器104、一個(gè)或多個(gè)實(shí)現(xiàn)DNS服務(wù)106的設(shè)備、一個(gè)或多個(gè)網(wǎng)關(guān)108以及一個(gè)或多個(gè)其他設(shè)備110。路由器104在網(wǎng)絡(luò)102的多種不同設(shè)備之間路由數(shù)據(jù)分組或其他信息。如下文中更詳細(xì)論述的那樣,DNS 服務(wù)106將名稱(chēng)解析成網(wǎng)絡(luò)地址。DNS服務(wù)106通常是在一個(gè)或多個(gè)服務(wù)器上實(shí)現(xiàn)的,但是可替換地,DNS服務(wù)106也可以在其他類(lèi)型的設(shè)備上實(shí)現(xiàn)。網(wǎng)關(guān)108管理將網(wǎng)絡(luò)102連接到其他網(wǎng)絡(luò)(例如因特網(wǎng))或網(wǎng)絡(luò)102之外的其他設(shè)備。從網(wǎng)絡(luò)102內(nèi)部的設(shè)備到網(wǎng)絡(luò)102外部的設(shè)備的通信以及從網(wǎng)絡(luò)102外部的設(shè)備到網(wǎng)絡(luò)102內(nèi)部的設(shè)備的通信是由網(wǎng)關(guān)108
管理的。設(shè)備110可以是多種不同類(lèi)型的設(shè)備,這其中包括計(jì)算設(shè)備,例如臺(tái)式計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、膝上或上網(wǎng)本計(jì)算機(jī)、平板或筆記本計(jì)算機(jī)、移動(dòng)站、數(shù)據(jù)庫(kù)或其他存儲(chǔ)設(shè)備、 娛樂(lè)電器、可通信地耦合到顯示設(shè)備的機(jī)頂盒、電視或其他顯示設(shè)備、蜂窩電話(huà)或其他無(wú)線(xiàn)電話(huà)、游戲控制臺(tái)、汽車(chē)用計(jì)算機(jī)等等。設(shè)備110還可以是多種不同類(lèi)型的輸入設(shè)備,例如掃描儀、相機(jī)或其他圖像捕獲設(shè)備等等。設(shè)備110還可以是多種不同類(lèi)型的輸出設(shè)備,例如打印機(jī)、傳真機(jī)、投影儀或其他顯示設(shè)備等等。通常,網(wǎng)絡(luò)102包括多個(gè)設(shè)備,這其中包括至少一個(gè)路由器104、實(shí)現(xiàn)DNS服務(wù)106 中的至少一部分的至少一個(gè)設(shè)備、至少一個(gè)網(wǎng)關(guān)108以及至少一個(gè)設(shè)備110。然而應(yīng)該指出的是,網(wǎng)絡(luò)102可以包括任何數(shù)量的路由器104、用于實(shí)現(xiàn)DNS服務(wù)106的至少一部分的任何數(shù)量的設(shè)備、任何數(shù)量的網(wǎng)關(guān)108以及任何數(shù)量的設(shè)備110。此外還應(yīng)該指出,并不是所有這些設(shè)備都必須包含在網(wǎng)絡(luò)中(例如,在網(wǎng)絡(luò)中可以不包含設(shè)備110)。此外還應(yīng)該指出, 網(wǎng)絡(luò)102的一個(gè)或多個(gè)這樣的設(shè)備可以組合成單個(gè)設(shè)備。例如,路由器104和網(wǎng)關(guān)108的功能可以由單個(gè)設(shè)備提供。在例示系統(tǒng)100中,網(wǎng)絡(luò)102還包括具有網(wǎng)內(nèi)/網(wǎng)外確定模塊122的計(jì)算設(shè)備120。 計(jì)算設(shè)備120也可以是設(shè)備110中的一個(gè)。該計(jì)算設(shè)備120可以是多種不同類(lèi)型的計(jì)算設(shè)備,例如臺(tái)式計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、膝上或上網(wǎng)本計(jì)算機(jī)、平板或筆記本計(jì)算機(jī)、移動(dòng)站、 數(shù)據(jù)庫(kù)或其他存儲(chǔ)設(shè)備、娛樂(lè)電器、可通信地耦合到顯示設(shè)備的機(jī)頂盒、電視或其他顯示設(shè)備、蜂窩電話(huà)或其他無(wú)線(xiàn)電話(huà)、游戲控制臺(tái)、汽車(chē)用計(jì)算機(jī)等等。計(jì)算設(shè)備120通常是可以很容易移動(dòng)到網(wǎng)絡(luò)102內(nèi)部的不同位置以及可以很容易在網(wǎng)絡(luò)102內(nèi)部的位置與網(wǎng)絡(luò)102 外部的位置之間移動(dòng)的移動(dòng)計(jì)算設(shè)備,例如蜂窩電話(huà)或其他無(wú)線(xiàn)電話(huà)、膝上或筆記本計(jì)算機(jī)等等。因此,網(wǎng)絡(luò)102有時(shí)可以包括計(jì)算設(shè)備120(當(dāng)計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部的時(shí)候),而在其他時(shí)候則不包括計(jì)算設(shè)備120 (當(dāng)計(jì)算設(shè)備120處于網(wǎng)絡(luò)102外部的時(shí)候)。 雖然在系統(tǒng)100中示出的是單個(gè)計(jì)算設(shè)備120,但是應(yīng)該指出,在網(wǎng)絡(luò)102中可以包括具有相同或不同設(shè)備類(lèi)型的多個(gè)計(jì)算設(shè)備120。網(wǎng)絡(luò)102中包含的設(shè)備被配置成彼此經(jīng)由通信網(wǎng)絡(luò)來(lái)進(jìn)行通信。這種設(shè)備配置可以在將設(shè)備添加到網(wǎng)絡(luò)102中的時(shí)候執(zhí)行,并且還可以在設(shè)備已被包含作為網(wǎng)絡(luò)102的一部分之后的多種不同時(shí)間執(zhí)行。網(wǎng)關(guān)108允許基于特定的策略和/或規(guī)則而在網(wǎng)絡(luò)102包含的設(shè)備與網(wǎng)絡(luò)102不包含的設(shè)備之間進(jìn)行通信。網(wǎng)關(guān)108遵循的特定策略和/或規(guī)則可以基于網(wǎng)絡(luò)102的所有者和/或設(shè)計(jì)人員、網(wǎng)絡(luò)102的管理人員等等而改變。諸如計(jì)算設(shè)備120之類(lèi)的計(jì)算設(shè)備通過(guò)連接到網(wǎng)絡(luò)102來(lái)與網(wǎng)絡(luò)102中的其他設(shè)備進(jìn)行通信。連接到網(wǎng)絡(luò)102指的是在計(jì)算設(shè)備與網(wǎng)絡(luò)102之間建立通信鏈路。建立通信鏈路包括下列各項(xiàng)中的一項(xiàng)或多項(xiàng)為計(jì)算設(shè)備獲取網(wǎng)絡(luò)地址(例如從網(wǎng)絡(luò)102的動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)服務(wù)器那里),向網(wǎng)絡(luò)102的域控制器驗(yàn)證計(jì)算設(shè)備或計(jì)算設(shè)備的用戶(hù) (例如使用用戶(hù)名和口令,使用數(shù)字證書(shū)等等),與作為網(wǎng)絡(luò)102的一部分包含的設(shè)備協(xié)商協(xié)議(例如與路由器104或網(wǎng)關(guān)108),與作為網(wǎng)絡(luò)102的一部分包含的設(shè)備(例如網(wǎng)關(guān)108)建立安全的(例如加密)通信信道等等。在計(jì)算設(shè)備與網(wǎng)絡(luò)102之間建立通信鏈路可以由計(jì)算設(shè)備或別的設(shè)備(例如作為網(wǎng)絡(luò)102的一部分包含的設(shè)備)啟動(dòng)。一旦建立了通信鏈路,則計(jì)算設(shè)備可以與網(wǎng)絡(luò)102中的其他設(shè)備進(jìn)行通信(服從網(wǎng)絡(luò)02中任何適當(dāng)?shù)脑L(fǎng)問(wèn)控制策略)。諸如計(jì)算設(shè)備120之類(lèi)的設(shè)備可被稱(chēng)為處于網(wǎng)絡(luò)內(nèi)部或網(wǎng)絡(luò)外部。處于網(wǎng)絡(luò)以?xún)?nèi) (也被稱(chēng)為處于網(wǎng)絡(luò)內(nèi)部)的設(shè)備是一個(gè)包含在網(wǎng)絡(luò)中并且因此能在不必訪(fǎng)問(wèn)該網(wǎng)絡(luò)以外的設(shè)備的情況下與該網(wǎng)絡(luò)中包含的其他設(shè)備進(jìn)行通信的設(shè)備。因此舉例來(lái)說(shuō),路由器104、 網(wǎng)關(guān)108、設(shè)備112以及在系統(tǒng)100中實(shí)現(xiàn)服務(wù)106的設(shè)備處于網(wǎng)絡(luò)102內(nèi)部,并且被配置成彼此之間經(jīng)由網(wǎng)絡(luò)102的通信網(wǎng)絡(luò)來(lái)進(jìn)行通信,而不必訪(fǎng)問(wèn)網(wǎng)絡(luò)102以外的設(shè)備。處于網(wǎng)絡(luò)102內(nèi)部的設(shè)備可以經(jīng)由網(wǎng)關(guān)108來(lái)與不在網(wǎng)絡(luò)102內(nèi)部的其他設(shè)備進(jìn)行通信。此外還應(yīng)該指出,雖然網(wǎng)絡(luò)102內(nèi)部的設(shè)備彼此之間可以經(jīng)由通信網(wǎng)絡(luò)進(jìn)行通信,但是對(duì)于網(wǎng)絡(luò)102內(nèi)部的哪些設(shè)備可以訪(fǎng)問(wèn)網(wǎng)絡(luò)102內(nèi)部的其他哪些設(shè)備(或是訪(fǎng)問(wèn)方式)的多種不同訪(fǎng)問(wèn)控制限制也是可以實(shí)現(xiàn)的。處于網(wǎng)絡(luò)以外(也被稱(chēng)為處于其外部)的設(shè)備是一個(gè)不在網(wǎng)絡(luò)以?xún)?nèi)的設(shè)備。這種設(shè)備可以經(jīng)由該網(wǎng)絡(luò)的網(wǎng)關(guān)來(lái)與該網(wǎng)絡(luò)內(nèi)部的設(shè)備進(jìn)行通信。因此舉例來(lái)說(shuō),路由器104、網(wǎng)關(guān)108、設(shè)備112和實(shí)現(xiàn)服務(wù)106的設(shè)備可以經(jīng)由網(wǎng)關(guān)108接收來(lái)自網(wǎng)絡(luò)102外部的設(shè)備的通信(并且向其發(fā)送通信),以及服從網(wǎng)關(guān)108使用的策略和/或規(guī)則。哪些設(shè)備包括在網(wǎng)絡(luò)102中可以采用不同的方式定義,并且可以至少部分基于實(shí)現(xiàn)網(wǎng)絡(luò)102的實(shí)體和/或網(wǎng)絡(luò)102的管理員的希望。在一個(gè)或多個(gè)實(shí)施例中,網(wǎng)絡(luò)是由DNS 服務(wù)106服務(wù)的設(shè)備定義的。網(wǎng)絡(luò)102內(nèi)部的設(shè)備向DNS服務(wù)106提交DNS查詢(xún),并且接收來(lái)自該服務(wù)的DNS響應(yīng)。網(wǎng)絡(luò)102外部的設(shè)備不能訪(fǎng)問(wèn)DNS服務(wù)106(例如,網(wǎng)關(guān)108使用的策略和/或規(guī)則阻止該設(shè)備訪(fǎng)問(wèn)DNS服務(wù)106)。在一個(gè)或多個(gè)其他實(shí)施例中,網(wǎng)絡(luò)102是由能在不通過(guò)防火墻(例如由網(wǎng)關(guān)108或別的設(shè)備實(shí)現(xiàn))進(jìn)行通信或是沒(méi)有訪(fǎng)問(wèn)因特網(wǎng)的情況下彼此訪(fǎng)問(wèn)的設(shè)備定義的。網(wǎng)絡(luò)102 內(nèi)部的設(shè)備是那些能在沒(méi)有通過(guò)防火墻通信或是接入因特網(wǎng)的情況下彼此訪(fǎng)問(wèn)的設(shè)備(服從網(wǎng)絡(luò)102中任何適當(dāng)?shù)脑L(fǎng)問(wèn)控制策略)。經(jīng)由防火墻或因特網(wǎng)來(lái)與網(wǎng)絡(luò)102內(nèi)部的設(shè)備通信的設(shè)備則處于網(wǎng)絡(luò)102的外部。此外,在一個(gè)或多個(gè)實(shí)施例中,網(wǎng)絡(luò)102是一個(gè)由特定企業(yè)實(shí)體(例如特定公司, 公司的特定部門(mén)或單位等等)管理或是為該特定企業(yè)實(shí)體管理的網(wǎng)絡(luò),因此被稱(chēng)為公司網(wǎng)。 可替換地,網(wǎng)絡(luò)102可以是其他類(lèi)型的網(wǎng)絡(luò),例如家庭網(wǎng)絡(luò),教育網(wǎng)絡(luò),游戲網(wǎng)絡(luò)等等。在系統(tǒng)100的示例中,計(jì)算設(shè)備120處于網(wǎng)絡(luò)102之內(nèi)。然而也有可能出現(xiàn)計(jì)算設(shè)備120變成處于網(wǎng)絡(luò)外部的情形。例如,計(jì)算設(shè)備120可以移動(dòng)到不同的位置,并且計(jì)算設(shè)備120在該位置不能以使得計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部的方式來(lái)與網(wǎng)絡(luò)102建立通信鏈路。應(yīng)該指出的是,在使用計(jì)算設(shè)備120的所有地方,計(jì)算設(shè)備120可以多次在網(wǎng)絡(luò)102 的內(nèi)部與網(wǎng)絡(luò)102的外部之間移動(dòng)。圖2圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的另一個(gè)例示系統(tǒng)200。系統(tǒng)200與圖1的系統(tǒng)100相似,其包括網(wǎng)絡(luò)102、一個(gè)或多個(gè)路由器 104,DNS服務(wù)106、一個(gè)或多個(gè)網(wǎng)關(guān)108以及一個(gè)或多個(gè)其他設(shè)備110。系統(tǒng)200還包括計(jì)算設(shè)備120。雖然在系統(tǒng)200中示出了單個(gè)計(jì)算設(shè)備120,但是應(yīng)該指出,在系統(tǒng)200中可以包括具有相同或不同設(shè)備類(lèi)型的多個(gè)計(jì)算設(shè)備120。圖2的計(jì)算設(shè)備120是圖1的計(jì)算設(shè)備120。在圖1中,計(jì)算設(shè)備120包含在網(wǎng)
6絡(luò)102內(nèi)部。然而在圖2中,計(jì)算設(shè)備120處于網(wǎng)絡(luò)102外部,并且經(jīng)由網(wǎng)關(guān)108來(lái)與網(wǎng)絡(luò) 102建立通信鏈路。在計(jì)算設(shè)備120與網(wǎng)關(guān)108之間可以經(jīng)由多種其他設(shè)備或通信網(wǎng)絡(luò)來(lái)建立通信鏈路,例如經(jīng)由因特網(wǎng)、經(jīng)由蜂窩網(wǎng)絡(luò)或其他公共網(wǎng)絡(luò)等等。計(jì)算設(shè)備120可以基于所述計(jì)算設(shè)備120確定其處于網(wǎng)絡(luò)102的內(nèi)部還是網(wǎng)絡(luò) 102的外部而以不同的方式工作。例如,計(jì)算設(shè)備120可以基于該計(jì)算設(shè)備120是否處于網(wǎng)絡(luò)102的內(nèi)部來(lái)決定是否使用加密通信,計(jì)算設(shè)備120可以基于該計(jì)算設(shè)備120是否處于網(wǎng)絡(luò)102的內(nèi)部來(lái)允許或禁用某個(gè)功能,計(jì)算設(shè)備120可以基于該計(jì)算設(shè)備120是否處于網(wǎng)絡(luò)102的內(nèi)部來(lái)允許或拒絕訪(fǎng)問(wèn)存儲(chǔ)在計(jì)算設(shè)備120上的文件等等?;谟?jì)算設(shè)備120 是否處于網(wǎng)絡(luò)102的內(nèi)部,例如基于計(jì)算設(shè)備120和/或運(yùn)行在計(jì)算設(shè)備120上的軟件或固件的設(shè)計(jì),計(jì)算設(shè)備120可以可選地做出多種不同的其他決定或是執(zhí)行多種不同的其他操作或功能。計(jì)算設(shè)備120包括用于在任何特定時(shí)間確定計(jì)算設(shè)備120處于網(wǎng)絡(luò)102的內(nèi)部還是網(wǎng)絡(luò)102的外部的網(wǎng)內(nèi)/網(wǎng)外確定模塊122。為了執(zhí)行這種判定,網(wǎng)內(nèi)/網(wǎng)外確定模塊 122利用(Ieverage)DNS系統(tǒng)和DNS服務(wù)106。DNS系統(tǒng)允許使用域名(例如包含在統(tǒng)一資源定位符(URL)中)來(lái)識(shí)別設(shè)備或服務(wù),其中與網(wǎng)絡(luò)地址(例圖網(wǎng)際協(xié)議(IP)v4或v6地址) 相比,域名通常更易于用戶(hù)使用和引用。一個(gè)或多個(gè)DNS服務(wù)106通過(guò)操作來(lái)將諸如域名之類(lèi)的特定名稱(chēng)映射到可被計(jì)算設(shè)備120用以訪(fǎng)問(wèn)特定設(shè)備或服務(wù)的對(duì)應(yīng)的網(wǎng)絡(luò)地址。這種名稱(chēng)到對(duì)應(yīng)網(wǎng)絡(luò)地址的映射也被稱(chēng)為DNS解析。在一個(gè)或多個(gè)實(shí)施例中,這里論述的DNS系統(tǒng)指的是符合眾所周知的DNS協(xié)議(例如在網(wǎng)絡(luò)工作組請(qǐng)求注釋10;34 (1987年11月)以及網(wǎng)絡(luò)工作組請(qǐng)求注釋1035 (1987年11 月)中論述的協(xié)議)的系統(tǒng)。然而應(yīng)該指出的是,這里論述的基于DNS來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)可以與執(zhí)行類(lèi)似功能的其他系統(tǒng)或協(xié)議結(jié)合使用。DNS服務(wù)106還支持多種不同安全功能,因此保護(hù)DNS服務(wù)106能夠提供的多種不同信息或數(shù)據(jù)的安全。這種功能包括支持用于DNS響應(yīng)的數(shù)字簽名,其中該響應(yīng)是DNS服務(wù)響應(yīng)于DNS查詢(xún)返回的。用于DNS響應(yīng)的數(shù)字簽名可以由DNS服務(wù)106本身產(chǎn)生(例如使用DNS服務(wù)的私鑰),或者可替換地可以由另一個(gè)設(shè)備或組件產(chǎn)生(例如使用DNS服務(wù)106 信任的另一個(gè)實(shí)體的私鑰)。在一個(gè)或多個(gè)實(shí)施例中,DNS服務(wù)106支持眾所周知的DNS安全擴(kuò)展(DNSSEC)協(xié)議。關(guān)于DNSSEC協(xié)議的附加信息可以在網(wǎng)絡(luò)工作組請(qǐng)求注釋4033 (2005年3月)、網(wǎng)絡(luò)工作組請(qǐng)求注釋4034 (2005年3月)以及網(wǎng)絡(luò)工作組請(qǐng)求注釋4035 (2005年3月)中找到。通常,網(wǎng)內(nèi)/網(wǎng)外確定模塊12通過(guò)向DNS服務(wù)發(fā)送DNS查詢(xún)來(lái)確定計(jì)算設(shè)備120 處于網(wǎng)絡(luò)102的內(nèi)部還是網(wǎng)絡(luò)102的外部。這個(gè)DNS查詢(xún)是一個(gè)請(qǐng)求解析特定名稱(chēng)(例如域名或其他名稱(chēng))的請(qǐng)求。如果計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部,那么DNS查詢(xún)將被路由至 DNS服務(wù)106。然而,如果計(jì)算設(shè)備120處于網(wǎng)絡(luò)102的外部,那么DNS查詢(xún)將被路由至另一個(gè)DNS服務(wù)(未顯示),例如因特網(wǎng)上可以公開(kāi)獲得的DNS服務(wù)。網(wǎng)內(nèi)/網(wǎng)外確定模塊122 可以被配置成具有DNS查詢(xún)將被送抵的DNS服務(wù)的網(wǎng)絡(luò)地址,或者可以采用別的方式來(lái)獲取DNS服務(wù)的網(wǎng)絡(luò)地址(例如從網(wǎng)關(guān)108)??商鎿Q地,模塊122可以將DNS查詢(xún)轉(zhuǎn)發(fā)到另一個(gè)模塊或服務(wù),例如本地DNS解析器,其中所述模塊或服務(wù)知道(或獲取)DNS服務(wù)的網(wǎng)絡(luò)地址,并且代表模塊122來(lái)將DNS查詢(xún)轉(zhuǎn)發(fā)到DNS服務(wù)。
DNS服務(wù)106維護(hù)關(guān)于DNS查詢(xún)中的特定名稱(chēng)所映射到的特定值的記錄,或者可以采用其他方式來(lái)訪(fǎng)問(wèn)該記錄。該特定名稱(chēng)通常被映射到一個(gè)特定的值,但是作為替換,它也可以被映射到多個(gè)不同的特定值。用于該特定名稱(chēng)的映射通常是由DNS服務(wù)106秘密地或者私下里維護(hù),并且該映射不會(huì)被暴露給網(wǎng)絡(luò)102外部的DNS服務(wù)。例如,用于這個(gè)特定名稱(chēng)的映射并未在因特網(wǎng)上或者向網(wǎng)絡(luò)102外部的其他DNS服務(wù)注冊(cè)。但是,網(wǎng)內(nèi)/網(wǎng)外確定模塊122還知道用于該特定名稱(chēng)的映射。所述網(wǎng)內(nèi)/網(wǎng)外確定模塊122可以被配置成具有或以其他方式獲取用于該特定名稱(chēng)的映射。DNS服務(wù)向網(wǎng)內(nèi)/網(wǎng)外確定模塊122返回DNS響應(yīng)。如果DNS響應(yīng)是由DNS服務(wù) 106生成或返回的,那么DNS響應(yīng)包括DNS查詢(xún)中的特定名稱(chēng)所映射到的特定值。然而,如果DNS響應(yīng)是由網(wǎng)絡(luò)102外部的DNS服務(wù)生成或返回的,那么DNS響應(yīng)將會(huì)包括一個(gè)表明不能映射DNS查詢(xún)中的特定名稱(chēng)的指示(或者包括不正確的映射),例如包括一個(gè)“DNS名稱(chēng)不存在”錯(cuò)誤的指示。可替換地,如果計(jì)算設(shè)備120處于網(wǎng)絡(luò)102的外部,那么網(wǎng)絡(luò)102外部的DNS服務(wù)都不能返回響應(yīng),因此網(wǎng)內(nèi)/網(wǎng)外確定模塊122不會(huì)接收到DNS響應(yīng)。此外,DNS服務(wù)106返回的DNS響應(yīng)是由可信機(jī)構(gòu)數(shù)字簽名的。由可信機(jī)構(gòu)數(shù)字簽名的DNS響應(yīng)可以指被可信機(jī)構(gòu)數(shù)字簽名的整個(gè)DNS響應(yīng),或者可替換地是由可信機(jī)構(gòu)數(shù)字簽名的DNS響應(yīng)的一部分(例如DNS查詢(xún)中的特定名稱(chēng)被映射到的特定值)。網(wǎng)內(nèi)/網(wǎng)外確定模塊122可以采用多種不同的方式驗(yàn)證或已經(jīng)驗(yàn)證了數(shù)字簽名(例如通過(guò)使用可信機(jī)構(gòu)的公鑰)。該可信機(jī)構(gòu)是計(jì)算設(shè)備120和/或網(wǎng)內(nèi)/網(wǎng)外確定模塊122信任的實(shí)體。所述可信機(jī)構(gòu)可被包含作為網(wǎng)絡(luò)102的一部分,或者可替換地可以處于網(wǎng)絡(luò)102的外部。該可信機(jī)構(gòu)可以是產(chǎn)生或返回DNS響應(yīng)的DNS服務(wù)106。可替換地,該可信機(jī)構(gòu)可以是另一個(gè)實(shí)體,例如用于網(wǎng)絡(luò)102的根證書(shū)機(jī)構(gòu)。如果DNS響應(yīng)是由DNS服務(wù)106產(chǎn)生或返回的,那么DNS響應(yīng)將會(huì)由可信機(jī)構(gòu)數(shù)字簽名。但是,如果DNS響應(yīng)是由網(wǎng)絡(luò)102外部的DNS服務(wù)產(chǎn)生或返回的,那么DNS響應(yīng)不會(huì)被可信機(jī)構(gòu)數(shù)字簽名。網(wǎng)內(nèi)/網(wǎng)外確定模塊122使用DNS響應(yīng)(或該響應(yīng)的缺失)來(lái)確定計(jì)算設(shè)備120是否處于網(wǎng)絡(luò)102內(nèi)部。如果計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部,那么DNS響應(yīng)將會(huì)包括DNS 查詢(xún)中的特定名稱(chēng)被映射到的特定的值,并且DNS響應(yīng)也會(huì)由可信機(jī)構(gòu)數(shù)字簽名。模塊122 知道DNS查詢(xún)中的特定名稱(chēng)應(yīng)該映射到的特定值,并且這個(gè)值也被稱(chēng)為預(yù)期值(模塊122預(yù)期包含在DNS響應(yīng)中的值)。因此,如果DNS響應(yīng)同時(shí)包括預(yù)期值并由可信機(jī)構(gòu)數(shù)字簽名,那么網(wǎng)內(nèi)/網(wǎng)外確定模塊122確定計(jì)算設(shè)備120處于網(wǎng)絡(luò)102的內(nèi)部。但是,如果DNS響應(yīng)不包括預(yù)期值和/ 或未經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名,或者如果沒(méi)有接收到DNS響應(yīng),那么網(wǎng)內(nèi)/網(wǎng)外確定模塊122 確定計(jì)算設(shè)備120處于網(wǎng)絡(luò)102的外部。在替換實(shí)施例中,如果DNS響應(yīng)包括預(yù)期值,那么無(wú)論DNS響應(yīng)是否經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名,網(wǎng)內(nèi)/網(wǎng)外確定模塊122都會(huì)確定計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部。在其他替換實(shí)施例中,如果DNS響應(yīng)是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,那么無(wú)論DNS響應(yīng)是否包括預(yù)期值, 網(wǎng)內(nèi)/網(wǎng)外確定模塊122都會(huì)確定計(jì)算設(shè)備120處于網(wǎng)絡(luò)102內(nèi)部。圖3是圖示根據(jù)一個(gè)或多個(gè)實(shí)施例的可供計(jì)算設(shè)備用來(lái)基于DNS來(lái)確定其是否處于特定網(wǎng)絡(luò)內(nèi)部的例示過(guò)程300的流程圖。過(guò)程300可以在軟件、固件、硬件或是其組合中實(shí)現(xiàn)。圖3的左側(cè)示出的過(guò)程300的動(dòng)作是由計(jì)算設(shè)備執(zhí)行的,例如圖1和2的計(jì)算設(shè)備120,并且通常由該計(jì)算設(shè)備上的網(wǎng)內(nèi)/網(wǎng)外確定模塊(例如圖1的模塊122)執(zhí)行的。在圖 3的右側(cè)示出的過(guò)程300的動(dòng)作是由DNS服務(wù)執(zhí)行的,例如圖1和2的DNS服務(wù)106。過(guò)程 300被顯示成是一組動(dòng)作,并且不局限于所顯示的用于執(zhí)行多種不同動(dòng)作的操作的順序。過(guò)程300是一個(gè)供計(jì)算設(shè)備用來(lái)確定其是否處于特定網(wǎng)絡(luò)內(nèi)部的例示過(guò)程;在這里通過(guò)參考不同的附圖包含了關(guān)于計(jì)算設(shè)備確定其是否處于特定網(wǎng)絡(luò)內(nèi)部的附加論述。在過(guò)程300中,計(jì)算設(shè)備產(chǎn)生DNS查詢(xún)(動(dòng)作302)。該DNS查詢(xún)是一個(gè)要求解析特定名稱(chēng)的查詢(xún),并且如果計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部,那么該計(jì)算設(shè)備預(yù)計(jì)一個(gè)特定值會(huì)返回。這個(gè)特定名稱(chēng)可以是URL或可替換地是別的名稱(chēng)。例如,這個(gè)特定名稱(chēng)可以采用 "insideoutside. <domain-name>”的形式,其中“insideoutside”將 DNS 查詢(xún)標(biāo)識(shí)成是用以確定計(jì)算設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部的查詢(xún),并且“〈domain-name〉”標(biāo)識(shí)該特定的網(wǎng)絡(luò)。網(wǎng)內(nèi)/網(wǎng)外確定模塊促使DNS查詢(xún)被發(fā)送到DNS服務(wù)(動(dòng)作304)。該網(wǎng)內(nèi)/網(wǎng)外確定模塊可以通過(guò)發(fā)送DNS查詢(xún)或可替換地促使別的模塊或組件發(fā)送DNS查詢(xún)來(lái)促使所述 DNS查詢(xún)被發(fā)送。所述DNS查詢(xún)由DNS服務(wù)接收(動(dòng)作306)。接收這個(gè)DNS查詢(xún)的DNS服務(wù)可以基于計(jì)算設(shè)備的位置而改變,例如基于計(jì)算設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部。DNS服務(wù)產(chǎn)生對(duì)接收到的DNS查詢(xún)的DNS響應(yīng)(動(dòng)作308)。在一個(gè)或多個(gè)實(shí)施例中,如果DNS服務(wù)處于特定網(wǎng)絡(luò)內(nèi)部,那么DNS響應(yīng)包括計(jì)算設(shè)備預(yù)期的并由可信機(jī)構(gòu)數(shù)字簽名的特定值。但是,如果DNS服務(wù)處于特定網(wǎng)絡(luò)外部,那么DNS響應(yīng)不會(huì)包括特定值和/ 或不會(huì)經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名。DNS服務(wù)向計(jì)算設(shè)備發(fā)送DNS響應(yīng)(動(dòng)作310)。該DNS服務(wù)可以發(fā)送DNS響應(yīng)或者可替換地促使別的設(shè)備或組件發(fā)送DNS響應(yīng)??商鎿Q地,如果DNS服務(wù)處于網(wǎng)絡(luò)外部,那么DNS服務(wù)可以不在動(dòng)作308和310產(chǎn)生和返回DNS響應(yīng)。網(wǎng)內(nèi)/網(wǎng)外確定模塊檢查是否接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng)(動(dòng)作312)。有可能發(fā)生這樣的情形,其中包含網(wǎng)內(nèi)/網(wǎng)外確定模塊的計(jì)算設(shè)備處于網(wǎng)絡(luò)的外部,并且因此不會(huì)接收到DNS響應(yīng)或者接收到未通過(guò)核實(shí)的DNS響應(yīng)。如果接收到DNS響應(yīng),那么網(wǎng)內(nèi)/網(wǎng)外確定模塊可以通過(guò)自己接收DNS響應(yīng),或者可替換地通過(guò)調(diào)用或者促使別的模塊或組件接收DNS響應(yīng)來(lái)促使DNS響應(yīng)被接收。此外,如果接收到DNS響應(yīng),那么會(huì)在動(dòng)作312核實(shí) DNS響應(yīng)。DNS響應(yīng)可以用不同的方式核實(shí),例如通過(guò)檢查DNS響應(yīng)是否包含用于包含在 DNS查詢(xún)中的特定名稱(chēng)的預(yù)期值,和/或DNS響應(yīng)是否經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名。過(guò)程300基于是否接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng)的檢查來(lái)進(jìn)行(動(dòng)作314)。如果接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部(動(dòng)作316)。然而,如果沒(méi)有在閾值時(shí)間量以?xún)?nèi)接收到DNS查詢(xún),那么網(wǎng)內(nèi)/網(wǎng)外確定模塊超時(shí),并且計(jì)算設(shè)備被確定為處于特定網(wǎng)絡(luò)外部(動(dòng)作318)。這個(gè)閾值時(shí)間量是可以改變的 (例如1秒、5秒等等)。此外,如果接收到DNS響應(yīng)但是該DNS響應(yīng)沒(méi)有通過(guò)核實(shí),則確定該計(jì)算設(shè)備處于特定網(wǎng)絡(luò)以外(動(dòng)作318)。 然后,計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部還是特定網(wǎng)絡(luò)外部的判定可被轉(zhuǎn)發(fā)或以其他方式使得對(duì)于計(jì)算設(shè)備的其它多種不同的組件或模塊是可得到的。之后,這些其他組件或模塊可以基于計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部還是特定網(wǎng)絡(luò)外部來(lái)以多種不同的方式進(jìn)行操作。
該過(guò)程300可以在特定的間隔重復(fù)進(jìn)行,包括規(guī)則或不規(guī)則的間隔。例如,過(guò)程300可以大約每五分鐘、大約每小時(shí)等等執(zhí)行一次。另舉一例,過(guò)程300可以響應(yīng)于特定事件而執(zhí)行,例如響應(yīng)于計(jì)算設(shè)備從節(jié)能模式(例如從休眠或冬眠模式中)中恢復(fù)操作,響應(yīng)于檢測(cè)(例如通過(guò)計(jì)算設(shè)備的全球定位系統(tǒng)(GPS))到計(jì)算設(shè)備的移動(dòng)超出閾值數(shù)量(例如 100碼、1英里等等),響應(yīng)于計(jì)算設(shè)備的網(wǎng)絡(luò)接口的建立或移除(例如計(jì)算設(shè)備的網(wǎng)絡(luò)接口被使能),響應(yīng)于計(jì)算設(shè)備確定該計(jì)算設(shè)備處于新的無(wú)線(xiàn)網(wǎng)絡(luò)范圍以?xún)?nèi)或者不再處于其先前所處的無(wú)線(xiàn)網(wǎng)絡(luò)的范圍以?xún)?nèi)等等。圖4是示出了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)供計(jì)算設(shè)備用來(lái)核實(shí)DNS響應(yīng)的例示過(guò)程 300的流程圖。過(guò)程400可以在軟件、固件、硬件或是其組合中實(shí)現(xiàn)。過(guò)程400是由計(jì)算設(shè)備100執(zhí)行的,例如圖1和2中的計(jì)算設(shè)備120,并且通常是由該計(jì)算設(shè)備上的網(wǎng)內(nèi)/網(wǎng)外確定模塊(例如圖1和2的模塊122)執(zhí)行的。舉例來(lái)說(shuō),過(guò)程400可以是圖3的動(dòng)作312 和314。過(guò)程400被顯示成是一組動(dòng)作,并且其不受所顯示的用于執(zhí)行多種不同動(dòng)作的操作的順序的限制。過(guò)程400是一個(gè)供計(jì)算設(shè)備用來(lái)核實(shí)DNS響應(yīng)的例示過(guò)程;在這里通過(guò)參考不同的附圖包含了關(guān)于計(jì)算設(shè)備核實(shí)DNS響應(yīng)的附加論述。在過(guò)程400中,DNS響應(yīng)將被接收(動(dòng)作402)。該DNS響應(yīng)是從DNS服務(wù)(或可替換地是下文中更詳細(xì)論述的DNS緩存)或是從實(shí)現(xiàn)過(guò)程400的設(shè)備的其他模塊或組件(例如由網(wǎng)內(nèi)/網(wǎng)外確定模塊調(diào)用或是促使接收DNS響應(yīng)的別的模塊或組件)那里接收的。檢查DNS響應(yīng)是否包括一個(gè)作為預(yù)期值的值(動(dòng)作404)。如上所述,如果計(jì)算設(shè)備是特定網(wǎng)絡(luò)的一部分,那么DNS響應(yīng)將會(huì)包括用于DNS查詢(xún)中的特定名稱(chēng)的預(yù)期值,其中所述DNS響應(yīng)是針對(duì)所述DNS查詢(xún)的響應(yīng)。此外,在動(dòng)作404中可以使用多個(gè)不用的預(yù)期值, 并且在這里將會(huì)檢查DNS響應(yīng)是否包括所述多個(gè)不同的預(yù)期值中的一個(gè)或多個(gè)預(yù)期值。如果DNS響應(yīng)不包括預(yù)期值,那么DNS響應(yīng)未經(jīng)核實(shí)的或是沒(méi)有通過(guò)核實(shí)(動(dòng)作 406)。然而,如果DNS響應(yīng)包括預(yù)期值,則檢查DNS響應(yīng)是否經(jīng)可信機(jī)構(gòu)數(shù)字簽名(動(dòng)作 408)。這個(gè)可信機(jī)構(gòu)可以是DNS服務(wù)或是如上所述的其他可信實(shí)體。如果DNS響應(yīng)沒(méi)有經(jīng)過(guò)可信機(jī)構(gòu)的數(shù)字簽名,那么DNS響應(yīng)是未經(jīng)核實(shí)或是沒(méi)有通過(guò)核實(shí)(動(dòng)作406)。但是,如果DNS響應(yīng)是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,那么DNS響應(yīng)是經(jīng)過(guò)核實(shí)的(動(dòng)作410)?;氐綀D1和2,在一個(gè)或多個(gè)實(shí)施例中,計(jì)算設(shè)備120維護(hù)DNS緩存。這個(gè)DNS緩存是特定名稱(chēng)到已經(jīng)被DNS服務(wù)解析并返回給計(jì)算設(shè)備120的特定值的映射的本地拷貝。 因此可能出現(xiàn)這樣的情形,其中網(wǎng)內(nèi)/網(wǎng)外確定模塊122發(fā)送DNS查詢(xún)來(lái)解析特定名稱(chēng),并且用于所述特定名稱(chēng)的映射被包含在DNS緩存內(nèi)。在這種情形下,網(wǎng)內(nèi)/網(wǎng)外確定模塊122 是基于DNS緩存中的映射而不是來(lái)自DNS服務(wù)的映射來(lái)接收DNS響應(yīng)。舉個(gè)例子,參考圖 3,動(dòng)作304中的DNS查詢(xún)將被發(fā)送到DNS緩存,并且動(dòng)作312中的DNS響應(yīng)是從DNS緩存接收的。在一個(gè)或多個(gè)實(shí)施例中,計(jì)算設(shè)備120被配置成避免出現(xiàn)網(wǎng)內(nèi)/網(wǎng)外確定模塊122 由于以DNS緩存中的映射為基礎(chǔ)的DNS響應(yīng)而不正確地確定計(jì)算設(shè)備120是否處于特定網(wǎng)絡(luò)內(nèi)部這樣的情形。這種情形可以采用不同的方式來(lái)避免。在一個(gè)或多個(gè)實(shí)施例中,DNS緩存中的每一個(gè)映射都具有相關(guān)聯(lián)的生存時(shí)間 (TTL),對(duì)于DNS緩存中的不同映射來(lái)說(shuō),該生存時(shí)間既可以是相同的,也可以是不同的。在用于DNS緩存中的映射的生存時(shí)間期滿(mǎn)之后,用于解析包含在過(guò)期映射中的特定名稱(chēng)的 DNS查詢(xún)將被轉(zhuǎn)發(fā)到DNS服務(wù),以便解析而不是僅僅基于DNS緩存中的映射來(lái)返回DNS響應(yīng)。對(duì)用于確定計(jì)算設(shè)備120是否包含在特定網(wǎng)絡(luò)中的特定名稱(chēng)的映射來(lái)說(shuō),其生存時(shí)間被設(shè)置成了一個(gè)很小的值(例如零值,小于5分鐘的值等等)。因此,通過(guò)對(duì)于DNS緩存中的這種映射具有很短的生存時(shí)間,網(wǎng)內(nèi)/網(wǎng)外確定模塊122不會(huì)在過(guò)長(zhǎng)的時(shí)段中依賴(lài)于DNS 緩存中的不正確的過(guò)期數(shù)據(jù)。可替換地,DNS緩存可以不維護(hù)用于確定計(jì)算設(shè)備120是否處于特定網(wǎng)絡(luò)內(nèi)部的特定名稱(chēng)的映射,并且在DNS緩存中不維護(hù)包含了這種映射的針對(duì)DNS查詢(xún)的DNS響應(yīng)。這也可以被視為是用于確定計(jì)算設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部的特定名稱(chēng)的映射具有大小為零的生存時(shí)間。例如,DNS緩存可以不維護(hù)格式為“insideoutside. <domain-name〉”的映射。因此,通過(guò)在DNS緩存中不具有這種映射,網(wǎng)內(nèi)/網(wǎng)外確定模塊122不會(huì)依靠DNS緩存中的不正確數(shù)據(jù)。應(yīng)該指出的是,雖然所示出的是單個(gè)網(wǎng)絡(luò)102,但是這里論述的確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)可以與多個(gè)不同的網(wǎng)絡(luò)一起使用。計(jì)算設(shè)備120可以被配置成具有或以其他方式獲取用于多種不同網(wǎng)絡(luò)中的每一個(gè)網(wǎng)絡(luò)的可信機(jī)構(gòu)的指示(并且可選地獲取DNS服務(wù)的網(wǎng)絡(luò)地址)。網(wǎng)內(nèi)/網(wǎng)外確定模塊122因此能夠很容易在任何特定時(shí)間確定計(jì)算設(shè)備 120處于那些不同網(wǎng)絡(luò)中的任一網(wǎng)絡(luò)的內(nèi)部還是外部。此外,應(yīng)該指出的是,雖然網(wǎng)內(nèi)/網(wǎng)外確定模塊122被顯示成是計(jì)算設(shè)備120的一部分,但是可替換地,網(wǎng)內(nèi)/網(wǎng)外確定模塊122的多種不同功能可以實(shí)現(xiàn)在其他設(shè)備上。例如,計(jì)算設(shè)備120可以與可以是網(wǎng)絡(luò)120或別的網(wǎng)絡(luò)的一部分的一個(gè)或多個(gè)其他設(shè)備或服務(wù)進(jìn)行通信,其中這些設(shè)備或服務(wù)可以執(zhí)行這里論述的用于確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)的多種不同方面。因此,這里論述的基于DNS來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)允許計(jì)算設(shè)備在任何特定時(shí)間精確和可靠地確定計(jì)算設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部。通過(guò)使用DNS系統(tǒng),這里論述的基于DNS來(lái)確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)使用了已有的可靠系統(tǒng)來(lái)做出判定。DNS系統(tǒng)用已經(jīng)作為一個(gè)可靠的系統(tǒng)工作,其通過(guò)酌情提供復(fù)制、備份等來(lái)保持DNS功能的高可用性。因此,不需要構(gòu)造和保持可用性很高的附加可靠系統(tǒng)來(lái)實(shí)現(xiàn)這里論述的基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)。更進(jìn)一步,這里論述的基于DNS確定設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部的技術(shù)是在不同類(lèi)型的網(wǎng)絡(luò)部署中工作的。例如,這里論述的基于DNS確定設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部的技術(shù)可以與網(wǎng)際協(xié)議(IP)版本4 (IPv4)網(wǎng)絡(luò)地址、IP版本6 (IPv6)網(wǎng)絡(luò)地址、站內(nèi)自動(dòng)隧道尋址協(xié)議(ISATAP)地址和機(jī)制、其他協(xié)議和/或機(jī)制、上述各項(xiàng)的組合等等一起使用。這里論述的基于DNS確定設(shè)備是否處于特定網(wǎng)絡(luò)內(nèi)部的技術(shù)支持多種不同的使用場(chǎng)景。例如,計(jì)算設(shè)備可以在“始終啟動(dòng)”訪(fǎng)問(wèn)模式中工作,在該模式中,無(wú)論是否移動(dòng)到在特定網(wǎng)絡(luò)內(nèi)部和特定網(wǎng)絡(luò)外部之間變化的不同位置,計(jì)算設(shè)備都保持與特定網(wǎng)絡(luò)(例如企業(yè)網(wǎng))的連接。計(jì)算設(shè)備可以繼續(xù)工作,因此在任何時(shí)間確定該計(jì)算設(shè)備處于網(wǎng)絡(luò)內(nèi)部還是外部,并且基于該判定來(lái)酌情采用不同的方式工作。圖5圖示了可以根據(jù)一個(gè)或多個(gè)實(shí)施例被配置成實(shí)現(xiàn)基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的例示計(jì)算設(shè)備500。舉例來(lái)說(shuō),計(jì)算設(shè)備500可以是圖1和2的計(jì)算設(shè)備120,或是圖1和2的一個(gè)或多個(gè)路由器104、DNS服務(wù)106、網(wǎng)關(guān)108和/或設(shè)備110。計(jì)算設(shè)備500包括一個(gè)或多個(gè)處理器或處理單元502,可以包括一個(gè)或多個(gè)存儲(chǔ)器和/或存儲(chǔ)組件506的一個(gè)或多個(gè)計(jì)算機(jī)可讀媒體504,一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備508,以及允許多種不同的組件和設(shè)備彼此通信的總線(xiàn)510。計(jì)算機(jī)可讀媒體504和/或一個(gè)或多個(gè)I/O設(shè)備508可被包含作為計(jì)算設(shè)備500的一部分,或者可替換地它也可以耦合到計(jì)算設(shè)備500??偩€(xiàn)510代表了若干種類(lèi)型的總線(xiàn)結(jié)構(gòu)中的一種或多種,包括使用了多種不同總線(xiàn)架構(gòu)的存儲(chǔ)器總線(xiàn)或存儲(chǔ)器控制器,外設(shè)總線(xiàn),圖形加速端口,處理器或本地總線(xiàn)等等??偩€(xiàn)510可以包括有線(xiàn)和/或無(wú)線(xiàn)總線(xiàn)。存儲(chǔ)器/存儲(chǔ)組件506代表一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)媒體。組件506可以包括易失媒體(例如隨機(jī)存取存儲(chǔ)器(RAM))和/或非易失媒體(例如只讀存儲(chǔ)器(ROM)、閃存、光盤(pán)、 磁盤(pán)等等)。組件506可以包括固定媒體(例如RAM、R0M、固定硬盤(pán)驅(qū)動(dòng)器等等)以及可移除媒體(例如閃存驅(qū)動(dòng)器、可移除硬盤(pán)驅(qū)動(dòng)器、光盤(pán)等等)。這里論述的技術(shù)可以在軟件中利用由一個(gè)或多個(gè)處理單元502運(yùn)行的指令實(shí)現(xiàn)。 應(yīng)該了解的是,不同的指令可以存儲(chǔ)在計(jì)算設(shè)備500的不同組件中,例如存儲(chǔ)在處理單元 502,處理單元502的多種不同緩存存儲(chǔ)器,設(shè)備500的其他緩存存儲(chǔ)器(未顯示)或是其他計(jì)算機(jī)可讀媒體等等中。此外,應(yīng)該了解的是,在計(jì)算設(shè)備500中存儲(chǔ)指令的位置是可以隨時(shí)間改變的。一個(gè)或多個(gè)輸入/輸出設(shè)備508允許用戶(hù)在計(jì)算設(shè)備500中輸入命令和信息,并且還允許將信息呈現(xiàn)給用戶(hù)和/或其他組件或設(shè)備。輸入設(shè)備的示例包括鍵盤(pán)、光標(biāo)控制設(shè)備(例如鼠標(biāo))、麥克風(fēng)、掃描儀等等。輸出設(shè)備的示例包括顯示設(shè)備(例如監(jiān)視器或投影儀)、揚(yáng)聲器、打印機(jī)、網(wǎng)卡等等。在這里,多種不同的技術(shù)可以是在軟件或程序模塊的上下文中描述的。通常,軟件包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、應(yīng)用、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。這些模塊和技術(shù)的實(shí)現(xiàn)方式可以存儲(chǔ)在某種類(lèi)型的計(jì)算機(jī)可讀媒體上,或是經(jīng)過(guò)此類(lèi)媒體來(lái)傳送。計(jì)算機(jī)可讀媒體可以是能被計(jì)算設(shè)備訪(fǎng)問(wèn)的任何可用介質(zhì)或媒體。作為示例而不是限制,計(jì)算機(jī)可讀媒體可以包括“計(jì)算機(jī)存儲(chǔ)媒體”和“通信媒體”?!坝?jì)算機(jī)存儲(chǔ)媒體”包括通過(guò)任何用于存儲(chǔ)信息的方法或技術(shù)實(shí)現(xiàn)的易失和非易失、可移除和不可移除媒體,所述信息例如是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)媒體包括但不局限于RAM,R0M,EEPR0M,閃存或其他存儲(chǔ)器技術(shù),CD-ROM, 數(shù)字多用途盤(pán)(DVD)或其他光學(xué)存儲(chǔ)器,磁帶盒,磁帶,磁盤(pán)存儲(chǔ)器或其他磁存儲(chǔ)設(shè)備,或是其他任何可以用于存儲(chǔ)期望信息并能被計(jì)算機(jī)訪(fǎng)問(wèn)的介質(zhì)。“通信媒體”通常會(huì)將計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)包含在諸如載波或其他傳輸機(jī)制之類(lèi)的調(diào)制數(shù)據(jù)信號(hào)中。通信媒體還包括任何信息遞送媒體。術(shù)語(yǔ) “調(diào)制數(shù)據(jù)信號(hào)”指的是這樣的信號(hào),其一個(gè)或多個(gè)特性以在該信號(hào)中編碼信息的方式而被設(shè)置或改變。作為示例而不是限制,通信媒體包括諸如有線(xiàn)網(wǎng)絡(luò)或直接線(xiàn)路連接之類(lèi)的有線(xiàn)媒體以及諸如聲學(xué)、RF、紅外以及其他無(wú)線(xiàn)媒體之類(lèi)的無(wú)線(xiàn)媒體。上述各項(xiàng)的任何組合都包含在計(jì)算機(jī)可讀媒體的范圍以?xún)?nèi)。一般來(lái)說(shuō),這里描述的任何功能或技術(shù)都可以使用軟件、固件、硬件(例如固定邏輯電路)、手動(dòng)處理或是這些實(shí)現(xiàn)方式的組合來(lái)實(shí)現(xiàn)。這里使用的術(shù)語(yǔ)“模塊”和“組件”通
12常代表的是軟件、固件、硬件或是其組合。在軟件實(shí)施方式的情況下,模塊或組件代表當(dāng)在處理器(例如一個(gè)或多個(gè)CPU)上運(yùn)行時(shí)執(zhí)行指定任務(wù)的程序代碼。程序代碼可以存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)設(shè)備中,對(duì)它更進(jìn)一步的描述可以參考圖5找到。這里論述的基于DNS確定設(shè)備是否處于網(wǎng)絡(luò)內(nèi)部的技術(shù)的特征是不依賴(lài)于平臺(tái)的,這意味著這些技術(shù)可以在具有多種處理器的多種商業(yè)計(jì)算平臺(tái)上實(shí)現(xiàn)。 雖然通過(guò)特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言描述了本主題,但是應(yīng)該理解, 附加權(quán)利要求中的主題未必局限于上述具體特征或動(dòng)作。相反,以上描述的具體特征和動(dòng)作是作為用于實(shí)現(xiàn)權(quán)利要求的例示形式公開(kāi)的。
權(quán)利要求
1.一種方法,包括產(chǎn)生(302)域名系統(tǒng)(DNS)查詢(xún);促使(304)所述DNS查詢(xún)被發(fā)送;檢查(312)是否接收到針對(duì)該DNS查詢(xún)的經(jīng)過(guò)核實(shí)的DNS響應(yīng);如果接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定(316)計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部;以及如果沒(méi)有接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定(318)計(jì)算設(shè)備處于特定網(wǎng)絡(luò)外部。
2.如權(quán)利要求1所述的方法,其中生成DNS查詢(xún)包括產(chǎn)生包含特定名稱(chēng)的DNS查詢(xún),以及其中檢查是否接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng)包括檢查DNS響應(yīng)是否具有用于該特定名稱(chēng)的預(yù)期值。
3.如權(quán)利要求1所述的方法,其中經(jīng)過(guò)核實(shí)的DNS響應(yīng)是從支持DNS安全擴(kuò)展 (DNSSEC)協(xié)議的DNS服務(wù)接收的。
4.如權(quán)利要求1所述的方法,其中檢查是否接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng)包括檢查接收到的DNS響應(yīng)是否經(jīng)過(guò)可信機(jī)構(gòu)的數(shù)字簽名。
5.如權(quán)利要求4所述的方法,其中可信機(jī)構(gòu)是特定網(wǎng)絡(luò)的根證書(shū)機(jī)構(gòu)。
6.如權(quán)利要求1所述的方法,其中確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)之外包括如果在閾值數(shù)量的時(shí)間以?xún)?nèi)沒(méi)有接收到針對(duì)DNS查詢(xún)的DNS響應(yīng),則確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)外部。
7.如權(quán)利要求1所述的方法,還包括按照特定的間隔重復(fù)促使DNS查詢(xún)被發(fā)送,檢查是否接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),以及確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部還是特定網(wǎng)絡(luò)外部。
8.一種計(jì)算設(shè)備,包括一個(gè)或多個(gè)處理器(502);以及一種或多種其上存儲(chǔ)了多個(gè)指令的計(jì)算機(jī)可讀媒體(504),其中所述指令在被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),促使一個(gè)或多個(gè)處理器接收(402)針對(duì)域名系統(tǒng)(DNS)查詢(xún)的DNS響應(yīng);檢查(404) DNS響應(yīng)是否具有預(yù)期值;檢查(408) DNS響應(yīng)是否經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名;以及如果DNS響應(yīng)具有預(yù)期值并且DNS響應(yīng)是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,則確定(410)計(jì)算設(shè)備通過(guò)核實(shí)且處于特定網(wǎng)絡(luò)內(nèi)部;否則確定(406)計(jì)算設(shè)備未經(jīng)核實(shí)并處于特定網(wǎng)絡(luò)外部。
9.如權(quán)利要求8所述的計(jì)算設(shè)備,其中預(yù)期值是基于DNS查詢(xún)中的特定名稱(chēng)到計(jì)算設(shè)備已知的特定值的映射而被預(yù)期的值。
10.如權(quán)利要求8所述的計(jì)算設(shè)備,其中特定網(wǎng)絡(luò)包括公司網(wǎng),并且其中可信機(jī)構(gòu)是用于公司網(wǎng)的根證書(shū)機(jī)構(gòu)。
全文摘要
在計(jì)算設(shè)備中產(chǎn)生和發(fā)送域名系統(tǒng)(DNS)查詢(xún),并且檢查是否接收到經(jīng)過(guò)核實(shí)的針對(duì)所述DNS查詢(xún)的DNS響應(yīng)。如果接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定計(jì)算設(shè)備處于特定網(wǎng)絡(luò)內(nèi)部,如果沒(méi)有接收到經(jīng)過(guò)核實(shí)的DNS響應(yīng),則確定計(jì)算設(shè)備處于該特定網(wǎng)絡(luò)外部。如果DNS響應(yīng)具有預(yù)期值并且所述DNS響應(yīng)是經(jīng)過(guò)可信機(jī)構(gòu)數(shù)字簽名的,則可以確定DNS響應(yīng)是經(jīng)過(guò)核實(shí)的,否則可以確定該DNS響應(yīng)是沒(méi)有經(jīng)過(guò)核實(shí)的。
文檔編號(hào)H04L29/12GK102427484SQ20111042304
公開(kāi)日2012年4月25日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2010年12月16日
發(fā)明者蒂瓦里 A., K. 阿馬拉瓦迪 R., 潘迪亞 R. 申請(qǐng)人:微軟公司