TLS 証明書
HTTPS 通信を実現するための電子証明書で、サーバーの身元を証明し通信を暗号化する
TLS 証明書とは
TLS 証明書は、HTTPS 通信を実現するための電子証明書で、サーバーの身元を証明し、クライアントとサーバー間の通信を暗号化する。認証局 (CA) が発行し、ブラウザーが信頼チェーンを検証する。検証はサーバー証明書から中間 CA 証明書をたどり、OS やブラウザーに組み込まれたルート証明書へ到達できるかで判定される。そのためサーバー側はサーバー証明書だけでなく中間 CA 証明書も一緒に送る必要がある。
TLS ハンドシェイク
ハンドシェイクでは暗号スイートの合意 / サーバー証明書の提示と検証 / 鍵交換が行われ、これが済んでから共通鍵暗号による通信に切り替わる。
クライアント → サーバー: ClientHello (対応する暗号スイート)
サーバー → クライアント: ServerHello + 証明書
クライアント: 証明書を検証 (CA の署名、有効期限、ドメイン)
クライアント ↔ サーバー: 鍵交換 (ECDHE)
→ 以降は共通鍵で暗号化通信
証明書の種類
証明書は審査の厳格さで 3 種類に分かれる。暗号としての強度は同じで、違いは CA が何を確認したかだけである。
| 種類 | 検証レベル | 用途 |
|---|---|---|
| DV (Domain Validation) | ドメインの所有権 | 一般的な Web サイト |
| OV (Organization Validation) | 組織の実在性 | 企業サイト |
| EV (Extended Validation) | 厳格な組織審査 | 金融機関 |
ACM はパブリック証明書を無料で発行でき、CloudFront、ALB、API Gateway に関連付けられる。
CloudFront の証明書は us-east-1 リージョンで発行する必要がある。
証明書の有効期限
公開 TLS 証明書の最長有効期間は CA/Browser Forum の Baseline Requirements で段階的に短縮されており、2026 年 3 月 15 日以降は 200 日、2027 年 3 月 15 日以降は 100 日、2029 年 3 月 15 日以降は 47 日が上限になる (2026 年 9 月時点の Baseline Requirements)。1 年を超える有効期間を前提にした手動更新は成立しないため、更新の自動化が前提になる。
Let's Encrypt は既定で 90 日の証明書を発行し (更新は 60 日ごとを推奨)、6 日間の短期証明書も選べる。どちらも有効期間を任意に延ばすことはできない (2026 年 9 月時点)。ACM は他の AWS サービスに関連付けられている証明書を自動更新の対象とし、インポートした証明書や期限切れの証明書は対象外なので自分で入れ替える。
証明書の失効
有効期限切れはブラウザーが警告を表示する。秘密鍵が漏洩した場合は証明書を失効 (CRL/OCSP) させる。ドメインを移管した場合は新しい証明書を発行する。
よくある失敗
証明書の更新忘れは ACM の自動更新や ACME クライアントによる更新の自動化で防ぐ。DNS 検証の未完了は CNAME レコードを確認する。CloudFront には us-east-1 で発行した証明書が必要。中間 CA 証明書の配信漏れは、手元のブラウザーが補完してしまい気づきにくいので、サーバー側でサーバー証明書と中間 CA 証明書をつないだチェーンを設定しているか確認する。Mixed Content は全リソースを HTTPS にして解消する。
TLS 証明書の理解を深めるには関連書籍が参考になる。
この記事は役に立ちましたか?
関連用語
HTTPS / TLS
HTTP 通信を TLS で暗号化し、盗聴 / 改ざん / なりすましを防ぐプロトコル
mTLS
クライアントとサーバーが互いに証明書を検証し、双方向で認証する TLS の拡張
CloudFront
AWS の CDN サービスで、世界中のエッジロケーションからコンテンツを低レイテンシで配信する
証明書ピンニング
特定の証明書や公開鍵のみを信頼し、中間者攻撃を防ぐセキュリティ手法
ACM
AWS Certificate Manager の略で、ACM と連携するサービス向けの SSL/TLS 証明書を無料で発行、管理し、DNS 検証なら自動更新するサービス
TLS 終端 (SSL ターミネーション) とは - ロードバランサーで HTTPS を復号する構成
TLS 終端 (SSL ターミネーション、SSL 終端、TLS オフロードとも呼ぶ) とはロードバランサーや CDN で HTTPS を復号しバックエンドの負荷を軽減する構成。Passthrough や Re-encryption との違い、AWS ALB/CloudFront での構成例、セキュリティ上の注意点を解説