2020.06.01
二段階認証とは?|メリット、導入方法、二要素認証との違い
近年、「二段階認証(にだんかいにんしょう)」というワードを日常的に見聞きするようになってきたのではないでしょうか。日々進化する情報社会において、情報セキュリティをどのように向上させ、どのように情報漏洩から守っていくのかは非常に重要であり、同時に大きな課題となっています。パソコンからWebサイトへのアクセス、携帯電話の端末からアプリを利用する場合など、セキュリティ強化対策の一つとして、何通りかの方法で数段階に分けて認証をする方法によって「利用者本人である」ことの正確性を高めています。このような認証方法のことを「二段階認証」と呼んでおり、高いセキュリティレベルを維持するために、必要性が高まっています。
二段階認証の詳しい仕組みやメリット、セキュリティ対策として効果的な利用方法について、疑問を持っている方も多いのではないでしょうか。本記事では、二段階認証についての仕組みや実装方法といった、基本的な知識を踏まえながら「二要素認証や多要素認証との違い」などの素朴な疑問も解決し、二要素を用いた二段階認証を簡単に実装できるAPIを提供しているTwilio(トゥイリオ)をご紹介していきます。
目次
- 二段階認証とは?
- 二段階認証の仕組みと方法
- 二段階認証の種類
- 二段階認証のメリット
- 二段階認証を正しく理解するための「二要素認証」と「多要素認証」とは
- 二段階認証のセキュリティをより強化するためのポイント
- 二段階認証のデメリットと利用する際の注意点
- Twilioでできる二要素を用いた二段階認証の導入方法「VerifyとAuthy」
二段階認証とは?

二段階認証( two-step authentication )とは、認証作業を2回行うことを意味します。 「認証」というのは、SNSやアプリのアカウント、インターネットで利用できるサービスへログインする際、「ユーザー本人がログインしているのかどうか」を確認する作業、または手段のことです。
その中でもイメージしやすい「認証作業」は、ログイン時に「 IDとパスワードを入力」する方法です。この他にも、SMS(ショートメッセージサービス)のコードや、指紋を利用した方法など、認証方法は数種類あります。
二段階認証はこうしたいずれかの認証作業を2回行うことで、第三者による不正ログインやなりすましを防止できる有効な手段の1つとされているため、近年非常に需要が高まってきています。
二段階認証の需要が高まっている理由

二段階認証がなぜ必要なのでしょうか?
需要が高まっている理由は、セキュリティの脅威は日々増しており、情報漏洩による事故が度々発生しています。情報漏洩の原因は、悪質なハッカーによる不正アクセスだけではなく、スマートフォンの紛失・盗難など理由はさまざまです。
情報通信技術が進化し、生活は豊かで便利になってきており、利用者の個人情報とリンクしたサービスが増える一方で、守るべき価値の高い情報も多く含まれています。その為いったん事故が発生してしまうと、より広範囲で情報漏洩のリスクが生じるようになっているのも事実です。企業にとって情報セキュリティインシデントは、信用失墜、ビジネス存続の危機に関わる重大な問題まで発展する場合もあるため、セキュリティ強化は必須課題となっています。
こういった多くの情報漏洩事故は、第三者が赤の他人のふりをして、本人の代わりに不正ログインをし、アカウントを悪用する「なりすまし」です。こういったリスクを可能な限り防止するのに有効な手段の一つとして、二段階認証の需要が高まってきました。
二段階認証はどんな場合に必要なの?
日々の生活の中で、守るべき情報と密接に関連したインターネット・情報通信機器を利用する場面を想像し、二段階認証の設定を必要とするサービスやアカウントの例についてご説明します。
- スマートフォンのデバイスを制御するためのアカウント
- 大切な人間関係の情報が紐づいているSNSアカウント
- LINEなどのコミュニケーションアプリ
- Gmail、Yahooなどのフリーメールサービスアカウント
- インターネットバンキング
- 便利に買い物するためのECサイトやオンラインショップのアカウント
- 銀行口座やクレジットカードとリンクしたインターネット決済サービス
上記は一部の例となり、挙げるときりがないほどアカウントの防護強化を検討する必要があるサービスを日常的に複数利用している人も多いかと思います。
たとえば、SNSアカウントで問題になっているのは、主に下記の2通りあり、金銭的被害が発生する問題にまで発展しています。
- IDとパスワードを入手した第三者が、不正ログインによりユーザーのSNSアカウントを乗っ取るケース
- ユーザーになりすました第三者がSNSアカウントを勝手に作り運用するケース
また何かしらの個人情報を不正に入手した業者が第三者へその情報を売却し、財産をも脅かされる事件に発展しかねません。
普段何げなく利用しているサービスが、どのような情報と関連しているのかを再度見直し、アカウントにアクセスできなくなった場合の損害の大きさを判断基準に、二段階認証の設定について検討をオススメします。 ※検討対象のサービスが二段階認証に対応しているか事前にご確認ください。
仕事関連で使用している機器やアカウントの二段階認証の設定は、必須中の必須です。一度設定したことに満足せず、定期的に認証方法の見直しを繰り返し行うことが必要です。
二段階認証の仕組みと方法
ここでは、二段階認証がどんな仕組みと方法で運用され、セキュリティ強化に繋がっているのかをご紹介します。
二段階認証の仕組み
アカウントへログインする際に「同じ種類の認証方法を2回に分けて行うもの」もしくは「違う種類の認証方法の中から2つの要素を組み合わせて行うもの(二要素認証)」のどちらかを実装することで、本人確認のための認証作業が二段階になります。
不正アクセスにより一段階目の認証が突破されてしまっても、二段階目ではブロックできる可能性が高まるため、セキュリティを強化しつつ、アカウントを保護できる仕組みです。
なお「違う種類の認証方法(二要素認証)」には、認証を成立させるための3要素「知識認証」「所有物認証」「生体認証」があります。詳しくは次の項目でご説明します。
二段階認証の方法
認証の3要素について、それぞれの特徴や違いは下記をご覧ください。
①知的認証: Something you know

「パスワード入力」や「秘密の質問」など事前にユーザーが登録した質問と回答の組み合わせ、といったものがイメージしやすい例です。ログインするユーザー本人が「知っていること」「記憶していること」の知識要素を使って、認証する方法です。
②所有物認証: Something you have

代表的な例は下記のように、 ユーザー本人固有の持ち物を介する所持要素によって認証する方法です。
- Google社が提供するスマートフォンアプリGoogle Authenticator
- Eメールや携帯電話へ送られたSMSなどに表示される文字や数列を端末へ入力する
- ワンタイムパスワード(一定時間内でのみ使用できるパスワード)
- IDカード
③生体認証: Something you are

主に、「指紋」「顔の輪郭」「虹彩」「網膜」「静脈」などの身体的な特徴、「署名」などの行動的な特徴と、バリエーションが多数あります。これらは、ユーザー本人の体の一部をデジタル情報に置き換え、生体要素として認証する方法です。
二段階認証の種類
先程ご紹介した認証の3要素の中には、様々な種類の認証方法があります。二段階認証にもセキュリティの強度や利用方法などの特徴があり、それらをいくつかご紹介します。
SMSを利用した認証

登録した携帯電話のSMS宛に認証コードを送る方法が、SMSを利用した二段階認証です。気軽に利用できるポピュラーな二要素の認証方法です。
送られてきたメッセージに記載されているセキュリティコードがなければ、サービスを利用することが出来ないので、SMSを受信可能な人以外からのログインを防止できます。
万が一、IDとパスワードが第三者に流出した場合でも、SMSを受信できる端末が手元に無ければ二段階目の認証は突破されません。ただし、SIMフリーのスマートフォンを契約時にSMSを設定しない場合、またはSMSが受信できない状況下にいる場合などは、SMSによる二段階認証を利用できないため注意が必要です。
Eメールを利用した認証

登録したメールアドレス宛に認証用のワンタイムパスワードや認証用URLが送られる方法が、Eメールを利用した一般的な二段階認証の方法です。
しかし、メールアカウントにログインする際のIDとパスワードが漏洩してしまうと、二段階認証を設定している意味がなくなってしまいますので、メールアカウントのセキュリティ向上も意識した上で利用しましょう。
また、プロバイダ契約によるメールアドレスの場合は、プロバイダを変更する際にメールアドレスが変わります。認証作業に支障が出ないよう、プロバイダの変更時は、認証用メールアドレスの再設定を忘れないよう注意が必要です。
音声通話を利用した認証

登録した電話へ着信があり、自動音声によって認証コードが伝えられる方法を、音声通話を利用した二要素の二段階認証としています。
特定の電話番号で着信を受けられる環境下にある人以外からのログインを防止できます。
この認証は視覚にハンディキャップのある方でも利用しやすい方法ですが、聴力が弱い方・聴覚にハンディキャップのある方にとっては利用しにくい方法ですので、設定時には注意が必要です。
アプリを利用をした認証

専用アプリを介することで認証作業を行うのが、アプリによる二段階認証です。 ログイン時、アプリへログイン許可の通知が届き、その通知を許可した場合のみログイン可能になります。 また、アプリによる二段階認証には通知の他に「指紋認証、顔認証、QRコード読み取り」など別の方法を利用する場合があります。
デバイスを利用した認証

セキュリティキーというUSBメモリ型の小型デバイスをログインするアカウントと紐づけて利用するのが、デバイスを用いた二段階認証です。デバイスを所持していることが本人確認になり、現段階ではセキュリティレベルが高い認証方法とされています。
この小型デバイスは、パソコンのUSB端子に接続するタイプ、モバイル機器とBluetoothで接続するタイプがあります。
利用する際の注意点としては、小型デバイスを紛失・破損すると、利用者本人であってもログインできなくなる可能性が高いので、保管時の管理を徹底する必要があります。
トークンを利用をした認証

セキュリティトークンというワンタイムパスワード生成の機器を使用し、生成したパスワードを制限時間内に入力することで認証作業を行う方法が、トークンを利用した二段階認証です。
外部デバイスを利用した認証方法の中でも比較的安全性は高いとされています。 トークンは、インターネットバンキングや仮想通貨などの暗号資産を扱う金融機関、オンラインゲームなどに導入されており、サービスの利用者へ配布されるケースがあります。
トークンに関しても、紛失・破損することがないよう、保管時の管理には細心の注意を払うよう心がけましょう。
二段階認証のメリット

先程、二段階認証の需要が近年増加していることを説明しましたが、従来までは「二段階認証の方法」の部分でお伝えした3要素の認証のうち1つの要素だけを使ってログイン認証を行う「単要素認証」が主流でした。
認証が一段階のみの場合よりも、二段階の方が第三者からの悪質な不正ログインによって、認証を突破されるリスクは低くなり、セキュリティをより強化できる点が「二段階認証」のメリットです。
しかし、高いセキュリティを実現するためには、認証作業が「二段階」であるだけでよいというわけではなく、認証における「段階の数」と認証における「認証要素の数」がポイントになってきますので、次の章で詳しくご説明していきます。
二段階認証を正しく理解するための「二要素認証」と「多要素認証」とは

ここでは、より強力な認証を目指すために必要な、「二要素認証」と「多要素認証」について知ることで、更に「二段階認証」を深くまで理解していきます。
「二要素認証」と「多要素認証」について
二要素認証(2FA:Two-factor Authentication) :2つの認証要素を使っていること。 多要素認証(MFA:Multi-Factor Authentication) :2つ以上の認証要素を使っていること。
認証の3要素 「知的認証」「所有物認証」「生体認証」の内、2つ以上の要素を使って認証作業を行うのが「二要素認証」「多要素認証」です。
二要素認証の例:「メールアドレスとパスワード(知的認証)」 + 「指紋(生体認証)」

多要素認証の例:「メールアドレスとパスワード(知的認証)」 + 「メールへ送られた文字列入力(所有物認証)」 + 「虹彩(生体認証)」

二段階認証と「二要素認証・多要素認証」との違い
二段階認証と「二要素認証・多要素認証」の違いは、二段階認証はあくまで認証を2回行うという「段階の数」を示しており、 認証強度がそれほど高くないとされています。
単要素による二段階認証の例:「ユーザー名(知的認証)」+「パスワード(知的認証)」

上記の例のように、1つの認証要素しか使用しない「単要素認証」を2回に分けて行う認証方法もまた、二段階認証に含まれます。
しかし、「二要素認証」「多要素認証」の場合は、二段階認証(もしくは二段階以上)であると同時に、認証の3要素のうち2つ以上を組み合わせて使用します。たとえ一段階目の情報が漏洩・流出したとしても、素性や性質が異なる情報を同時に数種類窃取することは極めて困難であるとされています。
より高いセキュリティの二段階認証にするには
前にも述べた通り、認証における「段階の数」だけではなく、認証における「認証要素の数」が、強固でセキュリティレベルの高い認証にするポイントですので、利用する「二段階認証」に認証要素が2種類以上含まれているかどうかを事前にしっかり確認することが大切です。
二段階認証のセキュリティをより強化するためのポイント

日常的に使用しているサービスやアカウントを安全に利用するために、二段階認証の活用方法を工夫することで、セキュリティをより強化することが可能です。ここではそのポイントをご紹介していきます。
推測が難しいパスワードを作る
二段階認証を利用する際、「ID」「パスワード」といったログイン情報は、利用者本人が設定します。一人の人が複数のアカウント用のログイン情報を持ち、使い分けている場合は、「パスワードを忘れてしまった」「どのアカウントにどのパスワードを設定したか記憶しておくことが手間と感じる」等の理由で、覚えやすく簡単なパスワードを設定されている方も多いのではないでしょうか。
記憶し易いパスワードは、利用者にとって扱いやすいだけでなく、不正ログインをしようとする第三者にとっても推測しやすく、セキュリティレベルの低いパスワードであると言えます。
セキュリティ向上のために二段階認証を導入するわけですから、脆弱なセキュリティをあえて選択することにならないよう、「桁数を増やす」「異なる種類の文字を組み合わせる」など、複雑で独自性のある強度の高いパスワード作成を心がけることをオススメします。
二段階認証を積極的に利用する

インターネット上で利用できるサービスが日々増えており、生活は便利になっていきますが、同時に不正にログイン情報を窃取する手口も巧妙化しており、情報漏洩によって個人情報が危険に晒される可能性も高まっています。
このように日々インターネットの技術が発展していき、状況が変化していく中で情報漏洩の危機から身を守っていくには、普段から情報セキュリティについてアンテナを張り、意識して生活をすることが大切です。個人情報を守る行動の第一歩として、二段階認証の設定ができるアカウントをお持ちで、未設定のものがありましたら、ぜひ利用いただくことをオススメします。
また、先程パスワードについて案内した通り、第三者に推測されにくいパスワードを作成するなど、よりセキュリティ強度が高い状態で、二段階認証を利用することが重要です。
二段階認証を行う端末を複数に分け利用する
昨今、スマートフォンなどの携帯情報端末を利用できる多岐にわたるサービスが展開されており、オンラインショッピングやインターネットバンキングなど日常生活に必要な行動を一つの端末から行なっている人も少なくないはずです。
しかし、必要な操作を一箇所でまとめて行えるのは、とても便利な反面、情報セキュリティの観点から見るとセキュリティ強度が高いとは言い切れません。
例えば、スマートフォンで利用しているアプリにログインする際、同じスマートフォンのSMSに届く情報を利用して認証作業を行う場合、もしその端末自体にスクリーンロックをかけていなければ、第三者がログイン情報を簡単に盗むことが可能になります。
セキュリティ強化を目指すために、二段階認証を行う際に利用する端末はPCとスマートフォンなど複数個に分け、それぞれの端末で認証メッセージを受け取れるように設定することをオススメします。
二段階認証は、決して完璧なセキュリティの方法とは言い切れません。しかし、従来までの単一のみの認証方法よりもセキュリティ強度は高いので、今回ご紹介したセキュリティを強化するための3つのポイントを活用して、積極的に二段階認証を利用していただきたいです。
二段階認証のデメリットと利用する際の注意点
一段階のみの認証方法と比べ、セキュリティレベルの向上が期待できる二段階認証ですが、メリットばかりではなくデメリットや利用する際の注意点がいくつかあります。
二段階認証のデメリット

二段階認証のデメリットを挙げるとすると、ログイン時に求められる認証作業の回数が増えるという手間ではないでしょうか。後程詳しく説明しますが、二段階認証を利用する場合には配慮すべき注意点もあり、取り扱い方法によってはログインが出来なくなってしまう可能性もあります。
しかし、普段使用しているパスワードを自分では厳重に管理しているつもりでも「企業などから漏洩した情報が不正に売られる」というような事例も起こっており、情報漏洩の危機から自分自身を守るためには、積極的にセキュリティ強化を図ることが何より重要です。
一見すると面倒な手間かもしれませんが、これらはデメリットではなく、むしろ「かけるべき価値のある手間」と考える必要があるのではないでしょうか。
二段階認証を利用する際の注意点

利用する際の注意点に関しては、認証の3要素それぞれに特徴があります。
「知識認証」は、パスワードや質問の答えなどの情報が漏洩する可能性があり、その場合、第三者によって悪用されるリスクがあります。
「所有物認証」では、所有物が紛失・盗難により使用できなくなる可能性があります。機種変更によりログインできなくなる可能性もありますので、事前に二段階認証の設定を解除してから機種変更の手続きをするなどの配慮が必要となります。
「生体認証」に関しては、第三者による不正利用を防ぎやすい認証方法ではありますが、身体的な欠損などにより利用できない、または利用できなくなるケースもあります。
Twilioでできる二要素を用いた二段階認証の導入方法「VerifyとAuthy」
これまで二段階認証の概要説明から始まり、より高いセキュリティレベルの認証にするためのポイントについてまでお伝えしてきましたが、実際に二段階認証システムの導入について興味を持たれた方もいるのではないかと思います。Twilioであれば、二要素を用いた二段階認証を簡単に実装できるAPIを提供しており、多くのエンジニアの方が手軽に二段階認証を実装できることから様々な業界・業種のお客様にご利用いただいております。
そのため、ここからはTwilioを利用した認証機能を実装する2つの方法「Twilio Verify(トゥイリオ・ベリファイ)」と「Twilio Authy(トゥイリオ・オーシー)」をご紹介いたします。
Twilio Verify (トゥイリオ・ベリファイ)

Twilio Verify による二要素認証は、認証コードを生成し、「SMSまたは音声通話、メール」で認証コードの送信及び認証を行う機能をAPI で提供する仕組みです。物理的なハードウェアデバイスであるセキュリティトークンと同等の機能を実現するソフトウェアトークンの役割として、容易に二要素認証を実現できます。
最大の特長は、「開発の容易性」です。TwilioのAPIを通じて機能を組み込むため、わずか10行足らずのコードを追加するだけで、既存のアプリケーションに二要素認証を組み込むことができ、技術者の開発の負荷を大きく減らすことが可能です。
ユーザーの個人情報については、サービスを提供されている企業様にて保持・運用いただくことになります。
Twilio Verifyを用いた二要素認証・二段階認証の実装方法はこちら
不正対策へ有効な活用用途の一例
- あるサービスで電話番号やメールアドレスを用いてユーザー登録した際、それらの電話番号やメールアドレスが、本当にユーザーの所有物であるかを確認する
- Web アプリケーションによる登録スパム削減
- 以前登録済みの電話番号によるアカウントの二重登録防止
Twilio Authy (トゥイリオ・オーシー)

Twilio Authyは、SMSや音声通話、メールの他にユーザー側のモバイルアプリへ承認リクエストをプッシュ通知で送信し、ワンタッチで応答する「Push Authentification(プッシュ・オーセンティフィケーション)」による認証方法と、Authyアプリなどの認証アプリを利用した「 Soft Token TOTP (ソフトトークンティーオーティーピー)」による認証方法も利用可能です。多種多様な認証方法を選択して利用できるため、運用時の安定性や利便性を確保できます。
Twilio Verifyとは異なり、Twilio Authy はユーザーの情報も含めてTwilio のプラットフォームで管理を行うので、企業はより運用時のメリットを得られやすくなります。
例えば、二要素認証でユーザーが電話を紛失、または番号を変更した場合、その対処についても手間がかかりにくくなります。
VerifyとAuthyの利用基準
2種類のサービスとも認証機能を利用することができますが、どちらを選択すべきかの判断基準の一つは、どのくらいの期間、対象サービスとユーザーとの関係が続くかという点です。
Verify : 一時的に利用する認証の仕組みを構築する場合。 例:新規ユーザー登録時に電話番号の検証を行う場合など
Authy : 長期的・継続的に利用する認証の仕組みを構築する場合。ログイントランザクションの管理や、プッシュ認証チャネルが提供できるため向いています。 例:ログインするたびに二要素認証を行う場合など
認証の仕組みを自社導入する際の確認事項
【既に認証システムを持っている場合】

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

既存の認証システムがない場合は、これまで紹介してきた認証システム「Twilio Verify」 または 「Twilio Authy」 と、SMSや音声通話と合わせて導入することをオススメします。
Twilioには、複数の手段で安定した二要素認証システムを実現できる強みがあります。
昨今は、システムにSMS送信を気軽に組み込むことができるサービスが複数存在しているため、二要素認証の仕組みを独自に開発し、構築することは難しくないと考える方が多くいるのではないかと思います。しかし、構築そのものは容易であっても、その後の安定運用やセキュリティ対策まで考えると、その作業工程は膨大かつ難解なものになります。
重要度の高いセキュリティ面を例に考えると、認証画面の総当たり攻撃を防ぐため、ログイン試行回数や時間制限を制御できる機能も実装しなければなりません。Twilioでは、それらも含めた機能をクラウドから利用することができ、認証方法を「SMS・音声通話・Push Authentification・Soft Token TOTP」など、複数の手段で利用できるのも大きな強みであり、特徴となっています。
Twilioを利用すれば二要素認証をシステムに組み込むことで、少ない工数でセキュリティ強化を図ることができ、かつ企業の信頼性向上にもつながります。
まとめ
今回は、「二段階認証」の需要が高まっている理由や必要とされる場面を、基本的な知識とあわせてご紹介しました。また、認証に必要な3要素についてや二段階認証を利用する際のメリット、利用時の注意点を含めた「二要素認証」「多要素認証」といったより高いセキュリティを目指す効果的な利用方法についてもご理解いただけたかと思います。
そして、企業に認証システムの導入を検討する際、工数をかけなくても安全安心なセキュリティ強化を図ることができる方法として、「Twilio Verify」と 「Twilio Authy」という2種類の方法をそれぞれの特徴を含めご案内いたしました。
これらの情報が、複雑な情報社会を便利に、安全に過ごすために活用いただければ幸いです。これを機会に、あらためて情報セキュリティについて、ご自身の身近なところから見直してみるのは如何でしょうか。
Twilio にご興味をお持ちいただけましたら、導入に関するご相談希望などを含め承っておりますので、こちらからお問い合わせください。

KDDIウェブコミュニケーションズは、日本初のTwilioパートナーとして常に「開発者目線」を大切にしており、ブログ記事がお役に立てれば幸いでございます。
-
Twitter:https://twitter.com/twilioforkwc
この記事を読んだ人へのオススメ
-
2022.02.07
-
2022.02.14
-
2020.06.01
-
2022.03.14