域名系統安全擴充

域名系統安全擴充(英語:Domain Name System Security Extensions,縮寫為DNSSEC)是Internet工程任務組 (IETF)的對確保由域名系統 (DNS)中提供的關於網際網路協定(IP)網路使用特定類型的資訊規格套件。它是對DNS提供給DNS客戶端(解析器)的DNS資料來源進行認證,並驗證不存在性和校驗資料完整性驗證,但不提供機密性可用性[1]

概述

域名系統(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信任錨英語Trust anchor(TLSA,RFC 6698)。

DNSSEC 新增的資源記錄

DNSSEC新增的記錄如下[2]

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簽章[3]

目前已部署在.com.net.org.int.edu.mil.gov等頂級域(gTLD),以及部分國家和地區頂級域(ccTLD[4]

參見

外部連結

  1. ^ DNSSEC安全技術簡介. [2013-08-15]. (原始內容存檔於2012-12-20). 
  2. ^ DNSSEC 如何运作. www.cloudflare.com. [2021-10-24]. (原始內容存檔於2022-03-25) (中文(中國大陸)). 
  3. ^ available from IANA. [2013-07-19]. (原始內容存檔於2017-08-10). 
  4. ^ DNSSEC部署情形參見維基英文版List_of_Internet_top-level_domains(此英文條目對應之中文版本無此內容)

組織和網站

標準文件

  • 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

其他文件