【徹底解説】2段階認証とは?メリットやデメリットのまとめ

  • このエントリーをはてなブックマークに追加

今回は7Payのセキュリティ・インシデントでも話題になった2段階認証について、どこよりも詳しく解説致します。不正ログイン・不正アクセスの対策手段として2段階認証は業務システムにも統合が進んでいますね。2段階認証の概要からメリット・デメリット、必要な背景まで広くまとめていますので、是非最後までご覧ください。

2段階認証とは

システムやサービスにアクセスするために、二度認証を行うことを2段階認証(Two-Factor Authentication)と呼びます。2段階認証の例として、一度目の認証でIDとパスワードを入力後、更に指紋情報やセキュリティコードなどを入力し、双方の認証がパスすれば、初めてシステムやサービスにアクセスすることが可能になります。

2段階認証の仕組み

複数の方式がありますが、現状普及しているのはIDとパスワードによる認証を行なった後に、スマートフォンなどの異なるデバイスにSNSなどを使ってセキュリティコードを送信し、それを入力させるというケースが多いです。

二要素認証との違い

二要素認証とは、種類の異なる認証方式を2つ組み合わせた認証を指します。2段階認証では、二度の認証の方式が一致していても構いません。例えば、IDとパスワードを使った認証を二度行うことも2段階認証と呼びます。

一方、二要素認証では、認証方式が異なっている必要があります。例えば、一度目の認証でIDとパスワードを使う場合は、二度目の認証はIDとパスワード以外の方式で認証を行う必要があります。

二要素認証 の種類

二要素認証を含む多要素認証には、3つの認証の種類が存在します。

1. 知識認証

当人だけが知っている情報を知識情報と呼び、知識情報を用いて認証を行う方式を知識認証と呼びます。知識情報の例として、IDとパスワード、秘密の質問と答え、PIN、セキュリティコードなどが挙げられます。第三者が不正に知識情報を入手した場合、本人になりすまされる可能性があることが弱点です。

2. 所有物認証

所有物認証とは、当人が所有する物理的なものを使って認証することです。所有物認証に使う対象の例としては、ICカード、電子証明書、トークンや認証器(多要素認証で使用する認証情報を生成する機器)などが挙げられます。所有物認証を突破するためには、物理的なものを盗む必要があるため、攻撃の難易度が上がることや、複製が難しいというメリットがあります。

3. 生体認証

生体認証では、当人の身体的特徴や行動的特徴などの情報を用いて認証を行います。生体認証に使われる対象の例としては、指紋、網膜、顔、音声、筆跡、歩行などがあります。利用者にとっては、パスワード入力の手間が省けるメリットもあります。所有物認証と同じく、知識情報と比較して複製が難しいと言えますが、100%安全という訳ではありません。詳細は後述します。

なぜ2段階認証が必要なのか?メリットは?

2段階認証を行うことのメリットは、攻撃者が目的とするシステムやサービスにアクセスするためには、1つの認証方式が突破されても、他方の認証も突破する必要がありますので、攻撃に対する防御力を高められることです。

パスワード認証では防御力が低い

パスワードを使用する知識認証の弱点について説明します。

1つ目の問題点は、パスワードの強度が弱い場合、第三者が現実的な時間で解読することが可能であることです。現在一般的に使われているコンピュータの性能であれば、8桁で英字のみ(大文字、小文字区別無)を使用している場合、現実的な時間で解読することが可能であると報告されています。

2つ目の問題点は、パスワードの管理が適切になされていないと、強固なパスワードであってもパスワードを窃取されてしまう危険性があることです。アプリケーションやサービス毎に異なるパスワードを設定していても、記憶できるパスワードのバリエーションには限界があるため、メモに書き留めてしまい、それらの情報が窃取されるケースも多いです。ワンタイムパスワードの場合、パスワードの書き留めによるリスクは減りますが、チャレンジレスポンス方式のように、サーバがネットワークを介して返す情報を元にパスワードを生成している場合は、攻撃者がパスワード生成に必要な情報を入手できる可能性がありますので、防御力は強いとは言えません。

7payでの不正ログインでも2段階認証が注目されました

2019年、セブン&アイ・ホールディングスが提供するモバイル決済サービス7payで不正ログインの被害が発生しました。不正ログインの原因は、リスト型攻撃と呼ばれる他のサービスなどから予め不正に入手したパスワードのリストを用いてパスワードクラックを行う攻撃手法が使用された可能性が高いとされています。リスト型攻撃はパスワード認証の弱点をつく攻撃の1つであり、本事例を受けて、2段階認証が着目されました。2段階認証は、このようなパスワード認証の脆弱性を悪用する攻撃の対策として有効だと言えます。

アカウントの乗っ取り対策にも有効

アカウントの乗っ取りとは、第三者が不正にアカウント情報やアカウントの利用に必要な情報を入手し、当人になりすますことです。パスワード認証のみの場合、アカウントを乗っ取るために必要なのはIDとパスワードのみです。パスワードを不正に入手する手法としてはパスワードクラック以外にも様々な手法があります。PCをマルウエアに感染させて、PCに保存されているパスワード情報を入手したり、攻撃者が用意した不正なWebサイトに誘導し、利用者が入力したIDとパスワードを窃取する手法などもあります。2段階認証を用いて、所有物認証や生体認証と組み合わせることで、アカウントが乗っ取られるリスクを低減できます。

「ONLY FOR YOU」というDMがTwitterで話題になりました

2019年の夏、Twitterの「ONLY FOR YOU 」というスパムDMが話題になりました。DMにはリンクが添付され、受信者がリンクをクリックして不正なアプリの連携を承認すると、次はその人のアカウントから同様のスパムDMが他者に送られます。この事例では、攻撃者は正規のアカウントを悪用して、不正な情報発信を行ないます。この様に、正規のアカウント情報が悪用されて利用者が意図しない操作が行われる被害は多いです。アカウントが悪用されるリスクを低減するためにも2段階認証は有効です。

WAFやウィルス対策ソフトとはどのような違いがあるの?

セキュリティ対策には、様々なものがあります。例として、WAF(Web Application Firewall) やウィルス対策ソフトもその1つです。WAFはWebアプリケーションに対する攻撃リクエストを検知、遮断するための技術です。ウィルス対策ソフトはマルウエアと想定される不審なファイルの検知や駆除を行うためのソフトウエアです。これらの技術と2段階認証にはどのような違いがあるのでしょうか。

システムへの不正な侵入を防ぐ意味では、共通していると言えますが、守ることが出来る攻撃手法や、防御のためのアプローチが異なります。

攻撃手法の観点では、WAFが防御できるのはWebアプリケーションの脆弱性(セキュリティ上の欠陥)を悪用する攻撃、ウィルス対策ソフトが防御できるのは、端末上での不審なファイルのダウンロードや実行です。対して、2段階認証が防御できるのは、第三者が正規のアカウントを悪用することによる不正アクセスです。

アプローチの観点では、WAFやウィルス対策ソフトは予め不審と分かっているパターンを登録しておき、マッチする挙動を検出した場合に、防御する手法が一般的です(最近では、AIなどを使って通常と異なる挙動を検出する振る舞い検知型と呼ばれる製品もあります)。対して、2段階認証はシステムを利用しようとする人が正規の利用者なのかを確認する目的を持ちます。

そのため、どちらが優れていると言えるものではなく、組み合わせて使うことで、より防御力を高めることが出来ます。例えば、Webアプリケーションの脆弱性を悪用する攻撃が試行されても、Webアプリケーションに強固な認証が設定されていれば、攻撃を回避できる場合があります。また、PCがマルウエアに感染したとしても、攻撃者が目的とするシステムやサービスに対して強固な認証が設定されていれば、攻撃の難易度が上がります。この様に、複数の防御手法を組み合わせて防御力を上げることを、多層防御と呼びます。

2段階認証の方法(種類)

1. パスワード

ID、パスワードによる認証は、1度目の認証に用いられることが多いです。また、購入や予約などの重要な処理の前に、再度、確認のためのパスワードの入力を求める例もあります。

2. コード

IDとパスワードによる認証を行なった後に、スマートフォンなどの異なるデバイスにSNSなどを使ってセキュリティコードを送信し、それを入力させる例があります。またクレジットカードの決済などの重要な処理の際に、セキュリティコードの入力を求める例などがあります。

3. VPNアクセス用のUSBスティック

VPNはVirtual Private Networkの略語でインターネット上に仮想的な専用線を設けて、安全な経路を使って通信するための技術です。自宅から出張先からオフィスのPCに遠隔接続して業務を行う場合などに利用されています。

最近では、USBメモリに格納された情報を用いてVPNの認証を行うサービスがあります。例として、USBメモリがトークンの役割を果たし、USB内に電子証明書(正当なユーザであることを証明するための電子書類)を格納し、電子証明書を使って利用者を認証するなどの仕組みが用いられています。物理的なキーを使用することで、PCを紛失したり、パスワードを盗聴されたとしても、第三者による不正アクセスのリスクを低減することができます。

Google従業員の社内システムのアカウント乗っ取り被害を撲滅

Google社が2017年から2要素認証で物理鍵(USBのセキュリティキー)の使用を全社員に義務付けたところ、導入以来、社内でアカウンが乗っ取り被害の報告がゼロになったと、Krebs on Securityのブログで述べられています。

USB型の認証の問題点

USB等を用いた所有物認証は、セキュリティを向上する効果が期待できますが、100%守れるという訳ではありません。例えば、認証で使う情報を保存したUSBやトークンなどの物理的なデバイスを紛失してしまうと、それらを悪用される可能性がありますので、それらのデバイスは安全に保管することが大切です。

4. 生体情報

では、生体認証で使われる生体情報に関してはどうでしょうか。

生体情報そのものを複製することは難しいですが、対象者の写真や、スマートフォンの画面に付着している指紋などから生体情報を複製し、悪用される可能性があります。また、指紋認証システムを悪用する詐欺アプリなども存在します。一方で、生体認証の判定プログラムを正しく判定できないようにする攻撃手法もあります。

多くの場合、生体認証にはAIが使われており、AI がどの様な特徴を抽出しているのかが分かれば、細工した生体情報を入力として与えることで、本人でないにも関わらず、本人であると判定させる(偽陽性とも呼びます)ことも可能です。判定の精度はアプリケーションやサービスによって様々であるため、生体認証を使用しているので、絶対に安全とは言えないことを覚えておきましょう。

WebAuthnを用いたパスワードレス認証も生体情報を使う想定

WebAuthnとはWeb Authentication APIの略で、パスワードを使用しないWebサービスの認証方式のことです。WebAuthnに対応したWebサービスを利用する場合、利用者は、パスワードの代わりに、所有するセキュリティキーやデバイス(認証器)に内蔵された生体認証などを使って、公開鍵暗号化方式によって認証を行います。

公開鍵暗号化方式とは、秘密鍵(利用者のみが知り得る情報)と公開鍵(秘密鍵とペアになっている公開情報)を用いる方法で、秘密鍵を持つ利用者のみがサービスを利用することができます。

WebAuthnで指紋認証を用いる例として、サービス利用開始時に利用者が認証に使うデバイス上で認証に使う指紋を登録すると、そのデバイスに対応した秘密鍵と公開鍵が生成され、秘密鍵は利用者のデバイスに保存され、サービス側(サーバ側)は公開鍵のみを保持します。認証の際は、利用者のデバイス上で指紋認証を行った後、秘密鍵で署名した情報がサービスに送信され、サービス側はその利用者の公開鍵を使って送られた情報を検証し、正規の利用者であるかを確認します。認証情報が直接ネットワーク上を流れないため、盗聴などの攻撃に対する防御力が高いことがWebAuthnのメリットです。

5. 乱数表

乱数表による認証は、古くから金融機関等で使用されていました。キャッシュカードの裏等に記載されているユーザ固有の乱数表を用いて認証を行う仕組みですが、ネットバンキングを偽装するマルウエアなどによる乱数表の不正入手による被害が相次いだため、最近はスマホや専用カードを用いたワンタイムパスワードに移行する金融機関が増えています。送金手続きなどを行うPCとは別のデバイスでワンタイムパスワードを発行することで、安全性を高めることができます。

6. 特殊例:厳密に管理された物理ロッカー

一般的なロッカーや、金庫は、物理的な鍵か暗証番号を使うものが多いですが、貴重品や重要情報を管理するための高度なセキュリティが求められるロッカーや、金庫は、2段階認証が取り入れられている場合があります。例としてICカードなどの物理的な鍵と利用者が登録した暗証番号の2つを用いて安全性を確保する製品などがあります。

2段階認証を行う場合の注意点

2段階認証を設定していても、一度目の認証と二度目の認証を同じデバイスで行なっている場合は、そのデバイスが侵害されてしまった場合には双方の認証が突破されてしまう可能性が高いため、1度目の認証と2度目の認証は、異なるデバイスで行うのが望ましいです。

また、利便性から、特定のデバイス上での認証を省略する様に設定できる場合もありますので、メッセージをよく読まずにOKボタンなどを押してしまうと、2段階認証の効果を得られなくなってしまいますので、注意が必要です。

なお、2度目の認証を異なるデバイスで行なっている場合は、そのデバイスを紛失しないことも大切です。

2段階認証の問題点・危険性は?強度はどうなの?

2段階認証を設定していれば絶対に安全と言えるものではありません。前説でも説明した通り、一度目の認証と二度目の認証を同じデバイスで行なっている場合は、認証情報を適切に管理していない場合、強度は下がります。デバイス上で使われるパスワードはそのデバイス上に保存されていることが多く、入手できることが多いためです。

また、2段階認証の多くは、SNSに送信されるセキュリティキーなどを使った方式を使っています。プッシュ通知が有効になっている場合、ロック画面にSNSなどに送信されたキーを不正に入手される可能性もあります。さらに、SNSメッセージのやり取りに利用されるプロトコルの1つとして、SS7がありますが、SS7の脆弱性を悪用してSNSの通信が傍受された例もあります。

設定してもらえないと意味がない

繰り返しになりますが、2段階認証を設定したとしても、各認証に使われる情報を適切に設定し、保護しなければ意味がありません。例えば、パスワードが弱い場合は、すぐに突破されてしまいます。また双方の認証を同じデバイスで行なっていたり、認証情報が適切に保護されていない場合は、2段階認証の効果が減ってしまいます。単に2段階認証を設定すれば強度が上がるというものではなく、安全なサービスを使用しているか、および利用者が各認証に使うデバイスや情報を適切に設定し、保護しているかが重要になります。

設定や手間に「うざい」「面倒」の声!

NTTコムリサーチの調査結果によると、2段階認証の利用をやめた理由のトップに、「2段階認証が面倒(手間)だったから」が挙げられています。

2段階認証に限らず、利便性とセキュリティはトレードオフの関係にあります。しかし、面倒だという理由でセキュリティ設定を怠ったばかりに、セキュリティ事故が起こってしまうと、その対応の方が、はるかにコストがかかります。一時的な感覚に左右されず、長期的に考えて対策することが大切です。

フィッシングなどに対応できない

フィッシングとは、スパムメールなどにより、利用者を正規のサービスを装った攻撃者のサイトに誘導し、機密情報を窃取する攻撃手法です。

GmailやYahoo!メールの2段階認証を突破するフィッシングの手法がインターネットに公開されています。これらのサービスでは、スマートフォンなどに送信されるセキュリティコードを使用しますが、利用者が本物そっくりのサイトに騙されて、攻撃者のサイトで認証情報を入力してしまった場合は、2段階認証に必要な情報を窃取されてしまう可能性があります。サービス提供者などから発信される注意喚起を確認し、フィッシングサイトに騙されない様に注意することも大切です。

対策としては多要素認証が便利

フィッシングを含め、2段階認証を悪用する攻撃に対しては、認証情報が直接ネットワークを流れないWebAuthnを使用して、多要素認証を行うことが有効です。ただし、秘密鍵が保存されているデバイス(認証器)を盗まれないように注意する必要があります。

WebAuthnに対応しているサービスはまだ少ないですが、多要素認証やその他のセキュリティ技術を組み合わせて多層防御を行うことや、セキュリティに関する情報を日常から収集しておくことで、防御力を高めることが重要と言えます。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。