🔐

無料HTTPSサービスの仕組み

Let's Encrypt、Cloudflare、ACMが無料証明書を提供する仕組み

2015年にLet's Encryptが登場して以来、HTTPSは実質無料になりました。ACMEプロトコルによる自動発行、CloudflareのEdge SSL終端、AWS ACMのマネージド証明書など、様々な無料HTTPSサービスの動作原理とCA信頼チェーン構造を解説します。

構造ダイアグラム

CA信頼チェーン(Certificate Trust Chain)
🔐
ルートCA(Root CA)
OS/ブラウザにプリインストール。オフライン保管。
ISRG Root X1, DigiCert Global Root
署名(Sign)
📜
中間CA(Intermediate CA)
実際の証明書発行担当。ルートCAのリスク分散。
R3, E1 (Let's Encrypt)
発行(Issue)
🖥️
サーバー証明書
ドメインにバインド。90日有効期間(Let's Encrypt)。
myapp.com
ACMEプロトコルフロー(自動証明書発行)
1
新規注文(New Order)
ACMEクライアント(certbot等)→ ACMEサーバーに証明書リクエスト
2
認可(Authorization)
サーバーがドメイン所有権証明方法(チャレンジ)を提示
3
チャレンジ実行
HTTP-01 http://ドメイン/.well-known/acme-challenge/ にトークンファイル配置
DNS-01 _acme-challenge.ドメイン TXTレコードにトークン設定
4
検証(Validate)
ACMEサーバーがチャレンジを確認しドメイン所有権を検証
5
完了+証明書ダウンロード
CSR提出 → 証明書発行 → サーバーにインストール
無料HTTPSサービス比較
Let's Encrypt Cloudflare AWS ACM
価格 無料 無料(プロキシ必須) 無料(AWSサービス連携)
有効期間 90日 自動管理 自動更新(13ヶ月)
ワイルドカード 対応(DNS-01必要) 対応 対応
自動更新 certbot cron設定 完全自動 完全自動
インストール先 自前サーバー Cloudflareエッジ ALB / CloudFront
TLSハンドシェイク(簡略化)
💻
クライアント
1. Client Hello
TLSバージョン、暗号スイート一覧、ランダム値
2. Server Hello + Cert
選択された暗号スイート、サーバー証明書(公開鍵含む)
3. Key Exchange
セッションキー生成のための鍵交換(ECDHE)
🔒 暗号化通信開始
対称鍵(セッションキー)でデータ暗号化。TLS 1.3は1-RTTで完了。
🖥️
サーバー
Let's Encryptはどうやって運営されているか?
🏛️ 非営利団体 ISRG(Internet Security Research Group)
2013年設立。証明書の販売収益なしで100%スポンサーシップと寄付で運営。年間予算約$3.6M(2023年基準)。
核心収入
大企業スポンサーシップ(〜70%)
Cisco Akamai Google Chrome Mozilla Meta AWS EFF
Platinumスポンサー年間$300K+、Gold $150K+、Silver $50K+
寄付
個人・企業寄付(〜20%)
ウェブサイトから直接寄付可能。開発者コミュニティの自発的支援が大きな割合。
助成金
財団・政府助成金(〜10%)
Ford Foundation、Linux Foundation等からインターネットセキュリティインフラとして支援
なぜ大企業がお金を出すのか?
HTTPS普及 → フィッシング/中間者攻撃減少 → 自社サービス利用環境が安全に
Cisco/Akamai視点:顧客がSSL証明書コストでHTTPS導入を先延ばしにすると自社CDN/セキュリティ製品の売上に悪影響
Google Chrome:HTTPSを検索順位加点要素にした立場 → 無料証明書普及が必須
年間$300Kは大企業マーケティング費の0.001%にもならないが、インターネット全体のセキュリティインフラを維持する効果
3.5億+
アクティブ証明書数
~15
フルタイム職員
$0
証明書発行コスト
核心ポイント
Let's EncryptのおかげでHTTPSがWeb標準に — 2024年時点でWebトラフィックの95%以上がHTTPS
DNS-01チャレンジはワイルドカード証明書に必須で、内部サーバーでも利用可能
TLS 1.3はハンドシェイクを1-RTTに短縮し、0-RTT再接続もサポート(PSK)

動作フロー

1

ACMEクライアント(certbot)がCAサーバーにアカウント登録とドメイン証明書を注文

2

CAがドメイン所有権検証のためのチャレンジを発行(HTTP-01またはDNS-01)

3

クライアントがチャレンジを充足(Webサーバーにトークンファイル配置またはDNS TXTレコード追加)

4

CAが検証後DV証明書を発行(Root CA → Intermediate CA → End-entity チェーン)

5

Webサーバーに証明書をインストール → クライアント接続時にTLSハンドシェイクで暗号化通信開始

メリット

  • 完全無料: Let's Encrypt、Cloudflare、ACMすべてがDV証明書を無料提供
  • 自動化: ACMEプロトコルで発行/更新を完全自動化可能
  • SEOメリット: GoogleがHTTPSをランキングシグナルとして使用
  • セキュリティ強化: 中間者攻撃(MITM)防止、データ暗号化

デメリット

  • DV証明書の限界: ドメイン所有権のみ検証、組織の身元は未確認
  • Let's Encrypt 90日有効期間: 自動更新失敗時のサービス中断リスク
  • Cloudflare依存性: Shared SSL使用時、Cloudflare障害がサイト障害に直結
  • ACM制約: AWSサービス(ALB、CloudFront)でのみ使用可能、EC2直接インストール不可

ユースケース

個人ブログ/ポートフォリオサイトのHTTPS適用(Let's Encrypt + certbot) CDNによる自動SSL管理(Cloudflare Universal SSL) AWSインフラSSL統合(ACM + ALB/CloudFront) マイクロサービス間mTLS(相互TLS)認証