「SMSでシークレットコードを送信するのはやめてください。安全ではありません」――。これは、米国立標準技術研究所(NIST)が2016年の夏前に発信したメッセージの内容ですが、この件についてさまざまな意見や疑問、戸惑いの声があがりました。この件に関する問題を整理してみたいと思います。
まず、事の経緯についてですが、NISTは「Digital Authentication Guideline」(デジタル認証ガイドライン)の草案を公開し、一般からの意見を募集しました。このガイドラインの最終版は2017年9月に発行の予定です。
ガイドラインの「Section 5.1.3.2」では「Out-of-Band verifiers」(帯域外検証者)に触れていますが、帯域外検証者とは何を意味するのでしょうか。
例えば、ユーザーがインターネットで銀行取引を行い、インターネットがメインの通信チャネルだったとします。ここで、銀行が本人確認のために別のチャネルを通じてユーザーにシークレットコードを送信した場合(例えばSMSテキストメッセージを送信)、これを帯域外(Out-of-Band、OOB)と呼びます。
ガイドラインには、二要素認証が必要な一定レベルのセキュリティを確保するために、「SMSを使用したOOBは非推奨であり、今後禁止になる場合がある」との記載があります。
この規格の作成者はブログを公開しているのですが、ブログではよりシンプルな表現で、具体的には「今のところは (SMSをOOBチャネルとして) 使えますが、やがて禁止となります。」 と説明しています。
また、その理由として、「セキュリティに関する複数の調査が、大量のSMSメッセージのリダイレクトやインターセプトの成功例が増えていることを示しています」 と述べています。
実際、SMSの危険性については以前から指摘されていましたが、SMSメッセージのインターセプトはそれほど簡単にできるのでしょうか。ネットワークシステムはプロバイダが保護しているのではないでしょうか。
われわれが思っているほどネットワークは安全ではありません。実際のところ、通信ネットワークシステムの安全性を楽観視しがちです。ネットワークシステムは複数のテクノロジで成り立っており、そのうちの1つである「SS7」は、1970年代に開発され、現在も当時のままさまざまな通信ネットワークで使われています。すべてのシステムがそうであるように、最も脆弱な部分が、その通信ネットワーク全体の強度です。
SS7の脆弱性によって、SMSメッセージのインターセプトは私たちが考えているよりもずっと容易になっています。これは脆弱性評価を行っているPositive Technologies社が実施した調査「SS7 Security Report」(SS7セキュリティレポート)の結果であり、同レポートは「SS7ベースのモバイルネットワークの脆弱性によって、基本的なスキルしか持たない侵入者でも危険度の高い攻撃を実行することができる」と述べています。