「ディスパッチベース」のロゴ画像

Let's Encrypt のルート証明書がISRG Root X1に変わると何が起きるか

結論から言うと

  • ISRG Root X1 に変わるとAndroid 8.0以下とMac OS X El Capitan以下で警告画面が出るようになる
  • 企業サイトはこれまで通り商用の証明書を使わざるをえない
  • Let's Encryptは2024年初頭までIdenTrustと「DST Root CA X3」の相互署名を続けることにした
  • 私は古い端末を使っているユーザーを切り捨てる決心がついたのでISRG Root X1に乗り換えた

という記事です。以下、詳細です。

原則としては古い端末のDST Root CA X3は2021年9月30日に有効期限が切れる

ルート証明書について簡単に説明すると、下図はWindows10のChrome83を使ってTLS証明書を確認する方法ですが、

PC版Chromeブラウザで証明書情報を確認する方法

現行(2021年1月まで)のLet's Encryptの無料SSL/TLS証明書の1番上(これをルート証明書と呼びます)は「DST Root CA X3」になっていますが、このルート証明書の有効期限は2021年9月30日です。

DST Root CA X3の有効期限

Let's Encryptがこのまま「DST Root CA X3」の証明書チェーンで発行し続けると、下層に位置する独自ドメインのTLS証明書を更新しても、 2021年9月30日以降は信頼されていない証明書として接続時に警告画面が出るようになってしまいます。

↓あまり見たくない警告画面
証明書エラーの画面サンプル

そのため、Let's Encryptは2021年1月11日に自前の「ISRG Root X1」に移行する予定でした。

…がしかし、Android OSには抜け道があったらしく [2020年12月29日 追記]

2020年12月21に公開されたLet's Encryptの公式情報を見ると、Android OSはトラストアンカーの「notAfter項目(有効期限)」のチェックを意図的に強制していないらしく、Let's Encryptは2024年初頭まではDST Root CA X3の相互署名を続けることになったようです。

2020年12月21日に公開されたLet's Encryptの公式情報
https://letsencrypt.org/2020/12/21/extending-android-compatibility.html

まぁ…技術的には色々アレなので、いずれはISRG Root X1(self-signed)に切り替えた方が良いですけどね。

ISRG Root X1に変わるとAndroid 8.0以下とMac OS X El Capitan以下で警告画面が出る

では、本来予定されていたISRG Root X1に変わるとどうなるかというと、古いOSにはISRGのルート証明書が工場出荷時にプリインストールされていないのでHTTPS接続時に警告画面が出る端末が顕在化します。

影響範囲は Android 8.0以下とMac OS X のEl Capitan以下 となり、範囲が広いため無視できない問題ではありますが、以前の「DST Root CA X3」は古い端末では接続すらできない機種があるので 警告が出るけど閲覧はできるというのは一歩前進なので、個人的には歓迎ムードです。

古い端末でのISRGルート証明書警告画面

そもそもユーザーが最新の端末であれば何も問題は起きませんし。

多くのメディアがAndroid 7.1.1未満と報じていますが…

公式サイトに「ISRG Root X1 で影響があるのは Android 7.1.1 未満です」と書いてあるので、 そのまま報道されたのかなと思いますが、 実際に実機検証を行うと(SamsungだったかHUAWEIだったか忘れてしまいましたが) 一部の機種ではAndroid OS 8.0でもエラーが発生します。

また、この話はAndroidに限った話ではないので、Mac OS X El Capitan以下などにも影響します。

DST Root CA X3 と ISRG Root X1 の実機検証結果

前述のとおりLet's Encryptの公式サイトでも対応OSの情報等は公開されているのですが、 実際に実機で確認してみると一部のメーカーでは対応していない機種があります。 おそらく製造メーカー側の実装の問題かなと思いますが。

下記に私が実機約40機種の標準ブラウザで確認した DST Root X3 と ISRG Root X1 の挙動まとめを載せておきます。 ( PCで閲覧されている方は画像をクリック、スマートフォンで閲覧されている方は二本指で拡大ズームできます )

DST Root CA X3 の対応状況表
ISRG Root X1 の対応状況表

企業サイトはこれまで通り商用の証明書を使わないと厳しいかもしれません。

とはいえ、私が管理しているサイトの直近のアクセスログを見る限り2020年7月のWebサイト訪問者の利用環境は、Windows 10 ≒ iPhone > macOS High Sierra以降 という感じなので、 個人ブログや普通の情報サイトであればあまり影響はない話かと思います。

Windows XP に関しては DST Root CA X3 と ISRG Root X1 のどちらを使ってもサイト自体が見れないという結果でしたが、 Windows XP は既に6年前の2014年4月9日にサポート切れとなっており、日本の耐用年数的にもサイト運営者側で対応する義理もないので切り捨ててもいい頃合いかなと思います。

ちなみに、常時HTTPS化について現役の高校生に聞いてみたところ…

現役高校生の男の子に「サイトを見るときに鍵マークって気にする?」と聞いたら「何それ。僕たちはそんなとこ(アドレスバーなんて)見ないよ?」と言っていたので、 あぁ…やっぱり暗号化暗号化と騒いでいるのはWeb業界のおっさんだけなんだな…と痛感しました。

おわりに

かくいう私もそのおっさんの1人ですが、一般的に人間は、自分に関係のない業界の小難しい話に対して興味を持たないものです。 私たち技術者がいくら暗号化の重要性を説いたところで、利用者の心に響くわけではないですし、若い世代はほぼiPhoneでサイト回遊しているのでLet's Encryptで十分かなと、古い端末を切り捨てる決心がつきました。

他の理由として、商用の証明書でもCTログ(透明性公開ログ)に公開され、CTログに長々とした他社のブランド名が並ぶのが嫌だったというのもありますが、その話はまた別の機会に。

まとめとして、Let's Encryptの証明書チェーンがISRG Root X1に変わると警告画面が出る端末が多くなります。が、サイトの方針やユーザー属性的に 古い端末を切り捨ててもいいと許容できるのであれば、Let's Encryptに乗り換える良い機会ではないかなとも思いました。

▲ページ先頭に戻る

HTTPSと暗号化

暗号化技術と常時HTTPS接続について記述しています。

-
記事公開日:
記事更新日:2020年12月29日