Let's Encrypt、ルート証明書切り替えに向け古いAndroidへの対策呼びかけ
2020年11月9日 08:22
Let's Encryptがルート証明書の切り替えに向け、古いバージョンのAndroidへの対策をサイトオーナーとユーザーに呼びかけている(Let's Encryptのブログ記事、The Registerの記事)。
5年前にLet's Encryptが立ち上げられた際にはIdenTrustのクロス署名を得たルート証明書「DST Root X3」を使用することで、メジャーなソフトウェアプラットフォームすべてで信頼される証明書をすぐに発行することが可能だったという。しかし、DST Root X3は2021年9月1日に失効する(ただし、実際に証明書を見ると有効期限は日本時間2021/9/30 23:01:15となっている)。他のCAからクロス署名を得た証明書を使い続けることはリスクが高いため、Let's Encryptでは既に独自のルート証明書「ISRG Root X1」を発行している。このルート証明書はメジャーなソフトウェアプラットフォームから信頼されているが、2016年以降更新されていないソフトウェアには信頼されない。Androidではバージョン7.1.1よりも古いバージョンが該当するとのこと。
Androidは更新されない古いバージョンが多数存在することで知られるが、Android Studioのデータによると9月時点でAndroid 7.1よりも古いバージョンのシェア合計は33.8%(StatCounterの10月分Androidバージョン別シェアデータでは18.87%)だったという。DST Root X3が失効するまでにAndroidの古いバージョンが使われなくなることは期待できないため、Let's Encryptでは早めに情報を提供することでサイトオーナーと古いバージョンのAndroidユーザーに事前の対策を促している。 ユーザーは使用しているAndroidのバージョンが5.0(Lollipop)以降であれば、Firefoxを使用することで証明書エラーの問題を解決できる。FirefoxはISRG Root X1を信頼しているため、AndroidバージョンにかかわらずLet's Encryptの証明書を使用するサイトで証明書エラーが表示されることはない。ただし、Android 4.4 KitKat以前のバージョンも2%前後のシェアがあり、現在使われているすべてのAndroidバージョンをカバーすることはできない。Googleが昨年Android 10にデザートの名前を付けないことを発表した際、Androidのアクティブデバイスが25億台に達したと述べていたので、5千万台前後が残されることになる。
また、Let's Encryptでは2021年1月11日にISDG Root X1移行に向けたAPI変更を計画しているが、オプションでDST Root X3を用いることも可能になるという。ホスティングプロバイダーを通じてLet's Encryptの証明書を利用している場合、すぐにISRG Root X1へ切り替えるか、DST Root X3を失効まで使い続けるかはホスティングプロバイダー次第となる。そのため、不明な点はホスティングプロバイダーに問い合わせる必要がある。
DST Root X3を使い続けることで、サイトオーナーは2021年9月1日まで証明書の問題を先送りできるが、長期的な解決にはならない。対策としては、古いバージョンのAndroidユーザーに対してFirefoxの使用を推奨するバナーを表示したり、HTTPにフォールバックしたりするほか、Let's Encryptの使用をやめて古いバージョンでも信頼されるCAに変更するといった対策が挙げられている。