2020年03月04日 10時52分 ネットサービス

「バグの影響で特定のサーバー証明書を失効させる」とLet’s Encryptが発表、影響を受けるのは全体の2.6%

by Sean MacEntee



HTTPS通信に必要なサーバー証明書を無料で発行する認証局「Let's Encrypt」が、ソフトウェアのバグによって安全に証明書が発行できていなかったとして、バグの影響を受けたと考えられる証明書を2020年3月4日(水)に失効させることを発表しました。



2020.02.29 CAA Rechecking Bug - Incidents - Let's Encrypt Community Support

https://community.letsencrypt.org/t/2020-02-29-caa-rechecking-bug/114591



Revoking certain certificates on March 4 - Help - Let's Encrypt Community Support

https://community.letsencrypt.org/t/revoking-certain-certificates-on-march-4/114864



このバグは、Let's Encryptがサーバー証明書を発行する前にユーザーとそのドメインを検証するために使っているサーバーソフトウェアのBoulderで見つかったものです。



2017年にHTTPS証明書の誤発行を防ぐため、新しくサーバー証明書を発行する前にCAA(Certificate Authority Authorization、認証局認証)レコードの検証を行うことが業界標準として定められました。CAAレコードはドメイン所有者がDNSレコードに追加する認証局コードで、CAAレコードに設定されている認証局のみがそのドメインのサーバー証明書を発行できるようにし、サーバー証明書を第三者が勝手に発行することを防止します。このDNS／CAAレコードの検証を行うのがBoulderの役割でした。



しかし、Let's Encryptのエンジニアであるヤコブ・ホフマン＝アンドリュース氏が2020年2月29日(土)に投稿した内容によれば、「認証局の再チェックを必要とするN個のドメイン名がCAAレコードに設定されていた場合、Boulderは1つのドメイン名をN回チェックする仕様だった」とのこと。このバグによって、最後にLet's Encryptが証明書を発行してから30日以内であれば、たとえLet's Encryptによる証明書発行がCAAレコードで禁止されたとしてもLet's Encryptが証明書を発行できてしまうと、ホフマン＝アンドリュース氏は述べています。





Let's Encryptは2020年2月29日に2時間のメンテナンスを設けてこのバグを修正。誰かがこのバグを悪用した可能性は非常に低いとしながらも、Let's Encryptは業界の規則に従ってこのバグの影響を受けたすべての証明書を失効させることを発表しました。



Let's Encryptによれば、2020年2月29日時点でアクティブなLet's Encrypt発行の証明書1億1600万件のうち、バグの影響を受けたのは全体の2.6％にあたる304万8289件とのこと。該当する証明書の失効は2020年3月4日(水)を予定しており、日本時間で2020年3月5日12時までに失効が完了することが発表されています。





なお、影響を受ける証明書のシリアル番号は以下のページで公表されています。



Download affected certificate serials for 2020.02.29 CAA Rechecking Incident - Let's Encrypt - Free SSL/TLS Certificates

https://letsencrypt.org/caaproblem/

