域名系統(tǒng)的安全協(xié)議DNSSEC全面解析 |
發(fā)布時(shí)間: 2012/5/25 19:00:21 |
DNS是一個(gè)層次化的數(shù)據(jù)庫,它包括一系列記錄,描述了名稱、IP地址和其他關(guān)于億恩科技主機(jī)的信息。這些數(shù)據(jù)庫駐留在DNS億恩科技服務(wù)器中,DNS億恩科技服務(wù)器和Internet或Intranet互連。簡單地說,DNS就是為需要定位指定億恩科技服務(wù)器的網(wǎng)絡(luò)應(yīng)用提供一個(gè)名稱到地址的目錄服務(wù)。例如,用戶每發(fā)送一個(gè)電子郵件或者訪問一個(gè)Web網(wǎng)頁,都必須有一個(gè)DNS名。 問題在于用戶無法知道DNS應(yīng)答的來源是否正確或者是否包含正確的數(shù)據(jù)。只要稍微學(xué)習(xí)一下,甚至一個(gè)十幾歲的黑客都可以用錯(cuò)誤數(shù)據(jù)來破壞DNS億恩科技服務(wù)器,而Web客戶機(jī)卻識別不出錯(cuò)誤數(shù)據(jù)。這樣就帶來很大的麻煩,因?yàn)镈NS經(jīng)常被用作默認(rèn)的認(rèn)證系統(tǒng)。 例如,當(dāng)一個(gè)用戶在瀏覽器上點(diǎn)擊一家報(bào)紙的網(wǎng)站:(1tcdy.com)時(shí),他期望看到的網(wǎng)頁是那家報(bào)紙的。但是,DNS協(xié)議并不包含任何可以證明該網(wǎng)頁正確的機(jī)制,即該網(wǎng)頁確實(shí)是他期望的那家報(bào)紙的網(wǎng)頁。還會有一種更危險(xiǎn)的情況出現(xiàn),某些組織為了達(dá)到某種目的,把毫無防范的用戶引導(dǎo)到一個(gè)對該報(bào)紙進(jìn)行批評、或者蓄意篡改該報(bào)紙內(nèi)容甚至以誹謗的方式對事件進(jìn)行錯(cuò)誤報(bào)道的Web 億恩科技服務(wù)器上。 為了解決這一問題,IETF正在著手在DNS協(xié)議里加入安全擴(kuò)展協(xié)議,也就是所謂的域名注冊系統(tǒng)的安全協(xié)議(Domain Name System SECurity,DNSSEC)。 DNS的產(chǎn)生 在DNS之前,每個(gè)新的億恩科技主機(jī)都必須添加到位于斯坦福研究院的網(wǎng)絡(luò)信息中心(Stanford Reseach Institute's Network Information Center,SRI-NIC)的中央存儲設(shè)備里。直到90年代初,一直由該中心負(fù)責(zé)維護(hù)這些信息。SRI-NIC經(jīng)常發(fā)布億恩科技主機(jī)信息的文件,Arpanet(Internet的前身)上的所有億恩科技主機(jī)就拷貝這些文件。這種機(jī)制在Internet上只有少量億恩科技主機(jī)時(shí)是可以運(yùn)作的,但是隨著Internet的增長,這種機(jī)制就不穩(wěn)定了。 此外,這種機(jī)制中域名注冊管理的結(jié)構(gòu)非常簡單。因此,每一個(gè)在SRI-NIC注冊的億恩科技主機(jī)名都必須是惟一的。例如,那時(shí)侯在Internet上,無論在哪里都不可能有2個(gè)億恩科技主機(jī)同時(shí)叫做www。后來,SRI-NIC終于讓位給DNS。 DNS對Internet最重要的貢獻(xiàn)之一就是它可以在全球范圍內(nèi)把可以識別的億恩科技主機(jī)名惟一地映射成IP地址,即所謂的前向映射。DNS還有一些其他功能,包括反向映射(IP地址到億恩科技主機(jī)名的解析)、郵件交換信息(給一個(gè)給定億恩科技主機(jī)或者域確定一個(gè)郵件交換器)以及規(guī)范命名(系統(tǒng)化的命名方案)。 DNS的結(jié)構(gòu)和缺陷 DNS采用層次化結(jié)構(gòu),使得億恩科技主機(jī)名可以惟一化。DNS的結(jié)構(gòu)為反向樹結(jié)構(gòu),由樹葉走向樹根就可以形成一個(gè)全資格域名注冊(Fully Qualified Domain Name,F(xiàn)QDN),每個(gè)FQDN是惟一的。在樹中,由根到葉給出億恩科技主機(jī)名查詢結(jié)果,以便于找到屬于這臺億恩科技主機(jī)的IP地址。對于反向映射也有類似的樹存在,在樹中檢索查詢IP地址的目的是為了找到屬于這個(gè)IP地址的億恩科技主機(jī)名或者FQDN。 反向樹的頂端是DNS的根,通常以“.”表示,并且是FQDN中的最后一個(gè)字符。根下面的第一級劃分為大組,例如組織類(org)、工商類(com)和教育類(edu)等等。再下面一級通常表示一個(gè)特定的直接在org、edu和com域下面的組織或者公司。例如isc.org 或者 vix.com。“isc”和“vix”也都被認(rèn)為是域名注冊。 這種劃分域名注冊的方式使得每個(gè)億恩科技主機(jī)都可以在其歸屬的域(或者子域)內(nèi)有惟一的定義。這樣本地管理員就可以管理(增加、刪除或者改動)DNS億恩科技主機(jī)名和地址。DNS可以進(jìn)行億恩科技主機(jī)名本地管理的能力提供了巨大的靈活性和可擴(kuò)展性。 DNS所做的另一項(xiàng)改進(jìn)是提高每個(gè)域中包含信息的可用性。除了主億恩科技服務(wù)器外,其余的都成為二級或從億恩科技服務(wù)器。每個(gè)域都有一個(gè)以上的從億恩科技服務(wù)器。這些從億恩科技服務(wù)器負(fù)責(zé)檢驗(yàn)主億恩科技服務(wù)器的數(shù)據(jù)更新,如果檢測到有一個(gè)數(shù)據(jù)更新,從億恩科技服務(wù)器就傳送域的數(shù)據(jù),也就是所謂的域傳遞。 每個(gè)域都有一個(gè)序列號,當(dāng)主億恩科技服務(wù)器上的域數(shù)據(jù)更新時(shí),就要調(diào)整這個(gè)序列號。這種調(diào)整使得在億恩科技服務(wù)器上檢測到數(shù)據(jù)更新變得很容易。而能夠同時(shí)擁有一個(gè)以上域備份的能力可以冗余分配負(fù)載,使數(shù)據(jù)非常可靠。 DNS高效率的設(shè)計(jì)同時(shí)也帶來了負(fù)面影響,那就是眾多的安全性漏洞。例如,當(dāng)一個(gè)遠(yuǎn)程系統(tǒng)連接了一個(gè)應(yīng)用程序后,該應(yīng)用程序使用IP地址向DNS億恩科技服務(wù)器查詢DNS域名注冊,如果返回的域名注冊被該應(yīng)用程序所認(rèn)可,那么該遠(yuǎn)程系統(tǒng)也具備訪問權(quán)限。 實(shí)際上,一個(gè)惡意使用者能夠非常輕松地?fù)屨嫉揭粋(gè)很小的IP地址空間,同時(shí)在DNS億恩科技服務(wù)器上注冊,獲取這些IP地址的反向映射。 密碼簽名 由于DNS協(xié)議的局限,IETF已成立了DNSSEC工作組,目的是在現(xiàn)有的協(xié)議上增添附加的DNSSEC部分,從而解決DNS缺乏安全性的問題。伯克利Internet域名注冊保護(hù)協(xié)議(Berkeley Internet Name Daemon,BIND) 8.2中包含了一些DNSSEC的功能。 DNSSEC的目標(biāo)就是為在DNS內(nèi)部的信息同時(shí)提供權(quán)限認(rèn)證和信息完整性(參看附圖)。DNSSEC通過密碼可以實(shí)現(xiàn)這些目標(biāo)。 附圖顯示的是一對DNS詢問和應(yīng)答過程的示例,一個(gè)沒有采用DNSSEC協(xié)議,另一個(gè)采用了DNSSEC協(xié)議。注意,在采用DNSSEC協(xié)議的例子中,應(yīng)答信息中不僅包含了驗(yàn)證信息所需的簽名和關(guān)鍵字,而且包含了原始的詢問。這就是所謂的“事務(wù)處理和請求認(rèn)證”。這種方式向詢問者保證所得到的應(yīng)答確實(shí)是針對其原始問題的。 DNSSEC主要依靠公鑰技術(shù)對于包含在DNS中的信息創(chuàng)建密碼簽名。密碼簽名通過計(jì)算出一個(gè)密碼hash數(shù)來提供DNS中數(shù)據(jù)的完整性,并將該hash 數(shù)封裝進(jìn)行保護(hù)。私/公鑰對中的私鑰用來封裝hash數(shù),然后可以用公鑰把hash數(shù)譯出來。如果這個(gè)譯出的hash值匹配接收者剛剛計(jì)算出來的hash樹,那么表明數(shù)據(jù)是完整的。 不管譯出來的hash數(shù)和計(jì)算出來的hash數(shù)是否匹配,對于密碼簽名這種認(rèn)證方式都是絕對正確的,因?yàn)楣僅僅用于解密合法的hash數(shù),所以只有擁有私鑰的擁有者可以加密這些信息。因此,對于任何系統(tǒng),開發(fā)保護(hù)私鑰的公鑰技術(shù)是至關(guān)重要的。DNSSEC工作組定義的RFC 2541中解釋了這個(gè)問題。 DNSSEC的缺點(diǎn) 標(biāo)記和校驗(yàn)DNS數(shù)據(jù)顯然會產(chǎn)生額外的開銷,從而影響網(wǎng)絡(luò)和億恩科技服務(wù)器的性能。簽名的數(shù)據(jù)量很大,這就加重了DNS對Internet骨干網(wǎng)以及一些非骨干連接的負(fù)擔(dān)。產(chǎn)生和校驗(yàn)簽名也占用了很多CPU的時(shí)間。有時(shí)候,不得不把單處理器的DNS億恩科技服務(wù)器換成多處理器的DNSSEC億恩科技服務(wù)器。簽名和密鑰占用的磁盤空間和RAM容量達(dá)到它們表示的數(shù)據(jù)所占容量的10倍。同時(shí)數(shù)據(jù)庫和管理系統(tǒng)也不得不進(jìn)行相應(yīng)的升級和擴(kuò)容。 使用DNSSEC還有若干種直接的損失。相對于老的、只有DNS的軟件,DNSSEC軟件又龐大又復(fù)雜,許多軟件還很新,需要進(jìn)行實(shí)際操作和測試。DNSSEC還沒有和Internet的迅速發(fā)展同步,仍然有一些疑點(diǎn),可能需要進(jìn)一步檢查。 開發(fā)DNSSEC也有一定的風(fēng)險(xiǎn)。謹(jǐn)慎的選擇是在DNSSEC RFC提升為標(biāo)準(zhǔn)狀態(tài)后再等一兩年。到1999年12月,只有ISC的BIND 8.2完全使用了TSIG并部分使用了DNSSEC。其他銷售商(包括微軟)在未來版本中都將使用各種形式的TSIG。ISC的BIND 9.0將于2000年第一季度發(fā)表,它完全采用了DNSSEC。 工作進(jìn)展 對于DNSSEC在可操作方面的工作正在進(jìn)行之中,比如com管理者如何正確地簽發(fā)公鑰。為了解決這個(gè)問題,一個(gè)新的協(xié)議即將出現(xiàn)。此外,在同時(shí)發(fā)生的應(yīng)用中支持多個(gè)公/私鑰對也是必要的,但是如何實(shí)現(xiàn)還有待進(jìn)一步的工作。如果一個(gè)私鑰被破壞,那么就需要取消,可是目前還沒有一個(gè)設(shè)備可以檢測出來有錯(cuò)誤的密鑰。還有私鑰的安全問題,該密鑰從表面上講是全球Internet企業(yè)的密鑰,但是目前有關(guān)億恩科技服務(wù)器的管理正在變化之中。 盡管DNSSEC還處在開發(fā)過程中,但是任何依賴于Internet的組織都應(yīng)該把DNSSEC作為系統(tǒng)安全結(jié)構(gòu)里的關(guān)鍵部件,因?yàn)镈NS協(xié)議會因?yàn)閻阂馐褂枚獾狡茐,只有通過DNSSEC強(qiáng)大的加密技術(shù)才可以給所有方面的DNS提供整體的授權(quán)。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |