Twilioブログ

多要素認証(MFA)とは?基本から導入のメリットまで解説

Webサービスの利便性や有用性が向上する一方で、情報漏洩や不正アクセスなどの事例の報告件数も増加してきています。そのため近年ではセキュリティ対策への意識が高まり、インターネット上のサービスを利用する際には「多要素認証」を求められることが多くなってきました。

この記事では昨今注目を集めている「多要素認証(MFA)」について、その特徴や類似したセキュリティの考え方との違いを解説します。

目次

多要素認証とは?

多要素認証は、ネットワークサービスやWEBアプリケーションなどを利用する際の本人確認の手段として、性質の異なる複数の要素の組み合わせを用いて認証をおこなう認証方式のことです。英語でMulti Factor Authenticationと呼ばれることから、略してMFAとも言います。

最大の特長はその名の通り、多くの認証要素を組み合わせていることです。これによって認証のセキュリティ強化を可能としています。

多要素認証(MFA)で使う3つの認証要素

多要素認証では「認証の三要素」と呼ばれる、大きく3つに分類される認証方式を組み合わせて使います。それぞれの認証方式は単独でも利用されることがあり、各々で性質が異なります。

ここでは、認証のための三要素について詳しく解説しましょう。

①知識要素

合言葉やキーワードのような、ユーザーのみが知っている情報を活用する認証要素を「知識要素」と呼びます。

先述したIDとパスワードの組み合わせも知識要素の1つです。その他にも暗証番号やPINコード、スマートフォンのパターン認証など、多くのサービスの認証で使用されています。

複雑なシステムや端末が不要という手軽さがメリットですが、その反面、人の記憶に依存するために忘れてしまったりメモを紛失してしまったりするリスクがあります。また知識要素による認証の場合は漏洩した時点でセキュリティを突破されてしまうため、その他の要素と組み合わせて強化することが必要でしょう。

②所有要素

ユーザーだけが所有しているものを活用する認証要素を「所有要素」と呼びます。身近な例としてはICチップ付のキャッシュカードや、スマートフォンのSMS認証、アプリ認証などが挙げられます。

物や端末を使って簡単に認証ができるところはメリットですが、常に認証デバイスを携帯していなくてはならないという課題もあります。また認証デバイス自体を失くしてしまったり、第三者に使われてしまったりというリスクもあります。

③生体要素

ユーザー自身の身体的特徴を活用する認証要素を「生体要素」と呼びます。指紋や静脈、顔、虹彩など、人によって異なる特徴を利用する点から、高いセキュリティ性を期待されています。

ただし寝ている間に指紋や顔認証を利用されたり、画像による偽装をおこなわれたりして、セキュリティを突破されてしまうリスクもあります。

あらゆるリスクを想定した場合、残念ながら完璧と呼べる要素はありません。1つの要素に頼りきらず、あくまで多要素を組み合わせることが重要です。

なぜ多要素認証(MFA)が必要なのか?

会員制のコミュニティサイトやSNSなどでは、長らくIDとパスワードの組み合わせを利用した認証方式が活用されてきました。

しかし近年、ログイン情報の不正取得やパスワードを推測されたことによるアカウントの乗っ取り被害が増加の一途を辿っています。フィッシングサイトやなりすましサイトなど詐欺の手口も巧妙になり、もはやIDとパスワードによる認証方式だけではユーザーの情報を守れなくなってしまったのです。

またユーザーの中には、パスワード管理を面倒に思い、1つのパスワードを複数のサービスで使いまわしている人もいます。この場合、どこかのサービスから情報漏洩してしまうと、芋づる式に複数のサイトで認証を突破されかねません。

このような状況から、IDとパスワードによる従来の認証方式では不十分と考えられるようになりました。そのため、複数の要素を組み合わせて使用する多要素認証のニーズが高まったというわけです。

多要素認証(MFA)デバイスの主な種類

「どの認証要素を使うか」「どのようなデバイスを用いて認証するか」によって、多要素認証のやり方はそれぞれ変わってきます。提供するデバイスによっても利用できる認証方式などに違いが出てくるため、導入の際には比較検討が必要です。

ここでは多要素認証に際してユーザーに提供するデバイスを、大きく4つのタイプに分類して解説します。

①物理的なデバイス

ICチップ付カードやセキュリティトークンといった物理的なデバイスをユーザーに配布し、それによって本人確認をおこなう認証方式です。

たとえばICチップ付カードはオフィスへの入館に必要な社員証などで利用されており、専用のカードリーダーで読み取って認証します。またセキュリティトークンは発行されたワンタイムパスワードを入力することで認証をおこなえます。

メリット

  • 管理フローが単純
  • ユーザーやオペレーターの教育コストを抑えられるため、導入がスピーディー

デメリット

  • デバイスの発行や認証機器が必要になるため、導入コストがかかる
  • デバイスの紛失や盗難のリスクがあり、発行済みデバイスの無効化や再発行が必要になる場合もある

②USB接続型デバイス

USBで接続できる認証用デバイスを利用して本人確認をおこなう認証方式です。主な例としては指紋認証リーダーなど、生体認証のアクセス端末が挙げられます。

接続に際してUSB端子が必要となるため、USBポートが備わっているパソコン端末であれば利用できます。

メリット

  • 比較的安価なデバイスを利用できるため、導入コストを抑えられる
  • 一般的なUSB接続のデバイスと使用方法が変わらないため、ユーザー目線でも利用のハードルが低い

デメリット

  • USBポートのないスマートフォンやタブレットでは利用できない

③アプリケーション型デバイス

専用の認証アプリケーションを配布し、ユーザーのスマートフォンやタブレットにダウンロードしてもらって本人確認をおこなう認証方式です。

インストールしたアプリケーションを起動し、生成された認証コードを入力するだけで認証が完了します。

メリット

  • すぐに使い始めることができるため、ユーザー側の負担が少ない

デメリット

  • ユーザーの対応OS(iOS/Androidなど)に留意する必要がある
  • 導入後はユーザーに対する利用方法や注意点の説明など、初期教育のコストがかかる

④SMS・ボイスコール型デバイス

ユーザーが所持しているスマートフォンにボイスコールやSMSを送信して本人確認をおこなう認証方式です。ユーザーの端末にワンタイムパスワードが音声電話もしくはテキストメッセージで送られ、これを入力することで認証が完了します。

メリット

  • 通話機能やSMS機能さえあれば受信可能なため、端末を選ばない
  • 複雑な操作を必要としないため、ユーザーにかかる負担が少ない
  • ユーザーが持っているスマートフォンを利用するため、導入コストがほぼかからない

デメリット

  • 電波の届くエリア内でしか受信できない
  • 認証がおこなわれるたびに、サーバー側に発信費用がかかる

多要素認証(MFA)を導入するメリット

多要素認証を導入すると、単一の認証方式と比べて、サービスへのログイン手順などがどうしても複雑になります。ユーザー目線では手間が増えるため、簡易性を求める人からは歓迎されないことも多いようです。

しかし多要素認証の導入には多くのメリットがあります。ここではどのような利点があるのか、具体的に紹介します。

メリット①:セキュリティの向上

近年増加しているセキュリティ被害には、不正アクセスによる情報の流出だけでなく、ユーザーが安易なパスワードを設定してしまったために起きたハッキング被害も含まれています。

つまりこれからのセキュリティ対策には、ユーザーのITリテラシーに頼らなくとも情報を守れる管理方式が必要不可欠です。そのうえで、認証の三要素を複数満たすことは、セキュリティの向上を考えるうえで効果的だと言えます。

記憶による文字列の組み合わせの認証情報だけでは、不正アクセスなどの被害を防ぎきれません。物理的なデバイスを利用した認証や、ユーザーの生体情報を利用した認証を組み合わせることで、より強固なセキュリティを実現できるのです。

メリット②:クラウドサービスの普及

ここ数年で多くのクラウドサービスが国内にも普及してきました。テレワークやリモートワークが一般化したこともあり、今までオンプレミスで稼働していたような業務システムについても、クラウドサービスへの移行が進められています。

しかし利用者の中には、クラウドサービスのセキュリティに懸念を感じる人も少なからずいるでしょう。重要な情報が含まれている業務ファイルを、インターネットを介してやり取りすることに不安を覚えるという人も多いのではないでしょうか。

多要素認証を導入して強固なセキュリティを構築すれば、そのような課題点も解消できます。より便利なクラウドサービスへの移行をスムーズにおこなううえでも、多要素認証の導入はメリットになるのです。

メリット③:法規制の遵守

多要素認証を導入することで、国や業界ごとに定められている法規制やコンプライアンスを遵守できます

例えばEUでは、決済サービスをおこなう決済サービスプロバイダに対して「PSD2」と呼ばれるセキュリティに関する規制を導入しています。このPSD2の中で、ユーザーの認証にはSCA(Strong Customer Authentication)と呼ばれる基準を満たすことが求められています。

多要素認証はSCAの基準を満たしており、導入することでPSD2の要件を遵守できるのです。

また日本でも2016年に総務省から自治体情報セキュリティ対策の指示が出され、マイナンバーを利用する事務系のパソコンでは多要素認証を導入することが必須となりました。現在ではなりすましによる不正アクセスや情報漏洩を防ぐべく、それ以外の業務パソコンにも多要素認証が求められ始めています。

メリット④:ユーザーの利便性の向上

セキュリティ要件を厳しくすると、その分だけユーザーの利便性が低下するという課題があります。しかし導入した多要素認証の形式によっては、むしろユーザーの利便性向上に繋がっているケースもあります。

たとえば生体要素・所有要素による認証は、パスワードの記憶をする必要がなく、定期的な変更の必要もありません。パスワード管理を面倒に思っているユーザーにとっては、むしろ認証方式が楽になったと感じるでしょう。

また知識要素についても、シングルサインオン(SSO)といったパスワード入力回数を減らす仕組みを併用することで、手間の削減が可能です。

メリット⑤:ユーザーエクスペリエンスの向上

ネットワークサービスが普及するにつれ、ユーザーはサービスごとに管理する必要のある、IDとパスワードの組み合わせの多さに煩わしさを感じています。

サービスごとに異なるパスワードの設定要件があったり、定期的に変更を要求されたりしています。結果的に複数のサービスでパスワードを使いまわしたり、推測しやすいパスワードを設定したりして、不正アクセスの被害にあっているというケースも珍しくありません。

そのようなユーザーにとって、多要素認証の知的要素以外を使った認証が普及してきたことは、ユーザーエクスペリエンスの向上の視点で望ましい状況といえるでしょう。

二段階認証との違い

多要素認証と似ている名称の認証方式に、「二段階認証」というものがあります。二段階認証は「2つの段階を経て認証をおこなう」方式であり、どの要素を利用するかについては特に縛りがありません。

たとえば「IDとパスワード」を入力したのち、事前に設定した「秘密の質問」に答えることで認証ができるサイトがあるとしましょう。パスワードも秘密の質問も知識要素のため、二段階認証ではありますが、多要素認証ではありません。このようなケースを「一要素二段階認証」と呼びます。

複数の段階に分けて認証をおこなうことでセキュリティ強度を乗算的に高めるのが二段階認証ですが、認証の回数を増やしても、すべての情報が流出してしまったら突破されてしまいます。そのため、同じ要素の二段階認証では、必ずしもセキュリティレベルの向上に繋がるとは限りません。

二段階認証について詳しく知りたい方は、こちらの「二段階認証とは?|メリット、導入方法、二要素認証との違い」をご参照ください。

二要素認証(2FA)との違い

二要素認証は「認証の三要素」のうち、2つの要素を用いて認証をおこなう認証の方式です。異なる種類の認証方式を組み合わせることで、より強固なセキュリティを担保できます。

一方、多要素認証は要素を2つ以上利用していれば具体的な数は問われません。つまり二要素認証は多要素認証のうち、利用する要素数が2つの場合の呼称です。

二要素認証の代表的な例としては、銀行のATMで利用される、キャッシュカード(所有要素)と暗証番号(知識要素)の組み合わせでしょう。キャッシュカードを「所有している」、そして暗証番号を「知っている」という2つの要素が揃うことで、取引をおこなえるようになります。

二要素認証について詳しく知りたい方はこちらの「二要素認証とは?基礎知識やメリット、二段階認証との違いを解説」をご参照ください。

Twilioで実装できる多要素認証について

Twilio(トゥイリオ)は電話やSMS、ビデオ、チャットなど世の中にあるさまざまなコミュニケーションチャネルを、WEB・モバイルアプリケーションと繋ぐクラウドコミュニケーションAPIです。

ここからはTwilioを利用した認証機能を実装する2つの方法、「Twilio Verify」と「Twilio Authy」についてご紹介いたします。

Twilio Verify (トゥイリオ・ベリファイ)

twilio verifyトゥイリオ・ベリファイについて

Twilio Verifyは、認証コードを生成し、「SMSまたは音声通話、メールで認証コードの送信および認証をおこなう」機能を提供するAPIです。登録されたユーザーの電話番号が本当に有効なものなのか、音声電話とSMSを用いて確認できます。

最大の特長は「開発の簡単さ」です。たった10行ほどのコードを追加するだけで、既存のアプリケーションに二要素認証を組み込めます。また認証サーバーの構築や運用も必要ないため、技術者の開発負担を大きく減らすことが可能です。

なおユーザーの個人情報については、サービスを提供されている企業さまにて保持・運用いただくことになります。

Twilio Verifyを用いた多要素認証の実装方法はこちら

利用基準

新規ユーザー登録時に電話番号の検証をおこなう場合など、一時的に利用する認証の仕組みを構築する場合にはTwilio Verifyがおすすめです。

Webアプリケーションによる登録スパムの削減や、登録済みアカウントの二重登録防止などに役立てられます。

Twilio Authy (トゥイリオ・オーシー)

Twilio Authyの3つの機能

Twilio Authyは、SMS・電話・アプリを使ったワンタッチ認証などの認証機能を簡単なコードで実装できる、セキュリティ強化に特化したAPIです。

多種多様な認証方法を選択して利用できるため、運用時の安定性や利便性を確保できます。またTwilio Verifyとは異なり、Twilio Authyではユーザーの情報もTwilioのプラットフォームで管理できるため、企業はより運用時のメリットを得られやすくなります。

Twilio Authyを用いた多要素認証の実装方法はこちら

Twilio Authyが提供する3つの機能

OTP via SMS/VOICE

オンデマンドで生成される、動的な7桁の認証コードです。SMSまたは音声通話によって、登録された電話番号に配信されます。

 

Soft Token TOTP

Authyアプリなどの認証アプリを利用することで、一定時間ごとに新しいものに変わっていくワンタイムパスワードを入手できます。スマートフォン・タブレット・デスクトップを含む複数のデバイスで使用可能です。

 

Push Authentification

ユーザー側のモバイルアプリへ承認リクエストをプッシュ通知で送信し、リクエストの承認・拒否を選択できる認証です。ワンタッチで簡単に応答できる、無駄のないUXを提供しています。

利用基準

ログインするたびに二要素認証をおこなう場合など、長期的・継続的に利用する認証の仕組みを構築する場合にはTwilio Authyがおすすめです。ログイントランザクションの管理や、プッシュ認証チャネルが提供できるため向いています。

認証の仕組みを自社導入する際の確認事項

【すでに認証システムを持っている場合】

自社の認証システムを持っている場合のtwilio verify sms voice導入方法

既存の認証システムを活かし、認証コードを伝達する機能としてSMS送信(Twilio Programmable SMS)または音声通話(Twilio Programmable Voice)だけを導入することが可能です。

【既存の認証システムがない場合】

自社で既存の認証システムを持っていない場合のtwilio verify only sms導入方法

既存の認証システムがない場合は、「Twilio Verify」 または 「Twilio Authy」 とSMSや音声通話を合わせて導入することをおすすめします。

 
お問い合わせはこちら

まとめ

この記事では、多要素認証の特徴や必要性について解説し、導入するために考慮すべきポイントや比較されやすい類似用語との違いについてご紹介しました。  

多要素認証は、セキュリティレベルが高く、ユーザーの情報を守るためにこれから必須の認証方式と考えられています。  

みなさんも多要素認証を理解することで、より安全で使いやすいサービスの提供を検討してみてください。 

Twilio 本部
Twilio 本部

KDDIウェブコミュニケーションズは、日本初のTwilioパートナーとして常に「開発者目線」を大切にしており、ブログ記事がお役に立てれば幸いでございます。

お問い合わせはこちら

Share!!

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例