CAAレコードってどういう仕組み?

robynne-o-HOrhCnQsxnQ-unsplash.jpg

質問

CAAレコードってどういう仕組み?


インターネット文明 (岩波新書 新赤版 2031) [ 村井 純 ]

価格:1056円
(2026/8/9 11:46時点)
感想(0件)


解答

CAA(Certification Authority Authorization)レコードは、

「このドメインに対して証明書を発行してよい認証局(CA)をDNSで宣言する仕組み」

です。

HTTPSの証明書を勝手に発行されるリスクを減らすために使われます。


なぜ必要なの?

通常、世界中には多くの認証局(CA)があります。

例えば、

  • Let's Encrypt

  • DigiCert

  • GlobalSign

  • Sectigo

などです。

もしCAAレコードがない場合、仕様上はどの認証局でもドメインの所有者確認ができれば証明書を発行できます。

例えば、

example.com

に対して、

  • Let's Encrypt

  • DigiCert

  • Sectigo

のどれも証明書を発行できる可能性があります。


CAAレコードがあると

例えばDNSに次のようなCAAレコードを設定します。

example.com. IN CAA 0 issue "letsencrypt.org"

これは、

「Let's Encryptだけがこのドメインの証明書を発行してよい」

という意味になります。

するとDigiCertなど他の認証局は、証明書を発行してはいけません。


どんな仕組み?

証明書を発行する流れは次のようになります。

利用者    │    │ 証明書を申請    ▼認証局(CA)    │    │ DNSのCAAレコードを確認    ▼example.com のDNS    │    ├─ 発行を許可    └─ 発行を拒否

つまり、

証明書を発行する前に、認証局がDNSへ問い合わせる

という仕組みです。


例えばLet's Encryptの場合

Let's Encryptは証明書発行前に、

example.com

のCAAレコードを取得します。

もし

example.com. IN CAA 0 issue "letsencrypt.org"

なら発行できます。

一方、

example.com. IN CAA 0 issue "digicert.com"

だった場合、

Let's Encryptは発行を拒否します。


CAAレコードの主な種類

issue

通常の証明書を許可します。

example.com. IN CAA 0 issue "letsencrypt.org"

issuewild

ワイルドカード証明書専用です。

example.com. IN CAA 0 issuewild "letsencrypt.org"

例えば

*.example.com

を発行できる認証局を指定します。


iodef

CAA違反などを検知したときの通知先です。

example.com. IN CAA 0 iodef "mailto:admin@example.com"

CAAは強制なの?

厳密には、

認証局がCAAを確認することが、現在では業界のルール(CA/Browser Forumの Baseline Requirements)で求められています。

つまり、

認証局は証明書を発行する前にCAAを確認する

必要があります。


CAAがない場合

例えば

example.com

にCAAが設定されていないと、

CAAなし↓認証局は「発行禁止とは書かれていない」と判断↓通常どおり証明書を発行可能

となります。

つまり、

CAAは「設定しないと何も制限しない」仕組みです。


CAAで完全に安全になる?

いいえ。

CAAは

「許可されていない認証局から証明書が発行されること」を防ぐ

仕組みです。

しかし、

例えば

  • DNS自体が乗っ取られる

  • 許可した認証局で誤発行が起こる

  • ドメイン所有権の検証が突破される

といったケースまでは防げません。

そのため、

  • DNSSEC

  • 証明書透明性(Certificate Transparency:CT)

  • 適切なドメイン管理

などと組み合わせて運用することが重要です。


まとめ

CAAレコードは、

ドメイン所有者        │        ▼DNSに「このCAだけ発行OK」と登録        │        ▼認証局が証明書発行前にCAAを確認        │        ├─ 許可されている → 発行        └─ 許可されていない → 発行拒否

という流れで動作します。

DNSを利用して「どの認証局が自分のドメインの証明書を発行できるか」を制御する、比較的シンプルですが効果的なセキュリティ機能です。




[増補改訂版]クラウド時代のネットワーク技術 OpenFlow実践入門【電子書籍】[ 高宮安仁 ]

価格:3520円
(2025/7/17 11:04時点)
感想(0件)


【2個で500円オフクーポン】DNS グルタミン 300g パウダー アミノ酸 筋トレ コンディション【R】

価格:3180円
(2023/11/23 21:59時点)
感想(3件)


 



この記事へのコメント