2要素認証(2FA)とは、オンライン・アカウントのパスワード(第1要素)と認証アプリからのワンタイム・パスコード(第2要素)のように、正確に2つの証明を求めることでユーザーの身元を確認する方法です。
ほとんどの人は、SMSテキストベースの2FAセキュリティー・システムに精通しています。この場合、ログイン時にアプリからユーザーの携帯電話に数字コードが送信されます。続行するには、ユーザーはパスワードとこのコードの両方を入力する必要があります。どちらか一方だけを入力するだけでは認証には不十分です。
2FAは多要素認証(MFA)の最も一般的な形式であり、ユーザーが自分の身元を証明するために複数の認証要素を入力する必要がある認証方法を指します。
2FAはコンピューター・システムとよく関連付けられますが、物理的な資産や場所を保護することもできます。たとえば、立入禁止の建物に入るには、IDバッジを見せるよう要求される場合があります。さらに、指紋スキャンをパスする必要があります。
IBMのデータ侵害のコストに関する調査によると、認証情報の漏洩がデータ侵害の最も一般的な原因です。パスワードは、脅威アクターがフィッシング、スパイウェア、ブルートフォース攻撃を通じて比較的簡単に盗むことができます。
2要素認証は、第2要素を要求することでアカウントのセキュリティーを強化します。ハッカーがシステムに侵入するには2つの認証情報を盗む必要があるだけでなく、2番目の要素はハッキングが困難なものであることがよくあります。一般的な2番目の要素には、指紋と生体認証、物理セキュリティー・キー、有効期限のあるパスコードが含まれます。
認証要素は、ユーザーが自分の身元を確認するために提供する認証情報です。2要素認証システムは、複数のタイプの認証要素を使用し、真の2FAシステムは、2つの異なるタイプの2つの要素を使用します。
2種類の要素を使用する方が、同じ種類の2つの要素を使用するよりも安全だと考えられています。なぜなら、ハッカーはそれぞれの要素を見破るために、異なる方法を使う必要があるからです。
例えば、ハッカーはユーザーのコンピューターにスパイウェアを仕込んで、パスワードを盗むことがあります。しかし、そのスパイウェアがユーザーの携帯電話のワンタイム・パスコードを手に入れることはありません。ハッカーは、これらのメッセージを傍受する別の方法を見つける必要があります。
一般的な認証要素の種類は次のとおりです。
知識要素とは、理論的にはユーザーだけが知っている情報です。パスワードは最も一般的な知識要素です。他には、暗証番号(PIN)やセキュリティー質問に対する回答も一般的です。
ほとんどの2FA実装では、知識要素が1つ目の認証要素として機能します。
知識要素は広く使用されているにもかかわらず、最も脆弱なタイプの認証要素です。ハッカーは、フィッシング攻撃、マルウェア、またはボットを使用してアカウントの潜在的なパスワードを生成およびテストし、有効なパスワードが見つかるまで試行する総当たり攻撃を通じて、パスワードを入手できます。
また、他のタイプの知識要素がサイバー犯罪者にとって大きな問題となることもありません。「母親の旧姓は何ですか」というような古典的な質問のように、多くのセキュリティー質問に対する答えは、基本的な調査をしたり、ユーザーを騙して個人情報を漏らすソーシャル・エンジニアリング攻撃を行うことで簡単に見抜くことができます。
パスワードとセキュリティーの質問を要求する一般的な方法は、同じ種類の2つの要素(この場合は2つの知識要素)を使用するため、真の2FAとは言えません。
2つの知識要素は2段階認証プロセスの一例となります。このプロセスには、パスワードの入力と質問への回答の2つの手順がありますが、使用する要素は1種類のみです。
2段階認証は、2つの証拠を必要とするため、パスワードのみの場合よりも安全です。ただし、これらは同じタイプの2つの要素であるため、2種類の要素よりも盗みやすくなります。
所有要素とは、人が所有しているものです。最も一般的な種類の所有要素は、ソフトウェア・トークンとハードウェア・トークンの2つです。
ソフトウェア・トークンは、多くの場合、ワンタイム・パスワード(OTP)の形式をとります。OTPは4~8桁の1回限りのパスコードで、一定時間が経過すると有効期限が切れます。ソフトウェア・トークンは、テキスト・メッセージ、Eメール、または音声メッセージでユーザーの携帯電話に送信できます。トークンは、デバイスにインストールされている認証アプリによって生成することもできます。
ソフトウェア・トークンの場合、ユーザーのデバイスが所有要素として機能します。2FAシステムは、正当なユーザーのみが、そのデバイスと共有される情報またはそのデバイスによって生成される情報にアクセスできることを前提としています。
SMSテキストベースのOTP は、最も使いやすい反面、最も安全性が低い所有要素です。ユーザーがこれらの認証コードを受け取るには、インターネット接続または携帯電話への接続が必要であり、ハッカーは高度なフィッシング攻撃や中間者攻撃を利用して認証コードを盗むことができます。
また、OTPは犯罪者が被害者のスマートフォンのSIMカードの機能的複製を作成し、それを使ってテキスト・メッセージを傍受するSIMクローニングに対しても脆弱です。
Google Authenticator、Authy、Microsoft Authenticator、Duoなどの認証アプリは、ネットワーク接続なしでトークンを生成できます。ユーザーは多くの場合、QRコードをスキャンして認証アプリとサービスをペアリングします。次に、アプリはペアサービス用の時間ベースのワンタイム・パスワード(TOTP)を継続的に生成します。各TOTPは30~60秒で期限切れになるため、盗むのは困難です。
一部の認証アプリは、TOTPではなくプッシュ通知を使用します。ユーザーがアカウントにログインすると、アプリからプッシュ通知がiOSまたはAndroidオペレーティング・システムに送信されます。ユーザーはそれをタップして、試行が正当なものであることを確認する必要があります。
認証アプリは、テキスト・メッセージよりも見破るのが困難ですが、絶対確実というわけではありません。ハッカーはマルウェアを使用して、オーセンティケーターから直接TOTPを盗むことができます。また、被害者が誤って認証することを期待して、不正なプッシュ通知をデバイスに大量に送信する多要素認証疲労攻撃を仕掛けることもあります。
ハードウェア・トークンは、セキュリティー・キーとして機能する専用デバイス(キー・フォブ、IDカード、ドングル)のことです。一部のハードウェア・トークンはコンピューターのUSBポートに差し込み、認証情報をログイン・ページに送信するものもあれば、プロンプトが表示されたときにユーザーが手動で入力する確認コードを生成するものもあります。
ハードウェア・トークンはハッキングが困難ですが、ソフトウェア・トークンを含むユーザーのモバイル・デバイスと同様に、盗まれる可能性があります。IBMのデータ侵害のコストに関する調査によると、デバイスの紛失や盗難がデータ侵害の要因の6%も占めています。
「生体認証」とも呼ばれる生体要素は、指紋、顔の特徴、網膜パターンなど、ユーザーに固有の身体的特徴または特性です。多くのスマートフォンやノートPCには顔や指紋の読み取り装置が内蔵されており、多くのアプリやWebサイトはこの生体認証データを認証要素として使用できます。
生体要素を見破るのは最も困難ですが、見破られると悲惨な結果になる可能性があります。ハッカーが生体認証データベースにアクセスした場合、そのデータを盗んだり、自分の生体認証を別のユーザーのプロファイルにリンクしたりすることができます。生体認証データが侵害された場合、迅速かつ簡単に変更することができないため、進行中の攻撃を阻止することが困難になります。
人工知能(AI)画像生成の進歩により、サイバーセキュリティの専門家は、ハッカーがこれらのツールを使って顔認識ソフトウェアを騙す可能性があると懸念しています。
行動要素は、行動パターンに基づいてユーザーの身元を確認するデジタル・アーティファクトです。たとえば、ユーザーの典型的なIPアドレス範囲、普段いる場所、平均的なタイピング速度などがあります。
行動認証システムは、AIと機械学習を使用して、ユーザーの通常のパターンの基準を決定し、新しいデバイス、電話番号、または場所からのログインなどの異常なアクティビティにフラグを立てます。
2要素認証システムの中には、ユーザーが信頼できるデバイスを要素として登録できるものがあります。ユーザーは最初のログイン時に2つの要素を指定する必要があるかもしれませんが、信頼できるデバイスの使用は、将来自動的に2つ目の要素として自動的に機能するでしょう。
行動要素は、リスク・レベルに基づいて認証要件を変更する適応型認証システムでも有効です。たとえば、ユーザーは社内ネットワーク上の信頼できるデバイスからアプリにログインする際はパスワードだけで済むかもしれませんが、新しいデバイスや未知のネットワークからログインする際には2つ目の要素を追加する必要があるかもしれません。
行動要素はユーザーを認証するための高度な方法を提供しますが、導入するには多大なリソースと専門知識が必要です。さらに、信頼できるデバイスにハッカーがアクセスした場合、ユーザーを簡単に模倣することができます。
パスワード不要の2要素認証システムは、所有要素、生体要素、行動要素のみを受け入れ、知識要素は受け入れません。たとえば、物理トークンと共にユーザーに指紋の入力を求めることは、パスワードなしの2要素認証になります。
パスワードなし認証では、知識要素は侵害しやすいため、排除されます。現在の2FA方式のほとんどはパスワードを使用していますが、業界の専門家は、将来的にはパスワードレス化が進むと予想しています。
一般的な FIDO標準などに基づくパスキーは、最も一般的なパスワードレス認証形式の1つです。公開鍵暗号を使用してユーザーの身元を確認します。
データ侵害のコストに関するレポートによると、認証情報の侵害とフィッシングは、最も一般的な2つのサイバー攻撃の経路です。これらを合わせると、 データ侵害の31パーセントを占めます。どちらの経路もパスワードを盗むことで作用することが多く、ハッカーはこれを利用して正規のアカウントやデバイスを乗っ取り、大混乱を引き起こすことができます。
通常、ハッカーの標的はパスワードです。なぜなら、パスワードは総当たり攻撃や詐欺行為によって見破るのが比較的簡単だからです。さらに、人々はパスワードを再利用するため、ハッカーは盗んだ1つのパスワードを使って複数のアカウントに侵入できることがよくあります。パスワードが盗まれると、個人情報の盗難、金銭の盗難、システムの妨害など、ユーザーや組織にとって重大な結果を招く可能性があります。
2要素認証は、IDおよびアクセス管理(IAM)システムのセキュリティーをさらに強化することで、不正アクセスを阻止するのに役立ちます。ハッカーがパスワードを盗むことができたとしても、アカウントにアクセスするには2番目の要素が必要です。
さらに、2つ目の要素は通常、知識要素よりも盗むのが困難です。ハッカーは、生体認証を偽造したり、行動を模倣したり、物理デバイスを盗んだりする必要があります。
2要素認証方法は、組織が特定のコンプライアンス義務を果たすのにも役立ちます。たとえば、Payment Card Industry Data Security Standard(PCI DSS)では、支払いカード・データを処理するシステムに対してMFAを明示的に要求しています。
サーベンス・オクスリー法(SOX)や一般データ保護規則(GDPR)などの他の規制では、2FAは明示的に要求されていません。しかし、2FAは、組織がこれらの法律で定められた厳格なセキュリティー基準を満たすのに役立つかもしれません。
2要素認証は単一要素認証方法(特にパスワードのみを使用する認証方法)よりも強力ですが、2FAが絶対確実というわけではありません。具体的には、ハッカーはアカウント回復システムを悪用して2FAを回避し、アカウントを乗っ取ることができます。
例えば、ハッカーは、アクセス権を失った有効なユーザーのふりをして、アカウントの認証情報をリセットすることができます。アカウント復旧システムでは、セキュリティーに関する質問への回答など、他の認証手段が必要となることがよくあります。その質問が「母親の旧姓」などと同じくらい基本的なものである場合、ハッカーは少し調査しただけで答えを見つけることができます。ハッカーはアカウントのパスワードをリセットして、実際のユーザーをロックアウトできます。
ハッカーは、あるアカウントにアクセスして別のアカウントにアクセスすることもできます。たとえば、攻撃者が機密性の高い企業システムに侵入しようとする場合、まずユーザーのEメール・アカウントを乗っ取る可能性があります。企業システムにパスワードのリセットを要求すると、ハッカーが現在管理しているアカウントにEメールが送信されます。
SMSベースの2FAは、おそらく最も一般的な2FA形式ですが、高度なソーシャル・エンジニアリングによってハッキングされる可能性があります。攻撃者は、ターゲットになりすましてターゲットの電話プロバイダーに電話をかけ、電話が盗まれたため、番号を新しい番号に転送する必要があると主張できます。その後、OTPはターゲットの電話ではなく、ハッカーが制御する電話に送信されます。
ユーザーは、Eメール・アカウントから電話プロバイダーのアカウントまで、すべてのアカウントに強力な2FAまたはMFAを要求することで、これらの攻撃から防御できます。すべてにMFAを設定すると、ハッカーがあるアカウントを使用して別のアカウントを侵害することが困難になります。
また、ユーザーは、選択した認証要素を確実に解読しにくくすることもできます。たとえば、生体認証や物理的なセキュリティー・トークンは、セキュリティーに関する質問の回答よりも盗まれにくいです。