web-dev-qa-db-ja.com

ハードウェアトークンと指紋ベースのソフトウェアトークン

2つの銀行の認証手順のいずれかを選択できますが、最も安全で便利なオプションを選択するためのサポートが必要です。

オプション「ハードウェアトークン」:ウェブプラットフォームへの認証はユーザー名/パスワードを介して行われますが、トランザクションはPINとワンタイムハードウェアトークンキーの組み合わせを介して実行されます。

オプション「フィンガープリント」:Webプラットフォームへの認証もユーザー名/パスワードを介して行われますが、トランザクションは、指紋を介して電話のソフトウェアトークンアプリに認証され、ワンタイムトークンキーを取得することによって実行されます。

私の理解では、ハードウェアトークンオプションの方がより安全です。これは、最近の電話やラップトップは、キーロギングやその他の種類のソフトウェアに簡単に感染して、パスワードを盗聴できるためです。ただし、指紋認証は生体認証方式の認証であり、私が知る限り、ソフトウェアではなく物理的な指紋でのみなりすますことができるため、同じレベルのセキュリティが提供される可能性があります。

もう1つの弱点は、ソフトウェアトークンのシードを盗むリスクである可能性があります。

私は何を選ぶべきだと思いますか?ハードウェアトークンはまだ有効な方法ですか、それともバイオメトリック認証は私のシナリオで正気な代替手段ですか?

8
Vladimir

指紋はトークンを直接保護しません(保護することはできません-現在のところ、指紋を一貫してスキャンする信頼できる方法はありません)。 OSは、資格情報を使用してトークンを暗号化します。 OSへのAPI呼び出しにより、アプリケーションは、ユーザーに再認証を強制するトークンを要求できます。

したがって、モバイルアプリケーションのリスクは次のようになります-

  • デバイスのオペレーティングシステムをどの程度信頼していますか?
  • (上記に関連)アプリケーションがお互いのメモリ空間を読み取るのを停止するために、デバイスのサンドボックスをどの程度信頼しますか。
  • 他のアプリケーションがアクセスできる場所にトークンを配置しないことをアプリケーションにどの程度信頼しますか。
  • 携帯電話/アプリのクローン作成を停止するためのフィンガープリントメカニズムをどれだけ信頼しますか(個人的には、これをゼロに近いと見なします)。

また、リスクの高さに対してこれを打ち消す必要がありますか?つまりアプリが大量に悪用された場合、銀行は損失をカバーしますか?また、リスクの高いターゲットですか(たとえば、億万長者はおそらく平均的なジョーよりも攻撃リスクが高いでしょう)。

大多数のユーザーにとって、強力な一意のパスワードと組み合わせると、アプリは十分に安全であると見なされるべきだと主張します。アプリが危険にさらされた場合、銀行はヒットを受け取り、クライアントに返金します。

理論的には、ハードウェアトークンはより安全である必要があります。つまり、エアギャップシステムです。秘密鍵/公開鍵システムの場合、秘密鍵がデバイスを離れる必要はありません。ただし、メーカーの設計上の決定と実装には歴史的な問題がありました。

6
Hector

short:ハードウェアトークンを取得します。

長いバージョン:まず最初に:複数の方法で指紋を改ざんすることが可能であることを人々は証明しています。おそらく最も一般的な方法は、プリンターで指紋からそれを再作成することですが、さらに多くのオプションがあります。それらのいくつかは、記事 指紋バイオメトリクスを破る7つの方法 で確認できます。それ以外にもたくさんあります。

しかし、ハードウェアトークンも「クラック可能」であることが証明されています。私たちが持っている小さな情報からそれを伝えるのは少し難しいです。それは本当にトークンに依存します。 (少なくとも私にとって)この考慮事項のはるかに重要なビットは次のとおりです。HWトークンのシードが盗まれた場合、それを変更できます。指紋(またはそのデジタル表現)が公開された場合、オプションはかなり制限されます。

それが実際に指紋を使用してシステムで認証する場合は、これを検討する必要があります。しかし、これが携帯電話で使用される場合、それは実際には携帯電話にあり、指紋リーダーを使用してパスワードを置き換えるOSによって保護されているトークンである可能性があります。この場合、電話はHWトークンですが、トークンなどの適切な読み取り保護メモリがありません(持っている必要があります)。この場合:HWトークンも取得します。

14
Ben

本質的に他より優れているオプションはありません。

  • 電話トークンは、電話上の悪意のあるアプリに対して脆弱ですが、プロセス全体を保護できます。

  • ハードウェアトークン自体は非常に脆弱ではありませんが、通常、チェーン全体がフィッシング、MiM攻撃、PC /ブラウザ上の悪意のあるアプリに対して安全ではありません。

ハードウェアトークン自体は安全ですが、問題は通常、許可する操作の種類を通知しないことです。攻撃者がユーザーをだましてOTPを生成させるのは非常に簡単です。これは、数年前のハードウェアトークンのセキュリティで保護されたバンキングに対するかなり一般的な攻撃でした。主要なホールは、ログインにOTPを要求していました。 ソフトウェアトークンが許可される操作に関する重要な情報を提供する場合、このリスクは排除されます。

つまり、問題は「チェーンのどの部分を確保する方が簡単か」ということになります。ブラウザーを使用したコンピューターのセキュリティについて確信がある場合、それは銀行への接続であり、(最も重要なのは)フィッシングに対する警戒ですが、ハードウェアトークンの方が適しています。信頼できないソースからアプリをインストールしない場合は、携帯電話を保護する方がおそらく簡単です。

モバイルトークンが(チャレンジレスポンスコードに基づいて)オフラインで機能し、トークンアプリ(エアギャップ)をアクティブ化した後、永続的にオフラインになる電話専用にすることができる場合、これは最も安全なソリューションです(ただし、最も扱いにくい)。

指紋は、セキュリティに関して最良ではありません。正しく実装されたパスワードまたはPINはより安全です。ただし、データが電話のハードウェアの安全なエンクレーブに適切に格納されている場合は、それで十分です。

基本的に、両方のオプションを正しく実装することも、間違って実装することもできます。

0
Agent_L