前幾天在 Hacker News 上看到 Let's Encrypt 支援 ACME-CAA 的新聞:「Let's Encrypt now supports ACME-CAA: closing the DV loophole (devever.net)」,原文在「Let's Encrypt now supports ACME-CAA: closing the DV loophole」。
先前的「RFC 6844 - DNS Certification Authority Authorization (CAA) Resource Record」已經先定義了 DNS 上 CAA record 的規範,另外在 CA/Browser Forum 的 Baseline Requirements 裡面也要求了 CA 簽發單位必須遵守 CAA 設定。
但這邊還是有一些風險,像是當網站被其他人控制後 (或是中間有 BGP hijacking 的方式取得 TCP 層的控制權),控制人就可以透過 http-01
的方式通過認證申請到 SSL certificate。而這次 Let's Encrypt 實做的 ACME-CAA 則是試著降低這個風險。
第一個是 accounturi
參數,可以指定只有某個 CA 裡的某個帳號可以申請,像是這樣:
example.com. IN CAA 0 issue "letsencrypt.org; accounturi=https://some/lets-encrypt/account-id"
第二個是限制 validationmethods
參數,限制只有某些方式可以申請,像是這邊限制只能透過 dns-01 申請:
example.com. IN CAA 0 issue "letsencrypt.org; validationmethods=dns-01"
不過支援 http-01
的不只 Let's Encrypt,至少也還有 ZeroSSL 與 Buypass,後續可以看看其他家會不會跟上,以及會不會放到 Baseline Requirements 裡面...