古いスマートフォンが一部のウェブサイトに接続できなくなる、という話を聞いて、びっくりしました。
それも、「セキュリティ保護」が関係している、ということです。
理由について調べてみると、ふだん厄介な「システム・アップデート」が大事なことがわかりました。
1. どのスマートフォンが?どのウェブサイトを?
こんなニュースを目にしました。
2016年にリリースされた「Android 7.1 Nougat」以前のAndroidを搭載している古いスマートフォンは数多く存在する。だが、2021年9月1日以降、これらのスマートフォンでは、Let’s EncryptのSSL/TLS証明書によって保護されたウェブサイトにアクセスできなくなる。
古い「Android」端末、2021年9月から一部サイトへのアクセスが不可能に(2020年11月10日)
まず、対象になるのは、基本システムがAndroid7.1以前のスマートフォンです。時期でいえば、2016年ごろ以前に製造された機種が主になります。
また、全てのサイトが閲覧ができなくなるわけではないのでご安心を。特定のセキュリティ証明書(Let’s Encrypt)を利用しているウェブサイトにアクセスするときだけ、問題が発生します。
2・3年ほどでスマートフォンを買い替えている場合は、影響はありません。
2. セキュリティ保護された接続のしくみ
「Let’s Encrypt」ってなに?
インターネットのウェブサイトは、第三者機関によって「セキュリティ証明書」を発行してもらうことで、「暗号化した通信」ができます。
「Let’s Encrypt(レッツ・エンクリプト)」は、セキュリティ証明書の一つで、ISRG(Internet Security Research Group)という「証明書認証局」が発行しています。
ここで、少し「セキュリティ保護された接続(SSL接続)」の仕組みについて、ざっと勉強しておきましょう。
例えば、利用者が「セキュリティ保護された」ウェブサイトにパスワードやメッセージを入力する場合、スマートフォンのブラウザは自動的に、相手だけにわかるように「暗号化」してから送信します。
2-1. 【下準備】証明書を用意する
証明書認証局のしごとは、通信のセキュリティ保護を証明することです。
そこで、まず認証局は「ルート証明書」を各スマートフォンに配布します。
スマートフォンの開発会社は、信頼できる認証局の「ルート証明書」をスマートフォンの中に入れてくれています。
一方で、認証局はウェブサイトの運営者から依頼があると、「サーバ証明書」を発行して、ウェブサイトに渡します。
サーバ証明書には、サイト運営者と証明書認証局の情報が書かれています。
ここまでがウェブサイトにアクセスする前の下準備です。
いわば「お墨付き」ですね
2-2. 【受信】ウェブサイトにアクセスしたら……
利用者がウェブサイトにアクセスすると、まずサーバ証明書(ウェブサイトのセキュリティ証明書)を確認します。
しかし、サーバ証明書がニセモノの危険もあります。
そこで、スマートフォンは、予め登録してある証明書認証局の「ルート証明書」と照らし合わせて、証明書が本物かを確認します。
2つの証明書の鍵と鍵穴がピッタリ符合すればオーケーです。
ここで、無事に証明書が有効なものだとわかると、「セキュリティ保護された接続」になります。
データの入力がなければ、ここまででおしまいです。
「セキュリティ保護された通信」の場合は、ウェブサイト運営者の身元が安心(確実ではないが)。
2-3. 【送信】入力したデータの暗号化
ウェブサイトの入力欄に入力して送信すると、「暗号化」する必要があります。
今度は「ルート証明書」の情報を使って、入力されたデータを暗号化して送ります。
ウェブサイトのサーバでは、受け取った暗号メッセージを、サーバ証明書の情報を使って解読します。
ですので、入力されたデータ通信を途中で傍受されても、意味がわからない暗号です。
もちろん、ウェブサイト運営者には、入力した内容は伝わります。
パスワードを入力するときには、「誰に送信しているのか?」も注意してください。
「セキュリティ保護された通信」の場合だと、ウェブサイト運営者 以外には通信内容が傍受されない。
ここでは説明を省略しましたので、技術的な詳細はこちらも。
3. 「ルート証明書」は基本システムに付属している
いずれにしても大事なのは、「サーバ証明書」が正しいか検証するためには、「ルート証明書」を予めもっておく必要がある、ということです。
利用されている証明書認証局の「ルート証明書」は一式まとめて、AndroidやiOSといった基本システム(OS)に含まれています。
ですので、スマートフォンが製造されたときに、一揃いの「ルート証明書」を持っていることになります。
「ルート証明書」を持つことで「この認証局は大丈夫だよ」というセーフリストになっています。
3-1. 古いOSには「ルート証明書」が付属していない
ところが、Let’s Encryptを運営するISRG(Internet Security Research Group)は2014年に設立されました。
発行する「ISRG Root X1」のルート証明書はまだ比較的新しいものです。
また、当初はLet’s Encryptが広く利用されるかどうかわからなかったため、Androidではバージョン 7.1.1(2016年12月)まで対応していませんでした。
その結果、古いAndroidには工場出荷時に「ISRG Root X1」がプリインストールされていません。
3-2. BASIO 3は更新していれば大丈夫
2017年のAndroid 7.1.2(2017年4月)あるいはAndroid 8(2017年8月)になって、ようやく「ISRG Root X1」のルート証明書が提供されるようになりました。
身近に使っている人が多い「BASIO 3」が気になっていたんですが、7.1.2なので、ちゃんとシステム更新していればギリギリ大丈夫。
3-3. いわば「暫定期間」が過ぎた
Let’s Encryptは、当初は他の認証局(Iden Trust)に信用を「裏書き」してもらうかたちで、2000年に発行された「DST Root X3」もルート証明書として利用していました。
つまり、「ISRG Root X1」を持ってなくても、「DST Root X3」が入っていれば、セキュリティ接続できました。
ところが、Iden Trustのスケジュールで「DST Root X3」は2021年9月30日で有効期限が終了してしまいます。
Androidスマートフォンのシステム更新は、販売元(ベンダー)が管理しています。
Androidが毎年更新されても、販売して数年経ったスマートフォンには提供されないことが少なくありません。
そこで、古いAndroidスマートフォンは、そのまま「ISRG Root X1」がないままで、HTTPS接続時に警告画面が出るようになります。
本来、セキュリティ保護されているウェブサイトが、「セキュリティが有効ではない」と表示されてしまうことになります。
4. まとめ:Androidのセキュリティ更新の意味
今回は、かなりセキュリティについての複雑な話でした。
お疲れさまでした。
なぜ、この話を紹介したのか、というと、ふだんなにかと面倒な「システム・アップデート」。
「セキュリティの更新だから必要ですよ」と、説明をされると思います。
なんとなくわかったような、わからないような。
ルート証明書の話は、システム更新しないことでのセキュリティ問題の実例を知ることができました。
セキュリティに必要な情報が追加するために、システム更新はやっぱり必要!
インターネットがいろいろな技術(いろいろな工夫でもあります)を組み合わせて、安全に利用できるようになっていることがわかりますよね。
ちなみに、Androidがアップデートされれば自動的に付与されるルート証明書ですが、手動で取得することもできます。
証明書そのものは公開されたテキストで、正しく保存すればスマートフォンに追加できます。
内容そのものよりも正しい場所から持ってきた、ということに意味があるものです。
ただし、利用者が自分で取得したルート証明書は、Andoid付属のもの比べて信頼性が落ちてしまうので、やはりネットワークに関する「警告」は出てくるようです。
安心して使うなら、やっぱり5年ものの古いスマートフォンを買い替えたほうが良さそうです。
こちらもどうぞ。