Domain-Name-System
為什麼我們不能使用 DNS 來分發 SSL 證書?
大多數低成本的 SSL 證書提供商實際上只驗證您控制了一個域名。對於這些類型的證書,與其支付第三方來驗證我是否控制了域的 DNS 記錄,為什麼不在 DNS 中“簽署”證書?如果我在伺服器上生成密鑰對並在 DNS 中為主機名發布相同的公鑰,我認為這將是等效的安全級別。
我發現設計存在兩個問題,但看起來都很小:
- 不能以這種方式完成 EA 證書和驗證個人/公司詳細資訊的更高級別的證書。希望付費以在瀏覽器中獲得綠條的組織可以繼續這樣做。
- 帶有惡意 DNS 伺服器的惡意網路可能會將您重定向到不同的主機名和不同的受信任 SSL 證書。也許 DNSSEC 可以解決這個否認問題?
我不知道有任何瀏覽器實現了這樣的功能,但它似乎是一個好方法,至少可以在不顯示可怕的“不受信任的證書”對話框的情況下獲得受信任的加密連接。除了我上面提到的問題和現有的商業認證機構反對這個想法之外,還有其他原因會是一個壞主意嗎?
在 DNS 記錄中編碼 X.509 證書已經完全有可能——查看RFC 4398
CERT
中的記錄類型。它沒有在憤怒中完成的主要原因是因為傳輸機制還不安全。當根區域獲得 DNSSEC 簽名並且越來越多的 TLD 支持 DNSSEC 時,這將在今年晚些時候發生巨大變化。
DNS 查詢大小(如其他地方所述)也是一個問題,儘管值得注意的是,
CERT RR
它還允許您簡單地儲存可以從中下載真正 X.509 證書的 URL。在這一點上,有一些雞和蛋的問題,雖然……