オープンソース

OCSPレスポンダ〜OpenCA OCSPD〜

OCSPレスポンダとは、証明書の失効を確認するためのプロトコルのOCSPサーバのことをいいます。ここでは、OCSPとOCSPレスポンダソフトウェアのOpenCA OCSPDを紹介します。

OCSP(Online Certificate Status Protocol)とは

OCSP(Online Certificate Status Protocol)とは、公開鍵証明書の失効状態を取得するための通信プロトコルです。暗号化やデジタル署名に用いるX.509証明書の有効期限前に失効している証明書を、速やかに知ることができます。証明書の有効性のチェックは2つの方法に対応しています。1つはCRL(Certificate Revocation List)と呼ばれるリストを利用した方法、2つ目は、OCSPを利用した方法です。

CRLを利用した証明書の失効確認

CRLとは日本語では証明書失効リストと呼ばれており、有効期限よりも前に失効させたデジタル証明書の一覧をいいます。公開鍵基盤(PKI)において、認証局(CA)が発行した証明書を失効させる場合、認証局は証明書失効リスト(Certificate Revocation List, CRL)を作成します。そして、CRLにその証明書のシリアル番号を掲載します。ユーザはCRLを参照することにより、証明書が有効であるかどうかを確認することができます。また1つの証明書が有効か否かを確認するのにCRL全体を入手する必要や、最新のCRLファイルを定期的にダウンロードする必要があります。

例えば、サイトを証明書がなければ閲覧できないようにする場合、サイトにアクセスする前にCRLへアクセスし、リストをダウンロードします。そのリストの中にアクセスしようとしたサイトのSSL証明書のシリアル番号があった場合、サイトを閲覧させないように機能します。CRLはSSL証明書に記載されており、ここへFirefoxやChromeなどのブラウザがアクセスしています。

OCSPを利用した証明書の失効確認

OCSPは、CRLとは異なり、「OCSPレスポンダ(OCSP Responder)」と呼ばれるOCSPサーバを稼働させ、そこでCRLを保管します。ユーザはOCSPレスポンダに証明書のシリアル番号を問い合わせ、有効であるか否かの回答をもらいます。CRLを利用した証明書の有効確認より、証明書の有効性をリアルタイムで確認することができます。

OCSPを利用した「サーバ証明書」の失効確認

OCSPを使用してウェブサーバのサーバ証明書の失効確認を行う場合、OCSPレスポンダは認証局のCRLを取り込み、サーバ証明書の失効情報を保管します。ブラウザがウェブサーバにアクセスすると、ウェブサーバはサーバ証明書をブラウザに送付します。ブラウザはOCSPレスポンダに証明書の失効情報を問い合わせ、証明書が失効しているかどうかを判別します。この流れの場合、ユーザがHTTPSサイトにアクセスするたびにOCSPレスポンダに問い合わせを行うこととなります。そのためHTTPS通信の確立までに余計に時間がかかってしまいます。また、ユーザがいつどのHTTPSサイトにアクセスしたのかに関連する情報がOCSPレスポンダに伝わってしまいます。これを解決するために、ウェブサーバにてOCSP Staplingという方法が使用されます。

OCSPサーバ証明書の失効確認1

  • OCSP Stapling

    ウェブサーバはOCSPレスポンダの応答をキャッシュし、HTTPS通信の開始時に自身のサーバ証明書とともにOCSPレスポンダの応答をユーザに送信します。ブラウザが張るコネクションは1つで済むのでHTTPS通信開始時間が短縮できます。ブラウザはウェブサーバとのみ通信するのでOCSPレスポンダにブラウザの情報は伝わりません。

OCSPサーバ証明書の失効確認2

OCSPを利用した「クライアント証明書」の失効確認

クライアント証明書を使用してVPNコネクションの認証を行う場合、OCSPレスポンダは認証局のCRLを取り込み、クライアント証明書の失効情報を保管します。VPNクライアントがVPNサーバにコネクション要求をする際、VPNクライアントはクライアント証明書をVPNサーバに送付します。VPNサーバはOCSPレスポンダに証明書の失効情報を問い合わせ、応答を得て証明書が失効しているか否かを判別します。

OCSPクライアント証明書の失効確認

OCSPによる失効確認を行う場合、失効確認を行う側はOCSPレスポンダへアクセスするための情報が必要になります。認証局が失効確認を行う対象となる証明書を発行する際、証明書の拡張領域の認証機関アクセス情報(Authority Information Access, AIA)にOCSPレスポンダのURLを記載することができます。証明書を受け取った側はこの情報を参照してOCSPレスポンダへアクセスすることができます。OCSPレスポンダはOCSP応答が正当なものであることを示すため、証明書を使用してOCSP応答に署名を行う必要があります。

OpenCA OCSPDとは

OpenCA OCSPDとは、OCSPを実装するためのサーバであり、OCSPレスポンダです。OpenCA PKI Research Labs(旧OpenCA Project)によって開発されています。

OpenCA OCSPD構成図

OpenCA OCSPDの特徴

OpenCA OCSPD には以下のような特徴があります。

  • OpenXPKIと組み合わせが可能

    OpenCA OCSPDはOpenCA PKI Research Labs(旧OpenCA Project)によって開発されているソフトウェアですが、OpenXPKIと組み合わせて使用することも可能です。OpenXPKIにて発行したCRLを取り込んで利用することができます。

  • 複数の認証局(CA)を取り扱うことができる

    認証局(CA)に関する設定ファイルを複数作成することにより、各認証局(CA)の失効情報を取り扱うことができます。

  • 失効情報更新の自動化が可能

    OpenCA OCSPDは、設定ファイルで指定した場所に配置されたCRLファイルを読み込んで失効情報を提供するというつくりとなっています。scp等でCRLファイルを配置しOpenCA OCSPDに再読み込みを指示するスクリプトを作成してcronから実行すれば、容易に失効情報更新の自動化ができます。

OpenCA OCSPDの使用場面

CAを自前で構築している場合

ウェブサーバ用のサーバ証明書を発行するCAを自前で構築している場合、OpenCA OCSPDを利用することによりCRLが大きくなった場合でもHTTPSの通信開始時間を増大させずにおくことが可能です。

VPN機器などのクライアント証明書の失効確認を行う

機器仕様上CRLの定期更新が難しい場合でも、OpenCA OCSPDを利用して失効状態の自動管理を行うことができます。

認証局が複数ある場合

クライアント証明書を発行する認証局が複数ある場合、すべてのCRLを取りに行くのではなくOCSPレスポンダにて一括管理することも可能です。

「関連情報」

OpenCA OCSPD調査報告書

無料資料ダウンロード(OpenCA OCSPD)

OpenCA OCSPDはOpenCA PKI Research Labs(旧OpenCA Project)によって開発されているソフトウェアです。OpenCA PKI以外のPKIソフトウェアと組み合わせて使用することも可能です。本稿では、OpenCA OCSPDのインストールや設定方法などの詳細情報が記載されています。またOpenXPKIと組み合わせた検証を行いました。

2020 年2 月 メールマガジン記事

メルマガ2020年2月号

「OCSPレスポンダソフトウェアのOSS〜OpenCA OCSPD〜」
今回は、証明書の失効を確認するためのプロトコルのOCSPと、OCSPレスポンダソフトウェアのOpenCA OCSPDを紹介します。

デモのお申込み

もっと使い方が知りたい方へ
OpenXPKIの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。OpenXPKIのデモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ


一押しOSS【OpenXPKI】

プライベート認証局
〜OpenXPKI〜
OpenXPKIの特徴・機能・デージーネットが提供する認証局の構築サービスについて紹介します。
OpenXPKIのログイン
OpenXPKIによる認証局構築後のログイン方法を紹介します。
クライアント証明書・サーバ証明書のCSR作成
認証局への証明書署名要求(CSR)の作成とリクエスト送信を、WEBインタフェースを使い行うことができます。
認証局でのクライアント証明書・サーバ証明書発行
認証局の管理者は、証明書の発行承認をWEBインタフェースから行うことができます。
認証局の証明書検索
認証局が発行した証明書は、WEBインタフェースから簡単に検索することができます。
認証局の証明書失効
認証局が発行した証明書の失効は、WEBインタフェースから行うことができます。
OpenXPKIのインストール
認証局を構築するため、OpenXPKIをインストールする場合には、公式サイトでDebian/Ubuntu用のパッケージが配布されています。ここでは、Debian Jessieへのインストール方法を紹介します。
OpenXPKI手順書
ここではOpenXPKI Web UIの管理画面を使用したOpenXPKIサーバの操作手順についてのマニュアルについて紹介します。
プライベート認証局(CA)の構築「OpenXPKI」のよくある質問
OpenXPKIによる認証局構築の検討時に、お客様からよくいただくご質問にお答えします。
OCSPレスポンダ〜OpenCA OCSPD〜
OCSPとは、公開鍵証明書の失効状態を取得するための通信プロトコルです。OCSPを実装するための通信プロトコルです。OCSPを実装するためのOCSPレスポンダであるOpenCA OCSPDについて紹介します。

OCSPレスポンダ〜OpenCA OCSPD〜のインストールの先頭へ