專利名稱:經(jīng)過dht擴(kuò)展的dns映射系統(tǒng)及其實(shí)現(xiàn)dns安全的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)及其實(shí)現(xiàn)DNS安全的方法,屬于網(wǎng) 絡(luò)通信技術(shù)領(lǐng)域。
背景技術(shù):
基于主機(jī)側(cè)的身份ID與位置Locator分離的網(wǎng)絡(luò)架構(gòu),如主機(jī)標(biāo)識(shí)協(xié)議HIP (Host Identity Protocol)和下一代互聯(lián)網(wǎng)路由架構(gòu) RANGI (Routing Architecturefor the Next Generation Internet)是在現(xiàn)有TCP/IP協(xié)議棧的網(wǎng)絡(luò)層和傳輸層之間引入主機(jī)標(biāo) 識(shí)ID層,使得傳輸層會(huì)話只與主機(jī)ID層實(shí)現(xiàn)綁定,從而解決了現(xiàn)有hternet中IP地址 的雙重語義問題。網(wǎng)絡(luò)中每臺(tái)主機(jī)或終端都擁有各自的身份標(biāo)識(shí),即主機(jī)ID,主機(jī)ID必須 具有全球唯一性、拓?fù)錈o關(guān)性和可攜帶性。Locator是主機(jī)的位置標(biāo)識(shí),代表主機(jī)或終端在 網(wǎng)絡(luò)中的位置,它隨主機(jī)在網(wǎng)絡(luò)中的位置移動(dòng)而改變;在多穴情況下,一個(gè)主機(jī)可能有多個(gè) Locator。
身份位置分離體系架構(gòu)中的主機(jī)ID可采用扁平ID(如HIP),也可采用層次化 ID(如RANGI)。扁平ID是將非對稱密鑰中的公鑰(Public key)進(jìn)行哈希計(jì)算而得到的 前USbits值作為主機(jī)ID,缺乏商業(yè)和安全模型、不利于管理。而層次化ID將主機(jī)ID分 為兩個(gè)部分前一部分稱為管理域標(biāo)識(shí)AD ID (AuthorityDomain Identity),表示組織從屬 關(guān)系,如該主機(jī)ID歸屬的國家、地區(qū)及其所歸屬的ID管理權(quán)威機(jī)構(gòu)(Authority)信息;后 一部分是其自身擁有的非對稱密鑰對中的公鑰和AD ID進(jìn)行哈希運(yùn)算后從左到右截取的 128-n位bits哈希值。通過在主機(jī)ID的前一部分中引入組織從屬關(guān)系語義,克服了扁平 ID缺乏合理的商業(yè)和信任模型的缺陷,同時(shí)還保持了主機(jī)ID安全加密的技術(shù)優(yōu)勢。利用層 次化的主機(jī)ID組織從屬關(guān)系語義,可以實(shí)現(xiàn)基于組織的網(wǎng)絡(luò)安全訪問控制。
為了滿足網(wǎng)絡(luò)自治和地址可攜帶的要求,以及解決IPv4網(wǎng)絡(luò)地址不足的缺陷,身 份位置分離體系架構(gòu)允許多個(gè)獨(dú)立的IPv4網(wǎng)絡(luò)共存,即這些網(wǎng)絡(luò)可以采用重疊的IPv4地 址空間,類似現(xiàn)有的私有網(wǎng)絡(luò)。這些具有獨(dú)立地址空間的網(wǎng)絡(luò)被稱為位置域UKLocator Domain)。為了實(shí)現(xiàn)全球范圍的網(wǎng)絡(luò)定位和尋址,每個(gè)位置域被分配一個(gè)或多個(gè)全球唯一的 ID進(jìn)行標(biāo)識(shí)。該ID被稱為位置域ID,簡稱LD ID。從某種角度看,這個(gè)全球唯一的LD ID 與LD內(nèi)部唯一的IPv4地址構(gòu)成一個(gè)全球唯一的位置標(biāo)識(shí)。因每個(gè)LD都可以獨(dú)立分配地 址和選擇路由協(xié)議,這樣就能最大程度地滿足網(wǎng)絡(luò)自治的需要,用戶LD也可靈活更換ISP 而不需對LD內(nèi)部設(shè)備進(jìn)行大量的IPv4地址重新分配(renumbering)工作。
由于ID和Locator實(shí)現(xiàn)了分離,故需要一個(gè)提供ID與Locator綁定關(guān)系的映射 系統(tǒng)。現(xiàn)在已提出的映射系統(tǒng)方案有域名系統(tǒng)DNS、分布式哈希表DHT等。
DNS (Domain Name System)是目前應(yīng)用最廣泛的域名解析系統(tǒng),其主要功能是將 主機(jī)名和電子郵件地址等映射成IP地址。DNS提供了一種分層次、基于域的命名方案,并采 用分布式數(shù)據(jù)庫來實(shí)現(xiàn),它允許對整個(gè)數(shù)據(jù)庫的各部分進(jìn)行本地控制,同時(shí)整個(gè)網(wǎng)絡(luò)也能 通過客戶-服務(wù)器方式訪問每個(gè)部分的數(shù)據(jù)。
域名服務(wù)器為DNS客戶-服務(wù)器機(jī)制的服務(wù)器端,它包含整個(gè)數(shù)據(jù)庫的部分信息, 并能夠被稱為解析器(resolver)的客戶端程序所訪問。解析器通常是一些庫例程序,它們 創(chuàng)建查詢請求,并通過網(wǎng)絡(luò)將它們發(fā)送到映射服務(wù)器。
域名空間是分層的樹形結(jié)構(gòu)(參見圖1所示),DNS分布式數(shù)據(jù)庫是以域名為索引 的。每個(gè)節(jié)點(diǎn)的域名實(shí)際上是從該域的根節(jié)點(diǎn)到整個(gè)樹的根節(jié)點(diǎn)符號的順序連接,并用“.,, 分隔這些符號,例如bupt.edu.cn。DNS樹在每個(gè)分叉點(diǎn)(又稱節(jié)點(diǎn))可以有多個(gè)分支,樹 的深度不超過127層。
DNS域名空間中,域是其層次結(jié)構(gòu)的基本單位,任何一個(gè)域最多只有一個(gè)或沒有上 級域,但是,可有多個(gè)或沒有下級域。在同一個(gè)域下,不能有相同的域名或主機(jī)名,但是,在 不同的域中,可以有相同的域名或主機(jī)名。以原點(diǎn)“.”表示的根域只有一個(gè),且沒有上級域。 Internet網(wǎng)址中的根域是默認(rèn)的,通常不需表示。根域由位于美國的國際互聯(lián)網(wǎng)絡(luò)信息中 WhterNICdnternet InformationCenter)管理。但是,根域服務(wù)器沒有保存全世界的所 有hternet網(wǎng)址,只保存著頂級域和其它少數(shù)“DNS服務(wù)器-IP地址”的對應(yīng)數(shù)據(jù)。而且, 域名空間的每個(gè)層次都是這樣進(jìn)行管理的每層的DNS服務(wù)器只負(fù)責(zé)管理其下一層的“DNS 服務(wù)器-IP地址”的對應(yīng)數(shù)據(jù)。全世界的DNS是結(jié)構(gòu)非常龐大的分布式數(shù)據(jù)庫。只有這樣 處理,才使其中每一臺(tái)DNS服務(wù)器不至于管理過多的域名及其對應(yīng)數(shù)據(jù),從而達(dá)到均衡網(wǎng) 絡(luò)負(fù)荷、方便查詢和加快查詢速度的目的。
以根域?yàn)樯霞売虻捻敿売?,是位于根域之下的第一級域,其?shù)目有限且不能輕易 變動(dòng),頂級域也是由hterNIC進(jìn)行統(tǒng)一管理。有些頂級域有自己的DNS服務(wù)器,其余頂級 域則由根域中的DNS服務(wù)器進(jìn)行管理。在hternet網(wǎng)址(全域名)中,各級域之間都以原 點(diǎn)“.”分隔開,頂級域位于最右邊、即最后面。
在DNS域名空間中,除了根域和頂級域以外,其它域都被稱為子域。子域是有上級 域的域,每個(gè)域可以有多層下級子域位于已經(jīng)申請成功的域名下,通常是按照各自需要設(shè) 置一層或多層子域。另外,各級子域也是相對而言的。
DNS域名空間中的最底層是域主機(jī)名,它沒有下級子域,也稱為葉子(葉節(jié)點(diǎn))。在 Internet網(wǎng)址中,位于最左面、即最前面的是域主機(jī)名。在已經(jīng)申請成功的域名中,域主機(jī) 名通常是用戶自己命名的。北京郵電大學(xué)的全域名是www. bupt. edu. cn,其中“.bupt. edu. cn”是域名(所在域的名稱),而www是該域內(nèi)的服務(wù)器名稱;另外,在其下面還建立一個(gè)圖 書館子域“.lib. bupt. edu. cn”,該子域內(nèi)也有一臺(tái)名為www的服務(wù)器;又如www. baidu. com 中的“www”也是服務(wù)器的域主機(jī)名,“.baidu. com"是該服務(wù)器所在域的名稱。
DNS將域名空間劃分為區(qū)(zone)進(jìn)行管理,區(qū)是由同級或不同級的多個(gè)子域組成 的一個(gè)管理單位。把管轄某個(gè)(些)區(qū)域的DNS服務(wù)器稱為該(些)區(qū)域的“授權(quán)DNS服務(wù) 器”或“授權(quán)名稱服務(wù)器”。這個(gè)DNS服務(wù)器就對這個(gè)區(qū)具有權(quán)威(authority)。一個(gè)DNS服 務(wù)器可以同時(shí)對多個(gè)區(qū)具有權(quán)威。如圖1所示,edu.cn域被劃分成許多區(qū),包括tsinghua. edu. cn區(qū)、bupt. edu. cn區(qū)等。該域的頂部有一個(gè)edu. cn區(qū),負(fù)責(zé)管理整個(gè)edu. cn區(qū),即 管理有關(guān)edu. cn子域的授權(quán)信息。
DNS服務(wù)器既能查詢自己授權(quán)管理的區(qū)的數(shù)據(jù),還能在域名空間中搜索而找到不 歸屬自己的區(qū)的信息。這個(gè)過程稱為域名解析(name resolution)、即查詢域名信息。由于 名字空間采用逆向樹的結(jié)構(gòu),只要擁有根DNS服務(wù)器的域名和地址就能找到樹中任何一個(gè)節(jié)點(diǎn)。每個(gè)DNS服務(wù)器可以要求根DNS服務(wù)器啟動(dòng)相關(guān)的子域DNS服務(wù)器來查詢域名空間 中的任何名字。
參見圖2,介紹域名查找過程。本地DNS服務(wù)器向根DNS服務(wù)器查詢lib. bupt. edu. cn的地址,根DNS服務(wù)器讓它詢問名字為cn的DNS服務(wù)器。本地DNS服務(wù)器詢問后 者同樣問題時(shí),被告知edu. cn的DNS服務(wù)器的地址列表。本地DNS服務(wù)器就從該列表中選 擇edu. cn的DNS服務(wù)器并向其詢問。edu. cn的DNS服務(wù)器就告訴本地DNS服務(wù)器bupt. edu. cn的DNS服務(wù)器地址。最后,本地DNS服務(wù)器向bupt. edu. cn的DNS服務(wù)器詢問該問 題并獲得答案。
在身份位置分離架構(gòu)中,主機(jī)ID到locator的映射類似于主機(jī)域名到IP地址的 映射,尤其是層次化主機(jī)ID和主機(jī)域名有相似的層級結(jié)構(gòu),所以可以采用DNS來實(shí)現(xiàn)身份 與位置分離架構(gòu)中的映射系統(tǒng)。但是,因?yàn)镮D與Locator映射查詢節(jié)點(diǎn)的數(shù)量和規(guī)模都比 DNS的域名多得多,在域數(shù)據(jù)較多,且不能進(jìn)一步劃分子域時(shí),會(huì)影響映射系統(tǒng)的更新和查 詢的效率。此外,DNS服務(wù)器還存在單點(diǎn)故障和性能瓶頸問題。
分布式哈希表DHT (Distributed Hash Table)是一種分布式存儲(chǔ)方法,采用每個(gè) DHT節(jié)點(diǎn)存儲(chǔ)小部分?jǐn)?shù)據(jù)和負(fù)責(zé)一個(gè)小范圍的路由的方法,實(shí)現(xiàn)整個(gè)DHT網(wǎng)絡(luò)的存儲(chǔ)和尋 址。每個(gè)DHT節(jié)點(diǎn)都有一個(gè)專屬標(biāo)識(shí)符,該標(biāo)識(shí)符的生成是在一個(gè)節(jié)點(diǎn)加入到已有的DHT 網(wǎng)絡(luò)時(shí),把該節(jié)點(diǎn)的IP地址等數(shù)據(jù)作為其特征輸入哈希函數(shù)所產(chǎn)生的一個(gè)1 位或160位 的全局唯一的標(biāo)識(shí)符,再用這個(gè)標(biāo)識(shí)符代表該節(jié)點(diǎn)。DHT映射系統(tǒng)是以主機(jī)ID作為關(guān)鍵字 進(jìn)行查詢定位,沒有單點(diǎn)故障和性能瓶頸問題,但是,由于DHT網(wǎng)絡(luò)中路由任務(wù)是分配到系 統(tǒng)的所有節(jié)點(diǎn),而一個(gè)邏輯路由跳可能發(fā)生于兩個(gè)物理距離很遠(yuǎn)的節(jié)點(diǎn),從而出現(xiàn)很大的 網(wǎng)絡(luò)傳輸時(shí)延,大大增加系統(tǒng)的路由負(fù)擔(dān)。這樣,DHT映射系統(tǒng)與DNS映射系統(tǒng)相比較,僅 僅是服務(wù)更加抗攻擊,而在系統(tǒng)性能和可用性方面仍然沒有優(yōu)勢。
現(xiàn)有的hternet存在大量的身份欺騙和中間人攻擊等網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。在映射系 統(tǒng)的更新和查詢過程中,也存在相應(yīng)的安全隱患,例如數(shù)據(jù)包攔截、ID猜測和查詢預(yù)測、 域區(qū)拒絕攻擊等。其中,數(shù)據(jù)包攔截是攻擊者位于共享網(wǎng)絡(luò)或傳輸路徑監(jiān)聽客戶端的本地 域名服務(wù)器和域名服務(wù)器之間的通信,竊聽并篡改數(shù)據(jù)包,欺騙本地域名服務(wù)器或域名服 務(wù)器。ID猜測和查詢預(yù)測是攻擊者不在共享網(wǎng)絡(luò)或傳輸路徑而無法直接竊聽通信,但是,因 為許多請求和回應(yīng)報(bào)文都是通過UDP傳輸?shù)?,攻擊者能非常方便地生成與客戶端、解析器、 服務(wù)器的協(xié)議參數(shù)狀態(tài)相匹配的數(shù)據(jù)包,再采用ID猜測和查詢預(yù)測來實(shí)施攻擊。域區(qū)拒絕 攻擊是在查詢的域名不存在或類型不匹配時(shí),服務(wù)器的回應(yīng)報(bào)文answer字段為空,表明所 查詢的名稱或類型不存在,若攻擊者故意刪除或修改answer字段內(nèi)容,解析者或查詢者就 都被欺騙了。
目前,DNS映射系統(tǒng)是用DNS簽名DNSSEC (DNS Signature)來預(yù)防數(shù)據(jù)包攔截、ID 猜測和查詢預(yù)測、域區(qū)拒絕攻擊等針對解析過程的攻擊;采用事務(wù)簽名TSIG(Transaction Signature)等方法對更新源和更新消息完整性實(shí)現(xiàn)驗(yàn)證。
DNSSEC是依靠公鑰技術(shù)對包含在DNS中的信息創(chuàng)建密碼簽名。在DNSSEC中,每個(gè) 區(qū)都會(huì)產(chǎn)生一對存儲(chǔ)于區(qū)的授權(quán)DNS服務(wù)器中的公私密鑰對,其中私鑰由授權(quán)DNS服務(wù)器 保管,用于對其數(shù)據(jù)簽名,公鑰則通過網(wǎng)絡(luò)發(fā)布。父區(qū)對子區(qū)的公鑰進(jìn)行數(shù)字簽名保護(hù),確 保子區(qū)公鑰的完整性和正確性,以便信任父區(qū),進(jìn)而信任經(jīng)由父區(qū)簽名的子區(qū),建立起自上而下的信任鏈。參見圖3,父子關(guān)系的兩個(gè)區(qū)rangiid. arpa與BJ. rangiid. arpa之間建立 信任鏈后,信任父區(qū)rangiid. arpa,就信任子區(qū)BJ. rangiid. arpa。這種信任鏈的信任起點(diǎn) 通常是所有解析器都信任的公鑰,這個(gè)起點(diǎn)被稱作安全入口點(diǎn),該公鑰由根域的域名服務(wù) 器掌管,可以通過網(wǎng)絡(luò)等媒體公開獲知,讓所有本地域名服務(wù)器、主機(jī)等都能預(yù)先配置于各 自機(jī)器上。TSIG方法是主機(jī)和服務(wù)器之間協(xié)商一個(gè)共享密鑰后,主機(jī)使用共享密鑰對更新 消息進(jìn)行簽名,域名服務(wù)器通過驗(yàn)證簽名對更新消息的來源和完整性進(jìn)行驗(yàn)證。當(dāng)前TSIG 共享密鑰的配置大多使用手工配置,手工配置雖然安全,但是效率太低。
如果用DHT擴(kuò)展DNS映射系統(tǒng)后,身份到位置的映射信息實(shí)際存儲(chǔ)在DHT圓環(huán)中, 整個(gè)映射系統(tǒng)的數(shù)據(jù)備份能力和可擴(kuò)展性都得到很大提高。為了兼容上層DNS服務(wù)器,DHT 圓環(huán)和外部通信仍然采用標(biāo)準(zhǔn)DNS消息。DHT圓環(huán)處于一個(gè)獨(dú)立網(wǎng)絡(luò)環(huán)境,只通過一些入口 節(jié)點(diǎn)連接外部網(wǎng)絡(luò),這樣就不用考慮針對DHT節(jié)點(diǎn)的路由安全等攻擊;但是,還是要用傳統(tǒng) 安全手段(如摘要、簽名等)保證映射信息的正確性及其通信過程中的安全性,也就是要考 慮映射信息的完整性和可驗(yàn)證。
在原有DNS映射系統(tǒng)中,DNSSEC保護(hù)映射信息的完整性和安全性的方法比較完 善,但是,采用DHT圓環(huán)擴(kuò)展DNS映射系統(tǒng)后,DNSSEC無法實(shí)現(xiàn)首先層級授權(quán)的信任鏈不 能建立于DNS結(jié)合DHT的映射系統(tǒng)中,其次對映射信息的簽名要在管理映射數(shù)據(jù)的DHT圓 環(huán)中實(shí)現(xiàn)。而采用DHT圓環(huán)作為映射系統(tǒng)的最底層后,更新過程也是在DHT圓環(huán)進(jìn)行,因此 TSIG更新消息的驗(yàn)證機(jī)制在DNS結(jié)合DHT映射系統(tǒng)中也需要重新構(gòu)建其實(shí)現(xiàn)過程。這些問 題都成為業(yè)內(nèi)科技人員關(guān)注的課題。發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)及其實(shí)現(xiàn)DNS 安全的方法,本發(fā)明映射系統(tǒng)綜合了 DNS和DHT兩者優(yōu)點(diǎn),既吸收DNS樹形結(jié)構(gòu),支持映射 信息的層次化查詢,具備合理的商業(yè)和信任模型;也繼承DHT冗余備份、健壯性強(qiáng)等眾多優(yōu) 點(diǎn),尤其是該映射系統(tǒng)可在現(xiàn)有DNS映射系統(tǒng)基礎(chǔ)上改進(jìn)就能夠?qū)崿F(xiàn),從而減少網(wǎng)絡(luò)構(gòu)建 的巨大工作量。本發(fā)明實(shí)現(xiàn)DNS安全方法使得DHT圓環(huán)和上層授權(quán)DNS服務(wù)器之間建立起 信任關(guān)系,從而在DHT圓環(huán)和上層授權(quán)DNS服務(wù)器之間、授權(quán)DNS服務(wù)器和其父域授權(quán)DNS 服務(wù)器之間建立完整的信任鏈。本發(fā)明還提出一種自動(dòng)分發(fā)TSIG共享密鑰的方法,比手工 配置效率高,保證DNS原有的DNSSEC和TSIG安全機(jī)制仍能在經(jīng)過DHT擴(kuò)展的DNS映射系 統(tǒng)中完整地實(shí)現(xiàn)。
為了達(dá)到上述發(fā)明目的,本發(fā)明提供了一種經(jīng)過分布式哈希表DHT擴(kuò)展的域名系 統(tǒng)DNS映射系統(tǒng),其特征在于所述映射系統(tǒng)包括具有DNS解析器的移動(dòng)或固定的主機(jī)、 本地DNS服務(wù)器、授權(quán)DNS服務(wù)器和DHT圓環(huán)中的DHT服務(wù)器,由DNS服務(wù)器和DHT服務(wù)器 作為映射服務(wù)器,共同管理身份到位置的映射信息和為主機(jī)查詢映射信息;其中,位于該系 統(tǒng)上層的各個(gè)授權(quán)DNS服務(wù)器是采用根據(jù)主機(jī)ID的管理域標(biāo)識(shí)AD ID進(jìn)行分級和層次化 索引構(gòu)成的傳統(tǒng)DNS樹形結(jié)構(gòu),每個(gè)域都由其授權(quán)DNS服務(wù)器進(jìn)行管理,每個(gè)授權(quán)DNS服務(wù) 器都不存儲(chǔ)任何身份到位置的映射信息,只存儲(chǔ)其子域的DHT圓環(huán)的入口服務(wù)器地址或子 域的授權(quán)DNS服務(wù)器信息;該系統(tǒng)的最底層是采用主機(jī)ID的扁平哈希值進(jìn)行索引查詢的多 個(gè)相互獨(dú)立的DHT圓環(huán),每個(gè)DHT圓環(huán)代表身份空間中的一個(gè)域,由多個(gè)根據(jù)DHT算法組織并相互連接的DHT服務(wù)器組成,該多個(gè)DHT服務(wù)器負(fù)責(zé)存儲(chǔ)和管理該域的全部身份到位置 的映射信息;且經(jīng)過DHT擴(kuò)展后,最底層域的映射信息被分布地存儲(chǔ)于各個(gè)DHT服務(wù)器,每 個(gè)DHT服務(wù)器只存儲(chǔ)和管理整個(gè)域的部分映射信息,并根據(jù)業(yè)務(wù)的需要增減每個(gè)DHT圓環(huán) 中的DHT服務(wù)器數(shù)量,以保證負(fù)載均衡和性能需求。
為了達(dá)到上述發(fā)明目的,本發(fā)明提供了 一種采用本發(fā)明映射系統(tǒng)實(shí)現(xiàn)DNS安全的 方法,其特征在于所述映射系統(tǒng)在服務(wù)器端為主機(jī)提供映射信息的更新和查詢過程中,使 用事務(wù)簽名TSIG (Transaction Signature)和DNS簽名DNSSEC來保證信息安全,該方法包 括下列操作步驟
(1)主機(jī)注冊ID與配置TSIG共享密鑰后,安全地更新映射信息每個(gè)主機(jī)在使用 前必須先注冊其ID,由ID管理服務(wù)器作為可信任的第三方,和DHT圓環(huán)共同完成主機(jī)ID的 注冊及其TSIG共享密鑰的自動(dòng)分發(fā),從而完成映射信息更新過程之前TSIG共享密鑰的配 置,以使主機(jī)能向DHT圓環(huán)發(fā)送采用該共享密鑰加密的更新消息,DHT圓環(huán)也使用該共享密 鑰來驗(yàn)證更新消息,確保更新源的可信任性與更新消息的正確性;ID管理服務(wù)器和主機(jī)的 安全是使用數(shù)字簽名來驗(yàn)證兩者之間的交互消息源和消息的正確性;
(2)對DHT圓環(huán)和授權(quán)DNS服務(wù)器配置相關(guān)參數(shù),自下而上建立信任鏈后,提供映 射信息的安全查詢服務(wù)先在底層DHT圓環(huán)與上層授權(quán)DNS服務(wù)器之間建立信任鏈,DHT 圓環(huán)為自己所管理的域生成公鑰私鑰對,并將自己的公鑰告訴父域的授權(quán)DNS服務(wù)器;再 在上層授權(quán)DNS服務(wù)器之間建立DNSSEC信任鏈,以保證該映射系統(tǒng)層級授權(quán)的安全,本地 DNS服務(wù)器通過驗(yàn)證響應(yīng)消息的數(shù)字簽名來保證響應(yīng)消息來源的正確性和響應(yīng)消息的完整 性;
(3)完成安全配置后,映射系統(tǒng)進(jìn)行映射信息的安全更新與查詢主機(jī)改變位置 信息時(shí),向所歸屬的DHT圓環(huán)發(fā)送更新映射信息請求,在主機(jī)和DHT圓環(huán)之間執(zhí)行安全的更 新過程;主機(jī)要和其他主機(jī)通信時(shí),向本地DNS服務(wù)器發(fā)送查詢映射信息請求,由本地DNS 服務(wù)器遞歸查詢授權(quán)DNS服務(wù)器和DHT圓環(huán),給主機(jī)返回查詢結(jié)果。
本發(fā)明用DHT擴(kuò)展的DNS映射系統(tǒng)及其采用DNSSEC和TSIG實(shí)現(xiàn)DNS安全的方法, 有以下幾個(gè)技術(shù)創(chuàng)新要點(diǎn)
該映射系統(tǒng)結(jié)構(gòu)新穎上層為DNS樹形結(jié)構(gòu),最底層是DHT圓環(huán),DHT圓環(huán)內(nèi)部各 個(gè)服務(wù)器之間用DHT消息通信、與外部通信則采用DNS消息。
自動(dòng)分發(fā)TSIG共享密鑰通過可信任的第三方-ID管理服務(wù)器,在DHT圓環(huán)上生 成TSIG共享密鑰后,由ID管理服務(wù)器以安全方式發(fā)放給主機(jī)。
建立DHT圓環(huán)和授權(quán)DNS服務(wù)器之間的信任鏈通過為DHT圓環(huán)生成公鑰和私鑰, 再將DHT圓環(huán)公鑰配置給上層授權(quán)DNS服務(wù)器來建立信任鏈。
實(shí)現(xiàn)DHT圓環(huán)與DNSSEC和TSIG的兼容通過為DHT服務(wù)器增設(shè)消息轉(zhuǎn)換和安全 處理的功能模塊,使DHT圓環(huán)能夠處理DNS消息,并能為DNS響應(yīng)消息添加加密信息,從而 在DNS結(jié)合DHT映射系統(tǒng)中完整實(shí)現(xiàn)DNSSEC和TSIG。另外,還提出在映射消息更新或查詢 過程中,DHT服務(wù)器處理DNS消息的相應(yīng)操作過程。
總之,本發(fā)明經(jīng)過DHT擴(kuò)展的DNS的映射系統(tǒng)的優(yōu)點(diǎn)是該映射系統(tǒng)結(jié)合了 DNS和 DHT的優(yōu)點(diǎn),既吸收DNS樹形結(jié)構(gòu),支持映射信息的層次化查詢,具備合理商業(yè)和信任模型, 也繼承DHT冗余備份、健壯性等優(yōu)點(diǎn),尤其是該映射系統(tǒng)可在現(xiàn)有DNS映射系統(tǒng)基礎(chǔ)上進(jìn)行改進(jìn)就能夠?qū)崿F(xiàn),從而減少網(wǎng)絡(luò)構(gòu)建的巨大工作量。本發(fā)明提出的實(shí)現(xiàn)DNS安全方法,為 DHT圓環(huán)和上層授權(quán)DNS服務(wù)器建立起信任關(guān)系,從而在DHT圓環(huán)和上層授權(quán)DNS服務(wù)器 之間、授權(quán)DNS服務(wù)器和其父域授權(quán)DNS服務(wù)器之間建立完整的信任鏈,保證了 DNSSEC和 TSIG在本發(fā)明映射系統(tǒng)上的完整性,解決了該映射系統(tǒng)的層級授權(quán)問題,保證了映射信息 在傳輸過程中的正確性和完整性,以及數(shù)據(jù)源的安全性和更新數(shù)據(jù)的完整性,防止了數(shù)據(jù) 欺騙等安全攻擊。本發(fā)明還提出自動(dòng)分發(fā)TSIG共享密鑰方法,比手工配置效率高。
圖1是DNS域名空間樹形層次結(jié)構(gòu)示意圖。
圖2是DNS域名查找過程示意圖。
圖3是DNS域名信任鏈?zhǔn)纠龍D。
圖4是本發(fā)明經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)身份空間樹狀層級結(jié)構(gòu)圖。
圖5是本發(fā)明經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)組成結(jié)構(gòu)示意圖。
圖6是本發(fā)明方法安全配置TSIG共享密鑰過程示意圖。
圖7是本發(fā)明映射系統(tǒng)的信任鏈建立過程示意圖。
圖8是本發(fā)明映射系統(tǒng)的映射信息新過程示意圖。
圖9是本發(fā)明映射系統(tǒng)的查詢映射信息程示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對本發(fā)明 作進(jìn)一步的詳細(xì)描述。
參見圖4和圖5,介紹本發(fā)明經(jīng)過DHT擴(kuò)展的域名系統(tǒng)DNS映射系統(tǒng)的結(jié)構(gòu)組成 所述映射系統(tǒng)包括具有DNS解析器的移動(dòng)或固定的主機(jī)、本地DNS服務(wù)器、授權(quán)DNS服務(wù) 器和DHT圓環(huán)中的DHT服務(wù)器,由DNS服務(wù)器和DHT服務(wù)器作為映射服務(wù)器,共同管理身份 到位置的映射信息和為主機(jī)查詢映射信息。該系統(tǒng)上層是各個(gè)授權(quán)DNS服務(wù)器采用傳統(tǒng) DNS樹形層次結(jié)構(gòu)、最底層為DHT圓環(huán)結(jié)構(gòu);上層DNS樹形結(jié)構(gòu)是根據(jù)主機(jī)ID的管理域標(biāo) 識(shí)AD ID進(jìn)行分級和層次化索引構(gòu)成的,每個(gè)域都由其授權(quán)DNS服務(wù)器進(jìn)行管理,每個(gè)授權(quán) DNS服務(wù)器都不存儲(chǔ)任何身份到位置的映射信息,只存儲(chǔ)其子域的授權(quán)DNS服務(wù)器信息或 DHT圓環(huán)的入口服務(wù)器地址。因這些授權(quán)DNS服務(wù)器采用傳統(tǒng)的DNS工作機(jī)制,故這部分不 再贅述。
系統(tǒng)最底層是采用主機(jī)ID的扁平哈希值進(jìn)行索引查詢的多個(gè)相互獨(dú)立的DHT圓 環(huán),每個(gè)DHT圓環(huán)代表身份空間中的一個(gè)域,由一個(gè)或多個(gè)根據(jù)DHT算法組織并相互連接的 本地DHT服務(wù)器組成,負(fù)責(zé)存儲(chǔ)和管理該AD域的全部身份到位置的映射信息;且經(jīng)過DHT 擴(kuò)展后,最底層域的映射信息被分布地存儲(chǔ)于各個(gè)DHT服務(wù)器,每個(gè)DHT服務(wù)器只存儲(chǔ)和管 理整個(gè)域的部分映射信息,并根據(jù)業(yè)務(wù)的需要增減每個(gè)DHT圓環(huán)中的DHT服務(wù)器數(shù)量,以保 證負(fù)載均衡和性能需求。DHT圓環(huán)內(nèi)部采用DHT消息通信,與外部通信采用標(biāo)準(zhǔn)DNS消息。 每個(gè)DHT圓環(huán)都指定一個(gè)或多個(gè)服務(wù)器作為入口服務(wù)器,并將其入口服務(wù)器地址告知其父 域的授權(quán)DNS服務(wù)器,入口服務(wù)器負(fù)責(zé)完成其所在的DHT圓環(huán)與外部的消息交互,其他服務(wù) 器只是協(xié)作完成映射信息的更新和查詢。該映射系統(tǒng)還設(shè)有位于身份與位置分離架構(gòu)網(wǎng)絡(luò)系統(tǒng)中的ID管理服務(wù)器,用于可信任的第三方完成與主機(jī)之間的TSIG共享密鑰的自動(dòng)配 置。因ID管理服務(wù)器不屬于本發(fā)明映射系統(tǒng),故在圖4與圖3中都沒有標(biāo)出。
本發(fā)明映射服務(wù)器中的本地DNS服務(wù)器接收到主機(jī)查詢ID映射信息的查詢請求 后,向授權(quán)DNS服務(wù)器查詢該ID所歸屬的域,授權(quán)DNS服務(wù)器告訴本地DNS服務(wù)器其查詢 的ID所歸屬的DHT圓環(huán)的入口服務(wù)器地址,由該DHT入口服務(wù)器查詢得到該DHT圓環(huán)中存 儲(chǔ)的該ID的映射信息。DHT圓環(huán)完成映射信息的更新是在DHT入口服務(wù)器接收到映射信息 更新請求后,根據(jù)DHT算法將更新的映射信息存儲(chǔ)于該DHT圓環(huán)中相應(yīng)的DHT服務(wù)器。
參見圖4,在arpa頂級域下新申請一個(gè)rangiid. arpa域,用來劃分和管理身份與 位置分離架構(gòu)的主機(jī)ID到Locator的映射信息。再根據(jù)主機(jī)ID的管理域ID中代表國家 的部分,將rangiid. arpa域劃分成多個(gè)國家子域。然后,根據(jù)主機(jī)ID的管理域ID中代表 管理機(jī)構(gòu)的部分,將CN. rangiid. arpa域劃分成多個(gè)子域(如中國移動(dòng)CMCC等);接著,根 據(jù)主機(jī)ID的管理域ID中代表地區(qū)部分,將CMCC. CN. rangiid. arpa域劃分成多個(gè)子域(如 北京BJ、上海SH等)。
在原有DNS映射系統(tǒng)中管理BJ. CMCC. CN. rangiid. arpa區(qū)的DNS服務(wù)器存儲(chǔ)了該 區(qū)的全部映射信息,而在本發(fā)明經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)中,是由多個(gè)DHT服務(wù)器(圖 中用黑色圓點(diǎn)表示)共同管理該區(qū)的全部映射信息,這些DHT服務(wù)器由DHT算法進(jìn)行組織。 典型的DHT結(jié)構(gòu)為圓環(huán)形結(jié)構(gòu)。為方便描述,本發(fā)明將由DHT算法組織起來的這些DHT服 務(wù)器稱為一個(gè)DHT圓環(huán)。
下面具體介紹本發(fā)明映射系統(tǒng)中的各個(gè)設(shè)備
主機(jī)是該映射系統(tǒng)的客戶端,設(shè)有只能收發(fā)消息的DNS解析器,即存根解析器 (stub resolver),以存根解析器和本地DNS服務(wù)器結(jié)合的方式完成遞歸查詢和安全驗(yàn)證。
DNS 服務(wù)器是采用 BIND (Berkeley Internet Name Domain)實(shí)現(xiàn)的 DNS 設(shè)備,包括 本地DNS服務(wù)器和授權(quán)DNS服務(wù)器。本地DNS服務(wù)器具有遞歸查詢功能,能夠配合主機(jī)共 同完成映射信息的遞歸查詢,為保證查詢安全,本地DNS服務(wù)器要配置DNS簽名DNSSEC (DNS Signature),且擁有DNS根服務(wù)器的公鑰。授權(quán)DNS服務(wù)器用于完成映射信息的層級管理, 并配置DNSSEC來保證層級授權(quán)和查詢過程的安全;在底層授權(quán)DNS服務(wù)器的區(qū)文件中配置 一個(gè)或多個(gè)DHT服務(wù)器地址,以供用戶選擇DHT服務(wù)器作為DHT圓環(huán)的入口進(jìn)行查詢。因 新版本的BIND已經(jīng)很好地實(shí)現(xiàn)DNSSEC和TSIG,故本發(fā)明只需要對DNS服務(wù)器進(jìn)行相關(guān)配 置即可完成安全部署。
DHT服務(wù)器位于最底層的DHT圓環(huán),每個(gè)DHT服務(wù)器都設(shè)有一個(gè)包含該DHT圓環(huán)管 理的域、域名與服務(wù)器自身地址的各種信息的配置文件,當(dāng)DHT服務(wù)器用作入口服務(wù)器時(shí), 負(fù)責(zé)完成所有的安全處理和與DHT圓環(huán)外部的通信,并與DHT其他服務(wù)器共同完成映射信 息的存儲(chǔ)、更新和查詢。DHT服務(wù)器設(shè)有下述三個(gè)模塊,各模塊功能為
消息轉(zhuǎn)換模塊,用于接收與解析DNS的更新請求或查詢請求,以及配置映射信息 請求,并重新構(gòu)造為對應(yīng)的DHT的更新消息或查詢消息后,作相應(yīng)處理;解析DHT響應(yīng)消息, 并重新構(gòu)造成DNS更新請求或查詢請求的響應(yīng)和配置映射信息請求響應(yīng)。
安全處理模塊,與消息轉(zhuǎn)換模塊交互,完成下述各種功能為每個(gè)ID生成TSIG共 享密鑰、驗(yàn)證更新消息、為映射記錄生成數(shù)字簽名、配置公鑰與私鑰、生成公鑰摘要和建立 與上層DNS的信任鏈等。
存儲(chǔ)查詢模塊,與消息轉(zhuǎn)換模塊交互,完成映射信息與域名信息的分布式存儲(chǔ)和 查詢。根據(jù)key值的兩種類型,存儲(chǔ)于DHT服務(wù)器的(key,value)對的value值也包含對應(yīng) 的兩種信息當(dāng)key值是域名時(shí),value值是該DHT圓環(huán)的密鑰對信息;當(dāng)key值是ID時(shí), value值是該ID對應(yīng)的映射信息、映射信息的數(shù)字簽名或TSIG共享密鑰。根據(jù)DHT服務(wù)器 采用的不同DHT算法,存儲(chǔ)查詢模塊也采用不同的冗余存儲(chǔ)方式。
本發(fā)明映射系統(tǒng)的服務(wù)器端,在為主機(jī)提供映射信息的更新和查詢過程中實(shí)現(xiàn) DNS安全的方法是用事務(wù)簽名TSIG (Transaction Signature)和DNS簽名DNSSEC來保證信 息安全,該方法的具體包括下述三個(gè)操作步驟
步驟1,主機(jī)注冊ID與配置TSIG共享密鑰后,安全地更新映射信息每個(gè)主機(jī)在 使用前必須先注冊其ID與配置TSIG共享密鑰,由ID管理服務(wù)器作為可信任的第三方,和 DHT圓環(huán)共同完成主機(jī)注冊ID及其TSIG共享密鑰的自動(dòng)分發(fā),從而完成映射信息更新過程 之前TSIG共享密鑰的配置,以使主機(jī)能向DHT圓環(huán)發(fā)送的更新消息采用該共享密鑰加密, DHT圓環(huán)也使用該共享密鑰來驗(yàn)證更新消息,確保更新源的可信任性與更新消息的正確性。 ID管理服務(wù)器和主機(jī)的安全是使用數(shù)字簽名來驗(yàn)證兩者之間的交互消息源和消息的正確 性,因非本發(fā)明的主題,故不作詳述。
參見圖6,介紹該步驟1的操作內(nèi)容
(11)主機(jī)生成ID后,向ID管理服務(wù)器發(fā)送包括該主機(jī)ID信息的注冊請求。
(12) ID管理服務(wù)器收到ID注冊請求后,先驗(yàn)證該請求的來源及其正確性,證實(shí)該 請求確實(shí)來自該ID對應(yīng)的主機(jī)后,ID管理服務(wù)器檢測該ID是否與已有ID沖突,若沖突,則 發(fā)送消息提示主機(jī)重新生成ID ;否則,ID管理服務(wù)器將該ID存儲(chǔ)于ID數(shù)據(jù)庫,并向該ID 所歸屬域的DHT圓環(huán)的入口服務(wù)器發(fā)送配置映射信息請求。
(13)DHT服務(wù)器接收到配置映射信息請求后,由消息轉(zhuǎn)換模塊解析該接收到的配 置映射信息請求后,將該請求中的ID參數(shù)傳遞給安全處理模塊。
(14)安全處理模塊為該請求中的ID生成TSIG共享密鑰,并將其返回給消息轉(zhuǎn)換 模塊。
(15)消息轉(zhuǎn)換模塊將該ID作為key值、對應(yīng)的TSIG共享密鑰作為value值構(gòu)造 一個(gè)包含該(key,value)對的DHT更新消息,再傳遞給存儲(chǔ)查詢模塊。
(16)存儲(chǔ)查詢模塊根據(jù)DHT算法和key值,將該DHT更新消息路由到DHT圓環(huán)中 相應(yīng)的DHT服務(wù)器來存儲(chǔ)該(key,value)對,若存儲(chǔ)成功,則給消息轉(zhuǎn)換模塊返回DHT更新 成功響應(yīng);否則,返回DHT更新失敗響應(yīng)。
(17)消息轉(zhuǎn)換模塊收到DHT更新響應(yīng)后,進(jìn)行解析,若是成功響應(yīng),則給ID管理服 務(wù)器返回包含該ID的TSIG共享密鑰的配置映射信息成功響應(yīng);否則,給ID管理服務(wù)器返 回配置映射信息失敗響應(yīng);
(18) ID管理服務(wù)器接收到響應(yīng)消息,若配置成功,則將包括TSIG共享密鑰、DHT圓 環(huán)的入口服務(wù)器地址的信息組成注冊請求成功響應(yīng),以安全方式發(fā)送到主機(jī),主機(jī)對其驗(yàn) 證后,獲得TSIG共享密鑰和DHT圓環(huán)的入口服務(wù)器地址;若配置失敗,則給主機(jī)返回注冊請 求失敗響應(yīng),以使主機(jī)重新注冊。
主機(jī)和DHT圓環(huán)之間共享TSIG密鑰后,主機(jī)就能向DHT圓環(huán)發(fā)送采用該共享密鑰 加密的更新消息,DHT圓環(huán)則使用TSIG共享密鑰來驗(yàn)證更新消息,確保更新源的可信任性與更新消息的正確性。
步驟2,對DHT圓環(huán)和DNS服務(wù)器配置相關(guān)參數(shù),自下而上建立信任鏈后,提供映 射信息的安全查詢服務(wù)先在底層DHT圓環(huán)與上層DNS服務(wù)器之間建立信任鏈,DHT圓環(huán)為 自己管理的域生成公鑰私鑰對,并將自己的公鑰告訴父域的DNS服務(wù)器;再在上層授權(quán)DNS 服務(wù)器之間建立DNSSEC信任鏈,保證該映射系統(tǒng)層級授權(quán)的安全,本地DNS服務(wù)器通過驗(yàn) 證響應(yīng)消息的數(shù)字簽名保證響應(yīng)消息來源的正確性和響應(yīng)消息的完整性。
參見圖7,介紹信任鏈的實(shí)施例的建立過程。先建立BJ. rangiid. arpa域的DHT圓 環(huán)與上層DNS服務(wù)器之間的信任鏈,該信任鏈建立后,就保證了映射系統(tǒng)各個(gè)層級授權(quán)的 安全,本地DNS服務(wù)器可以通過驗(yàn)證響應(yīng)消息的簽名來判斷響應(yīng)消息來源的正確性和響應(yīng) 消息的完整性。
該步驟2包括下列操作內(nèi)容
(21)DHT入口服務(wù)器的安全處理模塊采用與DNS服務(wù)器生成密鑰對相同的算法, 為其所在的DHT圓環(huán)管理的域生成密鑰對,共生成兩個(gè)密鑰對密鑰簽名密鑰對KSK(Key Signing Key)和區(qū)域簽名密鑰對MK (hne Signing Key),每個(gè)密鑰對都包含一個(gè)公鑰和 一個(gè)私鑰,后者用于計(jì)算映射記錄的簽名,前者用于計(jì)算對MK的簽名,以使其得到驗(yàn)證。
(22)密鑰對生成后,消息轉(zhuǎn)換模塊將域名作為key、密鑰對作為value生成一個(gè) DHT更新消息,再由存儲(chǔ)查詢模塊根據(jù)DHT算法將該(key,value)對存儲(chǔ)于對應(yīng)的DHT服 務(wù)器;當(dāng)管理員需要更換密鑰對,生成新的密鑰對后,由存儲(chǔ)查詢模塊對該DHT圓環(huán)中存儲(chǔ) 該密鑰對的所有DHT服務(wù)器進(jìn)行更新;DHT服務(wù)器在DHT圓環(huán)中查詢獲得最新密鑰對后使 用該密鑰,因DHT圓環(huán)中冗余存儲(chǔ)數(shù)據(jù),故某個(gè)存儲(chǔ)密鑰對的DHT服務(wù)器退出該DHT圓環(huán), 不會(huì)丟失該密鑰對信息。
(23)安全處理模塊為密鑰對中的公鑰生成摘要,再將公鑰摘要手工添加到上層授 權(quán)DNS服務(wù)器的區(qū)文件中,以使上層授權(quán)DNS服務(wù)器擁有DHT圓環(huán)的公鑰摘要,能用自己的 ZSK私鑰對DHT圓環(huán)的公鑰摘要進(jìn)行數(shù)字簽名,這樣,只要信任父域授權(quán)DNS服務(wù)器,就信任 經(jīng)父域授權(quán)DNS服務(wù)器簽名的DHT圓環(huán),從而DHT圓環(huán)就和上層授權(quán)DNS服務(wù)器建立了信 任鏈。
(24)在上層授權(quán)DNS服務(wù)器之間建立信任鏈子域授權(quán)DNS服務(wù)器先生成自己的 密鑰對,再將公鑰告知其父域授權(quán)DNS服務(wù)器;以此類推,直到根域的授權(quán)DNS服務(wù)器;當(dāng) 根域的授權(quán)DNS服務(wù)器生成密鑰對后,要向所有本地DNS服務(wù)器發(fā)布自己的公鑰,以使每個(gè) 本地DNS服務(wù)器都擁有根域的授權(quán)DNS服務(wù)器的公鑰。
步驟3,完成安全配置后,映射系統(tǒng)進(jìn)行映射信息的安全更新與查詢主機(jī)改變位 置信息時(shí),向所歸屬的DHT圓環(huán)發(fā)送更新映射信息請求,在主機(jī)和DHT圓環(huán)之間執(zhí)行安全 的更新過程;主機(jī)要和其他主機(jī)通信時(shí),向本地DNS服務(wù)器發(fā)送查詢映射信息請求,由本地 DNS服務(wù)器遞歸查詢授權(quán)DNS服務(wù)器和DHT圓環(huán),給主機(jī)返回查詢結(jié)果。
參見圖8,介紹該步驟3中映射信息更新過程的操作內(nèi)容
(31)主機(jī)的DNS解析器使用TSIG共享密鑰對DNS更新消息加密后,將其發(fā)送給其 歸屬的DHT圓環(huán)的入口服務(wù)器;
(32) DHT服務(wù)器的消息轉(zhuǎn)換模塊接收到DNS更新請求后,解析其中的ID和 Locator映射信息,將ID作為key值構(gòu)成一個(gè)DHT查詢請求,傳遞給存儲(chǔ)查詢模塊;
(33)存儲(chǔ)查詢模塊通過DHT算法查詢DHT圓環(huán)存儲(chǔ)該ID的value值,構(gòu)成一個(gè) DHT查詢響應(yīng)并傳遞給消息轉(zhuǎn)換模塊;
(34)消息轉(zhuǎn)換模塊解析該DHT查詢響應(yīng),獲得vlaue值中的TSIG共享密鑰,傳遞 給安全處理模塊;
(35)安全處理模塊使用該TSIG共享密鑰驗(yàn)證該更新消息,驗(yàn)證通過后,使用DHT 圓環(huán)的ZSK私鑰對該ID對應(yīng)的映射信息進(jìn)行數(shù)字簽名,然后將該ID的映射信息、對映射信 息的數(shù)字簽名和TSIG共享密鑰一起傳遞給消息轉(zhuǎn)換模塊;
(36)消息轉(zhuǎn)換模塊將該ID作為key,該ID的映射信息、對映射信息的數(shù)字簽名和 TSIG共享密鑰一起作為value,組成(key,value)對構(gòu)造一個(gè)DHT更新消息傳遞給存儲(chǔ)查 詢模塊;
(37)存儲(chǔ)查詢模塊使用DHT算法將DHT更新消息路由到DHT圓環(huán)存儲(chǔ)該映射信息 的相應(yīng)DHT服務(wù)器,并更新該ID的value,然后根據(jù)更新結(jié)果,給消息轉(zhuǎn)換模塊返回DHT更 新響應(yīng);
(38)消息轉(zhuǎn)換模塊根據(jù)DHT更新響應(yīng)的不同結(jié)果,構(gòu)造相應(yīng)的DNS更新響應(yīng)發(fā)送 給主機(jī)端。
參見圖9,介紹該步驟3中映射信息查詢過程的操作內(nèi)容
(3A)主機(jī)的DNS解析器向本地DNS服務(wù)器發(fā)起DNS查詢消息;
(3B)本地DNS服務(wù)器向授權(quán)DNS服務(wù)器發(fā)起DNS查詢消息;
(3C)經(jīng)過遞歸查詢后,授權(quán)DNS服務(wù)器給本地DNS服務(wù)器返回DNS查詢響應(yīng),其中 包括請求查詢的映射信息所歸屬DHT圓環(huán)的DHT入口服務(wù)器地址和該DHT圓環(huán)的公鑰;
(3D)本地DNS服務(wù)器根據(jù)接收到的DNS查詢響應(yīng),向DHT服務(wù)器發(fā)送DNS查詢消 息;
(3E)該DHT服務(wù)器的消息轉(zhuǎn)換模塊接收和解析DNS查詢消息,獲得ID后,將該查 詢消息中的ID作為key值,構(gòu)成DHT查詢請求傳遞給存儲(chǔ)查詢模塊;
(3F)存儲(chǔ)查詢模塊根據(jù)DHT查詢請求中的ID,使用DHT算法查詢DHT圓環(huán)是否存 儲(chǔ)有該ID的value值,如果有,則給消息轉(zhuǎn)換模塊返回包含該value值的DHT查詢響應(yīng);如 果無,則給消息轉(zhuǎn)換模塊返回空響應(yīng);
(3G)消息轉(zhuǎn)換模塊接收和解析DHT查詢響應(yīng),若響應(yīng)不為空,則將value中的ID 映射信息與該映射信息的數(shù)字簽名信息構(gòu)造一個(gè)DNS查詢響應(yīng),發(fā)送給本地DNS服務(wù)器;否 則,由安全處理模塊生成一個(gè)表示不存在該映射信息的特殊記錄,并使用ZSK私鑰進(jìn)行數(shù) 字簽名后,將該特殊記錄和數(shù)字簽名構(gòu)造為DNS響應(yīng)發(fā)送給本地DNS服務(wù)器;
(3H)本地DNS服務(wù)器使用DHT圓環(huán)的公鑰驗(yàn)證該響應(yīng)消息,確認(rèn)無誤后發(fā)送給主 機(jī)的DNS解析器。
本發(fā)明已經(jīng)進(jìn)行了多次實(shí)施試驗(yàn),下面簡要描述本發(fā)明映射系統(tǒng)在保證DNS安全 的前提下,一次完整的主機(jī)ID注冊、映射信息的更新和查詢過程。
查詢之前,先為映射系統(tǒng)建立如圖7所示的信任鏈。本發(fā)明利用ID管理服務(wù)器, 在ID注冊時(shí)完成其TSIG共享密鑰分發(fā)。一次完整的注冊更新流程如下
(1)主機(jī)生成ID,向ID管理服務(wù)器發(fā)送ID注冊請求,該請求中攜帶用戶信息、主 機(jī)ID和ID相關(guān)參數(shù)、主機(jī)用私鑰對消息的簽名。
(2) ID管理服務(wù)器收到ID注冊請求后,驗(yàn)證是否允許該主機(jī)注冊,通過公鑰和簽 名認(rèn)證主機(jī)的身份,證實(shí)該請求確實(shí)來自該ID對應(yīng)的主機(jī)。通過驗(yàn)證后,ID管理服務(wù)器要 檢測該ID是否與已有ID沖突,若沖突,則發(fā)送消息提示主機(jī)重新生成ID ;若沒有沖突,則 ID管理服務(wù)器要記錄該ID到ID數(shù)據(jù)庫。
(3) ID管理服務(wù)器向該ID所歸屬域的DHT圓環(huán)的入口 DHT服務(wù)器發(fā)送配置映射信 息請求。
(4) DHT服務(wù)器收到配置映射信息請求后,進(jìn)行解析,為請求中的ID生成TSIG共 享密鑰;然后將該ID作為key值、對應(yīng)的TSIG共享密鑰作為value值構(gòu)造成一個(gè)(key, value)對存儲(chǔ)在DHT圓環(huán)中的適當(dāng)位置。若存儲(chǔ)成功,則給請求方返回配置映射信息成功 響應(yīng),響應(yīng)中包含該ID的TSIG共享密鑰;否則,返回配置映射信息失敗響應(yīng)。
( ID管理服務(wù)器接收到注冊請求響應(yīng)后,進(jìn)行解析;若配置成功,則將共享密鑰 以主機(jī)公鑰進(jìn)行加密,并連同DHT圓環(huán)的入口服務(wù)器地址和ID管理服務(wù)器用自己私鑰對消 息進(jìn)行簽名,一起構(gòu)成注冊請求的響應(yīng)發(fā)送到主機(jī);若配置失敗,則給主機(jī)返回注冊請求失 敗響應(yīng),以使主機(jī)重新注冊;
(6)主機(jī)收到ID管理服務(wù)器的響應(yīng)后,通過ID管理服務(wù)器的簽名來認(rèn)證ID管理 服務(wù)器的身份,獲得應(yīng)答消息中的TSIG共享密鑰和DHT圓環(huán)的入口服務(wù)器地址,然后主機(jī) 可以安全地進(jìn)行映射信息的更新;
(7)主機(jī)向DHT圓環(huán)的入口服務(wù)器發(fā)送DNS更新請求,該消息使用TSIG共享密鑰 加密,消息包含了 ID、ID對應(yīng)的Locator信息;
(S)DHT圓環(huán)的入口服務(wù)器收到DNS更新請求后,解析出該請求中的ID,利用該ID 查找DHT圓環(huán),再找到該ID的(key,value)記錄,讀出value中的TSIG共享密鑰,然后用 TSIG共享密鑰驗(yàn)證該更新消息的正確性;若驗(yàn)證失敗,則丟棄該更新消息;若驗(yàn)證成功,則 計(jì)算該ID的映射信息的數(shù)字簽名,將該ID的映射信息、映射信息的數(shù)字簽名、TSIG共享密 鑰組成新的value存儲(chǔ)于DHT圓環(huán);存儲(chǔ)成功后,給主機(jī)返回一個(gè)DNS更新成功的響應(yīng),否 則,返回一個(gè)DNS更新失敗的響應(yīng)。
再以查詢ID為12;34567887654321. BJ. rangiid. arpa.的映射信息為例,介紹本發(fā) 明方法的一次完整的查詢映射信息的流程如下
(1)主機(jī)發(fā)起的 ID 為 1234567887654321. BJ. rangiid. arpa.的查詢請求,經(jīng)由本 地DNS服務(wù)器發(fā)送給根域授權(quán)DNS服務(wù)器。
(2)部署了 DNSSEC的DNS根域授權(quán)DNS服務(wù)器處理該查詢請求先用哈希算法計(jì) 算要回復(fù)信息的摘要,再將摘要用自己的ZSK私鑰加密后,將生成的數(shù)字簽名和要回復(fù)的 根域授權(quán)DNS服務(wù)器信息、.arpa域的授權(quán)DNS服務(wù)器地址信息、.arpa域的公鑰信息構(gòu)成 查詢請求響應(yīng),返回給本地DNS服務(wù)器。
(3)本地DNS服務(wù)器收到帶有簽名的查詢請求響應(yīng)后,利用根域授權(quán)DNS服務(wù)器的 公鑰解密其中的簽名獲得該查詢請求響應(yīng)的摘要,再將該摘要與從該查詢請求響應(yīng)的數(shù)據(jù) 中計(jì)算出來的摘要進(jìn)行對比,驗(yàn)證數(shù)據(jù)完整性;如果驗(yàn)證成功,則同時(shí)完成了對數(shù)據(jù)源、即 授權(quán)DNS服務(wù)器的身份認(rèn)證;否則,身份認(rèn)證失敗。此時(shí),本地DNS服務(wù)器已擁有了 .arpa 域的授權(quán)DNS服務(wù)器的公鑰,本地DNS服務(wù)器向.arpa頂級域的授權(quán)DNS服務(wù)器發(fā)送查詢 請求。
(4)部署了 DNSSEC的.arpa頂級域的授權(quán)DNS服務(wù)器處理該查詢請求先用哈希 算法計(jì)算要回復(fù)信息的摘要,再將該摘要用自己的ZSK私鑰加密后,將生成的數(shù)字簽名和 要回復(fù)的.arpa域的授權(quán)DNS服務(wù)器信息、rangiid. arpa域的授權(quán)DNS服務(wù)器地址信息、 rangiid. arpa域公鑰信息構(gòu)成該查詢請求響應(yīng),返回給本地DNS服務(wù)器。
(5)本地DNS服務(wù)器用.arpa公鑰解密驗(yàn)證步驟⑷返回的數(shù)據(jù),得到rangiid. arpa公鑰和rangiid. arpa域的授權(quán)DNS服務(wù)器地址。
(6)本地DNS服務(wù)器向rangiid. arpa域的授權(quán)DNS服務(wù)器發(fā)送查詢請求。
(7)部署了 DNSSEC的rangiid. arpa域的授權(quán)DNS服務(wù)器處理該查詢請求先用哈 希算法計(jì)算要回復(fù)信息的摘要,再將該摘要用自己的ZSK私鑰加密,將生成的數(shù)字簽名和 要回復(fù)的rangiid. arpa域名服務(wù)器信息、管理BJ. rangiid. arpa域映射信息的DHT圓環(huán)的 入口服務(wù)器地址信息、BJ. rangiid. arpa域公鑰信息構(gòu)成該查詢請求響應(yīng),返回給本地DNS 服務(wù)器。
(8)本地DNS服務(wù)器用rangiicLarpa公鑰驗(yàn)證步驟(7)返回的數(shù)據(jù),得到 BJ. rangiid. arpa域的公鑰和管理該域的DHT圓環(huán)的入口服務(wù)器地址。
(9)DHT圓環(huán)的入口服務(wù)器在處理查詢請求時(shí),根據(jù)解析出來的ID值,查詢DHT圓 環(huán)中的該ID對應(yīng)的value值,如果value不為空,則根據(jù)value值中的映射信息和數(shù)字簽 名,構(gòu)造DNS查詢響應(yīng)返回給本地DNS服務(wù)器;否則,構(gòu)造一個(gè)表示該映射信息不存在的特 殊記錄,并對該特殊記錄進(jìn)行數(shù)字簽名,將該特殊記錄和其數(shù)字簽名構(gòu)造成DNS查詢響應(yīng), 返回給本地DNS服務(wù)器。
(10)本地DNS服務(wù)器用BJ. rangiid. arpa域的公鑰解密驗(yàn)證步驟(9)返回的數(shù) 據(jù),得到該ID的映射記錄查詢結(jié)果后,本地DNS服務(wù)器向主機(jī)返回查詢結(jié)果。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種經(jīng)過分布式哈希表DHT擴(kuò)展的域名系統(tǒng)DNS映射系統(tǒng),其特征在于所述映射 系統(tǒng)包括具有DNS解析器的移動(dòng)或固定的主機(jī)、本地DNS服務(wù)器、授權(quán)DNS服務(wù)器和DHT 圓環(huán)中的DHT服務(wù)器,由DNS服務(wù)器和DHT服務(wù)器作為映射服務(wù)器,共同管理身份到位置的 映射信息和為主機(jī)查詢映射信息;其中,位于該系統(tǒng)上層的各個(gè)授權(quán)DNS服務(wù)器是采用根 據(jù)主機(jī)ID的管理域標(biāo)識(shí)AD ID進(jìn)行分級和層次化索引構(gòu)成的傳統(tǒng)DNS樹形結(jié)構(gòu),每個(gè)域都 由其授權(quán)DNS服務(wù)器進(jìn)行管理,每個(gè)授權(quán)DNS服務(wù)器都不存儲(chǔ)任何身份到位置的映射信息, 只存儲(chǔ)其子域的DHT圓環(huán)的入口服務(wù)器地址或子域的授權(quán)DNS服務(wù)器信息;該系統(tǒng)的最底 層是采用主機(jī)ID的扁平哈希值進(jìn)行索引查詢的多個(gè)相互獨(dú)立的DHT圓環(huán),每個(gè)DHT圓環(huán)代 表身份空間中的一個(gè)域,由多個(gè)根據(jù)DHT算法組織并相互連接的DHT服務(wù)器組成,該多個(gè) DHT服務(wù)器負(fù)責(zé)存儲(chǔ)和管理該域的全部身份到位置的映射信息;且經(jīng)過DHT擴(kuò)展后,最底層 域的映射信息被分布地存儲(chǔ)于各個(gè)DHT服務(wù)器,每個(gè)DHT服務(wù)器只存儲(chǔ)和管理整個(gè)域的部 分映射信息,并根據(jù)業(yè)務(wù)的需要增減每個(gè)DHT圓環(huán)中的DHT服務(wù)器數(shù)量,以保證負(fù)載均衡和 性能需求。
2.根據(jù)權(quán)利要求1所述的映射系統(tǒng),其特征在于所述映射系統(tǒng)還設(shè)有位于身份與位 置分離架構(gòu)網(wǎng)絡(luò)系統(tǒng)中的ID管理服務(wù)器,用于可信任的第三方完成與主機(jī)之間的TSIG共 享密鑰的自動(dòng)配置。
3.根據(jù)權(quán)利要求1所述的映射系統(tǒng),其特征在于所述映射系統(tǒng)中,DHT圓環(huán)內(nèi)部通信 采用DHT消息,DHT圓環(huán)與外部通信采用標(biāo)準(zhǔn)DNS消息;每個(gè)DHT圓環(huán)都指定一個(gè)或多個(gè)服 務(wù)器作為入口服務(wù)器,并將其入口服務(wù)器地址告知其父域的授權(quán)DNS服務(wù)器,入口服務(wù)器 負(fù)責(zé)完成其所在的DHT圓環(huán)與外部的消息交互,其他服務(wù)器只是協(xié)作完成映射信息的更新 和查詢;所述映射服務(wù)器中,本地DNS服務(wù)器接收到主機(jī)的查詢ID的映射信息查詢請求后,向 授權(quán)DNS服務(wù)器查詢該ID所歸屬的域,授權(quán)DNS服務(wù)器告訴本地DNS服務(wù)器其查詢的ID 所歸屬的DHT圓環(huán)的入口服務(wù)器地址,由該DHT入口服務(wù)器查詢得到該DHT圓環(huán)中存儲(chǔ)的 該ID的映射信息;DHT圓環(huán)完成映射信息的更新是在DHT入口服務(wù)器接收到映射信息更新 請求后,根據(jù)DHT算法將更新的映射信息存儲(chǔ)于該DHT圓環(huán)中相應(yīng)的DHT服務(wù)器。
4.根據(jù)權(quán)利要求1所述的映射系統(tǒng),其特征在于所述映射系統(tǒng)包括下述設(shè)備主機(jī),作該映射系統(tǒng)的客戶端,設(shè)有能夠收發(fā)消息的DNS解析器,即存根解析器,以存根解析器和本地DNS服務(wù)器結(jié)合的方式完成遞歸查詢和安全驗(yàn)證;DNS服務(wù)器,是采用BIND (Berkeley Internet Name Domain)實(shí)現(xiàn)的DNS設(shè)備,包括本 地DNS服務(wù)器和授權(quán)DNS服務(wù)器;前者具有遞歸查詢功能,能夠配合主機(jī)共同完成映射信 息的遞歸查詢,為保證查詢安全,本地DNS服務(wù)器要配置DNS簽名DNSSEC,且擁有根域授權(quán) DNS服務(wù)器的公鑰;后者用于完成映射信息的層級管理,并配置DNSSEC來保證層級授權(quán)和 查詢過程的安全;在底層授權(quán)DNS服務(wù)器的區(qū)文件中配置一個(gè)或多個(gè)DHT服務(wù)器地址,以供 用戶選擇DHT服務(wù)器作為DHT圓環(huán)的入口進(jìn)行查詢;DHT服務(wù)器,位于最底層的DHT圓環(huán),每個(gè)DHT服務(wù)器都設(shè)有一個(gè)包含該DHT圓環(huán)管理 的域、域名與服務(wù)器自身地址的各種信息的配置文件,當(dāng)DHT服務(wù)器用作入口服務(wù)器時(shí),負(fù) 責(zé)完成所有的安全處理和與DHT圓環(huán)外部的通信,并與DHT其他服務(wù)器共同完成映射信息 的存儲(chǔ)、更新和查詢。
5.根據(jù)權(quán)利要求4所述的DNS映射系統(tǒng),其特征在于所述DHT服務(wù)器設(shè)有順序連接 的存儲(chǔ)查詢模塊、消息轉(zhuǎn)換模塊和安全處理模塊,各模塊功能為消息轉(zhuǎn)換模塊,用于接收與解析DNS更新請求或DNS查詢請求,以及配置映射信息請 求,并重新構(gòu)造為對應(yīng)的DHT更新消息或DHT查詢消息,再作相應(yīng)處理;解析DHT響應(yīng)消息, 并重新構(gòu)造成DNS更新請求或查詢請求的響應(yīng)和配置映射信息請求響應(yīng);安全處理模塊,與消息轉(zhuǎn)換模塊交互,用于完成下述各種功能為每個(gè)ID生成TSIG共 享密鑰、驗(yàn)證更新消息、為映射記錄生成數(shù)字簽名、配置公鑰與私鑰、生成公鑰摘要和建立 與上層DNS的信任鏈;存儲(chǔ)查詢模塊,與消息轉(zhuǎn)換模塊交互,用于完成映射信息與域名信息的分布式存儲(chǔ)和 查詢;根據(jù)key值的兩種類型,存儲(chǔ)于DHT服務(wù)器的(key,value)對的value值也包含對應(yīng) 的兩種信息當(dāng)key值是域名時(shí),value值是該DHT圓環(huán)的密鑰對信息;當(dāng)key值是ID時(shí), value值是該ID對應(yīng)的映射信息、映射信息的數(shù)字簽名或TSIG共享密鑰;根據(jù)DHT服務(wù)器 采用的不同DHT算法,存儲(chǔ)查詢模塊也采用不同的冗余存儲(chǔ)方式。
6.一種采用權(quán)利要求1所述的映射系統(tǒng)實(shí)現(xiàn)DNS安全的方法,其特征在于所述映射 系統(tǒng)在服務(wù)器端為主機(jī)提供映射信息的更新和查詢過程中,使用事務(wù)簽名TSIG和DNS簽名 DNSSEC來保證信息安全,該方法包括下列操作步驟(1)主機(jī)注冊ID與配置TSIG共享密鑰后,安全地更新映射信息每個(gè)主機(jī)在使用前必 須先注冊其ID,由ID管理服務(wù)器作為可信任的第三方,和DHT圓環(huán)共同完成主機(jī)ID的注冊 及其TSIG共享密鑰的自動(dòng)分發(fā),從而完成映射信息更新過程之前TSIG共享密鑰的配置,以 使主機(jī)能向DHT圓環(huán)發(fā)送采用該共享密鑰加密的更新消息,DHT圓環(huán)也使用該共享密鑰來 驗(yàn)證更新消息,確保更新源的可信任性與更新消息的正確性;ID管理服務(wù)器和主機(jī)的安全 是使用數(shù)字簽名來驗(yàn)證兩者之間的交互消息源和消息的正確性;(2)對DHT圓環(huán)和授權(quán)DNS服務(wù)器配置相關(guān)參數(shù),自下而上建立信任鏈后,提供映射信 息的安全查詢服務(wù)先在底層DHT圓環(huán)與上層授權(quán)DNS服務(wù)器之間建立信任鏈,DHT圓環(huán)為 自己所管理的域生成公鑰私鑰對,并將自己的公鑰告訴父域的授權(quán)DNS服務(wù)器;再在上層 授權(quán)DNS服務(wù)器之間建立DNSSEC信任鏈,以保證該映射系統(tǒng)層級授權(quán)的安全,本地DNS服 務(wù)器通過驗(yàn)證響應(yīng)消息的數(shù)字簽名來保證響應(yīng)消息來源的正確性和響應(yīng)消息的完整性;(3)完成安全配置后,映射系統(tǒng)進(jìn)行映射信息的安全更新與查詢主機(jī)改變位置信息 時(shí),向所歸屬的DHT圓環(huán)發(fā)送更新映射信息請求,在主機(jī)和DHT圓環(huán)之間執(zhí)行安全的更新過 程;主機(jī)要和其他主機(jī)通信時(shí),向本地DNS服務(wù)器發(fā)送查詢映射信息請求,由本地DNS服務(wù) 器遞歸查詢授權(quán)DNS服務(wù)器和DHT圓環(huán),給主機(jī)返回查詢結(jié)果。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(1)包括下列操作內(nèi)容(11)主機(jī)生成ID后,向ID管理服務(wù)器發(fā)送包括該主機(jī)ID信息的注冊請求;(12)ID管理服務(wù)器收到ID注冊請求后,先驗(yàn)證該請求的來源及其正確性,證實(shí)該請求 確實(shí)來自該ID對應(yīng)的主機(jī)后,ID管理服務(wù)器檢測該ID是否與已有ID沖突,若沖突,則發(fā) 送消息提示主機(jī)重新生成ID ;否則,ID管理服務(wù)器將該ID存儲(chǔ)于ID數(shù)據(jù)庫,并向該ID所 歸屬域的DHT圓環(huán)的入口服務(wù)器發(fā)送配置映射信息請求;(13)DHT服務(wù)器接收到配置映射信息請求后,由消息轉(zhuǎn)換模塊解析該接收到的配置映 射信息請求后,將該請求中的ID參數(shù)傳遞給安全處理模塊;(14)安全處理模塊為該請求中的ID生成TSIG共享密鑰,并將其返回給消息轉(zhuǎn)換模塊;(15)消息轉(zhuǎn)換模塊將該ID作為key值、對應(yīng)的TSIG共享密鑰作為value值構(gòu)造一個(gè) 包含該(key,value)對的DHT更新消息,再傳遞給存儲(chǔ)查詢模塊;(16)存儲(chǔ)查詢模塊根據(jù)DHT算法和key值,將該DHT更新消息路由到DHT圓環(huán)中相應(yīng) 的DHT服務(wù)器來存儲(chǔ)該(key,value)對,若存儲(chǔ)成功,則給消息轉(zhuǎn)換模塊返回DHT更新成功 響應(yīng);否則,返回DHT更新失敗響應(yīng);(17)消息轉(zhuǎn)換模塊收到DHT更新響應(yīng)后,進(jìn)行解析,若是成功響應(yīng),則給ID管理服務(wù)器 返回包含該ID的TSIG共享密鑰的配置映射信息成功響應(yīng);否則,給ID管理服務(wù)器返回配 置映射信息失敗響應(yīng);(18)ID管理服務(wù)器接收到響應(yīng)消息,若配置成功,則將包括TSIG共享密鑰、DHT圓環(huán)的 入口服務(wù)器地址的信息組成注冊請求成功響應(yīng),以安全方式發(fā)送到主機(jī),主機(jī)對其驗(yàn)證后, 獲得TSIG共享密鑰和DHT圓環(huán)的入口服務(wù)器地址;若配置失敗,則給主機(jī)返回注冊請求失 敗響應(yīng),以使主機(jī)重新注冊;主機(jī)和DHT圓環(huán)之間共享TSIG密鑰后,主機(jī)就能向DHT圓環(huán)發(fā) 送采用該共享密鑰加密的更新消息,DHT圓環(huán)則使用TSIG共享密鑰來驗(yàn)證更新消息,確保 更新源的可信任性與更新消息的正確性。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(2)包括下列操作內(nèi)容(21)DHT入口服務(wù)器的安全處理模塊采用與DNS服務(wù)器生成密鑰對相同的算法,為其 所在的DHT圓環(huán)管理的域生成密鑰對,共生成兩個(gè)密鑰對密鑰簽名密鑰對KSK和區(qū)域簽名 密鑰對MK,每個(gè)密鑰對都包含一個(gè)公鑰和一個(gè)私鑰,后者用于計(jì)算映射記錄的簽名,前者 用于計(jì)算對ZSK的簽名,以使其得到驗(yàn)證;(22)密鑰對生成后,消息轉(zhuǎn)換模塊將域名作為key、密鑰對作為value生成一個(gè)DHT更 新消息,再由存儲(chǔ)查詢模塊根據(jù)DHT算法將該(key,ValUe)對存儲(chǔ)于對應(yīng)的DHT服務(wù)器;當(dāng) 管理員需要更換密鑰對,生成新的密鑰對后,由存儲(chǔ)查詢模塊對該DHT圓環(huán)中存儲(chǔ)該密鑰 對的所有DHT服務(wù)器進(jìn)行更新;DHT服務(wù)器在DHT圓環(huán)中查詢獲得最新密鑰對后使用該密 鑰,因DHT圓環(huán)中冗余存儲(chǔ)數(shù)據(jù),故某個(gè)存儲(chǔ)密鑰對的DHT服務(wù)器退出該DHT圓環(huán),不會(huì)丟 失該密鑰對信息;(23)安全處理模塊為密鑰對中的公鑰生成摘要,再將公鑰摘要手工添加到上層授權(quán) DNS服務(wù)器的區(qū)文件中,以使上層授權(quán)DNS服務(wù)器擁有DHT圓環(huán)的公鑰摘要,能用自己的 ZSK私鑰對DHT圓環(huán)的公鑰摘要進(jìn)行數(shù)字簽名,這樣,只要信任父域授權(quán)DNS服務(wù)器,就信任 經(jīng)父域授權(quán)DNS服務(wù)器簽名的DHT圓環(huán),從而DHT圓環(huán)就和上層授權(quán)DNS服務(wù)器建立了信 任鏈;(24)在上層授權(quán)DNS服務(wù)器之間建立信任鏈子域授權(quán)DNS服務(wù)器先生成自己的密鑰 對,再將公鑰告知其父域授權(quán)DNS服務(wù)器;以此類推,直到授權(quán)DNS根服務(wù)器;當(dāng)授權(quán)DNS根 服務(wù)器生成密鑰對后,要向所有本地DNS服務(wù)器發(fā)布自己的公鑰,以使每個(gè)本地DNS服務(wù)器 都擁有DNS根服務(wù)器的公鑰。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(3)中,映射信息更新過程包括 下列操作內(nèi)容(31)主機(jī)的DNS解析器使用TSIG共享密鑰對DNS更新消息加密后,將其發(fā)送給其歸屬的DHT圓環(huán)的入口服務(wù)器;(32)DHT服務(wù)器的消息轉(zhuǎn)換模塊接收到DNS更新請求后,解析其中的ID和Locator映 射信息,將ID作為key值構(gòu)成一個(gè)DHT查詢請求,傳遞給存儲(chǔ)查詢模塊;(33)存儲(chǔ)查詢模塊通過DHT算法查詢DHT圓環(huán)存儲(chǔ)該ID的value值,構(gòu)成一個(gè)DHT查 詢響應(yīng)并傳遞給消息轉(zhuǎn)換模塊;(34)消息轉(zhuǎn)換模塊解析該DHT查詢響應(yīng),獲得vlaue值中的TSIG共享密鑰,傳遞給安 全處理模塊;(35)安全處理模塊使用該TSIG共享密鑰驗(yàn)證該更新消息,驗(yàn)證通過后,使用DHT圓環(huán) 的ZSK私鑰對該ID對應(yīng)的映射信息進(jìn)行數(shù)字簽名,然后將該ID的映射信息、對映射信息的 數(shù)字簽名和TSIG共享密鑰一起傳遞給消息轉(zhuǎn)換模塊;(36)消息轉(zhuǎn)換模塊將該ID作為key,該ID的映射信息、對映射信息的數(shù)字簽名和TSIG 共享密鑰一起作為value,組成(key,value)對構(gòu)造一個(gè)DHT更新消息傳遞給存儲(chǔ)查詢模 塊;(37)存儲(chǔ)查詢模塊使用DHT算法將DHT更新消息路由到DHT圓環(huán)存儲(chǔ)該映射信息的相 應(yīng)DHT服務(wù)器,并更新該ID的value,然后根據(jù)更新結(jié)果,給消息轉(zhuǎn)換模塊返回DHT更新響 應(yīng);(38)消息轉(zhuǎn)換模塊根據(jù)DHT更新響應(yīng)的不同結(jié)果,構(gòu)造相應(yīng)的DNS更新響應(yīng)發(fā)送給主 機(jī)端。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于所述步驟(3)中,映射信息查詢過程包 括下列操作內(nèi)容(3A)主機(jī)的DNS解析器向本地DNS服務(wù)器發(fā)起DNS查詢消息; (3B)本地DNS服務(wù)器向授權(quán)DNS服務(wù)器發(fā)起DNS查詢消息;(3C)經(jīng)過遞歸查詢后,授權(quán)DNS服務(wù)器給本地DNS服務(wù)器返回DNS查詢響應(yīng),其中包括 請求查詢的映射信息所歸屬DHT圓環(huán)的DHT入口服務(wù)器地址和該DHT圓環(huán)的公鑰;(3D)本地DNS服務(wù)器根據(jù)接收到的DNS查詢響應(yīng),向DHT服務(wù)器發(fā)送DNS查詢消息; (3E)該DHT服務(wù)器的消息轉(zhuǎn)換模塊接收和解析DNS查詢消息,獲得ID后,將該查詢消 息中的ID作為key值,構(gòu)成DHT查詢請求傳遞給存儲(chǔ)查詢模塊;(3F)存儲(chǔ)查詢模塊根據(jù)DHT查詢請求中的ID,使用DHT算法查詢DHT圓環(huán)是否存儲(chǔ)有 該ID的value值,如果有,則給消息轉(zhuǎn)換模塊返回包含該value值的DHT查詢響應(yīng);如果 無,則給消息轉(zhuǎn)換模塊返回空響應(yīng);(3G)消息轉(zhuǎn)換模塊接收和解析DHT查詢響應(yīng),若響應(yīng)不為空,則將value中的ID映射 信息與該映射信息的數(shù)字簽名信息構(gòu)造一個(gè)DNS查詢響應(yīng),發(fā)送給本地DNS服務(wù)器;否則, 由安全處理模塊生成一個(gè)表示不存在該映射信息的特殊記錄,并使用ZSK私鑰進(jìn)行數(shù)字簽 名后,將該特殊記錄和數(shù)字簽名構(gòu)造為DNS響應(yīng)發(fā)送給本地DNS服務(wù)器;(3H)本地DNS服務(wù)器使用DHT圓環(huán)的公鑰驗(yàn)證該響應(yīng)消息,確認(rèn)無誤后發(fā)送給主機(jī)的 DNS解析器。
全文摘要
一種經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)及其實(shí)現(xiàn)DNS安全的方法,映射系統(tǒng)包括具有DNS解析器的主機(jī)、本地與授權(quán)的DNS服務(wù)器、DHT圓環(huán)中的DHT服務(wù)器,作為映射服務(wù)器的DNS服務(wù)器和DHT服務(wù)器共同管理身份到位置的映射信息,并為主機(jī)查詢映射信息。系統(tǒng)綜合了DNS和DHT兩者優(yōu)點(diǎn),既吸收DNS樹形結(jié)構(gòu),支持映射信息的層次化查詢,具備合理的商業(yè)和信任模型;也繼承DHT冗余備份、健壯性強(qiáng)等優(yōu)點(diǎn),該系統(tǒng)基于現(xiàn)有DNS映射系統(tǒng)的改進(jìn)就能實(shí)現(xiàn),減少網(wǎng)絡(luò)構(gòu)建的大量財(cái)力與人力。本發(fā)明在DHT圓環(huán)和上層DNS服務(wù)器之間建立完整的信任鏈,利用位于身份與位置分離架構(gòu)的ID管理服務(wù)器自動(dòng)分發(fā)TSIG密鑰,保證DNS原有的DNSSEC和TSIG安全機(jī)制仍能在經(jīng)過DHT擴(kuò)展的DNS映射系統(tǒng)中完整地實(shí)現(xiàn)。
文檔編號H04L29/06GK102045413SQ20111002601
公開日2011年5月4日 申請日期2011年1月24日 優(yōu)先權(quán)日2011年1月24日
發(fā)明者盧美蓮, 張晶晶, 張愛華, 王文東, 闕喜戎, 龔向陽 申請人:北京郵電大學(xué)