18

私たちは、パスワード取得の従来のWebアプリ機能を実装する必要があるWebアプリケーションに取り組んできました。トレンドによると、次のようなアプローチがあります。

  1. ユーザーの電子メールへのパスワードリセットリンクの送信。
  2. パスワード回復のためにユーザーに秘密の質問をする。
  3. 既存のパスワードをリセットし、新しいパスワードを作成してユーザーに送信します。これにより、ユーザーは次回のログオン時にパスワードを変更しなければならない場合もあります。

パスワード取得メカニズムを実装するための従来とは異なる手法はありますか?このために他にどのようなアプローチを試しましたか?

ありがとう。

4

5 に答える 5

19

目標とするセキュリティのレベル、サポート コスト、およびユーザビリティの問題によって異なります。

パスワード リセット リンクを電子メールで送信することは、さまざまな理由から推奨される方法です。

  • サポート コスト- ビジネスの観点からは、これが最大の要因です。ユーザーは、パスワードのヒントさえ忘れたり、偽のメール アドレスを使用したり、ユーザー名を忘れたりすることがよくあります。これらはすべて、サポート リクエストを受け取る正当な懸念事項です。これにより、別の問題が発生します。最近のアカウントのアクティビティとそうでないことについて尋ねて、ユーザーの正当性を確立する必要があります。そのレベルのサポートを提供しないと、多くの初心者ユーザーががっかりするでしょう。ユーザーは通常、1 つまたは 2 つの電子メール アドレスを持っており、電子メール アドレスを提供することでユーザー名/パスワードを簡単に回復できるため、パスワード リセット リンクを電子メールで送信すると、これらの問題が軽減されます。

  • セキュリティ上の懸念- これは技術的な観点から見た最大の要因です。ここには、検討しなければならないさまざまな懸念事項があります。電子メール アカウントが侵害されたということは、ハッカーがユーザーのすべてのサービスにアクセスして、パスワード リセット リンクを電子メールで送信できることを意味します。パスワードリセットリンクをユーザーにメールで送信し、ユーザーにパスワードのヒントの質問をしてから、パスワードをリセットできるようにするという妥協点に落ち着くことができます。繰り返しになりますが、ユーザーのパスワードをいかなる媒体にも公開しないでください。実際、パスワードを表示する機能がある場合、SHA-1 のような安全なハッシュを使用してパスワードを保存していないことを意味し、社内の開発者が全員のパスワードを取得できるため、システムはすでに安全ではありません。

  • 使いやすさ - これは、ユーザーの観点から見た最大の要因です。パスワード リセット リンクを電子メールで送信するには、ユーザーが自分の電子メール アドレスを確認する必要があります。これは、タスクを完了するのに 2 ~ 3 分かかる場合があることを意味します。しかし、これは大したことではないと思います。ほとんどのユーザーは、自分に問題があると感じており、これがユーザーにとって最善のセキュリティ対策であるため、これを気にしていないようです。私は個人的な経験から仮説を立てているだけであり、一般のユーザーは異なるように感じるかもしれません. ユーザーがパスワードを取得する必要があることはめったにないため、ユーザー エクスペリエンスよりもセキュリティを優先します (ユーザーは長期間ログインせず、パスワードを忘れてしまいました。ユーザーはパスワードをブラウザーに保存して再インストールし、いくつかの他のエッジケース)。

于 2009-05-26T15:10:25.550 に答える
8

私が実際に見た他のオプションは次のとおりです。

  • 何かがうまくいかないときに2番目のパスワードを許可する-携帯電話で使用されるSuper-PINのようなもの。
  • ユーザーがアカウントの作成時にダウンロードしてUSBスティックに保存するか、後で使用するためにアーカイブするファイルトークン(通常はPGPキー)を作成します。問題が発生した場合、ユーザーはトークンをアップロードします。これにより、ユーザーがアカウントの「所有者」であり、アプリケーションがユーザーにパスワードの変更を許可することを証明します。これは、定数トークン、または複数のトークンを含むファイル(オンラインバンキングのTANと同様)の場合があります。トークンが使用されるたびに、トークンも無効になります。

上記のメソッドは、実装がそれほど簡単ではありませんが、非常にユーザーフレンドリーです(これらのメソッドには新しいものはなく、日々の状況で他に存在するため)。

于 2010-07-18T22:19:52.987 に答える
6

私の意見では、パスワードリセットリンクをユーザーの電子メールに送信するのが最善の方法です。これがDiggのやり方であり、これが私のやり方です。

ただし、この方法では、ユーザーが自分の電子メールにアクセスできることに依存する必要があります。

秘密の質問の方法について:多くの場合、秘密の質問の答えは私たちが望むほど秘密ではありません。この「アカウントハック」の方法をブロックすることは、ユーザーの最善の利益になります。

于 2009-05-26T14:05:45.990 に答える
4

Web サイトとその管理者は、ユーザーの平文のパスワードを知っているべきではありません。認証イベントでの比較のために保存されるパスワードの一方向ハッシュのみが存在する必要があります。そのため、パスワードのクリア テキストを送信することは選択肢にすべきではありません。

個人的には、ユーザーに送信されるパスワード リセット リンクが気に入っています。ただし、そのリンクを期限切れにすることを忘れないでください。また、パスワード リセットの試行 (リセット リンクと同じ電子メールでもかまいません) と、リセットが成功したことを電子メールでユーザーに通知します。

于 2009-09-23T11:35:27.867 に答える
0

パスワード リセット リンクへの追加のアプローチは、リンクがクリックされた後にユーザーが入力しなければならない電子メール リンクで送信されないランダム キーを作成することです。これは、人々が電子メールをキャプチャするのを防ぐのに役立ちます.

于 2011-05-09T20:09:43.450 に答える