さまざまな2つの要因認証方法の長所と短所を提供できますか？
一般的な2要素認証方法の1つはSMS検証です。これには、検証されているユーザーにリンクされた携帯電話番号にSMS（テキスト）メッセージを送信することが含まれます。この方法は、多くのユーザーに馴染みがあるという利点があり、携帯電話にアクセスできることだけが必要です。ただし、携帯電話を使用できないユーザーは除外できます。また、SIMジャッキングなどの攻撃に対しても脆弱です。Sim-Jackingは、サイバー犯罪者が電話会社に対してソーシャルエンジニアリングを使用して人の携帯電話番号を引き継ぎ、そのアクセスを使用して2要素認証をバイパスするソーシャルエンジニアリング攻撃です。SMSゲートウェイがメッセージを送信するためにお金を請求するため、SMS検証は、少量の大規模なアプリケーションをサポートする組織にとっても費用がかかる場合があります。

別の方法は、2要素認証のために認証器アプリを要求することです。Authenticator Appsは、ウェブサイトと共有されたシークレットキーを保存します（ユーザーが認証しています（多くの場合、電話のカメラを介してQRコードとしてアプリに転送されます）、時間の経過とともに変更されるコード（時間ベースのワンタイムパッド、またはTOTP）を生成しますアプリケーションへの参入用。Authenticatorアプリは、アプリがオンになっているデバイスが侵害されていない限り、SMS検証よりも大きなセキュリティを提供します。また、ユーザーは無料 /オープンソース認証アプリを使用できるため、ユーザーまたはアプリケーションプロバイダーのいずれかにかなりの追加の運用コストを回避します。アプローチでは、サーバー側に実装するためには、いかなる種類のゲートウェイサービスも必要ありません。反対に、技術的に精通していないユーザーは、認証者アプリをインストールする意思がないか、またはインストールすることができない場合があります。また、ユーザーが最初に新しいデバイスに認証アプリを設定するように注意して携帯電話を拭いたり交換したりすると、アカウントへのアクセスが失われるか、リセットするための代替プロセスが必要になる場合があります。ユーザーがソーシャルに設計されて、フィッシングサイトにコードを提供するように設計される可能性があるというリスクがあります。共有された秘密に依存しているため、犯罪者がサーバーに保存されている秘密のコピーへの一時的な読み取り専用アクセスさえも得る場合、ユーザーの2因子の秘密がリセットされるまで、それらの秘密を使用して2要素認証をバイパスできます。

3番目のオプションは、U2F互換性のあるセキュリティキーを要求することです。これらは、コンピューターに接続する物理デバイス（USBを介してNFCを介して）を使用し、パブリックキー暗号化を使用して、ユーザーがサーバー上の公開キーに対応する秘密鍵にアクセスできることを証明します。これは最も安全なオプションです。通常、セキュリティキーはクローニングを防ぐために強化されているため、ユーザーは現在キーを所有している場合、他の誰もそのキーになりすましていないという自信を高めることができます。プロトコルには、別の偽のサイトでのフィッシングを防ぐための手段があり、実際のサイトにログインします。他の方法は脆弱です。一部のキーには、物理キーの誤用を防ぐための生体認証チェックなどのメカニズムが含まれます。ただし、ほとんどのU2Fセキュリティキーは、キーの物理的な盗難に続いて、ある程度誤用することに脆弱です。このアプローチには、ユーザーがまだ持っていない場合は、ユーザーがどこかからU2Fキーを取得する必要があるという欠点があります。さらに、誤ってキーを失ったり破壊したりするユーザーは、代替アプローチを使用して認証し、別のキーを取得する必要があります。