Check-Host.cc

全球 DNSKEY 驗證工具

DNSKEY 資源紀錄是 DNSSEC (網域名稱系統安全擴充) 的加密基礎。核心 DNS 協定本質上是未加密且無狀態 (stateless) 的,這使其極易遭受快取中毒 (cache poisoning) 和中間人 (MitM) 欺騙攻擊。DNSSEC 透過在 DNS 回應中附加數學的加密簽章來解決此問題。DNSKEY 紀錄充當公開金鑰儲存庫;它保存了 Base64 編碼的公開金鑰,遠端解析器會使用這些金鑰來驗證 A 或 MX 紀錄的 Payload 是否真正源自權威名稱伺服器,且在傳輸過程中未被竄改。

ZSK 與 KSK 架構

標準的 DNSSEC 實作部署了兩把不同的金鑰,以平衡安全性與營運效率。Zone Signing Key (ZSK) 是一把較小、低負載的加密金鑰,用於快速簽署區域內的個別紀錄(A、TXT、CNAME)。因為它處理大量簽署 (bulk signing),ZSK 會頻繁輪替(例如,每 30 天),以防止暴力破解 (brute-force)。Key Signing Key (KSK) 則是一把強大得多、受到嚴密保護的金鑰。它唯一的目的是用來簽署 ZSK 本身。透過分離這些金鑰,管理員可以在名稱伺服器上本機輪替 ZSK,而無需不斷地與父 TLD 註冊中心通訊。

信任鏈 (Chain of Trust) 與 DS 紀錄

除非有一條延伸到網際網路根目錄的可驗證信任路徑,否則在您的區域中發佈 DNSKEY 紀錄是沒有用的。一旦 KSK 產生了簽章,該 KSK 的數學雜湊值就會作為 DS (Delegation Signer) 紀錄提交給網域註冊商。註冊商將此 DS 紀錄發佈在父 TLD 區域(如 .com 註冊中心)中。當遞迴解析器查詢您的網域時,它會從父節點提取 DS 紀錄以驗證 KSK,使用 KSK 驗證 ZSK,並使用 ZSK 驗證最終的 IP 位址。如果此加密鏈中的任何一個環節斷裂,驗證將會完全失敗。

災難性的 SERVFAIL 中斷

管理 DNSKEY 紀錄需要絕對的精確度。DNSSEC 被設計為「失敗則關閉 (fail closed)」。如果自動化腳本在伺服器上輪替了 ZSK,但對應的公開 DNSKEY 紀錄並未在全域區域中更新,加密簽章將不匹配。ISP 和公共解析器(如 Google 8.8.8.8 和 Cloudflare 1.1.1.1)會將其解釋為活躍的網路攻擊。它們會立即丟棄 DNS 回應並將致命的 SERVFAIL 狀態回傳給用戶端,這形同將網域從網際網路上抹除,直到手動同步金鑰或在註冊商層級完全停用 DNSSEC 為止。