ここ最近発生・明るみになった某企業サービスを利用した不正に資金を引き出す際に必要としたのは暗証番号*1だけであることが問題になりました。
そこで取り上げられたものの一つに、「二(多)要素認証」の欠落がありました。
そこで今回は、二要素認証とは何かについて簡単にまとめてみました。
二(多)要素認証とは
二(多)要素認証とは、異なる要素を2つ以上組み合わせて認証を行うことです。
認証については、IT用語辞典より引用します。
認証 【 authentication 】
認証とは、対象の正当性や真正性を確かめること。ITの分野では、相手が名乗った通りの本人であると何らかの手段により確かめる本人確認(相手認証)のことを単に認証ということが多い。データが改竄されていないか確かめたり(メッセージ認証など)、データの属性が真正であることを確認すること(時刻認証など)を指す場合もある。
認証とは - IT用語辞典 e-Wordsより引用
つまり、「これらを持ってる(知っている)のは本人しかありえないよね☆」としてセキュリティを担保しようという思想になります。
2つ以上の要素を使って認証することを「多要素認証(Multi-Factor Authentication:MFA)」といいますが、特に2つの要素を使う場合は「二要素認証(Two-Factor Authentication:2FA)」と呼ばれることが多いです。
認証に使用される要素
二要素認証に使用される、認証要素は次の3つに分類されます。
- 知識「本人だけが知っていること(Something You Know)」
- 所有「本人が持っているもの(Something You Have)」
- 生体「本人の特徴(Something You Are)」
知識要素は、本人だけが「知っている」/「記憶している」ことを本人確認に利用するものです。
例として、パスワード・暗証番号・秘密の質問・パターンロックなどがあります。
所有要素は、本人だけが「持っているもの」を本人確認に利用するものです。
例として、スマートフォン(SIM)・キャッシュカード・社員証・ワンタイムパスワード生成器などの「物」のほか、サービス側が認証の際に生成した番号/文字列が記載されたメッセージを「本人しか持ちえない端末」で受け取り、入力することも所有要素に含まれます。
生体要素は、本人の「生体情報」をデジタル化し、その情報を本人確認に利用するものです。
例として、指紋・虹彩・静脈・声帯・筆跡などがあります。
二要素認証では、この3つの要素から2つ要素を利用して認証を行います。
例として、「暗証番号+キャッシュカード(知識+所有)」・「パスワード+指紋(知識+生体)」・「IDカード+虹彩(所有+生体)」などがあります。特に「暗証番号+キャッシュカード」はATMで利用されているため身近な二要素認証の最たる例ではないでしょうか。

二要素認証のメリット
二要素認証のメリットは、セキュリティを強化できることです。
認証に一つの要素しか利用していない場合、様々な突破方法があるからです。
知識要素は、ブルートフォースやディクショナリ攻撃で無理やり突破する方法やフィッシングを利用してパスワード・暗証番号を盗む方法があります。ブルートフォースやディクショナリについては入力回数制限などの対策もありますが、リバースブルートフォースや入力間隔を長くするなどの回避策があります。また、パスワードに関しても人は容易なものを利用する傾向があります。
所有要素は、知識要素とは異なり物体が存在するため盗難にあってしまい全くの別人が所有認証で本人確認を突破する可能性があります。盗難だけではなく、紛失すると所有者本人も認証を行えなくなるリスクがあります。
生体認証は、本人の生体情報を使用していることから安全に思われます。たしかに盗まれるリスクは他の要素に比べて小さいですが、指紋は採取することも可能です。また、生体情報を認証に使用しているため基本的に本人しか認証は通らないことから、ユーザー自身に危害が及ぶ可能性もあるため生体認証を利用する場合は注意が必要です。
BBC NEWS | Asia-Pacific | Malaysia car thieves steal finger
二要素認証を利用すれば一つの認証要素を利用している場合に比べ、セキュリティは高くなります。しかしながら、攻撃者側も二要素認証を様々な手法で突破しようとするため、「二要素認証だから安全」とは言えません。
特殊詐欺の中には、暗証番号とキャッシュカードをだまし取るものがあるため、二要素認証をバイパスする攻撃ともいえるでしょう。
また、銀行のATMでは二要素認証を利用してるにもかかわらず、Webサービス利用では暗証番号のみしか使用していないということは、セキュリティレベルを下げていることになります。
二要素認証と二段階認証
よく似た言葉に、「二段階認証」というものがありますが、二段階認証と二要素認証は全く別のものであり、二段階認証は二要素認証と比べてセキュリティが高くなるものではありません。
二段階認証とは、本人確認に認証を2回求めることを言います。
二段階認証に使用する要素はどのような組み合わせでもいいため、最初の認証で「パスワード(知識)」、2番目の認証で「SMS認証(所有)」のような二要素認証も二段階認証といえますが、最初の認証で「パスワード(知識)」、2番目の認証で「秘密の質問(知識)」の認証も二段階認証になります。ただしこの認証はともに知識要素を使用しているため、二要素認証ではありません。

関連情報
ついーと
メールで届くワンタイムパスワードは2要素認証ではないですよー。 pic.twitter.com/sJeaHDM06k
— yakoo (@yako_hiro) September 17, 2020
こちらの投稿を最初見たときは「?」となったのですが、よくよく見たら「メールで届く」の部分が問題ですね。
メールにワンタイムパスワードが届く場合、スマホでメールを見る他に「ブラウザで見る」方法があるため、本人の「所有」を認証することにはならないため二要素認証にはならないです。
銀行ATMの場合は、キャッシュカードを”持っている”ことと暗証番号を”知っている”という二要素認証なのに対して、ドコモ口座は口座番号と暗証番号を”知っている”という一要素しかない。
— Sen UENO (@sen_u) September 9, 2020
ドコモ問題ですが、セキュリティーはある程度法律で義務化した方が良いかと思います。
— 加納裕三 (Yuzo Kano) (@YuzoKano) September 16, 2020
ビットフライヤーでもネット口座振替をやっています。ただ、当時はセキュリティー上はそのままの仕様だと危ないと考えて二要素認証を必須にしました
もちろんユーザビリティは下がりますが、顧客保護が第一かと。
NEWS
piyolog
まとめ
簡単にですが、二(多)要素認証についてまとめてみました。
本文中に「二要素認証だから安全とは言えない」とは書きましたが、それでも一つの要素を利用するよりはセキュリティを高めることができますので、できる限り二要素認証を利用できるサービスについては二要素認証を導入してください。また、一つ一つの要素のレベルを高めておくことも重要です。いくら二要素認証を使っていても、パスワードを「123456」にしていたら、実質認証には一要素しか使用していないことになります。パスワードも第三者に推測されにくいものを利用しましょう。
ここまで、拙い文章を読んでいただきありがとうございました。
【更新履歴】
2020/09/18 PM 公開
*1:厳密には、氏名や口座番号も必要ですが、こちらについては調べる方法がいくらでもあるためここでは「知られているもの」としておきます