ID・パスワードを利用した認証に加えて、安全性を高めるために利用されることが増えてきた「SMS認証」ですが、SMS認証が傍受される大規模な事件が起こりました。SMS認証は安全ではないのです。
Redditで何が起こったか
2018年7月に、ニュースディスカッションサイトの Reddit は不正アクセスによる被害を発表しました。なお Redditは、世界で18番目にアクセスが多いサイトとしてよく知られています (順位はAlexa Top 500調べ)。
Reddit.com トップページ
不正アクセスにより漏えいした情報は多岐にわたります。スタッフのアカウント情報、ホスティング会社情報、バックアップ、ソースコード、そして多種多様なログです。
Redditは、ニュースに関する議論を匿名で行う掲示板としても利用されています。あえて実名を利用せずに投稿を行っている利用者からすると、ログが流出するということは過去の投稿内容について実名が特定されかねないことを意味します。また、自身の個人情報が守られないサービスという評判がついてしまうと、利用者の離反を招く可能性もあります。
では、なぜ認証が破られたのでしょうか。そこには、Redditが利用しているSMS認証が傍受されるという「SMSインターセプト」問題がありました。
SMSインターセプトとは
SMSインターセプトの前に、まずSMSについて正しく理解しましょう。SMS (Short Message Service) は、携帯電話でテキストメッセージの送受信を行うサービスで、携帯電話のシステムを利用して行われています。日本では、電話番号のみを利用したテキストサービスは、長らく同じ携帯電話キャリアのユーザー同士でしか行えませんでしたが、海外では、番号さえ分かればキャリアが異なってもメッセージを送ることができました。何十年もの間利用されているサービスです。このSMSが傍受されることが「SMSインターセプト」です。
次に、SMS認証について解説します。ネット上でのログイン認証では、IDとパスワードのみが用いられることが一般的です。しかし、最近ではIDとパスワードのみでは安全性が十分でないと判断されることが増えてきました。このため、IDとパスワードに加えて、別の認証を併用することが一般的になっています。かつては乱数が表示されるドングル型のトークンが一般的でしたが、最近では指紋、静脈、虹彩といった生体情報を利用する認証、それからスマートフォン上で乱数表示したり、アプリをタッチしたりする認証も一般的になりつつあります。SMS認証もこの1つです。
パソコンやスマートフォンでWebサイトやサービスにログインする際、ID・パスワードを入力すると、あらかじめ登録されている電話番号にSMSが送信されます。このSMSには4桁から6桁の乱数が書かれており、これを画面上で入力することでログインできるようになります。これがSMS認証です。
さて、ここで多くの人が疑問を持つかと思います。「実際の電話機は手元にあるのに、どのように自分のSMSが傍受されるのか」という点です。
最も多く用いられているのが、不正なスマートフォンアプリです。Google PlayやApple AppStoreなどのアプリをダウンロードしてインストールする際に、「SMSへのアクセス権限」を求められる場合があります。これを認めてしまうと、やり取りする全てのSMSをアプリに見られてしまうことを意味します。悪意のないほとんどのアプリは、アプリを動作する上で必要のない権限をできるだけ持たないように設定されていますが、最初から個人情報を抜き出そうとする悪意のあるアプリは、SMSへのアクセスを含め多くの権限を要求してきます。
もし悪意のあるアプリをダウンロード、インストールし、SMSへのアクセス権限を付与したまま何か別の認証を行うためのSMSを受信していると、その内容が傍受され、SMSに記載されている乱数がハッカーに筒抜けになってしまいます。
次に、SMSをやりとりするネットワーク自体に不正にアクセスされる場合があります。SMSのネットワークは何十年間も大きな改変がなく利用されているネットワークで、根本から脆弱性をなくすことができないのです。残念ながら、SMSネットワークに侵入して情報を取得する、悪意のあるソフトウェアは多く公開されており、不正アクセスに用いられています。
なぜSMS認証がなくならないのか
「SMS認証は、SMSが傍受される『SMSインターセプト』の危険がある」ことはお分かり頂けたかと思います。実際、2016年には米国政府機関であるアメリカ国立標準技術研究所(NIST)が「SMSを利用した認証は推奨しない」と発表されています。
ではなぜ、そうした状況にも関わらずSMSを用いた認証はなくならないのでしょうか。これには、いくつかの理由があります。
1.手軽に誰でも利用できる
SMS認証は、スマートフォンでない携帯電話(フィーチャーフォン、ガラケー)であっても利用できます。スマートフォンでなくても、アプリをインストールしなくても利用できます。番号が割り振られた携帯電話さえ持っていれば、何の設定もしなくても使えるのです。
2.デバイスを持ち運ぶ必要がない
SMS認証は、携帯電話さえ手元にあれば利用できます。認証用のトークンやドングルを持ち運ぶ必要はありませんし、複雑な文字列を記憶する必要もありません。
3.既に普及してしまっている
SMS認証の問題の一つは、既に広く普及してしまっていることです。ユーザーはSMS認証の手軽さに慣れているので、サービス提供者側からすると「利便性の高いSMS認証に慣れたユーザーに、手のかかる別な認証を利用させにくい」という問題があります。このため、Microsoft, Oracle, Adobe, Amazonといった海外大手IT企業でも、未だSMS認証を止められずにいます (2018年8月現在)。
トラスト・ログインで安全なワンタイムパスワードを使う
SMS認証は便利ですが、メッセージが筒抜けになるSMSインターセプトの危険が常にあります。よって、ID・パスワード以外の方法を併用して認証を強化する際には、SMS認証以外の方法を利用すべきです。
当社のクラウド型シングルサインオンサービスである「トラスト・ログイン」も利用できます。クラウドサービスと各企業の自社システムにログインする従業員ID・パスワードを、トラスト・ログインを利用してシステム管理者が一元管理すると、ユーザーはパスワードを記憶する必要がなくなり、パスワードの漏えいを防げます。そして、SMS認証よりも強固な「ワンタイムパスワード」を併用できます。ログイン時に、スマートフォンの堅牢なアプリ上に表示される乱数を入力することで、誰からも情報を傍受されずに認証を強化できます。
ID・パスワードだけではセキュリティ的に不安だが、SMSインターセプトを懸念される、そのような場合には、ぜひトラスト・ログインの利用を検討ください。