域名系統安全擴展
編輯域名系統安全擴展 (DNSSEC) 是一組 Internet 標準,它向域名系統 (DNS) 添加安全機制以確保數據的真實性和完整性。 DNS 參與者可以使用它來驗證收到的 DNS 區域數據實際上與區域創建者授權的數據相同。 DNSSEC 是作為一種針對緩存中毒的補救措施而開發的。 它通過數字簽名保護資源記錄的傳輸。 服務器或客戶端未經過身份驗證。
DNSSEC 不提供機密性,因此 DNS 數據未加密。
概覽
編輯DNSSEC 使用非對稱密碼系統。 信息的“所有者”——通常是要保護的區域所在的主服務器——使用他的密鑰對每個單獨的記錄進行簽名。 DNS 客戶端可以使用所有者的公鑰驗證此簽名,從而驗證真實性和完整性。 DNSSEC 需要擴展 Extended DNS,使用它可以在 DNS 消息中傳輸附加參數。 EDNS 還取消了通過 UDP 的 DNS 消息的 512 字節大小限制。 傳輸密鑰和簽名需要明顯更長的 DNS 消息。
工作原理
編輯信息在 DNS 的資源記錄 (RR) 中提供。 DNSSEC 使用數字簽名確保此信息的真實性。 DNS 信息由對信息所在區域具有權威性的主服務器擁有。 為每個要保護的區域生成一個單獨的區域簽名密鑰(一對由公鑰和私鑰組成)。 區域密鑰的公共部分作為 DNSKEY 資源記錄包含在區域文件中。 該區域中的每個單獨的 RR 都使用私鑰進行數字簽名。 為此提供了一種新的 RR 類型,即 RRSIG 資源記錄,其中包含相關 DNS 條目的簽名。
除了實際的資源記錄之外,相關的 RRSIG-RR 也隨每個事務一起提供。 在區域傳輸的情況下,從服務器接收它,在遞歸解析的情況下,它存儲在緩存中。 最后,它結束于請求解析器。 然后可以使用公共區域密鑰來驗證簽名。
密鑰管理
為了便于密鑰管理,除了用于區域簽名的密鑰(區域簽名密鑰,ZSK)之外,還定義了語法相同的密鑰簽名密鑰(KSK)。 如果它包含的密鑰用于簽署區域中的資源記錄集,則在 DNSKEY 記錄的標志字段中設置位 7。 這適用于 KSKs 和 ZSK:DNSKEY 記錄使用 KSK 簽名,所有其他記錄使用 ZSK 簽名。 如果密鑰是區域驗證的起點,則設置第 15 位(安全入口點)——這適用于 KSK。 由于到目前為止還沒有使用其他位,因此標志字段的值對于 ZSK 為 256,對于 KSK 為 257。
只有包含實際區域密鑰的 DNSKEY 記錄才會使用此 KSK 進行簽名。 這樣的密鑰簽名密鑰用于形成信任鏈。 KSK 的哈希值存儲在更高級別區域的 DNS 記錄中,這確保了簽名 DNSKEY 記錄中區域密鑰的真實性。 與頻繁更新的區域密鑰相比,KSK 具有較長的使用壽命。
解析器評估
編輯工作站或智能手機等終端設備上的 DNS 解析器(在 DNS 術語中稱為存根解析器)通常無法驗證數字簽名的 DNS 記錄。 根據當前占主導地位的 DNS 理念,存根解析器是結構非常簡單的程序,它們依賴于遞歸名稱服務器來進行完整的名稱解析。 想要解析名稱的存根解析器向本地網絡或 Internet 服務提供商網絡中的名稱服務器發送相應的請求。 通過在 DNS 標頭中設置 DO 位 (DNSSEC OK),解析器可以告訴名稱服務器執行驗證。 為此,存根解析器必須支持擴展 DNS 擴展,因為那里指定了 DO 位。 但是,遞歸名稱服務器也可以配置為始終執行驗證,而不管 DO 位的存在或內容如何。 如果身份驗證成功,服務器會在響應中設置 AD 位(經過身份驗證的數據)。 如果身份驗證失敗,服務器將返回一般錯誤。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/342200/