Online Certificate Status Protocol

Online Certificate Status Protocol (OCSP) について



Online Certificate Status Protocol(OCSP)は、X.509公開鍵証明書の失効状態をリアルタイムで取得するための通信プロトコルです。RFC 6960で規定されており、インターネット標準として広く利用されています。従来の証明書失効リスト(CRL)の代替として開発され、CRLが抱える課題を解決することを目指しています。OCSPは、証明書の有効性を迅速かつ効率的に確認するための重要な技術です。

OCSPの仕組み



OCSPのメッセージはASN.1で符号化され、主にHTTPを使ってやり取りされます。クライアントは証明書の失効状態を確認するために、OCSPレスポンダと呼ばれるサーバに要求を送信します。この要求に対する応答は、証明書が「有効」「失効」「不明」のいずれかの状態であるかを示します。OCSPは要求/応答型のプロトコルであり、リアルタイムに近い状態で証明書の有効性を確認できるのが特徴です。

CRLとの比較



OCSPは、CRLと比較して以下のような特徴があります。

応答のサイズ: OCSP応答は、通常、CRLよりも情報量が少ないため、より迅速に失効状態を提供できます。しかし、クライアントが応答をキャッシュしない場合、要求回数が増加し、利点が損なわれる可能性があります。
クライアントの複雑さ: OCSPは、クライアントがCRLを解析する必要がないため、クライアント側の処理が簡素化されます。しかし、これもキャッシュを適切に管理する必要があるため、トレードオフの関係にあります。実際のアプリケーション開発では、サードパーティ製のライブラリが利用されることが多いため、この点はあまり考慮されないこともあります。
プライバシー: CRLは「悪質顧客リスト」のように、必要以上の情報公開になる可能性があります。OCSPは、特定のネットワークホストが特定の時間に特定の証明書を使用したという情報をレスポンダに明らかにします。この情報は暗号化されない場合、第三者に傍受される危険性があります。

基本的なPKI実装におけるOCSPの利用例



アリスとボブが認証局(CA)イバンから発行された公開鍵証明書を持っているとします。

1. アリスがボブと取引をするために、自身の公開鍵証明書をボブに送ります。
2. ボブはアリスの証明書が失効していないかを確認するために、アリスの公開鍵のメッセージダイジェストを含むOCSP要求をイバンに送ります。
3. OCSPレスポンダであるイバンは、CAデータベースでアリスの証明書の失効状態を確認します。CAデータベースのみが証明書の失効状態に関する信頼できる情報源です。
4. イバンはアリスの証明書の有効性を確認し、デジタル署名付きのOCSP応答をボブに返します。
5. ボブは応答の署名を検証し、応答が最新のものであることを確認します。
6. ボブはアリスとの取引を実行します。

プロトコルの詳細



応答: OCSPレスポンダは、要求された証明書の状態について、「有効」「失効」「不明」のいずれかの応答を返します。要求を処理できない場合は、エラーコードが返されることがあります。
拡張: OCSP要求のフォーマットには拡張機能があり、特定のPKI方式に合わせてカスタマイズできます。
反射攻撃: OCSPは反射攻撃に対して耐性があります。反射攻撃とは、署名された有効な応答を第三者が傍受し、証明書が失効した後にクライアントに対してその応答を使用する攻撃です。OCSPでは、要求にNonce(使い捨ての数字)を含め、応答にも同じNonceを含めることで、この攻撃を防止します。
複数レベルのCA: OCSPは複数レベルのCAをサポートできます。OCSP要求をレスポンダ間で連鎖させることで、発行元のCAが証明書の発行に適切であったかを検証できます。
Delegated Path Validation (DPV): OCSPレスポンダは、DPVサーバから失効情報を要求されることがあります。OCSP自身は、提供された証明書に対してDPVを実行することはありません。

ブラウザでのサポート状況



主要なブラウザはOCSPチェックをサポートしていますが、実装状況は異なります。

Internet Explorer: Windows Vista以降のInternet Explorer 7でOCSPチェックのサポートを開始しました。
Firefox: 全バージョンでOCSPチェックをサポートしており、Firefox 3以降はデフォルトで有効になっています。
Safari: Mac OS X版のSafariはOCSPチェックをサポートしています。
Opera: 最新版のOperaはOCSPチェックをサポートしています。
* Google Chrome: 2012年に、待ち時間やプライバシーの問題からOCSPチェックをデフォルトで無効にしました。ただし、OCSP staplingは引き続き有効です。

まとめ



OCSPは、公開鍵証明書の有効性をリアルタイムで確認するための重要なプロトコルです。CRLと比較して、より迅速で効率的な失効チェックを提供しますが、プライバシーやキャッシュの管理など、考慮すべき点もいくつかあります。主要なブラウザでのサポート状況を踏まえ、適切なセキュリティ対策を講じることが重要です。OCSPは、PKIのセキュリティを維持するための不可欠な技術の一つです。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。