ACME/Let's Encrypt(アクミレッツエンクリプト)
証明書自動発行プロトコル。ACME(RFC 8555・Let's Encrypt 2015-)・ACME v2 Wildcard・certbot(Python)・acme.sh(Bash・Cloudflare/DNS-01)・Caddy(自動HTTPS)・Traefik ACME・Let's Encrypt無料(90日更新)・ZeroSSL(無料)・Buypass・Google Trust Services・Cloudflare Certificate Authority・DNS-01 challenge(Wildcard)・HTTP-01・TLS-ALPN-01・2026年自動更新基盤標準。
概要
ACME(Automatic Certificate Management Environment)は、証明書発行を自動化するプロトコルである。RFC 8555 で定義され、2015 年に Let's Encrypt が実装を開始した。ACME v2 ではワイルドカード証明書の発行が可能になり、DNS‑01 チャレンジを利用した自動更新が標準化された。現在、certbot(Python)、acme.sh(Bash)、Caddy、Traefik など多くのクライアントがサポートしている。証明書は 90 日ごとに更新され、無料で取得できるため、個人・中小企業のウェブサイトに広く採用されている。
主な特徴・仕組み
- ACME は HTTP‑01、DNS‑01、TLS‑ALPN‑01 の 3 種類のチャレンジを提供
- ワイルドカード証明書は DNS‑01 でのみ取得可能
- ACME v2 ではリクエストのバッチ処理が可能
- すべての証明書は 2048bit RSA か 256bit ECDSA で発行
- 90 日の有効期間を自動で更新し、失効リスクを低減
- クライアントは 1 つの API キーで複数ドメインを管理
- 2026 年に向けて ACME の自動更新基盤が標準化予定
- Let's Encrypt の証明書は 1.5GHz の TLS 1.3 で暗号化
- ZeroSSL も同様に 90 日更新で無料提供
- Buypass と Google Trust Services は商用 CA として ACME を採用
スペック/製品比較表
| クライアント | バージョン | 対応チャレンジ | 証明書形式 | 更新周期 | 主要用途 |
|---|---|---|---|---|---|
| certbot | 1.22.0 | HTTP‑01, DNS‑01 | RSA 2048bit | 90 日 | 個人サイト |
| acme.sh | 3.0.0 | DNS‑01, TLS‑ALPN‑01 | ECDSA 256bit | 90 日 | サーバ自動化 |
| Caddy | v2.6.0 | HTTP‑01, DNS‑01 | RSA 2048bit | 90 日 | Web サーバ |
| Traefik | v2.10 | HTTP‑01, DNS‑01 | ECDSA 256bit | 90 日 | リバースプロキシ |
| Let's Encrypt | CA 2025年版 | HTTP‑01, DNS‑01 | RSA 2048bit | 90 日 | 無料証明書 |
具体例・対応製品
- Caddy v2.6.0 は設定ファイルに
tlsセクションを追加するだけで ACME を自動化 - Traefik v2.10 は
acme.jsonに API キーを保存し、ダイナミックに証明書を取得 - acme.sh 3.0.0 は Cloudflare の DNS‑01 API を利用し、ワイルドカード証明書を 1 分で取得
- certbot 1.22.0 は Ubuntu 22.04 LTS のパッケージとして提供され、systemd‑timer で自動更新
- ZeroSSL 1.0 は REST API を通じて 4096bit RSA 証明書を発行し、商用サイトで採用
自作PCでの選び方・注意点
- CPU:1.5GHz 以上のマルチコアで ACME クライアントのスクリプト実行をスムーズに
- メモリ:512MB 以上で複数ドメインを同時に管理
- ストレージ:1TB SSD でログと証明書を安全に保管
- ネットワーク:10Gbps 以上の帯域で DNS‑01 で高速にレコード更新
- OS:Ubuntu 22.04 LTS で systemd‑timer を利用すると 2025 年以降の自動更新が保証
- セキュリティ:TLS 1.3 を有効化し、2048bit RSA で証明書を生成
- バックアップ:acme.json や certbot の config ディレクトリを定期的に外部ストレージへ
- 監視:失効前に 7 日以内にメール通知を設定
- スクリプト:acme.sh の
--forceオプションで失効直前に再発行 - ドメイン:ワイルドカードを利用する場合は DNS‑01 を必ず有効化
関連用語との違い
- TLS‑ALPN‑01 は HTTPS で直接証明書を検証する方式で、HTTP‑01 より高速だが設定が複雑
- DNS‑01 は DNS TXT レコードを利用し、サーバにアクセスできない環境でも証明書取得が可能
- Let's Encrypt は ACME の実装例であり、無料で 90 日更新が特徴
- ZeroSSL は商用 CA であり、ACME を採用しているが 4096bit RSA も選択可能
- Buypass と Google Trust Services は商用 CA であり、ACME を利用しているが有料プランも存在
よくある質問
Q1. ACME の自動更新は 2026 年に標準化されるのですか?
A1. はい、2026 年に向けて ACME の自動更新基盤が業界標準化され、主要 CA が必須サポートを実装予定です。
Q2. ワイルドカード証明書はどのチャレンジで取得できますか?
A2. DNS‑01 チャレンジのみで取得可能です。HTTP‑01 ではワイルドカードはサポートされていません。
Q3. certbot と acme.sh の違いは何ですか?
A3. certbot は Python で書かれ、Ubuntu などのパッケージとして提供されます。acme.sh は Bash で書かれ、軽量で DNS API が豊富です。
まとめ
ACME は証明書発行を自動化し、ウェブセキュリティを大幅に向上させるプロトコルです。2025 年以降、ACME v2 のワイルドカード対応と 2026 年の自動更新基盤標準化により、個人から企業まで幅広い環境での導入が容易になります。Caddy、Traefik、certbot、acme.sh などのクライアントを活用し、CPU 1.5GHz 以上、512MB 以上のメモリを備えた自作PCで安全かつ効率的に証明書を管理しましょう。