【2020年12月更新】
文中で言及しているAndroid端末のカバレッジ変更については対応が回避されました。詳しくはルート証明書の移行スケジュールのセクションをご覧ください。
ルート証明書とは?
ルート証明書は認証局が発行する電子証明書であり、パソコンやタブレット、スマートフォンなどのWebサイトにアクセスする端末にプリインストール(出荷時からインストール)されています。
SSLサーバー証明書(以下、SSL証明書)は一般的に以下のように構成されており、ルート証明書が中間CA証明書を、中間CA証明書がサーバー証明書をそれぞれ保証することによって、アクセスしている”ドメイン”と”サーバー”が同一のものであることを保証しています。
ルート証明書
└中間CA証明書(1~2階層)
└サーバー証明書(一般的にSSL証明書と呼ばれるもの)
当サイトのSSL証明書を見てみると、ルート証明書は「SECOM Trust Systems CO LTD」であり、下層へ連鎖していった結果、ルート証明書によりssl.sakura.ad.jpが認証されていることを表しています。
この信頼の連鎖の基点がルート証明書であり、トラストアンカー(またはトラストポイント)と呼ばれます。もし悪意のある第三者が、あなたのパソコンに不正なルート証明書をインストールした場合、この連鎖が壊れてしまいセキュリティが担保できなくなってしまいます。
Let’s Encryptのルート証明書とは?
Let's Encryptを運営している非営利団体のISRG(Internet Security Research Group)は2014年に設立された新しい認証局です。もちろん、当時は設立されたばかりなのでISRGのルート証明書は様々な端末にインストールされていませんでした。そのため、別の認証局であるIden Trustが2000年に発行した「DST Root X3」というルート証明書を利用し、クロス署名された中間CA証明書を現在も利用しています。
この間(2014年~現在まで)ISRGは何をしていたかというと、各OS(Windows、Mac、Android等)やMozilla(Firefoxブラウザの開発元)に対して、自社のルート証明書である「ISRG Root X1」をインストールしてもらうようにお願いをして、徐々にインストール済み端末シェアを拡大していました。
ルート証明書の利用状況は、ハードウェアの買い替えサイクルとも間接的に連動するため、一朝一夕で変えられるものではありません。ルート証明書はWindows Updateのようなソフトウェアアップデートで更新可能ではありますが、サポートの切れたWindows Vistaのような古い端末や、メーカーからソフトウェアアップデートが提供されなくなったAndroid端末を使い続ける人には新しいルート証明書が提供されることはありません。そのため、結果的にルート証明書のシェアはハードウェア買い替えサイクルと密接に関係してくるのです。
こういった、「OSに最初からインストールされている/OS側で仕様が決まっている」ものはライフサイクルの早い商品と非常に相性が悪く、特にOS開発元と端末開発元が個別に存在するAndroid OSで顕著です。実際「ISRG Root X1」はAndroid端末において普及率の問題を抱えており、Android 7.1.1以降であれば「ISRG Root X1」を利用できますが、現在でも実に34%のAndroid端末はそれ以前のバージョンであるため利用できません。これらの端末はLet’s Encryptを利用しているWebサイトにアクセスできなくなる可能性があります。
Let’s Encryptのルート証明書が切り替わると何が起きる?
紐付いているルート証明書が変わると、一番大きな影響を受けるのは上記のように「新しいルート証明書がインストールされない/できない端末を利用している人」です。今までWebサイトを閲覧できていても、切り替え後はブラウザ上でエラーが表示されてサイトにアクセスすることができなくなります。
どうしてもAndroid 7.0以前の端末で、これまで通り標準ブラウザでサイト閲覧を可能にしたい場合は、サーバー管理者側がその端末に対応する他のSSL証明書に切り替える必要があります。
一方、「ISRG Root X1」がインストールされている端末でサイトにアクセスした場合は、証明書の表示が変わるだけで大きな影響はありません。問題なくサイトを閲覧することができます。
エラーを回避するもう一つの手段
エンドユーザー側の作業が発生するため根本的な解決策ではありませんが、Firefoxブラウザをインストールすれば、Firefoxを使ってサイトにアクセスすることができます。これは、Firefoxが独自のルート証明書群(ルートストアと呼ばれます)を利用しているためです。
通常、多くのアプリケーションはOS標準のルートストアを利用しますが、FirefoxだけはMozillaで運用している独自のルートストアを利用しており、そこに「ISRG Root X1」が含まれているため、Firefoxさえインストールできればサイトを閲覧することができるのです。
ただし、Firefoxブラウザにも対応OSはありますので、非常に古いAndroid端末やゲーム機などにはインストールできません。
ルート証明書の移行スケジュール
【2020年12月更新】
中間CA証明書の移行は実施直前に2021年1月11日まで延期されていましたが、2020年12月22日にISRGより新しいお知らせが発表され、さらに猶予期間が延長されることが決まりました。DST Root X3を利用する中間CA証明書を発行し直し、2024年初頭までISRG Root X1がインストールされていないAndroid7.0以前の端末でもLet's EncryptのSSL証明書が利用できるようになります。
なお、2021年6月に当初予定していたデフォルトの中間CA証明書を変更する予定が公表されています。certbotなどを初期設定で利用している場合は、このタイミングで古い端末では利用できなくなりますが、延長された中間CA証明書を利用する設定を行うことで2024年まではAndroid7.0以前の端末もサポートされることが決まりました。
現在の中間CA証明書「Let's Encrypt Authority X3」は2021年3月18日までの有効期限を持っていますが、Let's Encryptでは2020年9月までに新しい中間CA証明書の発行を予定しています。この新しい中間CA証明書でも、現在のルート証明書「DST Root X3」を継続して利用することができます。
しかしながら、「DST Root X3」が2021年9月30日までの有効期限となるため、来年の9月末をもって「DST Root X3」は利用できなくなります。
また、certbotなどを利用してLet’s Encryptを自動更新している場合、2020年9月からデフォルトの中間CA証明書が「ISRG Root X1」のみに対応したものに切り替わる予定になっています。
さくらのレンタルサーバではどうなる?
【2020年12月更新】
上記スケジュール内の追記でも記載の通り、猶予期間が延長されることに伴いさくらのレンタルサーバでも2023年中はAndroid7.0以前の端末サポートが継続されます。詳細な移行スケジュールは確定次第お知らせします。
さくらのレンタルサーバではLet's Encryptを利用して無料SSL機能を提供しています。現在は「DST Root X3」のルート証明書を利用できる中間CA証明書を設定しているため問題ありません。また、Let's Encryptの中間CA証明書が新しくなった際はそちらを利用するようにシステム改修を予定しています。
2021年6月頃までは「DST Root X3」に紐付いたSSL証明書を発行する予定ですが、それ以降は「ISRG Root X1」を利用した中間CA証明書に切り替えを行います。ユーザー側の作業は特に発生しませんが、ルート証明書の切り替え以降は対応OSが変更されますので注意してください。実際の切り替え日程につきましては、確定次第お知らせします。
こちらの記事もあわせておすすめ!
Let's Encryptについて詳しく知りたい方は『セキュリティ関連の記事に出てくる「悪意のある第三者」とは?』、SSL証明書の無料・有料の違いについては 『無料証明書と有料証明書の違い』をご覧ください。