亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種DNS請求的認證方法及設(shè)備與流程

文檔序號:11990839閱讀:196來源:國知局
一種DNS請求的認證方法及設(shè)備與流程
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種DNS請求的認證方法及設(shè)備。

背景技術(shù):
DNS(DomainNameSystem,域名系統(tǒng))服務(wù)是因特網(wǎng)的一項核心服務(wù),它作為可以將域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng)。DNS服務(wù)使用UDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議),采用明碼方式進行信息交互。UDP是一種無連接協(xié)議,DNS服務(wù)器無法確定發(fā)送DNS解析請求的DNS客戶端的合法性,這使得DNS服務(wù)很容易受到惡意的干擾。目前,DNS請求的驗證方法主要采用以下方式:截斷方式:利用DNS協(xié)議的truncated標志(截斷標記),觸發(fā)第二次DNS交互。有二次交互行為的DNS客戶端視為合法客戶端。錯誤方式:利用DNS協(xié)議的sevefail標志(服務(wù)器故障),觸發(fā)第二次DNS交互。有二次交互行為DNS客戶端視為合法客戶端。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有DNS請求的驗證方案至少存在以下缺陷:基于客戶端行為校驗方式存在安全隱患,惡意DNS請求可以輕易偽造校驗行為,從而干擾DNS服務(wù)器的正常服務(wù)。

技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種DNS請求的認證方法及設(shè)備,用以提高DNS請求認證的安全性。本發(fā)明實施例中提供了一種DNS請求的認證方法,包括:DNS校驗設(shè)備接收到DNS客戶端的DNS請求消息后進行解析;若所述DNS請求消息中未攜帶校驗碼,則采用校驗碼生成算法并利用從當前接收到的DNS請求消息中解析出的信息生成校驗碼,將生成的校驗碼攜帶于應(yīng)答消息返回給所述DNS客戶端;所述應(yīng)答消息用于指示DNS客戶端再次發(fā)送DNS請求消息,并且在再次發(fā)送的DNS請求消息中攜帶所述校驗碼;若所述DNS請求消息中攜帶有校驗碼,則采用所述校驗碼生成算法并利用從當前接收到的DNS請求消息中解析出的信息生成校驗碼,根據(jù)生成的校驗碼與從當前接收到的DNS請求消息中解析出的校驗碼,對當前接收到的DNS請求消息的合法性進行驗證。根據(jù)上述方法,本發(fā)明實施例提供了一種DNS校驗設(shè)備,包括:接收模塊,用于接收DNS客戶端的DNS請求消息后進行解析;校驗碼生成模塊,用于采用校驗碼生成算法并利用所述接收模塊從當前接收到的DNS請求消息中解析出的信息生成校驗碼;再次請求觸發(fā)模塊,用于在所述接收模塊當前接收到的DNS請求消息中未攜帶校驗碼時,將所述校驗碼生成模塊生成的校驗碼攜帶于應(yīng)答消息返回給所述DNS客戶端;所述應(yīng)答消息用于指示DNS客戶端再次發(fā)送DNS請求消息,并且在再次發(fā)送的DNS請求消息中攜帶所述校驗碼;驗證模塊,用于在所述接收模塊當前接收到的DNS請求消息中攜帶有校驗碼時,根據(jù)所述校驗碼生成模塊生成的校驗碼與從當前接收到的DNS請求消息中解析出的校驗碼,對當前接收到的DNS請求消息的合法性進行驗證。本發(fā)明的上述實施例中,由于DNS校驗設(shè)備在接收到DNS請求后根據(jù)該DNS請求中攜帶的信息生成校驗碼并返回給DNS客戶端,以觸發(fā)DNS客戶端再次發(fā)起DNS請求,并在再次發(fā)起的DNS請求中攜帶該校驗碼,以使DNS校驗設(shè)備在收到再次發(fā)起的DNS請求后,能夠采用相同算法生成校驗碼并與DNS請求中攜帶的校驗碼進行比較,達到對DNS請求的合法性進行驗證的目的,也即達到對發(fā)送該DNS請求的客戶端的合法性驗證的目的。由于合法性驗證是基于校驗碼的比較實現(xiàn)的,并且驗證操作由網(wǎng)絡(luò)側(cè)的DNS校驗設(shè)備實現(xiàn),因此相對于現(xiàn)有的DNS請求認證方法,提高了驗證安全性。附圖說明圖1為本發(fā)明實施例提供的DNS請求的認證方法流程圖;圖2為本發(fā)明實施例提供的DNS校驗設(shè)備結(jié)構(gòu)示意圖。具體實施方式下面對本發(fā)明實施例進行詳細描述。本發(fā)明實施例應(yīng)用于DNS系統(tǒng),該系統(tǒng)中與本發(fā)明實施例相關(guān)的設(shè)備主要包括:DNS校驗設(shè)備、DNS服務(wù)器。DNS校驗設(shè)備位于DNS服務(wù)器之前,即發(fā)往DNS服務(wù)器的DNS請求首先需要經(jīng)過DNS校驗設(shè)備進行合法性驗證處理。DNS校驗設(shè)備可以是橋接模式的物理設(shè)備,即獨立于DNS服務(wù)器的外部設(shè)備,DNS客戶端發(fā)出的DNS請求由DNS校驗設(shè)備接收并進行合法性驗證,驗證通過后發(fā)送給DNS服務(wù)器;DNS校驗設(shè)備也可以是運行在DNS服務(wù)器的操作系統(tǒng)低層的軟件系統(tǒng),即DNS服務(wù)器的內(nèi)部模塊(稱為DNS校驗?zāi)K),DNS客戶端發(fā)出的DNS請求在DNS服務(wù)器操作系統(tǒng)底層被DNS校驗?zāi)K獲得,該DNS請求在DNS校驗?zāi)K中進行驗證,驗證通過后由DNS服務(wù)器中用于執(zhí)行域名解析的模塊進行域名解析處理。DNS校驗設(shè)備中有用于生成校驗碼的算法(以下稱校驗碼生成算法),DNS設(shè)備可采用校驗碼生成算法并利用從接收到的DNS請求消息中解析出的信息生成校驗碼。具體實施中,所述校驗碼生成算法可以是外部不可逆推,碰撞成本比較高的算法,比如經(jīng)過鹽化處理的MD5校驗和。校驗操作對性能要求比很高,可以設(shè)計適當?shù)男r灤a生成算法,較佳的,可以設(shè)計具有一定加密強度的校驗碼生成算法,這里對校驗碼生成算法不作具體限定。基于上述系統(tǒng)架構(gòu),本發(fā)明實施例提供的DNS請求認證過程可包括兩個階段:第一次DNS請求階段和第二次DNS請求階段。第一次DNS請求階段是由DNS客戶端主動發(fā)起DNS請求來觸發(fā)的,這一階段主要完成校驗碼的生成。具體步驟如下:DNS客戶端主動發(fā)起NDS請求,該DNS請求遵循現(xiàn)有DNS解析協(xié)議,該DNS請求中沒有攜帶校驗碼;當DNS校驗設(shè)備接收到該DNS請求后,未從該DNS請求中解析出校驗碼,則采用校驗碼生成算法并利用從當前接收到的DNS請求中解析出的信息生成校驗碼;然后,將校驗碼返回給該DNS客戶端,并指示DNS客戶端再次發(fā)起DNS請求,并在再次發(fā)起的DNS請求中攜帶該校驗碼。第二次DNS請求階段是由DNS客戶端根據(jù)DNS驗證設(shè)備的指示被動發(fā)起DNS請求來觸發(fā)的,所述再次發(fā)起的DNS請求是根據(jù)從DNS驗證設(shè)備接收到的應(yīng)答消息指示來發(fā)起的,該DNS請求中攜帶有校驗碼,這一階段主要完成校驗碼的驗證。具體步驟如下:DNS校驗設(shè)備接收到DNS客戶端的DNS請求后,則采用所述校驗碼生成算法生成校驗碼并與從該DNS請求中解析出的校驗碼進行比較,對當前接收到的DNS請求的合法性進行驗證,并在驗證通過后,從當前接收到的DNS請求消息中刪除校驗碼,將刪除校驗碼后的DNS請求消息發(fā)送給DNS服務(wù)器進行解析。進一步地,DNS校驗設(shè)備在對DNS請求驗證失敗后拒絕將該DNS請求交給DNS服務(wù)器進行解析處理。下面結(jié)合附圖對本發(fā)明的具體實施方式進行說明。如圖1所示,本發(fā)明實施例提供的DNS請求的認證流程,具體實現(xiàn)步驟包括:步驟101、DNS校驗設(shè)備接收到DNS客戶端的DNS請求消息后進行解析。步驟102、若DNS校驗設(shè)備從DNS請求消息中未解析出校驗碼,則轉(zhuǎn)入步驟103;若DNS校驗設(shè)備從DNS請求消息中解析出校驗碼,則轉(zhuǎn)入步驟104。通常,在DNS客戶端主動發(fā)起DNS請求時,DNS請求消息中不會攜帶校驗碼。DNS客戶端根據(jù)DNS校驗設(shè)備發(fā)送的應(yīng)答消息的指示再次發(fā)送的DNS請求消息中會攜帶校驗碼。步驟103、DNS校驗設(shè)備采用校驗碼生成算法,并利用從當前接收到的DNS請求消息中解析出的信息生成校驗碼,將生成的校驗碼攜帶于應(yīng)答消息返回給所述DNS客戶端;所述應(yīng)答消息用于指示DNS客戶端再次發(fā)送DNS請求消息,并在再次發(fā)送的DNS請求消息中攜帶該校驗碼。具體實施時,DNS校驗設(shè)備可采用如下方式生成校驗碼:將從當前接收到的DNS請求消息中解析出的信息拼接成字符串,對該字符串采用校驗碼生成算法生成校驗碼。從DNS請求消息中解析出的用于生成校驗碼的信息可以包括客戶端IP地址,或者包括客戶端IP地址和客戶端所請求解析的域名。DNS校驗設(shè)備可通過向DNS客戶端發(fā)送CNAME應(yīng)答消息或DNAME應(yīng)答消息,將生成的校驗碼返回給DNS客戶端。以CNMAE應(yīng)答消息為例,CNAME應(yīng)答消息中包含以下信息:www.usdomain.comCNAME校驗碼.客戶端IP.www.usdomain.com即,將校驗碼、DNS客戶端IP地址和該DNS客戶端所請求解析的域名與DNS客戶端所請求解析的域名www.usdomain.com進行映射,作為www.usdomain.com的別名。DNS客戶端接收到該CNAME應(yīng)答消息后,解析出www.usdomain.com和校驗碼,生成請求對www.usdomain.com進行域名解析的DNS請求消息,其中攜帶該校驗碼。步驟104、DNS校驗設(shè)備采用校驗碼生成算法并利用從當前接收到的DNS請求中解析出的信息生成校驗碼,根據(jù)生成的校驗碼與從當前接收到的DNS請求中解析出的校驗碼,對當前接收到的DNS請求的合法性進行驗證。該流程還可包括以下步驟:步驟105、若驗證通過,則轉(zhuǎn)入步驟106;若驗證未通過,則轉(zhuǎn)入步驟107。步驟106、DNS驗證設(shè)備將DNS請求消息發(fā)送給DNS服務(wù)器進行域名解析處理。具體實施時,DNS驗證設(shè)備可先從DNS請求消息中刪除校驗碼,再將刪除校驗碼的DNS請求消息發(fā)送給DNS服務(wù)器,這樣無需對DNS服務(wù)器進行改造。DNS驗證設(shè)備也可以將攜帶有校驗碼的DNS請求消息發(fā)送給DNS服務(wù)器,這需要對DNS服務(wù)器進行改造,以使其能夠解析攜帶有校驗碼的DNS請求消息。步驟107、DNS驗證設(shè)備丟棄該未驗證通過的DNS請求消息,或者DNS驗證設(shè)備再次將驗證碼攜帶于應(yīng)答消息發(fā)送給DNS客戶端,以觸發(fā)該客戶端再次發(fā)起DNS請求。進一步的,DNS驗證設(shè)備還可將該DNS請求消息發(fā)送給管理系統(tǒng)進行分析處理。在本發(fā)明的一種優(yōu)選實現(xiàn)方案中,在步驟103中,DNS驗證設(shè)備收到DNS請求消息后,生成校驗失效時間,將生成的校驗失效時間與從當前接收到的DNS請求消息中解析出的DNS客戶端IP地址和DNS客戶端所請求解析的域名拼接成字符串,對該字符串采用檢驗碼生成算法生成校驗碼;然后生成包含如下信息的CNMAE應(yīng)答消息發(fā)送給該DNS客戶端:www.usdomain.comCNAME校驗失效時間.校驗碼.客戶端IP.www.usdomain.com其中,校驗失效時間是DNS校驗設(shè)備根據(jù)當前系統(tǒng)時間生成的一個幾秒鐘有效期的時間戳,即表示在該時間戳所標識的時間到達時該校驗碼失效。所述當前系統(tǒng)時間為世界標準時間(UTC)。具體實施中,所述校驗碼的生存時間TTL是根據(jù)系統(tǒng)流量模型與系統(tǒng)壓力設(shè)定。在步驟104中,DNS驗證設(shè)備從DNS客戶端接收到的DNS請求中攜帶有驗證碼和驗證失效時間。DNS校驗設(shè)備首先根據(jù)DNS請求消息中解析出的校驗失效時間判斷當前系統(tǒng)時間是否在有效時間內(nèi),若已經(jīng)過有效期,則DNS校驗設(shè)備采用校驗碼生成算法重新生成校驗碼,再次將生成的校驗碼攜帶于應(yīng)答消息返回給DNS客戶端,以觸發(fā)DNS客戶端重新發(fā)起DNS請求;若當前系統(tǒng)時間是在有效時間內(nèi),則采用校驗碼生成算法生成校驗碼并與從當前接收到的DNS請求中解析出的校驗碼進行比對,若兩者相同,則驗證通過。在步驟106中,DNS校驗設(shè)備將當前接收到的DNS請求消息中攜帶的校驗碼和校驗失效時間刪除,將刪除校驗碼和校驗失效時間的DNS請求消息轉(zhuǎn)發(fā)給DNS服務(wù)器。在本發(fā)明的一種優(yōu)選實現(xiàn)方案中,在步驟103中,DNS驗證設(shè)備收到DNS請求消息后,生成校驗失效時間,將生成的校驗失效時間與從當前接收到的DNS請求消息中解析出的DNS客戶端IP地址和DNS客戶端所請求解析的域名拼接成字符串,對該字符串采用檢驗碼生成算法生成校驗碼;然后生成包含如下信息的CNMAE應(yīng)答消息發(fā)送給該DNS客戶端:www.usdomain.comCNAME校驗標記.校驗失效時間.校驗碼.客戶端IP.www.usdomain.comDNS客戶端收到該CNMAE應(yīng)答消息后,根據(jù)其中攜帶的校驗標記再次發(fā)起請求對www.usdomain.com進行解析的DNS請求,其中攜帶從該CNMAE應(yīng)答消息中解析出的校驗碼和失效時間。在步驟104中,DNS驗證設(shè)備收到DNS請求消息后根據(jù)其中攜帶的校驗標記判斷該DNS請求消息中攜帶校驗碼,生成校驗碼,并采用前述方式,根據(jù)校驗失效時間、生成的校驗碼和該DNS請求中攜帶的校驗碼對該DNS請求的合法性進行驗證,若所述DNS校驗設(shè)備確認生成的校驗碼與從當前接收到的DNS請求消息中解析出的校驗碼相同,并且當前時間未超過當前接收到的DNS請求消息中攜帶的驗證失效時間,則對當前接收到的DNS請求消息的合法性驗證通過。在步驟106中,DNS校驗設(shè)備將當前接收到的DNS請求消息中攜帶的校驗碼和校驗失效時間以及校驗標記刪除,將刪除上述信息的DNS請求消息轉(zhuǎn)發(fā)給DNS服務(wù)器。優(yōu)選的,DNS客戶端收到該CNMAE應(yīng)答消息后,解析出校驗失效時間、校驗標記、校驗碼以及所請求解析的域名,并將其作為一條記錄保存在DNS客戶端。當該DNS客戶端需要再次針對該條記錄中的域名發(fā)起DNS請求時,根據(jù)該條記錄中的校驗失效時間判斷當前是否在有效時間段內(nèi),若是,則發(fā)起對該條記錄中的域名的DNS請求,其中攜帶該條記錄中的校驗碼、校驗失效時間;若當前已超出有效時間段,則按照現(xiàn)有方式發(fā)起DNS請求,該DNS請求中不攜帶校驗碼。通過將校驗失效時間、校驗碼以及對應(yīng)的域名的進行緩存,可使校驗結(jié)果在較長的時間內(nèi)有效,以便客戶端再次發(fā)起對相同域名的解析請求后,可直接在DNS域名解析請求中攜帶校驗碼,從而與需要2次DNS請求才能完成認證相比,可以節(jié)省網(wǎng)絡(luò)資源開銷?;谙嗤募夹g(shù)構(gòu)思,本發(fā)明實施例還提供了一種DNS校驗設(shè)備。如圖2所示,本發(fā)明實施例提供的DNS校驗設(shè)備,可包括:接收模塊201、校驗碼生成模塊202、再次請求觸發(fā)模塊203、驗證模塊204。接收模塊201接收到DNS客戶端的DNS請求消息后進行解析后,轉(zhuǎn)入校驗碼生成模塊202,若接收模塊從DNS請求消息中未解析出校驗碼,則轉(zhuǎn)入再次請求觸發(fā)模塊203;若接收模塊從DNS請求消息中解析出校驗碼,則轉(zhuǎn)入驗證模塊204。接收模塊201,用于接收DNS客戶端的DNS請求消息后進行解析;校驗碼生成模塊202,用于采用校驗碼生成算法并利用所述接收模塊從當前接收到的DNS請求消息中解析出的信息生成校驗碼;再次請求觸發(fā)模塊203,用于在所述接收模塊當前接收到的DNS請求消息中未攜帶校驗碼時,將所述校驗碼生成模塊生成的校驗碼攜帶于應(yīng)答消息返回給所述DNS客戶端;所述應(yīng)答消息用于指示DNS客戶端再次發(fā)送DNS請求消息,并且在再次發(fā)送的DNS請求消息中攜帶所述校驗碼;驗證模塊204,用于在所述接收模塊201當前接收到的DNS請求消息中攜帶有校驗碼時,根據(jù)所述校驗碼生成模塊202生成的校驗碼與從當前接收到的DNS請求消息中解析出的校驗碼,對當前接收到的DNS請求消息的合法性進行驗證。以上功能模塊劃分方式僅為本發(fā)明實施例給出的一種優(yōu)選實現(xiàn)方式,功能模塊的劃分方式不構(gòu)成對本發(fā)明的限制。本發(fā)明實施例中,所述校驗碼生成模塊202進一步用于,將從當前接收到的DNS請求消息中解析出的信息拼接成字符串,對該字符串采用所述校驗碼生成算法生成校驗碼;或者,生成校驗失效時間,將生成的校驗失效時間與從當前接收到的DNS請求消息中解析出的信息拼接成字符串,對該字符串采用所述檢驗碼生成算法生成校驗碼。具體實施例中,所述校驗碼生成模塊202從當前接收到的DNS請求消息中解析出的信息,包括:DNS客戶端IP;或者,DNS客戶端IP和DNS客戶端請求域名。具體實施例中,所述再次請求觸發(fā)模塊203發(fā)送的應(yīng)答消息中還攜帶有所述DNS校驗設(shè)備生成的校驗失效時間,所述應(yīng)答消息還用于指示DNS客戶端在再次發(fā)送的DNS請求消息中攜帶所述校驗失效時間;具體實施例中,所述驗證模塊204具體用于,若確認生成的校驗碼與從當前接收到的DNS請求消息中解析出的校驗碼相同,并且當前時間未超過當前接收到的DNS請求消息中攜帶的驗證失效時間,則對當前接收到的DNS請求消息的合法性驗證通過。具體實施例中,所述再次請求觸發(fā)模塊203發(fā)送的應(yīng)答消息中還攜帶有校驗標記,所述校驗標記用于標識所述應(yīng)答消息中攜帶有校驗碼;所述應(yīng)答消息還用于指示DNS客戶端再次發(fā)送的DNS請求消息中攜帶有校驗標記,所述校驗標記用于標識所述再次發(fā)送的DNS請求消息中攜帶有校驗碼。具體實施例中,所述再次請求觸發(fā)模塊203具體用于,將校驗標記與生成的校驗碼、所述DNS客戶端的IP地址、所述DNS客戶端請求解析的域名拼接為CNAME域名,將拼接得到的CNAME域名攜帶于CNAME應(yīng)答消息;或者,將校驗標記與生成的校驗碼、所述DNS客戶端的IP地址、所述DNS客戶端請求解析的域名拼接為DNAME域名,將拼接得到的DNAME域名攜帶于DNAME應(yīng)答消息。具體實施例中,所述驗證模塊204進一步用于,在對當前接收到的DNS請求消息的合法性驗證通過后,從當前接收到的DNS請求消息中刪除校驗碼,將刪除校驗碼后的DNS請求消息發(fā)送給DNS服務(wù)器進行解析。本發(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)。
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1