Domain-Name-System

CAA 發行人 ID 應該從哪裡獲得,應該如何驗證?

  • December 4, 2017

證書頒發機構授權 (CAA) DNS 記錄類型包括一個issue參數 (also issuewild),該參數指定允許為您的域頒發證書的證書頒發機構的標識符。沒關係,但有點模糊。

在您自己的 CAA 記錄中設置值時,您應該如何找出您的 CA 的確切值應該是什麼?對於letsencrypt,他們在此處提供了一個文件,其中提到他們的問題標識符是letsencrypt.org,並且它也記錄在他們的認證實踐聲明第4.2.1節中。如果我檢查證書,我可以看到其中的各個欄位,但是,沒有一個與此字元串完全匹配,儘管有些欄位包含它。這似乎不是確保 CA 與 CAA 記錄中的內容相匹配的嚴格或可靠的方法——例如,是什麼阻止了它被匹配letsencrypt.org.evilcorp.com

從人類的角度來看,這一切都是可行的,但不是很機器可讀,並且是這個 CA 獨有的。

我也有來自 Comodo 的證書,並且我發現各種非權威來源說他們的 CAA 問題 id 是comodoca.com(而其他人說它是comodo.com),但我還沒有找到像 letencrypt 這樣的官方文件。該comodoca.com字元串確實出現在我的證書的某些欄位中,但不是在我希望可靠地找到它的上下文中 - 例如頒發者名稱是COMODO ECC Domain Validation Secure Server CA (COMODO CA Limited from GB),CRL 是http://crl.comodoca.com/COMODOECCDomainValidationSecureServerCA.crl,OCSP URI 是http://ocsp.comodoca.com

SSLMate 有一個CAA 記錄生成器,它包括一個 CA 列表及其頒發者 ID——但這些資訊是從哪裡獲得的?

現在考慮驗證案例——給定一個證書和一個或多個 CAA 頒發者 ID,我們應該期望證書中的哪些元素與 CAA 頒發者完全匹配?還是從其他服務(如 CT 日誌)獲得的資訊?

所以,簡而言之,應該從哪裡獲得 CAA 頒發者 ID,以及如何可靠地驗證它們?

相關RFC 6844沒有為發行人規定任何標準,實際上相反,它授予幾乎完全的自由:

發行者參數的語義由發行者單獨決定。

但退一步說:據我所知,CAA 記錄並不打算供最終使用者用來驗證他們獲得的 TLS 證書是否由正確的證書頒發者頒發。

它旨在僅由(信譽良好的)證書頒發者使用,以驗證他們是否被允許為該主機/域頒發(新)證書。

如果 CAA 記錄存在,則只有證書頒發者需要檢查 CAA 記錄中是否存在他們期望/要求的任何內容。

Your certificate issuer, i.e. your CA, will need to communicate which domain(s) they recognise in the CAA issue records. And also which, if any, other parameters they require.

For example: Comodo, which uses comodo.com for its online brand, is completely free to recognise the completely different domain comodoca.com in CAA records. Actually CAs are also not restricted to only recognise a single domain - Comodo for instance recognises four different ones: comodo.com, comodoca.com, usertrust.com and trust-provider.com

Note: CAA records are only used when issuing a certificate. Reverse engineering what the CAA record should be from valid certificates that have already been issued serves no immediate purpose.

Where should CAA issuer IDs be obtained from?

據我所知,沒有什麼可以輕鬆實現自動化,但對於手動方法:CA/Browser 論壇需要一個統一的位置來發布該資訊:

“自 2017 年 9 月 8 日起生效, CA 證書政策和/或認證實踐聲明**的第 4.2 節**說明 CA 處理完全合格域名的 CAA 記錄的政策或實踐;該政策應與這些要求一致。它應明確指定**issueCA 在 CAA“ ”或“ ”記錄中辨識的一組頒發者域名,issuewild以允許其頒發。

引用自:https://serverfault.com/questions/886124