古いガラケーでウェブページが見れなくなるって本当?

後輩「先輩。古い携帯電話でウェブサイトが見れなくなるって本当ですか?」
先輩「あぁ、SSLのSHA-1終了の問題ね。正確には、古い携帯電話でhttps://で始まるウェブサイトが見れなくなる問題だね。」

実は2016年現在、古い携帯電話などで、https://で始まるウェブサイト、つまりSSLを使っているウェブサイトの閲覧が出来なくなる事例が増えています。

後輩「え?なんでそんなことになっちゃうんですか?」
先輩「そのためには、まずはSSLの説明からかなぁ。」
後輩「SSLって、ウェブサイトとかでクレジットカード番号とかを送るときに、他人から見れなくするためのアレですよね?」
先輩「そうだね。その他に、ウェブサイトが偽物かどうかの判断にも使われているね。で、そのSSLの仕組みはご存じ?」
後輩「えっと・・・(目が泳ぐ)」

SSLは上でも書いたように、ウェブサイトとの通信の暗号化や、ウェブサイトが偽物ではないことを確認するための仕組みです。かなり大ざっぱに書くと以下の様な仕組みで成り立っています。

  1. ユーザーが、あるウェブサイトにアクセスする
  2. そのウェブサイトは「証明書」と呼ばれる情報を提示する
  3. 証明書がそのウェブサイトの物であるか確認し、問題無ければ証明書に基づいて暗号通信をする

先輩「ところが、この証明書には暗号化方式に種類があってそれが今回の問題の発端なんだ。」
後輩「というと?」

SSLの証明書には暗号化方式に種類があり、その中でもSHA-1という方式の古い暗号化方式の証明書は、近い将来の高速なコンピューターだと偽造できてしまう危険性が高まってきました。(2017/03/08追記:2017/2/23に、ついに現実的な時間で偽造が出来る事が実証されました:論文(PDF/外部リンク)/日本ネットワークセキュリティ協会の記事(外部リンク))
それだけ、コンピューターが発達したと言うわけですが、この危険性を回避するために、SHA2といった新しい暗号化方式の証明書に数年前から切り替えるのが世界的な動きです。
しかし、SHA2といった新しい暗号化方式の証明書に対応してない携帯電話等ではSSLが正しく機能しません。

後輩「だったら、古い携帯電話に対応するサイトは今まで通り、古い暗号化方式の証明書を発行すれば良いんじゃ無いですか?」
先輩「さっき「証明書がそのウェブサイトの物であるか確認」って言ったけど、その確認する仕組みが問題なんだ。」

SSLではウェブサイトが証明書を提示しますが、その証明書には「認証局」と呼ばれる別のサイトによって「これは正しいですよ!」と署名をしています。それを見て、ブラウザは証明書が正しいかどうかの確認をしているという仕組みです。

では、その「認証局の署名」が正しいかをどのように判断しているかというと、ウェブブラウザや携帯電話などに予め「○○認証局はこういう署名です」といった情報がインストールされて出荷されているので、それとつきあわせることで、認証局の署名が正しいかを確認しています。

なお、証明書の流出などがあっても対処できるように、証明書への署名は認証局によって1年等の期限付きでして貰うことになっているため、定期的な署名の更新も必要です。

先輩「で、最初の話しに戻るけど、今年からほとんどの認証局は古い暗号化方式の証明書には署名をしなくなったんだ。」
後輩「ほとんどと言うことは、発行してくれるところもあるのですか?」
先輩「探せばあるとは思うけど、携帯電話に予めインストールされているような大手の認証局で、今後も古い暗号方式に対応しているところは無いので、事実上無いと思って良いよ」
後輩「なるほど。だから、古い携帯電話を対象としたSSLの証明書用意することが出来なくなったと言うことですか・・・対策はどうすれば?」
先輩「ちょっと古い携帯電話ならば、携帯メーカーから新しい暗号化方式の証明書に対応させるための更新プログラムが提供されているから、それを適用すればいいよ。」
後輩「ちょっと古いって事は、ものすごく古い場合は?」
先輩「残念ながら方法は無い。最悪、非SSL(http://~)でのアクセスを許可するようにウェブページを作れば良いけど、SSLで保護したいウェブサイトだからSSLを使っているわけなので、そういう方には携帯電話の買い換えを勧めるしか無い」
後輩「自分たちではどうしようも無い話だけど、納得して頂くのは大変だろうなぁ。」
先輩「いや、全くもってその通りだと思うよ・・・」