第470号コラム:井上 哲也 幹事
(株式会社NTTデータ セキュリティ技術部 情報セキュリティ推進室)
題:「SMSを用いた二要素認証とその脆弱性」

様々なwebサービスにおいて、ユーザIDやパスワードの他に、追加で様々な認証を求める二要素認証を用いているものが多くなっています。

そのような中、アメリカ国立標準研究所(NIST)が2017年6月に認証方式に関するガイドライン「NIST SP800-63-3」を公開しました。2016年に公開されたドラフト版では、その文章中に、「SMSを用いた二要素認証は推奨しない」といった記述があり物議を醸しました。この本意はどこにあるのでしょうか。

1.認証方式とその種類
認証方式には様々なものが存在します。ここでは「認証要素」という観点での分類と実装例を記載します。

(ア)認証要素による分類
NIST SP800-63-3において、認証の要素は「Something you know」、「Something you have」、及び「Something you are」以下の3種類に分類できると記述されています。

「Something you know」はパスワードのような本人しか知らない情報のこと、「Something you have」はICカードやUSBトークン等のような、本人しか持っていない物のこと、「Something you are」は指紋情報など本人個人の生体的特徴のことを指します。なお、NISTSP800-63-3では、これらの要素のうち、2つ以上を用いて認証する事を多要素認証と言っています。

(イ)二要素認証の実装例
二要素認証の実装例として、例えばwebサービスを利用する際にwebブラウザと携帯電話を利用して認証する方式が挙げられます。webサービス利用者がパソコン上でwebサービスにおける何らかの処理をするために認証を求められた時、あらかじめ利用者が登録した携帯電話でワンタイムパスワードなど認証に必要な情報を受信し、受信した情報をパソコンのブラウザに入力をすることで処理を行うような仕組みです。このような方式は携帯電話の所持を確認することで認証を行う、「Something you have」に分類されます。

実際、GoogleやMicrosoftなど、各種webサービスを利用するためのログインの際にこのような二要素認証を利用することが出来ます。具体的には、携帯電話にSMS又は音声通話で認証に必要な確認コードを受け取る方法、認証のための携帯アプリを利用して確認コードを生成し利用する方法などがあります。

2.NIST SP800-63-3の記述内容について
前述のように二要素認証の方法の一つとして利用されているSMSについて、アメリカの国立標準研究所(NIST)が、公開した文書「SP800-63-3」が参照している文書「SP800-63B」のドラフト版において、以下の文言が記載されていました。(正式版では文言は削除され、PSTN経由時の要求事項として整理されました。)

Out-of-band authentication using the PSTN (SMS or voice) is discouraged and is being considered for removal in future editions of this guideline.

“公衆交換電話網(SMS又は音声)を用いたOOBは推奨しない、そして将来発行されるこのガイドラインでは削除を検討するべきである”

ここで「Out of band」とは、メインチャネル(主たる通信回線)とは全く別のチャネルであることを指しています。前述のwebブラウザと携帯電話の例でいうと、webブラウザ(=インターネット)がメインチャネルで、携帯電話がサブチャネルとなります。この携帯電話のようなサブチャネルの位置づけのものの事を指して「Out of band」と表現しています。このような検討がされていることは、「SMSを利用した二要素認証」が危険視されていることを示しています。

3.なぜSMSを用いた二要素認証が薦められないのか
NISTはなぜ、二要素認証にSMSを用いるべきではないと述べているのでしょうか。SMSを用いた二要素認証に対して想定される攻撃手法という観点から考えてみたいと思います。

まず、NIST SP800-63Bでは、SMSなどが傍受されることや、リダイレクトされてしまうことを懸念しています。正式版のNIST SP800-63Bでは、VoIP等のソフトウェアベースのサービスではないことの確認を目的として、電話番号と物理端末との紐づけ確認が要求されています。

SMSの情報がリダイレクトされた例として、Verizonで発生した事例が挙げられます。この攻撃は、ソーシャルエンジニアリングを用いて、攻撃対象の携帯電話番号に紐付くSIMを攻撃者が管理するSIMに変更することで、攻撃対象の携帯電話に関する情報を窃取するというものです。その後、攻撃者は攻撃対象のtwitterアカウントの二要素認証を突破し、アカウントを乗っ取ったということです。

また、「Operation Emmental」と呼ばれる攻撃が2014年に発生しています。これは、インターネットバンキング利用者を標的とした攻撃です。この攻撃は、まずインターネットバンキング利用者のPCにマルウェアを侵入させ、DNSの改ざんを行うことで、攻撃者が作成した偽のインターネットバンキングサイトに誘導し、そのサイトの誘導によりインターネットバンキング利用者のandroid端末に悪意あるモバイルアプリケーションをインストールさせるというものです。このアプリケーションにより攻撃者はandroid端末内に送信されるSMSの情報を収集することが可能になるとの事です。

4.まとめ
ユーザIDとパスワードだけの認証より二要素認証のほうが強固な認証方式といえるでしょう。しかし、Verizonでの事例やOperation Emmentalのように、二要素認証でも破られることがあります。今回はSMSを用いた二要素認証について取り上げましたが、その他の二要素認証の方式でも破られる可能性がないとはいえません。正式版NIST SP800-63Bでも、きつい言い方はなくなりましたが、脅威評価や技術向上に応じて見直すべきとされています。webサービス等に強要されて二要素認証を使うようになってきましたが、今の環境と技術だとどれくらいなのかを考えたり検証する必要があるでしょう。

【著作権は、井上氏に属します】