DNSSEC 提供之資訊安全
1.資料完整性 (data integrity)
2.來源可驗證性 (origin authentication of DNS data)
在數位簽章的概念中,當資料完整性被驗證後,我們已經可以確認資料未被竄改,而且確實由負責該 Domain 之 DNS Server 提供,但我們該如何驗證該 Domain 之 DNS Server 確實是真實的而非駭客自行架設的 DNS Server。
在個人的數位簽章中,通常需將個人的 Public Key 交由公正的第三方加以驗證,也就是這把 Public Key 確實代表我個人。
而在 DNSSEC 中,所謂的公正的第三方就是上層的 Domain DNS Server,也就是 DNS Server 必須將自己的 Public Key (DNSKEY) 做一次數位簽章後放在 Parent Zone Server,這種新的 RR(Resource Record) types 稱為DS(Delegation Signer),因此由 Parent Zone 中的 DS 紀錄可驗證 Child Zone之 DNSKEY 確實是正確且未經竄改。
也就是當我們相信 Parent Zone 的機器時,就可以信任 Child Zone 所詢問而得到的 DNS 結果,而又該如何相信 Parent Zone 呢? 就是相信 Parent of Parent Zone,如此層層認證,最後僅要我們相信 root zone,整個 DNS 信賴鍊就可完整構成。root Zone 因有專人負責管理,理論上應該不易被駭客入侵。
3.可驗證之不存在性 (authenticated denial of existence)
一種常見的公私鑰匙加密的應用是數位簽章,例如某用戶A剛完成了一封電子信件,A根據該信件的內容使用雜湊函式產生一組驗證值(Hash Value),接著以自己的私有鑰匙對該驗證值加密、產生一組數位簽章,並將該簽名附於信末,之後寄出給B。
B收到信後先利用A的公眾鑰匙解開該信的數位簽章,若順利無誤,B即可確定該信的確是來自A,接著B使用同樣的雜湊函式計算該信的驗證值,若發現與先前公眾鑰匙解開的數位簽章內附的值相同,表示該信內容未遭竄改。上述的數位簽章的功能證明了三件事:
信件來源確實是A
信件內容沒有遭竄改
發信人A無法否認曾發過信
DNSSEC之限制:
(1)隱密性(Confidentiality)DNSSEC 傳遞的 RR & 及RRSIG 傳輸過程皆未加密,因此中間可能被sniffer 之設備或程式讀取。但被讀取不代表能假造,因為駭客並無 DNS Server 之 Private Key,因此無法假造出 RRSIG 的資料而不被發覺。
(2)服務可用性(Availability)
DNSSEC 僅是一項服務,若有駭客發動DDoS 攻擊,不斷的詢問成千上萬個網址,則 DNS Server 可能因負荷過重而無法正常運作。不過這項弱點應是所有 Internet 服務皆共有的現象,而不單是 DNSSEC 之弱點。