本文へスキップ
IPeek

CAA ルックアップ

どの CA が証明書を発行できるか

チェック中…

CAAレコードとは?

CAA(Certification Authority Authorization)レコードは、どの認証局がドメインの証明書を発行してよいかをドメインが宣言できるようにします。CAはCA/Browser Forumによってこれらのレコードを尊重することが義務付けられているため、誤発行(CAがあなたのドメインの証明書を誤って発行すること)のリスクを減らします。CAAは、TLS証明書に対するシンプルで強力なガードレールです。

CAAレコードの仕組み

CAAレコードは、許可された認証局をそのドメインで指定します。発行前に、準拠したCAはあなたのドメインのCAAレコードを確認し、レコードが存在してそのCAが列挙されていなければ、発行を拒否しなければなりません。レコードには3つの部分があります。フラグ、タグ、値です。一般的なタグは、issue(標準証明書を発行するCAを認可)、issuewild(ワイルドカード証明書を特に制御)、iodef(CAがポリシー違反を報告するURLまたはmailto)です。例えば、issue "letsencrypt.org" はLet's Encryptのみに発行を許可します。

CAA検索結果の読み解き方

IPeekは、ドメインのCAAレコードを、それぞれタグと値とともに一覧表示します。issueタグを読んで、どのCAが認可されているかを確認してください。"letsencrypt.org" や "digicert.com" のような値は、許可された認証局を指定します。issuewildタグは、誰がワイルドカード証明書を発行してよいかを制限します。issueの値が ";"(セミコロン)なら、どのCAも認可されていないことを意味します。ドメインにCAAレコードがなければ、任意の公開CAが発行でき、これが許容的な既定です。列挙されたCAが、実際に証明書に使っているプロバイダーと一致することを確認してください。

CAAレコードが証明書のセキュリティを向上させる理由

CAAがなければ、数十もの公開認証局のいずれもがあなたのドメインの証明書を発行できるため、1つの侵害されたまたは欺かれたCAだけで、攻撃者が有効な証明書を取得できてしまいます。CAAは、その攻撃対象領域を、あなたが指定したCAだけに絞り込みます。CA/Browser Forumが発行前のCAAチェックをCAに義務付けているため、この保護は業界全体で強制されます。iodefタグを追加すれば、認可されたCAがポリシー違反の試みを通知でき、取得すべきでない証明書を取得しようとする者の早期警告が得られます。

よくある質問

ドメインにCAAレコードがないとどうなりますか?

CAAレコードがなければ、公的に信頼される任意の認証局がドメインの証明書を発行できます。これが許容的な既定です。CAAレコードを追加すると、発行をあなたが列挙したCAだけに制限します。どの認証局がドメインを証明できるかを気にかけるなら、CAAレコードを公開してください。さもなければ、発行は準拠したすべてのCAに開かれたままです。

issue・issuewild・iodefのタグとは何ですか?

これらは3つの標準的なCAAタグです。issueは指定したCAに通常の証明書の発行を認可し、issuewildはワイルドカード証明書の発行を特に制御し、iodefはCAがポリシー違反の試みを報告するURLまたはmailtoアドレスを与えます。issueとiodefを併用すれば、誰がドメインを証明できるかを制限しつつ、違反を通知してもらえます。

認証局はCAAレコードに従わなければならないのですか?

はい。CA/Browser Forumのルールの下、公的に信頼されるCAは発行前にドメインのCAAレコードを確認することが義務付けられており、レコードがそのCAを認可していなければ拒否しなければなりません。これにより、CAAは提案ではなく強制された制御となります。すでに発行された証明書は止められませんが、準拠した認証局による新たな誤発行はブロックします。

複数の認証局を許可するにはどうすればよいですか?

許可したい認証局ごとに、別々のCAA issueレコードを公開します。例えば、issue "letsencrypt.org" のレコードと issue "digicert.com" の別のレコードで、両方を認可します。CAは自分を指定するレコードがあるかを確認するため、複数のissueレコードは、他の全員を除外しつつ許可された認証局の集合を広げるだけです。

CAAレコードでワイルドカード証明書を個別に制御できますか?

はい、それがissuewildタグの目的です。issuewildは、誰がワイルドカード証明書(*.example.comなど)を発行してよいかを制御し、ワイルドカードについては素のissueタグを上書きします。issueとissuewildのレコードを適切に組み合わせることで、CAに通常の証明書の発行を許可しつつワイルドカードを制限または禁止したり、その逆をしたりできます。