DNS 三 DNS SEC 網域名稱系統安全擴充套件

2022-02-20 04:27:29 字數 2849 閱讀 7806

網域名稱系統安全擴充套件(英語:domain name system security extensions,縮寫為dnssec)是internet工程任務組 (ietf)的對確保由網域名稱系統 (dns)中提供的關於網際網路協議 (ip)網路使用特定型別的資訊規格套件。它是對dns提供給dns客戶端(解析器)的dns資料**進行認證,並驗證不存在性和校驗資料完整性驗證,但不提供或機密性和可用性。---維基百科

簡單來說,dnssec 就是乙個對現有 dns 協議進行安全完善的拓展。他在現有的 dns 協議的基礎上,增加了幾個新的資源記錄來達到這個目的。

dnssec 正式來說最早可以追溯到 rfc 2535,2023年3月來自 ibm 的工程師 d. eastlake 提出了這個提案,不過要說到真正的實施部署,也是最近幾年才開始的。2023年7月18日,根網域名稱解析伺服器才完成了 dnssec 的部署。

這裡所指的資源記錄類似於我們現有的 a記錄、cname記錄以及txt記錄。

新增三種資源記錄型別:rrsig (resource record signature)、dnskey (dns public key)、ds (delegation signer)詳細內容如下

資源記錄簽名

該記錄用於存放我們當前網域名稱每一條記錄的 dnssec 簽名

格式記錄型別

該記錄用於存放我們用於檢查 dnssec 簽名的公鑰

格式

ds (delegation signer)

該記錄用於存放 dnssec 公鑰的雜湊值

格式

nsec (next secure)

用於驗證不存在的資源記錄

在這次的請求當中,我們可以看到伺服器給我們返回了兩條記錄,一條是 a記錄 另一條是 rrsig 記錄。a記錄 就是我們想要的結果,而 rrsig記錄 正如上面所講的,就是 dns 權威伺服器對這個解析結果的乙個數字簽名。dns 權威伺服器有相對應的私鑰,他的作用就是用來對 dns 請求結果進行數字簽名生成數字摘要,然後原先的記錄以及這條資訊摘要就會一同傳送給我們。資料報格式見下圖:

那麼,如何判斷我們拿到的結果並沒有被汙染呢,我們就可以通過請求 dnskey 來獲取對應的公開金鑰。拿到了公開金鑰之後,我們可以用他先來解密 rrsig 的摘要,然後我們利用相同的雜湊演算法在算一次摘要,然後將 rrsig 的摘要和自己算出來的摘要進行比對,如果相同的話就說明這次查詢結果是可信的.如下圖所示:

再那麼,你也許會問,為什麼挾持者不把 rrsig 以及 dnskey 記錄也給汙染了呢?這就涉及到了信任的問題。

下圖是通過 dnsviz 生成的 dnssec 信任鏈

無法保證私密性

dnssec 並沒有改變 dns 基於 udp 的通訊方式,資料流也都是明文傳輸,他所做的只是加上了乙個數字簽名,而中間人依然可以看到你請求了什麼、結果是什麼

挾持發生時不能告訴使用者真正的記錄

當使用者的 dns 被挾持的時候,使用者通過檢查 dnssec 簽名,可以知道自己得到的並不是真正的解析結果,而是得到了乙個被偽造的位址。但是,使用者並不知道真正的解析結果是什麼。

支援 dnssec的遞迴伺服器並不多

就目前國內而言,只有 cnnic 的 4.2.2.4 支援,其他例如 114.114.114.114 以及 223.5.5.5 都不支援

而國外的話,谷歌在 2013 年 5 月 6 號宣布其公共 dns 伺服器 8.8.8.8 以及 8.8.4.4 支援 dnssec。

演算法型別列表

1: rsa/md5

2: diffie-hellman

3: dsa/sha-1

4: elliptic curve

5: rsa/sha-1

6: dsa-nsec3-sha1

7: rsasha1-nsec3-sha1

8: rsa/sha-256

10: rsa/sha-512

12: rsa/sha-512

13: ecdsa curve p-256 with sha-256

14: ecdsa curve p-384 with sha-384

252: indirect

253: private dns

254: private oid

摘要型別列表

1: sha-1

2: sha-256

3: gost r 34.11-94

4: sha-384

rfc2535  

我所理解的 dnssec  

dnssec原理簡析及其實用性分析  

DNS網域名稱系統

前言 學過計算機網路的我們知道,整個 internet 網路就是乙個單一的 抽象的網路,各個主機通過全世界範圍內唯一的 32位識別符號 ip 位址來標識唯一性,很顯然,在網際網路中它們只能通過 ipip ip202.108.22.5 然而,當我們想要訪問的 變多,我們就不得不記住一串又一串長達 32...

DNS網域名稱系統

是網際網路使用的命名系統,用來把便於人們使用的機器名字轉換為ip位址。如果一台計算機上的dns服務出現了錯誤,就可能導致,internet雖然連線了,但是不能訪問網頁,但是qq可以上去。這是因為qq是直接訪問的是ip位址。劃分為根網域名稱,一級網域名稱,二級網域名稱等。根網域名稱就是乙個點.通常會省...

網域名稱系統DNS

網域名稱解析過程 不一定理解全部正確 dns 全稱為 domain name system 是乙個網域名稱解析系統,把網域名稱 www.baidu.com 解析為ip位址。所以,這個乙個系統,是乙個服務,需要有伺服器來跑這些服務。dns伺服器按層次結構進行組織,且這個組織和網域名稱的結構相對應,網域...