Let’s Encrypt ACME TLS-SNI検証を無効化

ニュースソース:Let’s Encrypt Community

以下は、2018年01月11日に公開された 2018.01.11 Update Regarding ACME TLS-SNI and Shared Hosting Infrastructureを要約したものです。


Let’s Encryptのドメイン名検証方法のひとつとして利用されていたACME TLS-SNIで、他人のドメイン名でサーバ証明書取得ができてしまうことが判明しました。
この脆弱性が発見されてから48時間後に、Let’s EncryptはACME TLS-SNI検証を無効化し、ドメイン検証をHTTPまたはDNSで行うよう強く推奨しています。

以下について詳しくは2018.01.09 Issue with TLS-SNI-01 and Shared Hosting Infrastructureを参照してください。

ACME TLS-SNIは、自動プロセスを使用してドメイン名の検証を行う方法のひとつです。
ACMEプロトコルのTLS-SNI-01チャレンジでは、ACMEサーバーはランダムトークンを生成し、ACMEクライアントに通信することによってドメイン名を検証します。
ACMEクライアントは、そのトークンを使用して、特定の無効なホスト名を持つ自己署名証明書を作成し、その証明書を提供するために検証されているドメイン名でWebサーバーを構成します。
ACMEサーバーはドメイン名のポート443で提供される自己署名入りの証明書が送付されたトークンによるものである場合、ドメイン名が正常に利用されていると判断し、証明書を発行します。

しかし、同一のIPアドレス上で異なるユーザーによる複数のドメインでWebを利用でき、SNIが有効なホスティングサービスの場合、すでにそのIPアドレスで運営されているドメイン名の証明書を第三者がACME TLS-SNIを利用して取得することが可能です。