暗号化・証明書

証明書の有効期限と運用 しょうめいしょのゆうこうきげんとうんよう

証明書更新有効期限証明書管理ACME自動更新証明書失効
証明書の有効期限と運用について教えて

簡単に言うとこんな感じ!

SSL証明書には有効期限があって、切れると「このサイトは安全でない」とブラウザに警告が出るよ。気づかないまま切れて事故になるケースが後を絶たないから、自動更新の仕組みを入れることがとても大事なんだ!


証明書の有効期限と運用とは

デジタル証明書には有効期限が設定されており、期限を過ぎた証明書はブラウザが警告を表示するか接続を拒否します。証明書を利用するサービスでは、有効期限の管理と更新が重要な運用業務になります。

有効期限が設けられている理由は以下の通りです。

  • 鍵の危殆化(危険にさらされること)リスクの低減:鍵が漏洩した場合の被害期間を制限する
  • フレッシュな情報の維持:証明書に記載された組織情報等の鮮度を保つ
  • 失効確認コストの削減:有効期限が短ければCRL/OCSPへのアクセスが減る

2020年以降、パブリックCAのサーバー証明書の有効期限は最大398日(約13ヵ月)に制限されており、さらに短縮化が議論されています(2026年には47日案も検討中)。


証明書の有効期限サマリー

証明書の種類有効期限備考
パブリックCAのサーバー証明書最大398日2020年以降の業界基準
Let’s Encrypt証明書90日自動更新前提
ルート証明書20〜25年OSに組み込みで長期利用
中間CA証明書2〜5年CAが定期交換
クライアント証明書1〜3年企業ポリシーによる
コードサイニング証明書1〜3年署名後の証明書は長期有効な場合も

歴史と背景

  • 2000年代:証明書の有効期限は5年などが一般的で、手動更新が主流
  • 2015年:CA/Browser Forumが有効期限を3年に短縮
  • 2018年:CA/Browser Forumが最大有効期限を825日(2年強)に短縮
  • 2020年:Appleが単独で398日超の証明書を拒否し、業界標準化
  • 2021年〜:自動更新(ACME)の普及が本格化
  • 2025年〜:CA/Browser Forumが47日(約1.5ヵ月)への短縮を議論中

証明書ライフサイクル管理のポイント

証明書の典型的な運用フロー:

1. 発行(Issue)
   └ CSR送付 → CA審査 → 証明書取得 → サーバーへインストール

2. 監視(Monitor)
   └ 有効期限を定期チェック(Nagios/Zabbix/CloudMonitor等)
   └ 期限30日前・14日前・7日前にアラート

3. 更新(Renew)
   └ 自動更新:certbot renew --pre-hook / --post-hook
   └ 手動更新:期限前に手動で新規CSR・証明書取得・インストール

4. 失効(Revoke)
   └ 秘密鍵漏洩時や組織変更時にCAへ失効申請
   └ CRL/OCSPに反映

5. 廃止(Retire)
   └ サービス終了時に証明書を廃止

証明書失効・期限切れ時のブラウザ表示

状態ブラウザの表示影響
有効🔒 錠前アイコン正常
期限切れ⚠️ 「接続は安全でない」警告ユーザーが離脱する
失効(OCSP/CRL確認済み)⚠️ エラー(強制)ブロック
自己署名・不明なCA⚠️ 警告(回避可能)信頼されない

関連する規格・RFC

規格・RFC番号内容
RFC 5280X.509証明書の有効期限フィールドの仕様
RFC 8555ACME(自動更新プロトコル)
CA/Browser Forum TLS BRパブリック証明書の最大有効期限規定

関連用語