<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>を、その有効期限の満了を待たずに無効とすることを<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失効<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">revocation</rt></rubyb></dfn>といいます。</p><section><h1>プロトコル</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失効<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">証明書の失効</title></anchor>情報は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CA</anchor> が発行し、何らかの方法で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>の (潜在的)
利用者に伝達する必要があります。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失効<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">失効 (証明書)</title></anchor>情報の伝達方法は色々あります。</p><figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP stapling</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLSets</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OneCRL</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">short-lived certificates</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLite</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> いずれも問題を抱えており、万能な方法は無いようです。
各実装はそれぞれの方針に従い組み合わせて使っていますが、
それにもそれぞれの問題があるようです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 中には失効の検査を行わない実装もあるようです。
当然それには不正な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>を検出できないリスクがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラマー</anchor>は汎用の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>のデフォルト設定のまま使えばそれなりに適切なセキュリティーが得られると期待しがちですが、
その期待は裏切られるかもしれません。よく使われる著名な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>でも、
特別に失効の検査をしないものがあります。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ライブラリー</anchor>や、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>である <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor>
などのライブラリーを選ぶときには、 
失効の検査がどう実装されているかを注意しなければなりません。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CA</anchor> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRL</anchor> を作成できます。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>には、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRL</anchor>
を配布する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を記述できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CA</anchor> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor> により失効情報を提供できます。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>には、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エンドポイント</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を記述できます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">検証</anchor>したい者は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>に記述された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
を使って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor> でアクセスし、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失効</anchor>していないか確認できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLSサーバー</anchor>は、予め <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CA</anchor> から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor> 情報を入手しておき、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLSクライアント</anchor>に対して <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP stapling</anchor> によってこれを提供できます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLSクライアント</anchor>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP</anchor> の処理を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OCSP stapling</anchor> の情報で代用できます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Google</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CRLSets</anchor> として、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Mozilla</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OneCRL</anchor>
として主要な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>の失効情報を集約したものを用意し、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は定期的にこれをダウンロードして検証に利用します。</p></section><section><h1>データベース</h1><p><sw-see xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"> <anchor>証明書データベース</anchor> </sw-see></p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">CA:ImprovingRevocation - MozillaWiki</cite>
(<time>2015-03-21 11:05:17 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.mozilla.org/CA:ImprovingRevocation">https://wiki.mozilla.org/CA:ImprovingRevocation</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">CA:RevocationPlan - MozillaWiki</cite>
(<time>2015-03-21 11:08:04 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://wiki.mozilla.org/CA:RevocationPlan">https://wiki.mozilla.org/CA:RevocationPlan</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <cite xml:lang="en">RFC 7525 - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</cite>
(<time>2015-05-29 03:22:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7525#section-6.5">https://tools.ietf.org/html/rfc7525#section-6.5</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="ja">証明書の失効を構成する</cite>
( (<time>2016-05-09 17:14:04 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://technet.microsoft.com/ja-jp/library/cc771079(v=ws.11).aspx">https://technet.microsoft.com/ja-jp/library/cc771079(v=ws.11).aspx</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">ImperialViolet - No, don't enable revocation checking</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Adam Langley</anchor>著, <time>2016-05-09 20:17:00 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.imperialviolet.org/2014/04/19/revchecking.html">https://www.imperialviolet.org/2014/04/19/revchecking.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <cite>The current state of certificate revocation (CRLs, OCSP and OCSP Stapling)</cite>
( (<time>2016-05-09 21:59:02 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.maikel.pro/blog/current-state-certificate-revocation-crls-ocsp/">https://www.maikel.pro/blog/current-state-certificate-revocation-crls-ocsp/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">How Certificate Revocation Works</cite>
( (<time>2016-05-09 22:47:49 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://technet.microsoft.com/en-us/library/ee619754(WS.10).aspx">https://technet.microsoft.com/en-us/library/ee619754(WS.10).aspx</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xml:lang="en">Issue 305443 - chromium - Chrome for Android doesn't seem to respect CRL - Monorail</cite>
( (<time>2016-05-09 23:24:53 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=305443">https://bugs.chromium.org/p/chromium/issues/detail?id=305443</anchor-external></figcaption><blockquote><p>Oct 9, 2013</p><p>Android has never supported revocation checking.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">Issue 362696 - chromium - Missing warning on revoked certificate - Monorail</cite>
( (<time>2016-05-09 23:29:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=362696">https://bugs.chromium.org/p/chromium/issues/detail?id=362696</anchor-external></figcaption><blockquote><p>On all platforms that perform revocation checks as a system-level component (eg: on Windows and OS X), we always pass flags to allow cached revocation checks. That is, if another application has caused a revoked certificate to be known, we (Chrome) will treat it as revoked. Additionally, we pass flags to disable online revocation checks. However, in certain circumstances, the OS will ignore those flags and force an online revocation check. In those cases as well, the revocation will be picked up.</p><p>Absent both of those cached settings, however, we utilize CRLSets, the contents of which are described at a previous link and, by design, do not contain *every* revoked certificate.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <cite>Security FAQ - The Chromium Projects</cite>
( (<time>2016-05-07 09:19:23 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.chromium.org/Home/chromium-security/security-faq#TOC-What-s-the-story-with-certificate-revocation-">https://www.chromium.org/Home/chromium-security/security-faq#TOC-What-s-the-story-with-certificate-revocation-</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <cite xml:lang="en">ImperialViolet - Revocation still doesn't work</cite>
( (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Adam Langley</anchor>著, <time>2016-05-09 23:37:03 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.imperialviolet.org/2014/04/29/revocationagain.html">https://www.imperialviolet.org/2014/04/29/revocationagain.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en">854346 – Treat expired certs with no revocation information as revoked, and do not allow an override</cite>
( (<time>2016-05-10 21:23:36 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=854346">https://bugzilla.mozilla.org/show_bug.cgi?id=854346</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite>IO::Socket::SSL - search.cpan.org</cite>
( (<time>2016-05-11 00:32:21 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://search.cpan.org/~sullr/IO-Socket-SSL-2.027/lib/IO/Socket/SSL.pod">http://search.cpan.org/~sullr/IO-Socket-SSL-2.027/lib/IO/Socket/SSL.pod</anchor-external></figcaption><blockquote><p>It will also check the revocation of the certificate with OCSP, but currently only if the server provides OCSP stapling (for deeper checks see ocsp_resolver method).</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="ja">Microsoft、不正SSL証明書問題に対処 Firefoxは再度更新 - ITmedia エンタープライズ</cite>
( (<time>2016-05-11 01:05:16 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.itmedia.co.jp/enterprise/articles/1109/07/news017.html">http://www.itmedia.co.jp/enterprise/articles/1109/07/news017.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">Add CRL generation to revocation updater · Issue #232 · letsencrypt/boulder</cite>
( (<time>2016-05-11 23:05:41 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/letsencrypt/boulder/issues/232">https://github.com/letsencrypt/boulder/issues/232</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="en">Check Certificate Revocation Lists the OCSP status of an (SSL) Certificate</cite>
( (<time>2016-05-28 01:59:50 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://certificate.revocationcheck.com/">https://certificate.revocationcheck.com/</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">1024809 – (OneCRL) Add Revoked Intermediate Certs to revocation list push mechanism</cite>
( (<time>2016-05-31 17:17:59 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=1024809#c59">https://bugzilla.mozilla.org/show_bug.cgi?id=1024809#c59</anchor-external></figcaption><blockquote><p>I would encourage you to re-think the Issuer+SerialNumber being the only blocking mechanism. Both CRLSets and Microsoft's Certificate Distrust Lists have found that in the real world of revocations (most notably, DigiNotar), issuer+serial number is NOT sufficient. There are times where you want Subject+Public Key, as a given Subject+PublicKey may have many issuers, some of which the affected CA does not disclose.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite>Requiring OCSP for EV (was Re: <strong>[</strong>ct-policy<strong>]</strong> Proposed changes to EV/CT Plan) - Google グループ</cite>
( (<time>2016-05-31 17:24:52 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/a/chromium.org/forum/#!topic/security-dev/jmbbIgmGbdk">https://groups.google.com/a/chromium.org/forum/#!topic/security-dev/jmbbIgmGbdk</anchor-external></figcaption><blockquote><p>&gt; For Chrome, AIUI you already aim to have your CRLSets cover all EV certs, so why demand OCSP Stapling for EV as well?</p><p>&gt;</p><p>This is not correct, and something we have repeatedly clarified. CRLSets first and foremost has been a means to deal with emergency revocations outside of the binary updates, such as those employed by Firefox, or system updates, such as those employed by Microsoft (prior to certificate distrust lists, which operate comparably) or Apple. Our commitment is to rapid response, and the focus here is on intermediates and certificates with powerful/dangerous capabilities that put a broad base of users at risk.</p><p>In the course of developing this, we saw an opportunity to optimize some of the CRL delivery for end-entity certs, but this was merely opportunistic. While we still employ it, especially for CAs that can provide meaningful revocation information, this is a &quot;nice to have&quot;, and may be removed in the future. While I'm sure this would kick off a centithread alone, I don't think we should focus on this.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite>cURL - How To Use</cite>
( (<time>2016-05-31 06:05:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://curl.haxx.se/docs/manpage.html#--crlfile">https://curl.haxx.se/docs/manpage.html#--crlfile</anchor-external></figcaption><blockquote><p>--crlfile &lt;file&gt;</p><p>(HTTPS/FTPS) Provide a file using PEM format with a Certificate Revocation List that may specify peer certificates that are to be considered revoked.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite>cURL - SSL CA Certificates</cite>
( (<time>2016-05-24 16:25:10 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://curl.haxx.se/docs/sslcerts.html">https://curl.haxx.se/docs/sslcerts.html</anchor-external></figcaption><blockquote><p>Schannel will run CRL checks on certificates unless peer verification is disabled. Secure Transport on iOS will run OCSP checks on certificates unless peer verification is disabled. Secure Transport on OS X will run either OCSP or CRL checks on certificates if those features are enabled, and this behavior can be adjusted in the preferences of Keychain Access.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en">マイナンバーカードでSSHする - AAA Blog</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">hamano</anchor>著, <time>2016-06-23 13:05:40 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.osstech.co.jp/~hamano/posts/jpki-ssh/">https://www.osstech.co.jp/~hamano/posts/jpki-ssh/</anchor-external></figcaption><blockquote><p>証明書の失効情報を得るにはなぜか総務大臣の認可が必要だそうなので証明書の検証が必要な場合は面倒ですが申請するしかないですね。</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="ja">グローバルサインのルート証明書が一時的に失効するトラブル | スラド IT</cite>
( (<time>2016-10-25 02:51:18 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://it.srad.jp/story/16/10/24/0624223/">http://it.srad.jp/story/16/10/24/0624223/</anchor-external></figcaption><blockquote><p>問題の発端となったのは、グローバルサインが10月7日に発行した証明書失効リスト(CRL)。CRLは有効期限が過ぎた証明書を失効させるためのリストなのだが、その中に含まれていたクロスルート証明書と同じ公開鍵、同じサブジェクトネームを持つルート証明書が存在し、「より最近の有効期間開始日を持つクロスルート証明書について、元のルート証明書(R1)に対する置き換えであるとみなしてしまうような実装がされていた」たためにそのルート証明書が失効扱いとなり、このルート証明書に依存する中間CA証明書がすべて無効となってしまったという。</p><p>10月7日時点では問題は発生していなかったのだが、10月13日に証明書失効情報を提供するためのOnline Certificate Status Protocol(OCSP)で使われるデータベースが更新され、10月7日に発行されたCRLの情報を取り込んだために問題が発覚した模様。</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="ja">GoDaddyのSSL証明書発行の際のドメイン所有者確認システムにバグ、証明書8,850件が失効 | スラド セキュリティ</cite>
(<time>2017-01-14 18:21:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://security.srad.jp/story/17/01/13/2232244/">https://security.srad.jp/story/17/01/13/2232244/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">Are revoked certificates detected in Safari and Chrome? - Server - Let's Encrypt Community Support</cite>
(<time>2018-01-30 00:21:56 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://community.letsencrypt.org/t/are-revoked-certificates-detected-in-safari-and-chrome/42677/6">https://community.letsencrypt.org/t/are-revoked-certificates-detected-in-safari-and-chrome/42677/6</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en">361820 - Check For Server Certificate Revocation checkbox is confusing - chromium - Monorail</cite>
(<time>2018-01-30 18:35:41 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=361820">https://bugs.chromium.org/p/chromium/issues/detail?id=361820</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en">No bug, Automated blocklist update from host bld-linux64-spot-302 - a…</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ffxbld</anchor>著, <time>2018-02-15 04:41:58 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/mozilla/gecko-dev/commit/3d37781c2d360dfbc41d5ef40f5111166475010c#diff-6977f1da0159242e38daf7645b72e52a">https://github.com/mozilla/gecko-dev/commit/3d37781c2d360dfbc41d5ef40f5111166475010c#diff-6977f1da0159242e38daf7645b72e52a</anchor-external></p></section></body></html>