web-dev-qa-db-ja.com

アプリベースの2FAとハードウェアベースの2FA

Symantec VIP/Okta Verifyなどのアプリと同様の実装は、最近のU2Fデバイスなどのハードウェア認証トークンを使用する場合と比べてどうですか?

Androidシステムが乗っ取られ、2FAアプリ認証トークンまたはその他の秘密鍵が抽出される可能性はどのくらいありますか?

別のデバイスを必要としない以外に、アプリベースの2FAに他の利点はありますか?

アプリベースの2FAを使用すると、リクエストまたはログインセッションをリアルタイムで認証できますが、リアルタイム認証のリプレイフィッシング攻撃に対して脆弱ではありませんか?

編集:これはある程度ここで答えられているようです スマートカードのようなハードウェアトークン機能がない場合、スマートフォンは厳密に2FAの「所有するもの」の要素と見なすことができますか?

3
Ricky

詳細は この答えはここ をご覧ください。しかし、ここにあなたの質問の顕著なビットがあります:

Symantec VIPおよびOkta Verifyによって実装された2要素の問題は、ソフトウェアに実装されているという事実とは関係がなく、コードが傍受される可能性があるという事実に関係しています。

この意味で、Symantec VIP、Okta Verify、RSA SecurIDはすべて、Google Authenticatorと同じボートにあります。攻撃者がパスワードを取得するために使用するのと同じ手法alsoを使用して2番目の要素のコードを取得できるため、それらのいずれもフィッシングから保護しません。通常は、偽のログインページに入力してもらいます。

しかし、U2Fは異なります。

U2Fでは、トークンがあることを示すためにワンタイムパスワードを入力する必要はありません。代わりに、ブラウザーはハードウェアトークンと直接通信します。プロセスの一部は、ブラウザーがハードウェアトークンに識別を要求しているサイトのホスト名を通知し、2FA IDが個々のホストに関連付けられることです。また、ブラウザはTLS証明書をチェックするため、ユーザーとは異なり、どのホストが認証を要求しているかについて騙されることはありません。

これは、攻撃者のWebサイトが正しい第2要素コードを取得できないことを意味します。つまり、巧妙なソーシャルエンジニアリング攻撃者がユーザーをだましてパスワードを渡したとしても、ユーザーはca n't 2番目の要素のコードを放棄します。

第2要素トークンは、ブラウザーが正しいサイトと通信している場合、およびブラウザーがU2Fトークンに物理的に接続されている場合にのみ使用できます。これにより、被害者のハードウェアの物理的な盗難を伴わない攻撃はほとんどなくなります。

U2F couldソフトウェアに実装されている(そして実装されている)ため、物理デバイスではなくコンピューター上のソフトウェアに依存しています。これは、シマンテックなどのOTPベースの2FAよりも優れていますVIPフィッシング耐性のために、この場合、物理的な盗難は悪用の要件ではなくなりました。代わりに、トークンがソフトウェアに実装されている場合、その場合、コンピュータへの侵入(ウイルスなど)により、認証デバイスのコピーが作成され、知らないうちにコンピュータで使用される可能性があります。したがって、quiteは物理デバイスほど優れていませんが、はるかに安価です。

2
tylerl

アプリはハードウェア認証トークンを使用する場合と比較してどうですか[...]?

一見すると、それらはそれほど遠くないです。どちらの場合も、追加の暗号化検証手順を実行する他のデバイスがあります。ただし、1つの重要な違いは、システム(そのデバイスのソフトウェア全体)の複雑さです。

スマートフォンでは、さまざまなベンダー(アプリ)からやり取りするソフトウェアの部分が非常に多くありますが、専用の認証トークンは、この1つの目的のみを提供するため、はるかに単純です。したがって、単純なシステムの場合、脆弱性の可能性と表面は一般的に低くなります。

別の違いは、その認証ステップで使用される実際のアルゴリズムです。しかし、これはとにかくハードウェアに依存しません。ただし、アプリはよりシンプルになる傾向があります。時間ベースのワンタイムパスワードジェネレーターは、他のものは通常、その唯一の目的についてより洗練されていますが、たとえばU2Fはチャレンジベースの公開キー暗号化を使用しています。ところで、U2Fを使用するには、チャレンジをU2Fスティックに転送するためにブラウザーからのサポートも必要になる理由の1つです。

Androidシステムがハイジャックされる[...]および[...]秘密鍵が抽出される可能性はどれほど現実的ですか?

他のすべてのコンピュータシステムと同じように携帯電話をハッキングしてrootにアクセスできるのは本当です。キーを抽出できるかどうかは、アプリがそのシークレットをどのように格納するかによって異なります。しかし、保存する必要があり、Androidデバイス(AFAIK))には実際のプライベートメモリがないため、攻撃者はrootアクセス権を取得してキーをコピーできます。

[...]アプリベースの2FAに他の利点はありますか?

単純なセキュリティレベルでは、スマートフォンと専用ハードウェアのどちらにも利点があるとは思いません。ただし、アプリは通常、これらの特殊なシステムよりもインストールとセットアップがはるかに簡単です。そして、平均的なユーザーが使用するために複雑になるシステムは、現実の世界では何も改善しません。また、これらの特別なシステムでは通常、追加のサービスプロバイダーのサポートが必要です。実装が難しい、またはほとんど使用されていない技術の場合、最高のユーザーはサポートされているサービスなしでは何もできません。

[...]リクエストまたはログインセッションをリアルタイムで認証した場合、リアルタイム認証のリプレイフィッシング攻撃に対して脆弱ではありませんか?

私の知る限り、通常は中間者攻撃を実行し、認証されたセッションを乗っ取ることができます。しかし、SSL証明書はこれを防止しようとしています。また、単純なリプレイ攻撃の使いやすさを制限する暗号化も伴います。 SSLからの一部、時間ベースのトークンでの再生が可能です。ただし、サービスプロバイダーは、正常に使用されたトークンに参加して、リプレイを防ぐことができます。それでも、攻撃者が十分に速い場合、彼は成功した人物になります。

0
Cryptjar