CRLとOCSP徹底比較!PKIにおける失効証明書管理の重要性

プロフィールアイコン

筆者名:城咲子(じょう せきこ)

情報システム部でセキュリティを担当している城咲子です。セキュリティに関する情報や日常の出来事(グチやボヤキ笑)などを発信していきます。(情報処理安全確保支援士/登録セキスペ/CISSP)

\ 好きなことば /

  • 最小権限の原則
  • 測定できなければ管理できない!
  • 失敗する可能性のあるものは、いずれ失敗する。

詳しいプロフィールはこちら

こんにちは、情報セキュリティ担当の城咲子です。

前回の記事では、PKIの基本的な仕組みと、デジタル証明書、公開鍵、秘密鍵の役割について解説しました。今回は、PKIを運用する上で非常に重要な「証明書の失効管理」について深掘りしたいと思います。

デジタル証明書は、有効期限内であれば常に信頼されるわけではありません。例えば、証明書とペアになる秘密鍵が漏洩したり、証明書の所有者が組織を離脱したりした場合、その証明書は「失効」させる必要があります。

もし失効した証明書が放置されれば、なりすましや不正利用のリスクが大幅に高まります。そのため、PKIにおいて、どの証明書が失効したかを効率的に、かつ確実に通知する仕組みが不可欠です。

本記事では、この失効証明書の管理方法として主に用いられる「CRL」「OCSP」について、その仕組み、メリット、デメリットを徹底的に比較し、どちらがより優れているのか、そして実際の運用ではどう使い分けるべきかを、私の専門的な知見から解説します。

この記事が、あなたの組織のセキュリティ運用を強化する一助となれば幸いです。

1. 証明書の失効管理とは?なぜ必要なのか

証明書の失効管理とは、有効期限内であっても何らかの理由で信頼できなくなった証明書を無効化し、その情報を関係者に周知するプロセスです。

失効が必要になる主なケースは以下の通りです。

  • 秘密鍵の漏洩・紛失: 鍵の所有者以外に秘密鍵が渡ってしまった場合。
  • 証明書所有者の変更: 組織の担当者が変更・退職した場合など。
  • 証明書情報の誤り: 氏名や組織名に誤りがあった場合。
  • 利用目的の変更: 証明書の発行時に定めた利用目的から外れた使い方をされた場合。

失効管理が適切に行われないと、不正な証明書がいつまでも有効なものとして扱われ、セキュアな通信が脅かされます。この問題を解決するために登場したのが、次に解説するCRLとOCSPです。

2. CRL(証明書失効リスト)の仕組みと特徴

CRL (Certificate Revocation List) は、その名の通り、失効した証明書のリストです。

2-1. CRLの仕組み

  1. 認証局(CA)は、失効した証明書の情報(シリアル番号など)をリストにまとめ、定期的にデジタル署名を付与して公開します。
  2. このリストは、通常、WebサーバーやLDAPサーバーなどで一般に公開されます。
  3. 証明書の検証を行うクライアント(Webブラウザなど)は、通信相手から証明書を受け取った際、公開されているCRLをダウンロードして、その証明書がリストに含まれていないか確認します。

2-2. CRLのメリットとデメリット

  • メリット:
    • オフラインでの検証が可能: 一度リストをダウンロードすれば、その後はオフラインでも検証が可能です。
    • シンプルな仕組み: 比較的古くから使われている技術であり、広く普及しています。
  • デメリット:
    • リアルタイム性の低さ: リストは定期的に(例えば1日1回)更新されるため、リスト更新前の失効情報が反映されません。
    • リストサイズの増大: 失効証明書が増えるにつれてリストのサイズが大きくなり、ダウンロードに時間がかかることがあります。

3. OCSP(オンライン証明書状態プロトコル)の仕組みと特徴

OCSP (Online Certificate Status Protocol) は、証明書の失効状態をリアルタイムで確認するためのプロトコルです。

3-1. OCSPの仕組み

  1. クライアント(Webブラウザ)は、通信相手から証明書を受け取った際、その証明書の情報(シリアル番号など)を添えて、OCSPレスポンダーと呼ばれる専用のサーバーに問い合わせを行います。
  2. OCSPレスポンダーは、リアルタイムな失効情報を確認し、証明書が「有効」「失効」「不明」のいずれであるかをクライアントに返答します。
  3. クライアントは、レスポンダーの返答に基づいて、通信を続行するかどうかを判断します。

3-2. OCSPのメリットとデメリット

  • メリット:
    • リアルタイム性の高さ: 問い合わせる度に最新の失効情報を確認できるため、CRLのデメリットを補います。
    • 通信量の少なさ: リスト全体をダウンロードするCRLに比べて、個別の証明書についてのみ問い合わせるため、通信量が少なくて済みます。
  • デメリット:
    • オンライン環境が必須: 常にOCSPレスポンダーと通信できる環境が必要です。
    • プライバシーの問題: どの証明書をいつ検証したかという情報がOCSPレスポンダーに記録されるため、プライバシー上の懸念があります。

4. CRLとOCSPはどちらが優れている?使い分けのポイント

CRLとOCSPは、それぞれ一長一短があり、どちらか一方が圧倒的に優れているわけではありません。

  • リアルタイム性を重視する場合: 銀行やECサイトなど、瞬時の信頼性確保が求められるシステムでは、OCSPがより適しています
  • オフラインでの運用が必要な場合: ネットワーク接続が不安定な環境や、特定の閉域網内での運用では、CRLが有効な選択肢となります。

近年では、両方の方式を併用したり、CRLをより高速化した技術(OCSP Staplingなど)も登場しています。

実務では、証明書失効の確認頻度や、システムの特性に合わせて、これらの技術を適切に選択・組み合わせることが重要です。

証明書を発行する認証局(CA)や、その申請を管理する登録局(RA)の役割を理解することも、失効管理を適切に行う上で不可欠です。これらの基本については、こちらの記事も併せて参考にしてください。 → CAとRAを徹底解説!PKIの構成要素を理解してセキュリティを強化する

まとめ:PKI運用に不可欠な失効管理の知識

PKIは、証明書を発行して終わりではありません。有効期限が来る前に、何らかの理由で信頼性が失われた証明書を適切に管理する「失効管理」が、PKIの運用においては最も重要なプロセスの一つです。

CRLとOCSPのどちらを選ぶかは、システム要件によって異なりますが、それぞれの特徴を正しく理解しておくことが、情報セキュリティ専門家としての必須知識です。

今後も、より実践的なセキュリティ運用に関する情報を発信していきます。あなたのキャリアアップに役立てていただければ幸いです。