SMSを用いた2要素認証

今回はちゃんと日本語記事があったので、それを最初に。

jp.techcrunch.com

2要素認証(2FA, two-factor authentication)はセキュリティ意識のあるwebサイトなら大半が実装している機能であり、パスワードと別の何かの両方がないと認証しないものです。パスワードの使いまわしが横行する現状では、たとえ自サービスへの侵入がなくても、他サービスから流出したパスワードでログインされる、という事件が多発しています。

パスワードだけでは

最近だとサウジアラビアのクラッカーであるOurMineによる連続侵入が話題になりました。侵入された有名人は、こういった人々。

他にも芸能人のアカウントもクラックしているようですが、こちらは割愛。

そういうわけで、「パスワード単体では不十分」という考えから2FAは出てきています。そして、少なからざる2FAがSMSを第2の認証手段として採用しています(Gmailなどでも利用可)。

これについて、NIST(米国立標準技術研究所)の新しい認証ガイダンス案では、SMSを非推奨として、さらに将来的には「許容されない」と書いています。

SMSの弱点

thehackernews.com

news.softpedia.com

本件を扱う上記2記事をあわせると、SMSには次の弱点があるとされています。

  • 物理的にスマートフォンを(一時的にでも)とられる可能性がある
  • 宛先がVoIPだと盗聴などの可能性がある
  • 電話交換網SS7の脆弱性の影響を受ける

ちなみに、2FAの認証コードの宛先をプレミアムSMS番号に設定して認証させまくることで、GoogleMicrosoftFacebookからがっぽり儲けられるというネタが少し前に出てました。

thehackernews.com

発見者はホワイトハッカーで、悪用はせず通知し、先ほどの3社のうち2社から合計2500ドルを賞金として受け取ったそうです。

対策

NISTの案で言及があるのは、次のものです。

  • セキュアな認証用アプリを用いる
  • 生体認証を用いる

前者はスマートフォンをとられる可能性を改善していませんね(個人的にはそこを追及するのはやりすぎだと思うのですが)。

後者は意見が分かれるところでしょう。個人的には「身体は変えられない」ので、認証に使うのは慎重さが求められると考えています。

あえて認証についておさらい

認証 - Wikipedia
https://ja.wikipedia.org/wiki/%E8%AA%8D%E8%A8%BC
二要素認証を導入するために有効な要素とは | GMOグローバルサインブログ
https://jp.globalsign.com/blog/2016/two_factor_authentication.html

認証のための要素は、次の3種類に大別されますよね。

  • 知っていること(パスワード、「秘密の質問」など)
  • 持っているもの(SMS認証、専用アプリ、ハードウェアトークンなど)
  • 自身の身体(指紋など、要するにバイオメトリクス

2FAは、上記のうち2要素を使わないと意義が薄い、というわけです。

もっとも、「パスワードの使いまわしを避ける」が徹底できるだけでも、かなり侵入の危険性は下がるはずなのですが……「人間が最大の脆弱性」が、ここでも有効に作用しているのでしょうね。