RFC 8659では、CAAは認証局が証明書を発行する前に確認する制御であり、ブラウザなどの証明書利用者は証明書検証にCAAレコードを使用してはならないとされています。
公開TLS証明書は、信頼された複数の認証局から発行できます。
CAAレコードがない場合、ドメインの管理権限を正しく確認できた認証局であれば、原則としてどの公開認証局も証明書を発行できます。Let’s Encryptも、CAAがない場合はすべての公開認証局が発行候補になると説明しています。
この状態では、次のような問題が考えられます。
利用予定のない認証局から証明書が発行される
認証局の確認処理に不具合があった場合に影響を受ける
組織内の担当者が許可されていない認証局を利用する
DNSやWebサーバーの一時的な乗っ取りによって証明書を取得される
証明書の発行元を組織として統一できない
CAAレコードを設定すると、証明書を発行できる認証局を必要な範囲へ絞れます。
ただし、CAAで許可した認証局が誤発行する可能性までは排除できません。RFC 8659でも、CAAは許可済み認証局による誤発行を防ぐものではないと説明されています。
CAAレコードの基本形式は次のとおりです。
CAA <フラグ> <タグ> <値>