專利名稱:一種域名解析驗證的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種域名解析驗證的方法及系統(tǒng)。
背景技術(shù):
因特網(wǎng)系統(tǒng)中,使用IPdnternet Protocol,互聯(lián)網(wǎng)協(xié)議)地址識別各個終端,例如123. 123. 123. 123。然而用戶終端訪問某個服務(wù)器時,為了便于記憶和識別,一般是基于域名地址而不是IP地址,因此使用DNS (Domain Name System,域名系統(tǒng))實現(xiàn)IP地址與域名地址之間的轉(zhuǎn)換。這樣,用戶終端訪問某個服務(wù)器處的網(wǎng)頁時,僅需要輸入域名即可。為了驗證DNS解析的結(jié)果,我們一般使用dig等客戶端軟件,向本地域名系統(tǒng)發(fā)出域名解析請求,若收到解析的DNS解析系統(tǒng)不能解析所述域名解析請求,則向權(quán)威域名服務(wù)器發(fā)出解析請求,并將權(quán)威域名服務(wù)器返回的解析結(jié)果返回給用戶。為了減輕權(quán)威域名服務(wù)器的服務(wù)壓力,權(quán)威域名服務(wù)器一般會將解析結(jié)果賦予一定的生存周期(TTL),LDNS在接收到解析結(jié)果后,如果解析結(jié)果沒有過期,將不必向權(quán)威域名服務(wù)器再次發(fā)起解析請求。這使得,驗證解析的整個過程時,很難實時驗證LDNS和權(quán)威域名服務(wù)器之間的解析過程。很多LDNS出于特殊目標,會將DNS解析請求轉(zhuǎn)發(fā)到其他地址的LDNS上或者通過其他的IP地址來發(fā)送這些DNS請求。權(quán)威域名服務(wù)器接收到的DNS請求來源地址將不同于原始的LDNS IP地址,權(quán)威域名服務(wù)器將無法獲知原始的LDNS地址。例如,大型的LDNS 對外往往提供一個唯一的地址,舉例來講提供服務(wù)器123. 123. 123. 123來充當LDNS服務(wù)角色,但是往往有數(shù)臺服務(wù)器采用負載均衡或者IP AnyCast的方式同時提供服務(wù),這些后臺服務(wù)器伺服在不同的IP地址,導(dǎo)致權(quán)威域名服務(wù)器接受的DNS解析請求有可能不再是 123. 123. 123. 123。LDNS如果發(fā)生了轉(zhuǎn)發(fā),權(quán)威域名服務(wù)器將不能夠得到域名請求的原始發(fā)送方地址。如果權(quán)威域名服務(wù)器錯誤的理解了域名請求的原始發(fā)送方地址,將導(dǎo)致權(quán)威域名服務(wù)器做出錯誤的決策,從而使得維護人員無法排查域名解析中出現(xiàn)的故障點。例如域名解析請求的原始發(fā)送方地址為北京的LDNS,如果在域名請求過程中轉(zhuǎn)發(fā)到廣州的LDNS,權(quán)威域名服務(wù)器接收到DNS解析請求時,則會確定是廣東的用戶發(fā)起的解析請求。該權(quán)威域名服務(wù)器在根據(jù)請求方不同,而分配不同策略時,可能將廣東用戶的服務(wù)資源指派給北京的用戶,引起后續(xù)的不恰當訪問。綜上所述,在驗證DNS解析過程中,現(xiàn)有的解決方案將無法實時驗證權(quán)威服務(wù)器的服務(wù)正確性,也無法獲知DNS解析過程中是否發(fā)生了轉(zhuǎn)發(fā)。
發(fā)明內(nèi)容
本發(fā)明提供一種域名解析驗證的方法,用于解決現(xiàn)有技術(shù)中無法實時驗證權(quán)威服務(wù)器的服務(wù)正確性性、也無法獲知DNS解析過程中是否發(fā)生了轉(zhuǎn)發(fā)的問題。本發(fā)明實施例提供一種域名解析驗證的方法,包括
當域名請求客戶端通過LDNS向權(quán)威域名服務(wù)器轉(zhuǎn)發(fā)域名解析請求時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與所述LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器解析所述域名解析請求,獲取該域名解析請求中添加的LDNS的 IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。根據(jù)上述方法,本發(fā)明還提供一種域名解析驗證的系統(tǒng),包括域名請求客戶端,用于通過LDNS將域名解析請求轉(zhuǎn)發(fā)至權(quán)威域名服務(wù)器時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器,用于在接收到域名解析請求后,獲取域名解析請求中添加的 LDNS的IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。本發(fā)明實施例提供的方法相對于傳統(tǒng)的DNS解析驗證方法,能驗證DNS在解析請求過程中是否發(fā)生了轉(zhuǎn)發(fā);另外,本方法能實時的驗證DNS解析的正確性;另外本發(fā)明實施例提供的方案還增加安全加密環(huán)節(jié),能有效拒絕非授權(quán)的DNS解析驗證請求。
圖1為本發(fā)明實施例一種域名解析驗證的方法的流程圖;圖2為本發(fā)明實施例中LDNS終端生成該域名驗證碼的流程圖;圖3為本發(fā)明實施例權(quán)威域名服務(wù)器驗證域名解析請求的流程圖;圖4為本發(fā)明實施例一種域名解析驗證的系統(tǒng)的結(jié)構(gòu)圖。
具體實施例方式本發(fā)明實施例提供一種域名解析驗證的方法,該方法包括當域名請求客戶端通過LDNS向權(quán)威域名服務(wù)器轉(zhuǎn)發(fā)域名解析請求時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與所述LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器解析所述域名解析請求,獲取該域名解析請求中添加的LDNS的IP地址作為待驗證的LDNS IP地址, 并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。如圖1所示,本發(fā)明實施例提供一種域名解析驗證的方法,具體實現(xiàn)步驟包括步驟101,當域名請求客戶端通過LDNS向權(quán)威域名服務(wù)器轉(zhuǎn)發(fā)域名解析請求時, 獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與所述LDNS的IP地址添加到所述域名解析請求中;在本發(fā)明實施例中,域名請求客戶端工具(ccdig)自動獲取當前的系統(tǒng)時間,作為可變因子拼接上LDNS的IP地址,并利用密鑰串將其加密。因為時間戳一直在發(fā)生變化, 所以該域名解析請求被發(fā)送到LDNS后,很難與LDNS中緩存的域名進行匹配,迫使LDNS將該域名解析請求發(fā)送到權(quán)威的域名服務(wù)器或者轉(zhuǎn)發(fā)重新獲取解析結(jié)果。步驟102,權(quán)威域名服務(wù)器解析所述域名解析請求,獲取該域名解析請求中添加的LDNS的IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。在本發(fā)明實施例中,為了避免無授權(quán)的用戶對權(quán)威域名服務(wù)器發(fā)送特殊域名解析請求,本發(fā)明實施例的權(quán)威域名服務(wù)器在判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同之前,還根據(jù)域名解析請求中的域名驗證碼對所述域名解析請求進行鑒權(quán),鑒權(quán)的具體步驟包括在本發(fā)明實施例中,所述域名解析請求的來源IP地址是指直接將所述域名解析請求發(fā)送到權(quán)威域名服務(wù)器的LDNS的IP地址。因為,權(quán)威域名服務(wù)器在接收到域名解析請求時,該域名解析請求可能經(jīng)過了好幾個LDNS,所以需要驗證域名解析請求是否經(jīng)過轉(zhuǎn)發(fā),則需要確定最后一個將域名解析請求發(fā)送到權(quán)威域名服務(wù)器的LDNS是否與最初發(fā)送的LDNS是否相同。從接收到的域名解析請求中獲取時間戳、解析類型、LDNS的IP地址和待解析的真實域名拼接成字符串根據(jù)客戶端的加密算法,對所述字符串進行加密運算得到域名驗證碼;將加密運算后的域名驗證碼與域名請求中的域名驗證碼進行對比,如果相同則鑒權(quán)通過。如圖2所示,本發(fā)明實施例中生成域名解析請求可以通過以下步驟實現(xiàn)步驟201,將獲取到的當前時間戳、LDNS的IP地址,公用密碼串、待解析的真實域名和解析類型拼接成字符串;所述當前時間戳為東八區(qū)UTC時間戳,后面簡稱為時間戳;在本發(fā)明實施例中,拼接出的字符串可以是以下形式解析類型-LDNS的IP地址-時間戳-真實域名-公用密碼串。具體是實現(xiàn)方式包括多種,而且包括的字段也不限定。步驟202,對所述字符串進行加密運算得到域名驗證碼。進行加密運算的實現(xiàn)方式包括多種,在本發(fā)明實施例中可以采用拼接字符串的 MD5值作為域名驗證碼。步驟203,拼接域名解析請求;在本發(fā)明實施例中,該域名解析請求可以是字段標示頭、解析類型、時間戳、 LDNS的IP地址、驗證碼和待解析的真實域名依序通過連接符連接形成的字符串;如標示頭-解析類型-時間戳-LDNS的IP地址.MD5.真實域名。其中,除真實域名固定設(shè)置與字符串末尾,其他字段的位置可根據(jù)具體的情況改變。如圖3所示,權(quán)威域名服務(wù)器在接收到域名請求后,將按照以下步驟驗證域名解析請求過程中是否發(fā)生了轉(zhuǎn)發(fā)步驟301,從接收到的域名請求中獲取時間戳、解析類型、LDNS的IP地址,MD5值和真實域名。步驟302,將從域名解析請求中獲取到的信息拼接出一個字符串解析類型-LDNS 的IP地址-時間戳-真實域名-公用密碼串。如果接收到的驗證碼是MD5值的,本發(fā)明實施例的方法還包括步驟303,對拼接字符串進行MD5運算得到字符串的MD5值。
步驟304,將計算得出的MD5值與獲取的MD5值進行比對,如果相同則鑒權(quán)通過,則轉(zhuǎn)入步驟305 ;否則丟棄該域名解析請求。步驟305,對比域名請求來源的IP地址與域名解析請求中的IP地址是否一致,不同則認為是發(fā)生了 DNS解析請求的轉(zhuǎn)發(fā)。如圖4所示,本發(fā)明實施例還提供一種域名解析驗證的系統(tǒng),包括域名請求客戶端401和權(quán)威域名服務(wù)器402 域名請求客戶端401,用于通過LDNS將域名解析請求轉(zhuǎn)發(fā)至權(quán)威域名服務(wù)器時, 獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與LDNS的IP地址添加到所述域名解析請求中;所述域名請求客戶端401還用于將獲取到的當前時間戳、LDNS的IP地址,公用密碼串、待解析的真實域名和解析類型拼接成字符串;對所述字符串進行加密運算得到域名驗證碼,并將生成的域名驗證碼添加到所述域名解析請求中。為了將系統(tǒng)時間和LDNS的IP地址添加到域名解析請求中,則所述域名請求客戶端401還用于將標示頭、解析類型、時間戳、LDNS的IP地址、驗證碼和待解析的真實域名依序通過連接符連接形成域名解析請求。權(quán)威域名服務(wù)器402,用于在接收到域名解析請求后,獲取域名解析請求中的 LDNS的IP地址作為待驗證的LDNS IP地址,判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。為了能有效拒絕非授權(quán)的DNS解析驗證請求,則所述權(quán)威域名服務(wù)器402還用于根據(jù)域名解析請求中的域名驗證碼對所述域名解析請求進行鑒權(quán),包括從接收到的域名解析請求中獲取時間戳、解析類型、LDNS的IP地址和待解析的真實域名拼接成字符串根據(jù)客戶端的加密算法,對所述字符串進行加密運算得到域名驗證碼;將加密運算后的域名驗證碼與域名請求中的域名驗證碼進行對比,如果相同則鑒權(quán)通過。本發(fā)明實施例提供的方法相對于傳統(tǒng)的DNS解析驗證方法,能驗證DNS在解析請求過程中是否發(fā)生了轉(zhuǎn)發(fā);另外,本方法能實時的驗證DNS解析的正確性;另外本發(fā)明實施例提供的方案還增加安全加密環(huán)節(jié),能有效拒絕非授權(quán)的DNS解析驗證請求。本發(fā)明所述的方法并不限于具體實施方式
中所述的實施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其它的實施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種域名解析驗證的方法,其特征在于,包括當域名請求客戶端通過LDNS向權(quán)威域名服務(wù)器轉(zhuǎn)發(fā)域名解析請求時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與所述LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器解析所述域名解析請求,獲取該域名解析請求中添加的LDNS的IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的 LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的方法,其特征在于,所述域名解析請求中還包括域名驗證碼,生成該域名驗證碼包括將獲取到的當前時間戳、LDNS的IP地址,公用密碼串、待解析的真實域名和解析類型拼接成字符串;對所述字符串進行加密運算得到域名驗證碼。
3.如權(quán)利要求1所述的方法,其特征在于,所述域名解析請求為字段標示頭、解析類型、時間戳、LDNS的IP地址、驗證碼和待解析的真實域名依序通過連接符連接形成的字符串ο
4.如權(quán)利要求2所述的方法,其特征在于,在判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,進一步包括,根據(jù)域名解析請求中的域名驗證碼對所述域名解析請求進行鑒權(quán),包括從接收到的域名解析請求中獲取時間戳、解析類型、LDNS的IP地址和待解析的真實域名拼接成字符串根據(jù)客戶端的加密算法,對所述字符串進行加密運算得到域名驗證碼; 將加密運算后的域名驗證碼與域名請求中的域名驗證碼進行對比,如果相同則鑒權(quán)通過。
5.一種域名解析驗證的系統(tǒng),其特征在于,包括域名請求客戶端,用于通過LDNS將域名解析請求轉(zhuǎn)發(fā)至權(quán)威域名服務(wù)器時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器,用于在接收到域名解析請求后,獲取域名解析請求中添加的LDNS的 IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述域名請求客戶端還用于將獲取到的當前時間戳、LDNS的IP地址,公用密碼串、待解析的真實域名和解析類型拼接成字符串;對所述字符串進行加密運算得到域名驗證碼,并將生成的域名驗證碼添加到所述域名解析請求中。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述域名請求客戶端還用于將標示頭、解析類型、時間戳、LDNS的IP地址、驗證碼和待解析的真實域名依序通過連接符連接形成域名解析請求。
8.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述權(quán)威域名服務(wù)器還用于根據(jù)域名解析請求中的域名驗證碼對所述域名解析請求進行鑒權(quán),包括從接收到的域名解析請求中獲取時間戳、解析類型、LDNS的IP地址和待解析的真實域名拼接成字符串根據(jù)客戶端的加密算法,對所述字符串進行加密運算得到域名驗證碼; 將加密運算后的域名驗證碼與域名請求中的域名驗證碼進行對比,如果相同則鑒權(quán)通過。
全文摘要
本發(fā)明公開了一種域名解析驗證的方法及系統(tǒng),應(yīng)用于通信技術(shù)領(lǐng)域。該方法包括當域名請求客戶端通過LDNS向權(quán)威域名服務(wù)器轉(zhuǎn)發(fā)域名解析請求時,獲取當前的系統(tǒng)時間,并將該系統(tǒng)時間作為可變因子與所述LDNS的IP地址添加到所述域名解析請求中;權(quán)威域名服務(wù)器解析所述域名解析請求,獲取該域名解析請求中添加的LDNS的IP地址作為待驗證的LDNS IP地址,并判斷所述域名解析請求的來源IP地址和所述待驗證的LDNS IP地址是否相同,如果不相同,則確定發(fā)生了域名解析請求的轉(zhuǎn)發(fā)。應(yīng)用本發(fā)明提供的方法和系統(tǒng)能夠驗證DNS在解析請求過程中是否發(fā)生了轉(zhuǎn)發(fā)。
文檔編號H04L29/12GK102231766SQ20111021446
公開日2011年11月2日 申請日期2011年7月28日 優(yōu)先權(quán)日2011年7月28日
發(fā)明者宗劼, 李健松, 李孟, 陳奇 申請人:北京藍汛通信技術(shù)有限責任公司