域名系統安全擴展

域名系統安全擴展（Domain Name System Security Extensions，縮寫為DNSSEC）是Internet工程任務組 （IETF）的對確保由域名系統 （DNS）中提供的關於互聯網協議（IP）網絡使用特定類型的信息規格套件。它是對DNS提供給DNS客戶端（解析器）的DNS數據來源進行認證，並驗證不存在性和校驗數據完整性驗證，但不提供機密性和可用性。

**概述**
域名系統（DNS）的原始設計不包含任何安全細節；相反的，它被設計成一個可擴增的分散式系統(Distributed system)。域名系統安全擴展（DNSSEC）嘗試在其中添加安全性，同時仍保持向後兼容性。 RFC 3833記錄了DNS的一些已知威脅以及DNSSEC如何應對這些威脅。
DNSSEC旨在保護應用程式（以及服務這些應用程式的緩存解析器）免受偽造或不當操縱的DNS數據所造成的影響（例如域名服務器緩存汙染的數據）。來自DNSSEC保護區的所有答案都經過數位簽章。通過檢驗數位簽章，DNS解析器可以核查信息是否與區域所有者發布的信息相同（未修改和完整），並確係實際負責的DNS服務器所提供。雖然保護IP地址的正確性是許多用戶關注DNSSEC的直接課題，DNSSEC還可以保護DNS中發布的其他任何數據：包括文本記錄（TXT）和郵件交換記錄（MX），並可用於引導發布參照存儲在DNS中的加密證書的其他安全系統：例如證書記錄（CERT記錄，RFC 4398），SSH指紋（SSHFP，RFC 4255），IPSec公鑰（IPSECKEY，RFC 4025）和TLS信任錨（TLSA，RFC 6698）。

**DNSSEC 新增的資源記錄**
DNSSEC新增的記錄如下

**RRSIG**
即資源記錄簽名（Resource Record Signature），資源記錄除了A和AAAA之外，也包括DNSKEY、DS、NSEC等記錄，RRSIG用於存放各個資源記錄的簽名，包括- 算法類型 - 標籤 (泛解析中原先 RRSIG 記錄的名稱)- 原 TTL 大小- 簽名失效時間- 簽名簽署時間- Key 標籤 (用來迅速判斷應該用那個 DNSKEY 記錄來驗證的一個數值)- 簽名名稱 (用於驗證該簽名的 DNSKEY 名稱)- 簽名

**DNSKEY**
該記錄用於存放用於檢查 RRSIG 的公鑰。其包括- 標識符 (Zone Key (DNSSEC密鑰集) 以及 Secure Entry Point (KSK和簡單密鑰集))- 協議 (固定值3 向下兼容)- 算法類型 - 公鑰內容

**DS**
即委派簽名者（Deligated Signer），該記錄用於存放 DNSKEY 中公鑰的散列值 ，包括- Key 標籤：用來判斷應該用哪個 DNSKEY 記錄進行驗證的一個數值- 算法類型：常見的有RSASHA1、RSASHA256、ECDSAP256SHA256，具體可參考附錄「算法類型列表」- 摘要類型：創建摘要值的加密散列算法，主要使用SHA256，具體可參考附錄「摘要類型列表」- 摘要內容: 一串散列數據，由DNSKEY經由摘要類型算法得出 

**NSEC和NSEC3**
即下一個安全（Next Secure）記錄，用於明確表示特定域名的記錄不存在。

**CDNSKEY和CDS**
用於請求對父區域中的 DS 記錄進行更新的子區域。

**部署**
2010年7月18日，根域名服務器（root-servers.net）已經完成DNSSEC簽名。
目前已部署在.com、.net、.org、.int、.edu、.mil和.gov等頂級域(gTLD)，以及部分國家和地區頂級域（ccTLD）。

**參見**
DNSCrypt
*DNSCurve
*EDNS
*TSIG
*RPKI

**外部鏈接**

**組織和網站**
  DNSSECdate=20171223091550  - DNSSEC information site: DNSSEC.net-  DNSEXT DNS Extensions IETF Working Group-  CircleID - News and Opinions on all DNSSEC related issues date=20201211183947 -  DNSSEC-Tools Projectdate=20090918102710 -  DNSSEC Deployment Coordination Initiativedate=20180404190819 -  DNSSEC Deployment Teamdate=20170910160611 -  ICANN DNS Operations Teamdate=20140718043746 

**標準文檔**
 RFC 2535 Domain Name System Security Extensions- RFC 3833 A Threat Analysis of the Domain Name System- RFC 4033 DNS Security Introduction and Requirements (DNSSEC-bis)- RFC 4034 Resource Records for the DNS Security Extensions (DNSSEC-bis)- RFC 4035 Protocol Modifications for the DNS Security Extensions (DNSSEC-bis)- RFC 4398 Storing Certificates in the Domain Name System (DNS)- RFC 4470 Minimally Covering NSEC Records and DNSSEC On-line Signing- RFC 4509 Use of SHA-256 in DNSSEC Delegation Signer (DS) Resource Records (RRs)- RFC 5155 DNSSEC Hashed Authenticated Denial of Existence- RFC 6781 DNSSEC Operational Practices, Version 2

**其他文檔**
  A Fundamental Look at DNSSEC, Deployment, and DNS Security Extensions date=20201128074921  by Geoff Huston-  A short timeline of DNSSEC by Miek Gieben-  Enabling secure name resolution using DNSSEC for various applications date=20201021214845 -  DNSSEC Howto by Olaf Kolkman (RIPE NCC/NLnet Labs)-  Howto secure your (reverse) Zone date=20200924005124  by Holger Zuleger-  Easier Email Security is on the Way? date=20201005041524 -  "DNSSEC and the Zone Enumeration" by Marcos Sanzfix-attempted=yes -  DNSSEC BRIEFING and Root Zone Signing (Part I) date=20160303171050 , ccTLD paper on DNSSEC by ccNSO, February 2008-  DNSSEC in 6 Minutes  by Alan Clegg, Internet Systems Consortium (PDF-Datei; 315 kB)- Implementing DNSSEC date=20150427140701  Cisco Internet Protocol Journal- ICANN's TLD DNSSEC Reportdate=20190325014841  (generated daily)-  DNSSEC is unnecessary - Against DNSSECdate=20180202170513 -  DNSSEC is necessary - For DNSSECdate=20170111181003