Mozilla Security Blog 日本語版

Mozilla Security Blog を日本語に翻訳(非公式)

【翻訳】証明書失効確認の改善: OCSP Must-Staple と Short-lived 証明書

この記事は、2015 年 11 月 23 日付で Mozilla Security Blog に投稿された Improving Revocation: OCSP Must-Staple and Short-lived Certificates(筆者: mgoodwin)の翻訳です。この翻訳は公式なものではありません。詳しくはこちらをご覧ください。

また、2013 年 7 月 29 日付の記事 OCSP Stapling in Firefox(参考: 日本語訳)ならびに 2015 年 3 月 3 日付の記事 Revoking Intermediate Certificates: Introducing OneCRL(参考: 日本語訳)も合わせてご覧ください。


Firefox において証明書失効の確認プロトコルをより良く実装するため、昨年に私たちは長期的な計画を立案しました。今週の時点で、この計画における主要な要素はほぼ達成できています。今年の初めに(参考:日本語訳) OneCRL を実装したのち、先日には OCSP Must-Staple と short-lived 証明書の実装を行いました。これらの変更により、Web サイトの管理者が証明書の失効確認を素早く安全に行えるようになります。

願わくば、ブラウザが証明書を検証したいときにオンライン確認(OCSP など)が行えて、検証に失敗したら証明書を拒否できるのが理想かもしれません。しかしながらこの確認作業は速度が遅かったり、信頼性に欠けたりすることがあります。この確認作業のおよそ 15%タイムアウトしており、仮に成功した場合でもおよそ 350ms の時間を要しています。一般的なブラウザでは、これらの問題と失効確認の利益とにおけるバランスを考慮してソフトフェールの立場をとっています。

失効確認がより強固に行われるようにするため、私たちは short-lived 証明書と OCSP Must-Staple のサポートを開始しました。これにより、厳密な失効確認を行うかどうかを Web サイトが選択できるようになります。Firefox 41 では、short-lived 証明書(証明書の有効期間が "security.pki.cert_short_lifetime_in_days" の値よりも短い証明書)に対して、OCSP の問い合わせを「リアルタイムに」行うことはしません。その代わりに Firefox は、証明書が有効なものであると仮定します。この値に関するデフォルト値はまだ決まっていないため、現時点ではユーザ自身で設定する必要があります。私たちは証明書の有効期限をテレメトリで収集していますが、CA/Browser Forum の Baseline Requirements で示される OCSP レスポンスの最大有効期間に近い値でしきい値を設定することを考えています。

OCSP Must-Staple は、最近に定義された TLS 拡張機能 を利用しています。証明書に対して認証局(CA)がこの拡張機能を付加していた場合は、(サーバから送られてきた)TLS ハンドシェイク内に証明書の失効状況を知らせる OCSP レスポンスが含まれているかブラウザが確認します。もし OCSP レスポンスが含まれていなければ、 Firefox は通信を遮断してエラーを表示します(ユーザがこのエラーを無視して接続し直すことはできません)。この機能は Firefox 45 で実装され、現在の予定では 2016 年 3 月のリリースを予定しています。