複製鏈接
請複製以下鏈接發送給好友

DNSSec

鎖定
Domain Name System Security Extensions (DNSSEC)DNS安全擴展,是由IETF提供的一系列DNS安全認證的機制(可參考RFC2535)。它提供了一種來源鑑定和數據完整性的擴展,但不去保障可用性、加密性和證實域名不存在。
中文名
DNS安全擴展
外文名
Domain Name System Security Extensions
簡    寫
DNSSEC
來    源
來源鑑定和數據完整性的擴展
提供者
IETF
目    的
通過對數據進行數字“簽名”來抵禦攻擊

目錄

DNSSec簡介

若要通過互聯網聯繫他人,就必須在計算機中鍵入一個地址(以名稱或數字表示)。該地址必須是唯一的,這樣計算機才能確定彼此的位置。 ICANN負責在全球範圍內協調此類唯一標識符。如果沒有這種協調,我們就不會擁有統一的全球互聯網。 在鍵入名稱時,必須首先由某個系統將該名稱轉換為數字,然後才能建立連接。該系統稱為域名系統 (Domain Name System, DNS) ,它將類似於 www. icann. org的名稱轉換為數字,這些數字稱為互聯網協議 (Internet Protocol, IP) 地址。 ICANN 對尋址系統進行協調,以確保所有地址都是唯一的。
最近,人們在 DNS 中發現了一些漏洞,攻擊者可以利用這些漏洞劫持這一使用名稱在 互聯網 上搜尋某個人或某個站點的過程。這種攻擊的目的是取得對會話的控制以實施某種操作,例如使用户進入劫持者自己設立的欺騙性網站,以便收集用户的帳户和密碼。
由於這些漏洞的存在,人們越來越希望引入一種稱為 DNS 安全擴展 (DNS Security Extensions, DNSSEC) 的技術,以保護 互聯網 的這一部分基礎 設施 。

DNSSec重要性

下面的問題和答案試圖説明 DNSSEC 是什麼以及為什麼説它的實施很重要。
(1) 首先,什麼是根區域?
DNS 將人們可以記住的域名轉換為計算機使用的數字以尋找其目的地(有點類似於用來查找電話號碼的電話簿)。它分階段完成此項工作。它“查找”的第一個地方是目錄服務的頂級域,即“根區域”。以 www. google. com 為例,您的計算機將“詢問”根區域目錄(即頂級域)到何處去查找有關“ .com ”的信息。在得到答覆後,它將詢問由根區域目錄標識的“ .com ”目錄服務 到何處查找有關 . google. com (第二級)的信息,並最終詢問由“ .com ”標識的 google. com 目錄服務 www. google. com 的地址是什麼(第三級)。在執行該過程以後(該過程幾乎瞬間完成),您的計算機就可以獲得完整的地址。這些目錄服務分別由不同的實體 i 進行 管理: google. com 由 Google 管理,“ .com ”由 VeriSign Corporation 管理(其他頂級域由其他組織管理),而根區域由 ICANN 管理。
(2) 為什麼我們需要“對根區域進行簽名”?
通過將最近在 DNS 中發現的漏洞與技術進步相結合,攻擊者已經大大縮短了劫持 DNS 查找過程的任一步驟所需的時間,從而可以更快地取得對會話的控制以實施某種惡意操作(例如,使用户進入劫持者自己設立的欺騙性網站,以便收集用户的帳户和密碼)。若要在長期內消除此漏洞,唯一的解決方案是以端到端的形式部署一種稱為 DNS 安全擴展 (DNS Security Extensions, DNSSEC) 的安全協議。
(3) 什麼是 DNSSEC ?
開發 DNSSEC 技術的目的之一是通過對數據進行數字“簽名”來抵禦此類攻擊,從而使您確信數據有效。但是,為了從互聯網中消除該漏洞,必須在從根區域到最終域名(例如, www. icann. org )的查找過程中的每一步部署該項技術。對根區域進行簽名(在根區域部署 DNSSEC )是整個過程中的 必要步驟。需要説明的是,該技術並不對數據進行加密。它只是驗證您所訪問的站點地址是否有效。
(4) 哪些因素能夠阻止尋址鏈的所有其他部分利用 DNSSEC ?
什麼因素都無法阻止。但是,像任何依賴於其他部分來發揮作用的鏈一樣,如果您不對根區域進行簽名,就會存在重大缺陷。即,尋址鏈的某些部分可以信任,而其他部分可能無法信任。
(5) 對於普通用户而言,該技術將如何提高安全性?
完全部署 DNSSEC 可以確保最終用户連接到與特定域名相對應的實際網站或其他服務。儘管這不會解決 互聯網 的所有安全問題,但它確實保護了 互聯網 的關鍵部分(即目錄查找),從而對 SSL (https:) 等其他保護“會話”的技術進行了補充,並且為尚待開發的安全改進技術提供了平台。
(6) 在對根區域進行簽名時,實際發生了什麼事情?
使用 DNSSEC “對根區域進行簽名”時,將在根區域文件中為每個頂級域再添加幾條記錄。所添加的內容是一個密鑰以及一個驗證該密鑰是否有效的簽名。
DNSSEC 為記錄提供了驗證途徑。它不會加密數據或更改數據的管理方式,並且與當前的 DNS 和應用程序“向後兼容”。這意味着它不會更改 互聯網 的尋址系統所基於的現有協議。它將一系列數字簽名結合到 DNS 層次結構中,並使每個級別都擁有其自己的簽名生成密鑰。這意味着,對於類似於 www. icann. org 的域名,該路徑上的每個組織都必須對低於它的組織的密鑰進行簽名。例如, .org 對 icann. org 的密鑰進行簽名,根區域對 .org 的密鑰進行簽名。在驗證過程中, DNSSEC 沿着該信任鏈一直追溯到根區域,並自動使用該路徑上的“父”密鑰驗證“子”密鑰。因為每個密鑰都可以由它上面的一個密鑰進行驗證,所以驗證整個域名所需的唯一密鑰是最頂層的父密鑰(即根密鑰)。
但是,此層次結構意味着,即使對根區域進行了簽名,跨所有域名完全部署 DNSSEC 也將是一個相當耗時的過程,因為下面的每個域也都需要由其各自的運營商進行簽名,以便完成特定的信任鏈。對根區域進行簽名只是一個起點。但它是至關重要的。最近, TLD 運營商已經加快了在 其區域( .se 、 .bg 、 .br 、 .cz 、 .pr do now with .gov 、 .uk 、 .ca 和其他即將出現的區域)上部署 DNSSEC 的工作進度,而其他運營商預計也將這樣做。
(7) 根區域文件是如何管理的?

DNSSec特徵

根區域的管理由以下四個實體共同完成:
(i) ICANN 履行 “ IANA ” 職能 , 這是一家與美國 商務 部籤 有 合同的國際非營利性公司。 IANA 表示互聯網編號分配機構 ( Internet Assigned Numbers Authority ) 。 ICANN 接收和審查來自頂級域 (TLD) 運營商 ( 例如 ,“ com ”) 的信息。
(ii) 國家電訊管理中心 ( National Telecommunications and Information Administration, NTIA) 對根區域的變更進行授權 , 這是美國商務部內部的一個政府機關。
(iii) VeriSign 是一家總部設在美國的營利性公司 , 該公司與美國政府簽訂了合同 , 負責使用由 ICANN 提供和驗證且由美國商務部授權的變更信息對根區域進行編輯 , 並對包含有關到何處查找有關 TLD ( 例如 ,“ com ”) 的信息的根區域文件進行分發 ;
(iv) 一組國際性根服務器運營商,這些運營商志願運行和擁有遍佈全球的 200 台以上的服務器, 而這些服務器負責在整個 互聯網 中分發來自根區域文件的根信息。按字母編號,根服務器的運營商為:
  1. VeriSign Global Registry Services ;
  2. 位於南加利福尼亞大學 (USC) 的信息科學研究所 (Informati o n Sciences Institute) ;
  3. Cogent Communications ;
  4. 馬里蘭大學 ;
  5. 美國 國家航空航天局艾姆斯研究中心 (NASA Ames Research Center) ;
  6. Internet Systems Consortium Inc. ;
  7. 美國國防部網絡信息中心 (U.S. DOD Network Information Center) ;
  8. 美國陸軍研究實驗室 (U.S. Army Research Lab) ;
  9. Autonomica/NORDUnet ( 瑞典 );
  10. VeriSign Global Registry Services ;
  11. RIPE NCC ( 荷蘭 );
  12. ICANN
  13. WIDE Project ( 日本 ) 。
(8) 為什麼由一家組織對信息進行審查、編輯和簽名對於 DNSSEC 安全很重要?
對於 DNSSEC 而言,信任鏈中每個鏈路的作用都基於用户對於為該鏈路審查密鑰和其他 DNS 信息的組織所具有的信任。為了保證這些信息的完整性以及維持這一信任,在對數據進行驗證之後 必須立即採取措施,防止其出現錯誤(無論是惡意的還是偶然的) — 在跨組織邊界交換重要數據時, 隨時都可能引入錯誤。讓同一個組織和系統將經過驗證的材料直接納入已簽名的區域中,可以一直維持信任,直到發佈為止。這種方式只是更加安全。
隨着人們對於 DNSSEC 將帶來的 DNS 安全越來越有信心,將對於從 ICANN 驗證和鑑別 TLD 信任支持材料的過程中獲得的信任一直維持到已簽名的根區域文件就變得越發重要。
(9) 在 DNSSEC 中 , 什麼是 KSK 和 ZSK ?
KSK 表示密鑰簽名密鑰 (Key Signing key) (一種長期密鑰), ZSK 表示區域簽名密鑰 (Zone Signing Key) (一種短期密鑰)。如果有足夠的時間和數據,加密密鑰最終都會被破解。對於 DNSSECv 中使用的非對稱密鑰或公鑰密碼系統而言,這意味着攻擊者可通過強力攻擊方法或其他方法確定公鑰 - 私鑰對的私鑰部分(該部分用於創建對 DNS 記錄的有效性進行驗證的簽名),從而使 DNSSEC 提供的保護失效。 DNSSEC 使用短期密鑰(即區域簽名密鑰 (ZSK) ) 來定期計算 DNS 記錄的簽名,同時使用長期密鑰(即密鑰簽名密鑰 (KSK) ) 來計算 ZSK 上的簽名,以使其可以得到驗證,從而挫敗了這些破解企圖。 ZSK 被頻繁更改或滾動,以使攻擊者難以“猜測”,而期限較長的 KSK 則經過一個長得多的時段之後才更改(當前的最佳做法是以年為單位設置此時段)。由於 KSK 對 ZSK 進行簽名而 ZSK 對 DNS 記錄進行簽名,因此只需具有 KSK 即可對區域中的 DNS 記錄進行驗證。 它是以 授權簽名者 (Delegation Signer, DS) 記錄形式傳遞到“父”區域的一個 KSK 示例 。父區域(例如,根區域)使用其自己的、由其自己的 KSK 簽名的 ZSK 對子區域(例如, .org )的 DS 記錄進行簽名。
這意味着,如果 DNSSEC 被完全採用,則根區域的 KSK 將是每個經 DNSSEC 驗證的域名(或尚待開發的應用程序)的驗證鏈的一部分。
(10) 誰管理這些密鑰?
根據此提案, ICANN 將保持密鑰基礎設施,但用於實際生成 KSK 的憑據將由外方持有。要使此過程在全球得到全面接受,這是一個很重要的因素。 ICANN 未就各實體在持有憑據時所應採用的具體解決方案提出建議,而是認為,像上述所有問題一樣,此問題的解決應向公眾徵求意見,並由美國商務部作出決定。

DNSSec須知

1. 路由器必須能夠處理什麼樣的信息
路由器必須能夠處理大於正常大小的DNS包。原因在於新的授權規定,DNS當前所用的是512字節的UDP包,DNSSEC響應的大小大於512字節。這會帶來一些問題。某些路由器的程序設定會拒絕大於512字節的DNS包。
2. 確認路由器是否兼容DNSSEC
3. 其他一些DNS安全測試
拒絕非初始DNS查詢
隨機分配DNS查詢端口
4. 固件升級
升級網關設備上固件永遠都沒有錯,而且現在比以往更為重要。
5. 上游互聯網提供商是否做好準備 [1] 
參考資料