概要
- Let's Encryptが新しいACMEチャレンジ方式 DNS-PERSIST-01 を導入予定
- 従来の DNS-01 方式に比べて運用コストを削減
- 永続的な認証レコード で再検証不要
- セキュリティや運用上の利点と注意点
- 2026年 Q2に本番展開 を予定
Let's Encryptの新しいACMEチャレンジ方式:DNS-PERSIST-01
- Let's Encryptは、証明書発行時に ACMEチャレンジ を用いたドメイン所有権検証を実施
- ワイルドカード証明書やインターネット非公開インフラ向けには、従来 DNS-01 チャレンジが唯一の選択肢
- DNS-01 は広く普及し実績も豊富だが、DNS伝播遅延や更新作業、DNS認証情報の配布など運用コストが高い
- 新たに DNS-PERSIST-01 方式を実装予定
- IETFドラフト仕様に基づく
- DNSを使った検証だが、 永続的な認証レコード を利用
- ACMEアカウントとCAに紐づけて認証を維持
DNS-01方式の特徴と課題
- DNS-01 は、毎回新しいトークンをTXTレコードで公開し、その都度検証
- 各発行時にDNS更新が必要となり、DNS API認証情報の管理と配布が不可欠
- 大規模運用では、DNS伝播待ちや頻繁なDNS変更の負担が大きい
- セキュリティ上、DNS書き込み権限の管理が重要
DNS-PERSIST-01方式の仕組み
- 一度だけ 認証用TXTレコード をDNSに公開
- 例:
_validation-persist.example.com. IN TXT ( "letsencrypt.org;" " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890" )
- 例:
- レコードが存在すれば、新規発行や更新時に再利用可能
- 運用上、証明書発行パイプラインからDNS更新作業を排除
- 認証は ACMEアカウント に紐づくため、DNS認証情報の配布範囲を限定可能
セキュリティと運用上のトレードオフ
- DNS-01 :DNS書き込み権限が最大のリスク
- DNS-PERSIST-01 :認証はアカウントキーに依存し、DNS書き込み権限は初回のみ必要
- 永続的なレコードのため、 ACMEアカウントキーの保護 が最重要課題
認証範囲と有効期間の管理
- デフォルトでは、検証済みFQDNのみが有効
- ワイルドカード証明書の場合、
policy=wildcardを追加- 例:
_validation-persist.example.com. IN TXT ( "letsencrypt.org;" " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890;" " policy=wildcard" )
- 例:
- 有効期限を制限したい場合、
persistUntilパラメータで設定- 例:
_validation-persist.example.com. IN TXT ( "letsencrypt.org;" " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890;" " persistUntil=1767225600" )
- 例:
- 複数CA同時認証も可能、TXTレコードを複数設置
導入スケジュールと対応状況
- CA/Browser Forumの SC-088v3 が2025年10月に可決、IETFドラフトも同時採択
- Pebble(Boulderの軽量版)でドラフト仕様のサポート開始済み
- lego-cliクライアントの実装も進行中
- 2026年 Q1にステージング環境展開、Q2に本番展開 予定
DNS-PERSIST-01導入のメリットと注意点
- DNS更新作業や認証情報配布の省力化
- IoTやマルチテナント環境、大量証明書発行に最適
- 永続レコード利用時は ACMEアカウントキーの厳格管理 が必須
- 有効期限設定時は、期限切れ防止の監視やリマインダー運用が必要