DNSSEC 解析程式利用 DNSKEY 和 DS 記錄來驗證 DNS 記錄的真實性。
閱讀本文後,您將能夠:
複製文章連結
Domain Name System (DNS) 是網際網路的電話簿,但它在設計時沒有考慮到安全性。因此,建立了名為 DNSSEC 的選用安全性通訊協定,讓 Web 資產的擁有者可以更好地保護其應用程式的安全。DNSSEC 會將密碼編譯簽章新增至 DNS 記錄,藉此提高安全性;使用者可以檢查這些簽章,以確認記錄來自正確的 DNS 伺服器。
為了實作這些密碼編譯簽章,建立了兩種新的 DNS 記錄類型:DNSKEY 和 DS。DNSKEY 記錄包含公開簽署金鑰,DS 記錄包含 DNSKEY 記錄*的雜湊。
每個 DNSSEC 區域都會指派一組區域簽署金鑰 (ZSK)。這組金鑰包括私人和公用 ZSK。私人 ZSK 用於簽署該區域中的 DNS 記錄,公用 ZSK 用於驗證私人記錄。
公用 ZSK 發佈在 DNSSEC 記錄中,這是提供給 DNSSEC 解析程式的方式;解析程式將使用公用 ZSK 來確保來自該區域的記錄是真實的。DNSSEC 區域包含第二個 DNSSKEY 記錄,其中包含一個金鑰簽署金鑰 (KSK),可驗證公用 ZSK 的真實性,從而增加一層安全性。
DS 記錄用於驗證 DNSSEC 區域的子區域**的真實性。父區域上的 DS 金鑰記錄包含子區域中 KSK 的雜湊。因此,DNSSEC 解析程式可以透過雜湊其 KSK 記錄,並將其與父區域 DS 記錄中的內容進行比較,來驗證子區域的真實性。
*密碼編譯雜湊是字母數字輸入的單向加擾;雜湊通常用於儲存伺服器上的密碼等敏感性資訊。例如,輸入「cantguessthis」的雜湊是 18fe9934cf77a759eb2471f2b304708a。每當「cantguessthis」通過雜湊函數時,都會輸出相同的雜湊。但是沒有辦法僅使用雜湊來獲取原始輸入。雜湊本身基本上是無用的。
**子區域是另一個區域的委派子網域。例如,example.com 的 URL 可能包含帶有 blog.example.com 和 mail.example.com 等網域的子區域。