
「二要素認証(2FA)」・「多要素認証(MFA)」は、サイバー攻撃が増加する中で重要性が高まるセキュリティ対策です。本記事では、二要素認証・多要素認証の違いの仕組みや違い、導入するメリットと注意点を具体例を交えて解説。アメリカ国立標準技術研究所(NIST)の認証に関するガイドラインを紹介しながら、企業がこうした認証方式をどのような場合に用いるべきかを提案します。
二要素認証とは
インターネットにおける「認証」とは、たとえば、あるWebサービス等を利用しようとしているユーザが、本当にその本人であるか、その正しさを確認するプロセスや行為のことです。「二要素認証」とは、セキュリティ水準を高めるために、ふたつの要素を用いて認証を行うことです。二要素認証では、IDとパスワードだけでなく、トークンや指紋など2つの要素を用いて本人確認を行います。
「KNOW」「HAVE」「ARE」、認証に用いる3要素とは

「要素」とは、認証に用いる情報等のことです。たとえば、あるWebサービスの利用時、IDとパスワードの入力が求められるのであれば、それは「IDを持つ人がこの人であるかどうかを確認するためにパスワードという要素が用いられている」ということになります。
要素には、パスワードのような「ユーザが知っていること(something you know)」、部屋のカギのような「ユーザが所持しているもの(something you have)」、指紋や虹彩(眼球の瞳の周辺にある膜)のような「ユーザ自身であるもの(something you are)」などがあり、このうちどれかふたつの要素を用いて認証を行うことを二要素認証と呼びます。
二要素認証を行えば、従来のようなパスワードだけを用いた認証よりも、セキュリティ水準を高めることができます。
二要素認証と多要素認証の違い
二要素認証は、IDやパスワードに加えて、もう1つの要素(例: SMS認証やOTP)を追加することでセキュリティを強化します。一方、多要素認証は、これに加えて、生体認証やセキュリティキーなど複数の要素を組み合わせ、さらに高度な保護を提供します。多要素認証は特に、フィッシング攻撃やリプレイ攻撃への耐性が高い点が特徴です。
「多要素認証」とは、「ユーザが知っていること(something you know)」「ユーザが所持しているもの(something you have)」「ユーザ自身であるもの(something you are)」のうち、ふたつ以上の要素を用いて認証を行うことで、二要素認証は多要素認証に含まれます。
なお、多要素認証は英語では「MFA(Multi-Factor Authentication)」と表記され、2つの要素を用いる場合に「Two-Factor Authentication」という呼称が使われることがあります。
また、過去に日本国内で普及していた認証方法に「二段階認証」があります。これは、パスワード入力の後に「秘密の質問」などを設けて、ユーザが知っていることを用いてもう一回認証を行い、セキュリティを高めようとするものです。
よくある「秘密の質問」は、セキュリティ的にはどうなのか
秘密の質問は、ユーザの本人確認を行うための手段として広く使用されてきましたが、そのセキュリティに関しては多くの懸念が存在します。特に、秘密の質問の答えが容易に推測可能である場合、セキュリティリスクが高まります。
ユーザの認証手段に常時使われることは望ましくない、というのが多くの専門家の認識となっており、多要素認証が利用できない場合の非常代替手段として、またはアカウントの回復に用いる認証の一部として、限定的に用いられることが望ましいとされています。
最近では、多くの企業が秘密の質問の使用を廃止し、より安全な認証方法に移行しています。
例えば、AWSやYahoo! JAPANなどのサービスでは、秘密の質問を廃止し、他の認証手段を導入しています。
多要素認証の場合、秘密の質問だけに依存せず、他の認証手段(例:SMS認証やアプリによる認証)を併用することで、セキュリティを向上させることができます。
基準となるNISTのガイドライン
アメリカ国立標準技術研究所(NIST)が公開しているガイドライン「SP 800-63」(最新版は2017年公開の第三版「SP 800-63-3」)は、オンラインで行われる認証に関して最も参照されるドキュメントのひとつです。
同書は、NISTが考える「電子認証はこうあるべき」を記載したもので、「SP 800-63A」「SP 800-63B」「SP 800-63C」から構成されています。
SP 800-63Aでは認証やIDの管理全般について記述し、SP 800-63Bはトークン等の認証器の仕様として「AAL1」「AAL2」「AAL3」の三種類を定め、SP 800-63Cではフェデレーション認証について記述しています。
日本の経済産業省の規格も「SP 800-63-3」を参照して作られています。
LINE、Google、Facebook、Slack ~ 二要素認証・多要素認証を使用した具体例
すでに、LINEやGoogle、Facebook、LinkedIn、Slackなどの大手ITサービスでは、二要素認証・多要素認証が利用されています。スマートフォンやメールアドレス宛にパスコードを送る、「Authenticator」と呼ばれる認証用アプリにパスコードなどを表示させるなど、方法もさまざまです。
以前「ブルートフォース攻撃」に関する記事で解説したとおり、サイバー攻撃の激化・高度化にともなって、パスワードだけで認証する時代はもう終わりを迎えています。今後、二要素認証・多要素認証は上記に挙げた大規模なサービスにとどまらず、企業内でも積極的に活用されていくことでしょう。では、どんな場面でこれを用いればいいのでしょうか。
二要素認証と多要素認証の導入メリット

SQAT.jpでは、「セキュリティのレベルが異なる領域間でのアクセスや通信」に対して、二要素認証・多要素認証を使うことをおすすめしています。
具体的な例を挙げると、「クラウドサービスを利用するために、社外のクラウドサービスのアカウントに社内からアクセスするとき」、そして、「テレワーク等の実施のために、社外からイントラネットなど社内にアクセスするとき」のふたつです。
特に、社外からイントラネットなど社内にアクセスするときは、トークンを使った多要素認証を用いたVPN接続をおすすめします。
なお、SNSやメールサービスなどのSaaSで、ユーザ本人のアクセスであることを確認する必要性が高いサービスなどでも、多要素認証が用いられることが多いといえます。社内からこうしたサービスにアクセスしている場合、当該サービスが多要素認証を適用しているか、適用できるような設定になっているかも確認してみてはどうでしょう。
二要素認証・多要素認証の注意点と今後の展望
SQAT.jpを運営する株式会社ブロードバンドセキュリティでは、主要クラウド(IaaS)を対象としたセキュリティ診断サービスも提供していますが、診断の結果リスクを指摘される事項の大半が、認証に関わる問題です。クラウドサービスを、つい「オンプレミス環境の延長」あるいは「オンプレミス環境と同じ」と考えてしまうことで、誤った設定がなされてしまうことがあるようです。詳細は、「診断結果にみるクラウドセキュリティの今」で詳しく解説していますので、ぜひご覧ください。

まとめ
- 二要素認証とは、「KNOW」「HAVE」「ARE」という3つの認証要素の中の2つを用いて認証を行うことです。
- 二要素認証は多要素認証に含まれます。
- 二要素認証・多要素認証を行うことでセキュリティ強度を高めることができます。LINE、Google、Facebookなど多くのサービスでこの認証方式が使われています。
- NISTが公開したガイドライン「SP 800-63-3」は認証に関して世界で最も参照されるドキュメントのひとつです。
- セキュリティのレベルが異なる領域間でのアクセスや通信には、二要素認証・多要素認証を使うことをおすすめします。
- クラウドサービスを利用する場合は、認証関係の設定ミスに注意しましょう。

ウェビナー開催のお知らせ
「サイバー攻撃から企業を守る!ソースコード診断が実現する“安全な開発”」
【好評アンコール配信】
「中小企業に迫るランサムウェア!サプライチェーン攻撃とは」
「ランサムウェア攻撃の脅威~感染リスクを可視化する防御策の実践を紹介~」
最新情報はこちら