DNSSEC

**域名系統安全擴充**（英語：**D**omain **N**ame **S**ystem **Sec**urity 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

## 外部連結

### 組織和網站

* DNSSEC（頁面存檔備份，存於網際網路檔案館） - DNSSEC information site: DNSSEC.net
* DNSEXT DNS Extensions IETF Working Group
* CircleID - News and Opinions on all DNSSEC related issues （頁面存檔備份，存於網際網路檔案館）
* DNSSEC-Tools Project（頁面存檔備份，存於網際網路檔案館）
* DNSSEC Deployment Coordination Initiative（頁面存檔備份，存於網際網路檔案館）
* DNSSEC Deployment Team（頁面存檔備份，存於網際網路檔案館）
* ICANN DNS Operations Team（頁面存檔備份，存於網際網路檔案館）

### 標準文件

* 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 （頁面存檔備份，存於網際網路檔案館） by Geoff Huston
* A short timeline of DNSSEC by Miek Gieben
* Enabling secure name resolution using DNSSEC for various applications （頁面存檔備份，存於網際網路檔案館）
* DNSSEC Howto by Olaf Kolkman (RIPE NCC/NLnet Labs)
* Howto secure your (reverse) Zone （頁面存檔備份，存於網際網路檔案館） by Holger Zuleger
* Easier Email Security is on the Way? （頁面存檔備份，存於網際網路檔案館）
* "DNSSEC and the Zone Enumeration" by Marcos Sanz
* DNSSEC BRIEFING and Root Zone Signing (Part I) （頁面存檔備份，存於網際網路檔案館）, ccTLD paper on DNSSEC by ccNSO, February 2008
* DNSSEC in 6 Minutes by Alan Clegg, Internet Systems Consortium (PDF-Datei; 315 kB)
* Implementing DNSSEC （頁面存檔備份，存於網際網路檔案館） Cisco Internet Protocol Journal
* ICANN's TLD DNSSEC Report（頁面存檔備份，存於網際網路檔案館） (generated daily)
* DNSSEC is unnecessary - Against DNSSEC（頁面存檔備份，存於網際網路檔案館）
* DNSSEC is necessary - For DNSSEC（頁面存檔備份，存於網際網路檔案館）