12/6 木曜日は何気に慌ただしい日でした。渋谷の会社オフィスで iPhone Xs Max をいじっていて、画面の違和感に気がついてふと見ると左上に「圏外」の文字が。

WiFi は接続できるが、Softbank 回線がとにかく NG です。Twitter や、つぶやきから障害情報 “らしき” 傾向を出してくれるダウンディテクターを見ると、日本中でつながらないという情報が飛び交っていました。

社内ミーティング day だったので、WiFi 環境で仕事は回っていましたが、社外から私の携帯に直接かかってくるはずの電話は不通になったらしく、

お電話しましたがお忙しかったようなので…

という急ぎのメールがいくつか届いてリプライに追われました。

最初のうち、Softbank の通信障害の原因は、Ericsson 社製の vMME と呼ばれるモバイル通信の管理設備 (がクラウド仮想化されたもの) が原因だと言われていました。UK の O2 とベトナムの Mobifone が同時に落ちていたからです。

その後の Ericsson からの公式発表で、「証明書の期限切れ」が主な原因であると。

えっ…そこなのか? ウチも気をつけなければ…というのが、業界人の偽らざる感想じゃないかと思います。

(電子) 証明書というのは、インターネット上で安全に通信するために、ネット上の自分の所属 (xxx 社の xxx という組織に属していて、ドメイン名は server1.example.com です) を明示したり、相手との通信を暗号化したりするのに使われます。

その証明書にはクレジットカードのように有効期限があり、過ぎると無効な証明書であることを理由に、今まで通信できていた相手から (信用できないよねと) 拒絶されて、通信が切断されたりします。

同時に 3つのキャリアが落ちたのは、同じ期限の証明書が 3社に納品した Ericsson 機器に入っていたからでしょう。

この証明書は、作成方法があらかじめ決められた電子的なカギであり、インフラ的な領域になるので、Softbank や O2 の件を「ソフトウェア的な異常」とまとめるのは、くくり方がちょっと違います。

ソフトウェア業界的には、どんどん新しい技術やフレームワークやらが導入されて、エンジニアの仕事の細分化が進んでいます。

後から業界に入った若い世代の人ほど、プログラミング言語 xxx だけは分かってコードは書けるけど、インフラは、クラウドのどこかにボタンポチれば用意されるから、細かいことは知らないよ、というケースが多くなります。

Ericsson はどインフラ系の通信設備を提供するメーカーですが、通信機器 IoT 界隈も、クラウド上でより柔軟に安価にサービスを提供していく必要があり、SDN 的なソフトウェア化や、vMME 的な仮想化といった流れが進んでいると思われます。

ソフトウェアコード部分、新し目の技術に対しては人月を割いて QA を行いリリースできる水準であることを確認しても、証明書のような下の層の基盤技術まで目が行き届くインフラエンジニア、ないしフルスタックエンジニアが減ってきていると思いますね。

証明書期限切れ問題は、通信設備でなくても、普通の Web サーバで https:// で始まる SSL 通信では必ず使われるものなので、慌てて、手持ちの証明書の期限を確認し始めていることと思います。(ウチも定期的に確認してますが気をつけなければ。)

しかし、証明書の一言で終わっていて、詳細の説明が出てこないというのは、ン? という感じはしますね。Ericsson 公式でも ”main issue” was… と微妙な書き方になっているし。

Softbank / O2 に納品した通信設備にインストールされてる証明書だったら、ソフトバンクの所有ドメイン例えば example1.softbank.ne.jp にするとか、CN (コモンネーム) が納入先企業のドメイン名に紐づいた証明書を専用に発行する必要があるんじゃないの? と。

通信キャリア側からのリクエストをバーチャルホスティング的に相手する ericsson.com 側なのか? だったらもっと大事になっていそうなものですね。

本当に証明書問題なんだろうか。続報を待ちたいと思います。

再発防止策も、Ericsson 社以外も含めてマルチベンダ化するといえば分かりやすいけど、いやいやそんなすごい話にいく前に、インフラの保守運用の一環として、証明書の確認 / 更新プロセスを入れるとか、地道なところからやるしかないですね。