まとめ
SNSや会員制コミュニティサイト、インターネットバンキングなど、多くのネットワークサービスでは「アカウントとパスワード」の組み合わせを用いて本人認証を行うことが長らく一般的でした。
しかし近年ではアカウント情報の流出や不正アクセスによる被害が後を絶たず、パスワードの認証だけでは安全性に問題があると考えられています。
そこで多くの個人情報を扱うサイトやアプリケーションが導入を始めているのが、「二要素認証」と呼ばれる、よりセキュアな認証方式です。
この記事では「二要素認証とは何か」を解説し、メリットやデメリットについて紹介します。また二要素認証を導入するにあたっての注意点や強化するポイント、具体的な活用例なども見ていきます。
二要素認証はWEBサイトやアプリケーションで使われる、性質の異なる2つの要素の組み合わせを用いて本人確認を行う認証方式です。英語表記(Two Factor Authentication)を略した"2FA"という呼び方もあります。
IDとパスワード以外に、本人しか登録できない情報を登録することで、強固なセキュリティを実現します。
これまでのネットワークサービスでは、アカウントやメールアドレス、電話番号などの「IDとパスワード」を組み合わせた認証方法が活用されていました。
しかし近年ではフィッシングサイト・ハッキングなどによって認証情報が流出し、不正ログインを行われる被害が多数報告されるようになってきています。
二要素認証の導入が広く進められるようになったのは、「IDとパスワードの組み合わせ」による認証方式がセキュリティを強固に保つうえで限界を迎えていると考えられたためです。
多くのネットワークサービスでは、パスワードを守る仕組み作りとして、以下のような対応を推奨してきました。
しかしこのような対策を講じても、複数サービスで同じパスワードを使いまわしたり、容易に推測できるパスワードを設定したりするユーザーが多く、めざましい効果は得られませんでした。
またユーザー側にも「認証が必要なアカウントが多くて管理しきれない」「定期的にパスワードを変えているうちにどれが本当のパスワードかわからなくなった」などの課題も生じてしまいました。
このような背景から、パスワード以外の情報を使った認証方式として「二要素認証」が活用されるようになったのです。
二要素認証は本人確認の過程で、2つの要素を入力させる認証方式です。身近な例としては、決済に使われるクレジットカードが挙げられるでしょう。
クレジットカードで支払いを行う場合、カードを提示したあと、暗証番号の入力を求められます。これはカードを「所有している」こと、そして暗証番号を「知っている」ことを2つの要素として活用し、認証を行っているというわけです。
他にもオンラインバンキングなどでは、IDとパスワードによる認証に加え、金融機関から送られてきた認証トークンを使ってワンタイムパスワードを入力する方法が使われています。
二要素認証で利用される認証の要素は大きく3つに分類され、「認証の三要素」と呼ばれています。認証のための三要素について詳しく解説します。
「ユーザーしか知ることのできない情報」を活用して認証を行う要素を、知識要素と呼びます。
従来活用されてきたIDとパスワードの組み合わせ、暗証番号なども知識要素の一種です。そのほかにも、ユーザーが知識として持っている情報はおおむね知識要素として使われます。
なお知識要素には「記憶できる量に限界がある」「メモの流出や不正取得によって漏洩のリスクが生まれる」といった弱点があります。認証に使用する際は、他要素の情報と組み合わせることが望ましいでしょう。
「ユーザーだけが所有しているもの」を活用して認証を行う要素を、所有要素と呼びます。
銀行のICチップ付きキャッシュカードや、スマートフォンなど、ユーザーしか持つことのできないものを認証要素として活用します。
近年で特に導入が進んでいるのが、スマートフォンを活用する認証です。
スマートフォンは1人1台所有することが前提となっているほど広く普及しているデバイスであり、手軽かつ便利なツールとして肌身離さず持ち運ばれています。認証に使うためのものをユーザーに新しく所持してもらう必要がないというメリットがあるのです。
「ユーザーの体の特徴」を活用して認証を行う要素を、生体要素と呼びます。
ユーザーの指紋や静脈、顔、虹彩など、人によって異なる特徴を使うため、最も安全な認証要素とされています。
かつては生体情報を読み取る機器が高価だったため、生体要素を利用して認証を行える環境は限られていました。しかし近年ではスマートフォンをはじめとする多くのデバイスで導入されており、急速に普及が進んでいます。
近年ではパスワード認証の他にも、多くの認証方式が二要素認証に採用されています。ここでは「パスワード認証」「トークン認証」「生体認証」をピックアップして、それぞれのメリット・デメリットをご紹介します。
利用にあたって特定の端末や道具が必要ないため、手軽に導入することができます。ユーザー側にもポピュラーな認証として親しまれているため、抵抗感なくサービスを利用してもらえるでしょう。
文字列の組み合わせのみによる簡単な認証のため、パスワードの流出やそれによる不正アクセス・なりすましが起こるなど、数ある認証方式の中でもセキュリティリスクが高い傾向にあります。
専用のハードウェアやトークンの生成器を利用して、その文字列を入力することで本人認証を行う方式です。
一定時間でどんどん更新されていく専用の乱数(ワンタイムパスワード)をユーザーごとに発行できるため、漏洩や不正アクセスが起こりにくく、セキュリティリスクを抑えられる傾向にあります。
ユーザーごとにハードウェアやトークンの生成用アプリケーションを準備する必要があるため、導入から利用開始するまでに手間とコストがかかります。
またトークン生成器そのものが盗難の被害に遭ってしまうと不正アクセスにつながる可能性もあるため、注意が必要です。
ユーザー本人が持っている生体情報を使用するため、特別な道具が不要となります。また盗難による情報漏洩のリスクもありません。
利用する生体情報によっては、認証の登録や設定に時間を要する可能性があります。サービスの利用を開始できるまでにユーザーを待たせる形となるため、その点がネックとなるでしょう。
また近年では画像や映像などを使って生体情報を偽装したり、シリコンなどを使って他人の生体情報を模造したりと、セキュリティの穴をつく手口がどんどん巧妙化してきています。
不正アクセスのリスクを完全に防げるわけではない、ということは念頭に置いておきましょう。
二要素認証と類似した名称の認証方式として、「二段階認証」と呼ばれるものがあります。どのような違いがあるのか、それぞれの仕組みを見てみましょう。
二要素認証は「認証の三要素」のうち、2つの要素を用いて認証を行う認証の方式です。異なる種類の認証方式を組み合わせることで、より強固なセキュリティを担保できます。
一般的には「ID・パスワード(知識要素)」に加えて、「トークンデバイスによる認証(所有要素)」や「指紋認証(生体要素)」を組み合わせた形で採用されています。
二要素認証と同じように異なる要素を組み合わせるケースもありますが、たとえば「ID・パスワード」を入れた後で「秘密の質問」による認証を行うなど、知識要素による認証を2回実施するのでも二段階認証は成立します。
ユーザーには手間をかけてしまいますが、複数の段階に分けて認証を行うことで、セキュリティ強度を乗算的に高められます。
詳しくはこちらの「二段階認証とは?|メリット、導入方法、二要素認証との違い」をご参照ください。
二要素認証のメリットは、ひとえにより厳格な本人確認を行える点にあります。
「認証の三要素」から異なる2つを組み合わせ、二段階に分けて利用することで、単独の認証方式を採用するよりずっとセキュリティ強度を高められます。
先述の通り、3つの認証要素にはそれぞれメリット・デメリットがあります。しかし複合要素として一緒に実装することで、個々の認証方式のデメリットを補えるのです。
サービス側がどれほどセキュリティ対策に力を入れていようとも、「パスワードを使いまわす」「トークンデバイスを紛失する」など、ユーザーの意識が低ければ不正アクセスのリスクは高まってしまいます。
二要素認証は2つの認証を組み合わせていますが、それぞれの認証のセキュリティレベルを落とさないことが何より重要です。
ここではセキュリティ強化を行う上で、主にユーザー側が意識すべきポイントを説明します。
IDとパスワードを活用した認証では、入力するときの手間を省くため・たくさんあるパスワードを覚えることが困難なために、簡単なパスワードを設定している方も多いのではないでしょうか。
簡単なパスワードは、第三者から推測されやすい、ということでもあります。そのようなパスワードを使い続けることで、認証を突破されてしまう危険があるでしょう。
パスワードを作る際は、第三者から推測されにくい文字列になるよう心がけましょう。
スマートフォンの普及により、近年では多様な認証方式が簡単に利用できるようになりました。しかし多くのサービスがスマートフォンを使った認証方式を採用したために、「情報が一か所に集約されやすい状況になっている」のも事実です。
1つのデバイスに認証情報が集中するということは、それだけ紛失・盗難による情報漏洩のリスクも高くなるということです。これでは、セキュリティレベルが高い状態とは言えません。
セキュリティリスクの分散のため、認証に使用するデバイスはパソコンとスマートフォンで分けておきましょう。
二要素認証は、ネットワークサービスのセキュリティ強化に有効な手段です。しかし導入にあたって、サービス側が注意しなくてはならないポイントがあります。
どのような点を意識する必要があるのか、見てみましょう。
トークンデバイスや乱数表などを配布して認証を行う場合、ユーザーによる紛失や盗難によって第三者が不正利用できるようになるリスクを考慮する必要があります。
カード型にして携帯するよう促す、スマートフォンのアプリをトークンの生成器として利用するなど、ユーザーが管理しやすい方法を検討してください。
また乱数表のような文字の情報は、ユーザーがメモをしたりカメラで撮影したりするなどすれば簡単に複製できてしまいます。メモの紛失や、撮影した画像をセキュリティレベルの低いストレージに保管する危険性について、注意喚起が必要です。
ユーザー本人と切り離せない要素を利用している生体認証は、非常に高いセキュリティレベルを実現できると目されています。しかし生体情報であっても、不正に利用される危険性がゼロではないことを考慮しなくてはなりません。
実際に、ユーザーの就寝中にスマートフォンの指紋認証を解除されたり、高解像度の写真に写りこんだ指紋を悪用されたりするリスクが指摘されています。高いセキュリティレベルを期待される認証方式も、完璧ではない可能性があるのです。
近年は多くのネットワークサービスで二要素認証の導入が進められており、標準的なセキュリティレベルは従来のサービスと比べて非常に高くなっています。
しかし2つの認証要素を組み合わせて強固な認証を実現できるのは、それぞれの認証でセキュリティレベルを高められるよう、工夫を行うことが前提となっているからです。
「二要素認証を導入したから大丈夫」と過大評価はせず、継続してセキュリティレベルを向上させるための取り組みを行いましょう。
Vonageは、電話やSMS・ビデオ・チャット・SNSなど、さまざまなコミュニケーションチャネルをWeb・モバイルアプリケーションやビジネスへ組み込めるクラウドAPIサービスです。自動電話発信や電話転送、対話型IVR、自動SMS通知や二要素認証など、多岐にわたるサービスを実現できます。
コミュニケーションに関わる機能を自社で1から開発するのには多大な工数がかかります。通信の暗号化といったセキュリティ対策など考慮せねばならない点も多く、そのために実装を諦めてしまう企業も少なくありません。
しかしVonage APIと連携すれば、それらの工数をすべてVonage側が担ってくれます。お客様側でのインフラ開発はもちろん、ネットワークの構築・維持コストも必要ありません。ただ数行のコードを書き加えるだけで、自社サービスをマルチチャネル化できるのです。
Vonage Verifyはワンタイムパスワードの生成から送付、正誤判定までをワンストップで提供している二要素認証(2FA)APIです。Vonage Verifyを利用することで、自社で1から開発することなく、二要素認証のシステムを自社サービスに導入できます。
Vonage Verify ではマルチチャネルな配信ロジックを組むことも可能で、国内外を問わず高いワンタイムパスワード到達率を誇ります。また認証成功時に料金が発生する仕組みのため、不要なコストがかかりません。
自社で二要素認証のシステムを開発する場合、インフラプラットフォームの費用やPINコードの管理が必要になったり、不正アクセスの防止策や失敗試行の検出方法を考慮したりと、大幅な導入・運用コストがかかります。
しかし Vonage Verifyなら、認証成功率が一定の値を下回ったりや認証回数の閾値を超えたりした場合、パスワード送付を自動で停止します。不正行為を防止する仕組みがあらかじめ備わっているため、認証成功時の利用料金だけでセキュリティ対策を実施できるのです。
まとめ
この記事では、二要素認証の仕組みや具体的な実装方法、また二要素認証を扱ううえでの注意点について解説しました。
オンラインで便利なサービスが増えるのに伴って、個人情報の流出や不正ログインなど、ユーザーの重要な情報を脅かすセキュリティリスクも増加してきています。
二要素認証の特徴をしっかりと整理し、これからの時代に合った認証システムを作り上げていきましょう。