多要素認証を理解して正しい手順で導入するポイントは?
本コラムではパスワード認証のように1つの認証要素では不正アクセスされる危険があるため、より強固な認証方式のひとつである多要素認証について説明していきます。
目次
多要素認証とは
多要素認証とはクラウドサービスなどへサインインする際に2つ以上の要素によって認証を行うことです(サインインの際に1つしか認証要素がない場合は単要素認証とよびます)。要素は大きく分けて3つ挙げられます。以下の図にもありますが、その人が知っている情報である知識要素、そしてその人が持っているものに関する情報である所有要素、そしてその人の身体の一部を使う生体要素の3つになります。
多要素認証の例
多要素認証のうち、知識要素と所有要素を使った認証方式をここでは例として挙げます。
まず、サービスにサインインする際にIDとパスワードを入力します。これはその人が知っている情報ですので知識情報に当たります。
その後ID/パスワードが正常に入力できたら、今度はそのユーザが持っているスマートフォンのアプリ(以下の図内ではMicrosoft Authenticatorを例として使用しています)で認証を行います。これはそのユーザが持っているものに関する情報ですので所有要素に当たります。
IDとパスワードの入力(知識情報)に加えスマートフォンのアプリでの認証(所有情報)も正常に完了すれば無事サインイン完了です。
Microsoft Entra ID(旧AzureAD)で多要素認証を実現するスタイルズのID管理サービスはこちら→
二要素認証・二段階認証とのちがい
多要素認証とは別に二要素認証、二段階認証というものもあります。
二要素認証は2つの要素を用いて認証を行うことを指します。上の例で挙げた知識要素と所有要素を使った認証は異なる要素を組み合わせているので、二要素認証であるといえます。
二段階認証は認証の中で2つの段階に分けて認証を行うことを指します。ここで注意が必要なのは、分けた認証の要素は2つではない可能性があるということです。
たとえばあるサービスのサインインの際にパスワードと秘密の質問を認証の方式として使用するとします。
方式としては2つのパターンですが、パスワードと秘密の質問はどちらも知識要素なのでこの場合は二段階認証ではありますが、二要素認証(あるいは多要素認証)とはいえません。パスワードと秘密の質問で認証を行っている場合、どちらも漏洩してしまうと不正アクセスの危険がありますので、セキュリティ面から考えると異なる要素を組み合わせる形で認証方式を設定することがよいです。
多要素認証のメリット
多要素認証を設定すると、すべての要素がそろってない限りサービスが利用できません。そのため、パスワードが漏洩して他者に知れ渡ってしまった場合でも、それ以外の要素を設定していればその要素での認証が完了しない限りサインインは許可されません。そういった不正アクセスへの防止効果が多要素認証にはあります。
多要素認証はどういったものでできるの?
多要素認証は大きく分けるとハードウェアを用いた認証とソフトウェアを用いた認証の2パターンあります。
ソフトウェアを用いた認証についても、インストールするデバイスは必要になります。
どの認証のセキュリティが高いの?
前項で認証の種類をいくつか挙げましたが、その中でどれがセキュリティ面でより安全な認証となるのでしょうか。アメリカに米国国立標準技術研究所(National Institute of Standards and Technology,通称NIST)とよばれる研究所があり、そこが電子的認証に関するガイドライン(Electronic Authentication Guideline)というものを発表しています。
これはアメリカの政府機関向けに書かれたガイドラインであるため、アメリカ以外の国はとくにこのガイドラインに沿った認証基準を設ける必要はありませんが、アメリカはセキュリティ分野で先を行く国であるため、日本でもNISTが発表した文書の翻訳をおこなっている機関あったり、ガイドライン内容の研究を行う所もあったりするなど、電子認証を考える上でとても重要なガイドラインとなっています。
そのガイドラインの中にAuthenticator Assurance Level(AAL)というレベルが記載されています。
これはユーザが何らかのサービスなどにサインインする際に使用する認証の強度を3段階に分けて評価しているものになります。以下の図が各レベルの認証になります。数字が多くなるにつれてより強度の高い認証になります。
上記の図のように認証強度が最高なのはLv.3の2要素認証で2要素目はハードウェアを用いたものとなっています。そのため、強度を高めるのであれば物理的なものを使用した認証にするのが望ましいです。しかし、認証の際の手間や、認証のための機器類の調達なども考慮して、より現状に即した認証を選択するのがよいと思われます。
また、最近ではソフトウェアの中でもSMSや電話などを使った認証は傍受の危険性があるため、ソフトウェアを使用した認証の中でも強度は低いとみなされています。モバイルデバイスを使用した認証であれば、認証アプリ(Microsoft社のMicrosoftAuthenticatorやGoogle社のGoogle Authernticatorなど)のワンタイムパスワードなどを使用した認証がよりセキュリティ面で安全といえます。
Microsoft Entra IDで多要素認証を実現するスタイルズのID管理サービスはこちら→
多要素認証を導入する際の確認ポイント
IDaaSでクラウドサービスに多要素認証を導入する前に以下の観点を事前に確認することが必要になります。
多要素認証を導入する対象システムについて
多要素認証機能の導入を検討するシステム、サービスを洗い出す必要があります。すべてのサービスに導入するのではなく、個人情報などの機密情報を取り扱っているサービスやシステムに導入することも一つの手です。また、IDaaSによってはシングルサインオンと組み合わせて多要素認証を求めることもできます。
追加する認証要素について
通常はパスワードなど知識要素のみの認証方式であることが多いと思うので、追加する認証方式を所有・生体要素のどれにするのか検討が必要です。これについては次に述べる「追加する認証方式の環境について」と併せて考える必要があります。
追加する認証方式の環境について
追加する認証方式の使用環境が整備されているか確認が必要になります。
たとえばスマートフォンのアプリを使用した認証方式を追加する場合、社給のスマホに導入できるのか、社給のスマホがなく私用のスマホに導入する方法を検討する場合はユーザである社員との合意が取れるか、など確認が必要になります。それ以外でも認証するための機器がないか、ない場合は調達するためにどれくらいのコストがかかるのか等は確認が必要です。
多要素認証の手順について
多要素認証を導入した場合、ユーザは認証操作が増えることになります。認証にかかる手間が許容できるものか考慮する必要があります。
前項でも述べましたが、多要素認証はセキュリティ面で強化され不正アクセスを防ぐことができる一方、認証のたびに操作が必要になるのでその分時間がかかったり、物理的なものが必要な認証であれば、サービスを使用する際には常に認証デバイスを持ち歩かなければなりません。
以上になります。全体を通して考えなければいけないことは、セキュリティを強化したいサービスについて、コストや手間などの費用対効果といった観点から考えて選ぶことです。セキュリティのみを考えるのであればすべてのサービスに対して多要素認証を求めることがもっとも強固なアクセス制御になりますが、利用する際の手間を考えると操作が増えて使い勝手も悪くなりますし、サービスによってはわざわざ認証を強化する必要がない程度のものもあるかもしれません。そういったセキュリティ面と手間の両方を考慮して何が最適であるかを考えることが必要です。