「2段階認証」(にだんかいにんしょう)とは、サービスにログイン(サインイン)する際、正規のユーザーであることを確認するための「認証」を2段階設けることで、不正なログインをより困難にするための仕組み。既に多くのオンラインサービスに導入されている。
2段階認証が必要とされる理由
従来、オンラインサービスのログインではIDとパスワードの組み合わせによる認証がよく用いられてきた。しかし、しばしば報道されるように、攻撃者によってこの認証が突破されて個人情報が漏えいするといった事件が頻発している。その理由としては、以下のような問題点が例として挙げられる。
- IDには第三者に知られやすいメールアドレスが用いられることがよくある
- ユーザーが覚えやすいパスワードを指定した結果、攻撃者に類推される
- ユーザーが複数のサービス間で同じパスワードを使い回すことが多い。そのため、あるサービスのシステムからパスワードが漏えいすると、他のサービスへの不正アクセスに悪用される
単純なパスワード認証だけだと、IDとパスワードが漏えいしたとき、攻撃者はネットワークのかなたからでも容易にログインして情報を窃取できてしまう。
2段階認証の仕組み
これに対し、2段階認証では、ユーザー本人であることを確認する2つの「固有情報」を、2段階に分けて入力させて認証する。もし固有情報が一つ漏れても、もう一つの固有情報が漏れない限り、攻撃者が認証を突破することは難しくなる。
よく実装されている2段階認証では、1段階目の認証は従来と同じパスワードとし、2段階目に次のような認証を求めることが多い。
●別のパスワード
単に1段階目とは異なるパスワードをあらかじめ登録しておき、2段階目の認証時に入力する方式。仕組み自体は1段階目のパスワードと変わらないため、他の方式と比べて初期設定の手間は少ない。その半面、2つのパスワードを記憶しなければならないのが負担になる。また2つ目のパスワードが漏えいしたら、即座に認証が突破されてしまう。
●秘密の質問
「小学校の担任の先生は?」「初めて飼ったペットの名前は?」といった質問に対する回答をあらかじめ登録しておき、2段階目の認証時に表示された質問に合わせて入力する方式。前述の「別のパスワード」より忘れにくく、(本人しか知らない情報なので)類推されにくいというメリットがある。
その一方で、「母親の出身地」など質問によっては攻撃者が回答を調査、究明しやすく、「別のパスワード」と比べて認証を突破される危険性が高くなる恐れもある。
●SMSやメールなどで通知されるワンタイムパスワード
まず、あらかじめSMS(ショートメッセージサービス)のメッセージを受信できる電話機や、メールアドレスを認証先のサービスとひも付けしておく。認証時には、1段階目の後にSMSまたはメールで「ワンタイムパスワード」が通知されるので、それを2段階目の認証で入力する。
ワンタイムパスワードとは、1回だけ利用できる使い捨て式のパスワードで、6〜8桁程度の数列であることが多い。たとえ漏えいしても、数十秒〜数分で期限が切れて無効になるため悪用可能な時間は限られるのがメリットだ。
SMSによるワンタイムパスワード通知の例(その1)
これは2段階認証を有効にしたWeb版Evernoteのログイン画面でIDとパスワードを入力した直後、あらかじめ電話番号をひも付けしておいたタブレットに、ワンタイムパスワードがSMSで届いたところ。
SMSによるワンタイムパスワード通知の例(その2)
これはWeb版EvernoteでIDとパスワードを入力した後に表示された画面(まだログインできていない)。SMSで届いたワンタイムパスワードを入力して、初めてログインに成功する。
この方式では、攻撃者が1段階目のパスワード認証を突破すると自動的にSMSまたはメールで予期せぬワンタイムパスワードが届くことから、パスワード漏えいを検知しやすいというメリットもある。
その半面、SMSの受信が可能な電話機が必要だったり、事前のひも付けの手間が必要だったりとユーザーの負担は増えがちだ。もちろん電話機やメールが攻撃者にアクセスされてしまうと、ワンタイムパスワードがタイムリーに漏えいする危険性もある。
●モバイルアプリまたは専用トークンで生成されるワンタイムパスワード
2段階目に入力すべきワンタイムパスワードを、スマートフォンやタブレット向け専用アプリあるいは「トークン」などと呼ばれる専用の発生器で生成する方式。事前に認証先のサービスとひも付けしたアプリや発生器だけが、認証可能なワンタイムパスワードを生成できる仕組みになっている。
ワンタイムパスワードを生成するモバイルアプリの例
これは「Google認証システム」というアプリのAndroid版。無償で利用できる。
(1)ひも付けしてあるGoogleアカウント向けのワンタイムパスワード。有効期限は1分間(1分たつと新たなパスワードに更新される)。
(2)現在表示中のパスワードの有効期限を表しているメーター。
この方式では、SMSやメールが届かない環境でもワンタイムパスワードを生成や入力できる。一方、アプリや発生器が攻撃者にアクセスされないように注意すべきなのは、SMSやメールを使う方式と変わらない。
●ワンタイムパスワードの入力が不要なモバイルアプリ
1段階目の認証後、あらかじめひも付けしておいた専用のモバイルアプリに対して通知が届くので、ユーザーがアプリで「許可」をすることで認証する方式。ワンタイムパスワードを入力する手間が省けるのがメリットだ。
ワンタイムパスワードなしで認証できるアプリの例(その1)
これは2段階認証をオンにしたWeb版Twitterのログイン画面で、IDとパスワードを入力した直後の画面。あらかじめひも付けしておいたモバイル版Twitterアプリに通知される。
ワンタイムパスワードなしで認証できるアプリの例(その2)
これは、ひも付けしておいたモバイル版Twitterアプリにログインの通知が届いたところ。Twitterでは2段階目の認証にモバイル版アプリを利用できる(その際、ワンタイムパスワードの生成や入力は不要)。
(1)いつ、どこからログインしたのかが表示される。
(2)正規のログインだと判断したら、これをタップすると、元のWeb版Twitterへのログインに成功する。
多くの場合、対象サービス(あるいはID管理システム)が提供している専用アプリが必要で、ワンタイムパスワード方式ほど汎用的ではない。
●指紋や静脈、虹彩といった生体情報
指紋や静脈、(眼球の)虹彩といった身体に固有の情報(生体情報)を2段階目の認証に用いる方式。他の方式に比べて「なりすまし」が難しいというメリットがある。
その半面、電子化された生体情報が漏えいした場合、その代替が限られる(手の指なら10本分、虹彩なら2つ分)というリスクがある。また認証に必要な機器が比較的高額になりやすく、いつでもどこでも汎用的に使えるとは限らない、といったデメリットもある。
2段階認証は万能ではない。2段階目の認証に必要なデバイスなどが攻撃者にアクセスされると認証を突破される危険性は高まる。ユーザーの負担が増えるというデメリットもある。
また多くのサービスでは、2段階目の認証にいったん成功したデバイスでは、以後2段階目の認証を求めないように設定できる。そのデバイスが攻撃者に盗まれたら、不正アクセスは単独のパスワード認証と同じくらい容易になってしまう。
それでも単独のパスワード認証を使い続けるのに比べれば、大幅に安全性を高められることは確かだ。主要なSNSなど、2段階認証が利用できるサービスは増えてきている(オンラインバンキングではもはや必須になってきた)。2段階目の各認証方式のメリット/デメリットを把握しつつ、適切に利用して安全性を高めるべきだろう。
■関連記事
- Googleアカウントの乗っ取り対策「2段階認証」を導入する
- 「Google Authenticator」アプリとiPhone/iPadで2段階認証を実現する
- 「Google認証システム」アプリとAndroid端末で2段階認証を実現する
- 乗っ取り対策のために、Twitterの2段階認証を有効にする(Androidアプリ編)
- 格安SIMのスマートフォンでグーグルの2段階認証をセットアップするには音声通話を活用する
- iPhone/Androidで使っているGoogle Authenticator(認証システム)を別の端末に移行させる
- Dropboxのセキュリティを2段階認証で強化する(iPhone/iPad/iPod touch編)
- Dropboxのセキュリティを2段階認証で強化する(Android編)
Copyright© Digital Advantage Corp. All Rights Reserved.