CAA 發行人 ID 應該從哪裡獲得,應該如何驗證?
證書頒發機構授權 (CAA) DNS 記錄類型包括一個
issue
參數 (alsoissuewild
),該參數指定允許為您的域頒發證書的證書頒發機構的標識符。沒關係,但有點模糊。在您自己的 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 domaincomodoca.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
andtrust-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 記錄的政策或實踐;該政策應與這些要求一致。它應明確指定**
issue
CA 在 CAA“ ”或“ ”記錄中辨識的一組頒發者域名,issuewild
以允許其頒發。