多要素認証
多要素認証(たようそにんしょう、Multi-Factor Authentication、MFA)は、アクセス権限を得るのに必要な本人確認のための複数の種類の要素(証拠)をユーザーに要求する認証方式である。
必要な要素が二つの場合は、二要素認証(にようそにんしょう、Two-Factor Authentication、2FA)、二段階認証(にだんかいにんしょう)とも呼ばれる。
多要素認証に使われる要素には、以下のようなものがある。規定の複数の要素を満たしたユーザーを本人と認証する。ここで要素が単一の種類になってしまうと、多要素認証の前提が崩れる事となる。
いずれの要素も、本人だけに属する属性でなければならない。例えばパスワード等は本人だけが知っていなければならず、他人に教え、あるいは知られた時点で認証の前提が崩れる。いずれの要素も、認証の前提が崩れた場合、速やかに権限を(一部)停止する必要がある。
多要素認証は、認証が行われるタイミングについては規定しない。複数の認証は同時に行われる場合もあれば、段階を踏んで行われる場合もある(後述「二段階認証」も参照)。
多要素認証は、パスワードクラックなどに対しては強いが、フィッシングや中間者攻撃などに対しては無防備である。
一般に「暗証番号(PIN)」や「パスワード」など、認証を行う人物などが認証情報を記憶する形式がこの要素に該当する。人の個人的経験に基づいた知る要素として、合言葉がある。
この要素は、属人的なもっとも基本的な認証と考えられている。最も一般的に使われる要素で、認証のためにユーザーはある秘密を知っていることを証明する。ほとんどの多要素認証は、要素の一つにこれを使う。人の記憶に頼るため、情報の複雑さには限界がある。またしばしば忘れられて、権限再発行手続が必要となる。
知る要素は、他人に知られた時点で認証の前提が崩れる。これには、ユーザ自身が同一の情報(パスワード等)を他の認証システムへ登録した場合も含む(ユーザ自身と認証システムAに加え、認証システムBが情報を共有している)。
知る要素は、人の記憶によるため、複製耐性は最も高い(複製は最も難しい)と考えられている。ユーザ本人から盗む事については、本人を脅迫しない限り困難である。認証デバイスへの入力が必須なため、その際の盗見、盗聴は一般的に容易である。
予め登録したメールアドレスにワンタイムパスワードを送信する方式は、基本的にはこの要素に属する(メールアドレスの受信にメールパスワードを使用するため)。
一般に「TOTP」や「電話発信による認証」､「IDカードによる認証」など、認証を行う人物などが所有しているものを使った認証がこの要素に該当する。
鍵という考え方は古くからあるが、コンピュータシステムではセキュリティトークンとして扱われる。ワンタイムパスワード発生器や、予め登録した携帯電話等によるSMS認証も、この要素に属する。パスワードも記憶せず何かにメモしていればこの要素に属する。乱数表等(TANを含む)も(全て記憶する事が困難なので)同様である。トークンにはシステムへ接続するか否かで、接続型と非接続型がある。
持つ要素は、複製され、または盗まれると認証の前提が崩れる。
持つ要素は、複製耐性によりセキュリティレベルが変化する。一般的に、持つ要素に接触できればそれを盗む事は容易である。ハードウェアトークンによるワンタイムパスワード発生器や、ICカードは一般的に複製が難しいと考えられている。ソフトウェアトークンは容易に複製される場合もある。パスワードのメモや乱数表等は、カメラで撮影するだけで取得できる。磁気カードはスキミングだけで取得できる。非接続型のトークンで、ワンタイムパスワードなどのように一旦表示して認証装置に入力する必要があるもの等は、その際の盗見、盗聴が容易である。
一般に「指紋認証」「顔認証」「網膜認証」など、認証を行う人物の身体的特徴を利用した認証がこの要素に該当する。
指紋や虹彩、声紋などの生物学的な要素でユーザー本人を生体認証する。タイピング認証も一種の生体認証である。一長一短はあるが、比較的信頼度が高いと考えられている一方で、誤認識の確率も一定程度残る。
備える要素は、複製されにくいが、複製された場合には認証の前提が崩れる。
備える要素は、その種類により複製耐性が異なる。音声や外貌、身体認証は複製が容易なため複製検知技術が重要となる。指紋、網膜、虹彩、血管や体臭認証も、複製できる場合もある。盗む事については、本人を脅迫しない限り困難である。仕組み上、生体認証は盗見、盗聴はほぼ不可能である。
多要素認証における二段階認証、2ステップ認証とは、一般的にパスワードやPINなど「知る要素」と、もう1つの別の要素を組み合わせたものである。まず最初にパスワード等で認証し、その後に別の要素により認証すると言うふうに、段階(ステップ)を踏むため、二段階認証と呼ぶ。3つ以上の段階に渡る場合は多段階認証と言う。
多要素認証における二段階認証での2つ目の要素には、オフラインでユーザー宛に送付された情報や、ソフトウェアトークン(乱数発生アプリ)などが一般的に使われる。携帯電話等へのSMS認証も同様である。
なお、本表現は「段階」に着目したものであるため、多段階認証であっても必ずしも多要素認証となっていない場合がある。多段階で認証しても用いる要素が「知る要素」のみであれば、それは1要素認証(1要素を用いた多段階認証)である(例として、登録メールアドレスへのワンタイムパスワード送信)。
例えば、ATMの場合は、キャッシュカード(または口座通帳)が「持つ要素」であり、暗証番号は「知る要素」である。21世紀に入り、生体認証などの「備える要素」を第三の要素とするATMの事例も増えてきている。オンラインバンキングなどでは、パソコンやスマートフォンの生体認証を多要素認証として使っている場合もある。
2020年12月の時点で、金融庁の調査では、スマートフォンなどでのキャッシュレス決済を手がける金融機関の3割が多要素認証を導入しておらず、セキュリティ上の問題があるため、2020年度中に多要素認証の義務化を導入する予定。
旧来はパスワードによる一要素認証が主流であったが、ネットワークにおける使用ではパスワード漏洩や使い回し、ハッシュの高速解読など種々の問題が生じたため、2010年後半から、使用するコンピュータだけに属する(持つ要素)PIN(知る要素)の組み合わせが主流となり始めている(Windows 10など)。ネットワークにおいてパスワードだけの一要素認証は安全性が低いものと見られ始めている。更に、Windows Hello や Touch ID など顔認証・指紋認証(備える要素)も普及が進んでいる。
スマートフォンでは Android 生体認証システムや Apple Touch ID や Face ID など生体認証(備える要素)による二要素認証の普及が進んでいる。
認証のため新たに何か(セキュリティトークンなど)を所持することは、紛失や盗難の危険、加えてその管理自体にコストが掛かるという問題がある。しかし携帯電話・スマートフォンをこの認証に使えば、追加で専用機を持つ必要がなくなり、肌身離さず持ち歩きやすい。ただし実際に盗難にあってしまうとより大きな被害に遭う可能性ができてしまう。
ウェブブラウザではW3C Web Authenticationにて生体認証や外部セキュリティキーなどによる多要素認証に対応している。主要なウェブブラウザはWeb Authenticationに対応している。例えばYahoo! JAPANで使用されている。
2015年に総務省が行った「自治体情報セキュリティ強化対策事業」により、マイナンバー関連システムに二段階認証が導入された。理由は、同年に日本年金機構で起こった個人情報流出事件による。これに伴い、補助金として233億4588万円が46都道府県に交付された。
2020年1月の会計検査院の調査報告によると、対象の217の市区町村のうち、12の自治体で二要素認証を導入していないマイナンバー利用端末があった。平成31年3月末時点で、2市区町村ではすでに導入され、3市区町村では令和元年度、3市区町村では令和二年度に導入予定としている。しかし、2市区町村では入退室管理がされたサーバ室で使用される限られた端末は一要素で認証できるようにしていた。