コンテンツへスキップ
uencoder

TLS ハンドシェイク高速化のために OCSP ステープリングを有効にする

OCSP ステープリングを使うと、サーバーが TLS ハンドシェイク中に最新の失効確認結果をクライアントに提示でき、CA への別途ラウンドトリップを省けます。

  1. 1

    OCSP ステープリングがないと、クライアントは証明書が失効していないかを確認するために CA の OCSP レスポンダに直接問い合わせる必要があります。これは余分なラウンドトリップで、レイテンシが増えるうえ、閲覧履歴が CA に漏れる原因にもなります。ステープリングを使えば、サーバーが OCSP レスポンスを取得して TLS ハンドシェイクに「ステープル (添付)」します。

  2. 2
    RSA ツール →

    Authority Information Access (AIA) 拡張を確認して、証明書が OCSP に対応しているかを検証します。AIA には OCSP レスポンダの URL が含まれます。これがないとステープリングは機能しません。

  3. 3
    ハッシュ計算ツール →

    OCSP レスポンスをハッシュして、最近更新されたものかを確認します。OCSP レスポンスには有効期間 (通常は数時間) があり、サーバーは期限切れ前に更新しなければなりません。

  4. 4

    Web サーバーを設定して (nginx: ssl_stapling on、Apache: SSLUseStapling on)、OCSP レスポンスの取得とキャッシュを行います。OCSP レスポンダに到達できない場合、サーバーはステープリングなしのハンドシェイクにフォールバックします。OCSP 取得の成功率を監視してください。

よくある質問

OCSP と CRL の違いは何ですか?
CRL (Certificate Revocation List、証明書失効リスト) は失効したシリアル番号の一覧で、サイズが大きくダウンロードに時間がかかることがあります。OCSP は 1 枚の証明書の状態に対するリアルタイムの問い合わせです。OCSP ステープリングは両方の長所を組み合わせます。クライアントのラウンドトリップなしでリアルタイムの状態が得られます。
OCSP レスポンダがダウンしていたらどうなりますか?
サーバーはレスポンスをステープルできず、通常のハンドシェイクにフォールバックします。その後、クライアントが自分で OCSP を確認する (タイムアウト付き) か、証明書を受け入れる (ソフトフェイル) ことになります。これは OCSP の弱点であり、重要な証明書には OCSP Must-Staple を検討してください。

このタスクを解決するワークフロー

コンテンツのハッシュと Base64 エンコード
入力のハッシュを計算し、コンパクトな転送のためにハッシュダイジェストを Base64 としてエンコードする。
パイプライン
テキストのハッシュと整合性検証
入力テキストのハッシュを計算し、期待されるハッシュと比較して整合性を検証する。
パイプライン
テキストのハッシュと CRC32 チェックサム検証
データ整合性検証のために、暗号学的 SHA-256 ハッシュと CRC32 チェックサムの両方を計算する。
パイプライン
MD5 ハッシュ後に Base58 エンコード
MD5 ハッシュを計算し、コンパクトな表現のために Base58 としてエンコードする。
パイプライン
マルチハッシュ速度比較
入力をハッシュし、複数のハッシュアルゴリズムをベンチマークして速度と出力を比較する。
パイプライン
パスワード生成とハッシュ
ランダムパスワードを生成し、安全な保存のためにハッシュする。
パイプライン
SHA3-256 ハッシュと CRC32 チェックサム
SHA3-256 ハッシュを計算し、二重整合性検証のために CRC32 チェックサムを計算する。
パイプライン
SHA-512 ハッシュ後に Hex エンコード
SHA-512 ハッシュを計算し、可読性のために Hex としてエンコードする。
パイプライン
テキスト反転とハッシュ
テキストを反転し、その後反転結果の SHA-256 ハッシュを計算する。
パイプライン
テキストスクランブルとハッシュ
テキストをスクランブルし、その後スクランブル結果をハッシュする。
パイプライン

関連ツール