為什麼申請憑證需要佐證網站控管權?
為了防止他人替不屬於自己的網域取得憑證、進而冒充該網站,對訪客執行中間人攻擊或騙取個資、錢財。
憑證是「這個網域屬於我」的保證
瀏覽器之所以信賴憑證機構(CA),是因為 CA 確保「申請者證明這個網域位於自己掌控下」才簽發憑證。這項檢查是憑證信任鏈的安全起點:憑證本身不含任何檢查機制(可當作 CA 檢驗合格的報告),瀏覽器看到一張由自己信賴的 CA 所簽發、且網址吻合的憑證,就會顯示安全鎖頭、建立加密連線,並把使用者輸入的帳號密碼、信用卡號碼經由加密連線傳送到對方主機。
所以如果 CA 沒有要求申請者佐證控管權,證明申請網域為自己擁有,則任何人都能拿別人的網域去申請憑證。拿到憑證之後只要再想辦法把流量導向自己的主機(DNS 污染、公共 Wi-Fi 攻擊、路由劫持、惡意程式改 hosts mapping),受害者的瀏覽器不會出現任何警告——因為那張憑證是「真的」。這正是中間人攻擊(man-in-the-middle)與釣魚網站最想要的結果。
「新增一筆 TXT 紀錄」「把指定內容的檔案置放於網站指定路徑下」這些看起來瑣碎的動作,共通點都是:只有實質掌控網域的 DNS,或網站主機的控管權才能辦得到。
範例
假設攻擊者想冒充 bank.example.com:
- 如果 CA 不驗證申請者的控管權:攻擊者直接申請
bank.example.com的憑證,架設一個外觀相同的假網站,再利用 DNS 污染或惡意 Wi-Fi 把訪客連線導向假網站。訪客所看到的畫面依然顯示安全連線與正確網址,但輸入的帳號與密碼會直接傳進攻擊者的資料庫。 - CA 依正常程序驗證申請者的控管權:CA 要求申請者在該網域的 DNS 新增一筆指定內容的 TXT 紀錄。攻擊者無法控制網域的 DNS,導致控管權驗證無法通過,憑證申請遭拒絕。
這不是臆測。2011 年荷蘭的 DigiNotar 被入侵後簽發 *.google.com 憑證,該憑證被用來竊聽(Sniffing)伊朗使用者的 Gmail 連線;事件之後該 CA 被各大瀏覽器移出憑證信賴庫並倒閉。驗證程序不接受「客戶單方面宣稱自己為網域持有人」的原因就在這裡。
《基本要求》的規定
- 第 3.2.2.4 節定義 CA 驗證申請者網域所有權或控管權的允許流程與程序,並以對照表列出各驗證方法可否用於萬用網域、是否允許 CNAME。CA 須依該節判斷流程替每個所申請的網域名稱決定經授權網域名稱(ADN),再以表列方法的其中之一完成驗證。
- 自 2026-11-15 起,只能適用本版第 3.2.2.4 節所列的驗證方法(在此之前可沿用《基本要求》 v2.2.7 版的同節規定)。
- 第 4.2.2 節的例外規定:無法依第 3.2.2.4 節或第 3.2.2.5 節完成驗證的網域名稱(內部名稱、保留 IP 位址),CA 一律不得簽發憑證。