18

私たちは、パスワード検索の従来のWebアプリケーション機能を実装する必要のあるWebアプリケーションに取り組んできました。傾向によると、次のようなアプローチがあります。現代のWebアプリケーションにおけるパスワード検索のための有効なテクニック

  1. 送信者のパスワードをメールに送信します。
  2. パスワードの回復のためにユーザーに秘密の質問をしてください。
  3. 既存のパスワードをリセットして新しいパスワードを作成し、ユーザーに送信します。これにより、次のログオン時にユーザーがパスワードを変更することもあります。

パスワード検索メカニズムを実装するための非従来の技術はありますか?あなたはこれに対して何を試みましたか?

ありがとうございました。

+1

「非伝統的」とは、「悪い」という意味ですか?伝統は理由のために存在する。 – mquander

+5

私はMquanderの感情を強く拒否しますが、私も従来の方法よりも優れていることに気づいていません。すべての合理的に強力な – annakata

+0

新しいパスワードを送信する(オプション3)は、残りのリンク(オプション1)パスワードを変更します。 – jrharshath

答えて

18

これは、あなたが目指しているセキュリティのレベル、サポートコストおよびユーザビリティの問題に依存します。パスワードリセットのリンクを電子メール送信

は、多くの理由のために好ましい方法である:

  • サポートコスト - これは、ビジネスの観点から最大の要因です。ユーザーは、パスワードヒントを忘れたり、偽のメールアドレスを使用したり、ユーザー名を忘れたりすることがよくあります。これらはすべて、サポートリクエストを受ける可能性のある正当な懸念事項です。これにより、別の問題が発生します。ユーザーの正当性を確認するためには、最近のアカウントの活動について質問することが必要です。あなたがそのレベルのサポートを提供しない場合、初心者の多くのユーザーは失望します。ユーザーが通常1〜2つの電子メールアドレスを持ち、電子メールアドレスを入力することで簡単にユーザー名とパスワードを回復できるため、パスワードリセットリンクを電子メールで送信すると、これらの問題が緩和されます。

  • セキュリティ上の懸念 - これは技術的な観点から最大の要因です。ここではさまざまな懸念があります。不正な電子メールアカウントは、ハッカーがパスワードリセットリンクを電子メールで送信できるユーザーのすべてのサービスにアクセスできることを意味します。あなたは、ユーザーにパスワードリセットリンクを電子メールで送信し、ユーザーにパスワードヒントの質問をしてから、パスワードをリセットすることができます。繰り返しますが、ユーザーのパスワードをどのメディアにも公開しないでください。 SHA-1のような安全なハッシュを使用してそれらを保管しておらず、あなたの会社の開発者が誰のパスワードでも得ることができるので、パスワードを表示する能力があれば、システムはすでに安全ではありません。

  • ユーザビリティ - これはユーザの視点から見た最大の要因です。パスワードリセットリンクを電子メールで送信するには、ユーザーは自分のメールアドレスを確認してください。タスクを達成するための時間が2〜3分になることがあります。しかし、これは大きな問題ではないと私は思います。ほとんどのユーザーは、彼らが間違っていると感じ、これが最善の利益のための安全対策であるため、これを気にしていないようです。私は個人的な経験からしか仮定しておらず、ユーザーは一般に違った感情を感じるかもしれません。私はセキュリティをユーザーエクスペリエンスよりも優先させたいと思います。なぜなら、ユーザーはパスワードを取得する必要はほとんどないからです(ユーザーは長い間ログインしておらず、パスワードを忘れてしまいました。いくつかの他のエッジケース)。

+0

ユーザビリティの観点から、私たちはどのような技術を想像していますか?それが実際に基準です。私たちのために、ユーザーエクスペリエンスほど重要なものはありません。いくつかのケースでは –

+0

、セキュリティと秘密はユーザーの経験以上に重要です。 – jrharshath

+0

@s_ruchit、ユーザエクスペリエンスが大きな問題であれば、hotmail.comのようなパスワードヒントシステムを利用してパスワードリセットフォームを電子メールで送ることもできます。こうして彼らは選択できますが、セキュリティの観点からは新しい攻撃ベクトルを開きます。 – aleemb

6

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

しかし、この方法では、ユーザーが自分のメールにアクセスできるようにする必要があります。

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

4

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

個人的に私はユーザーに送信されたパスワードリセットリンクが好きです。しかし、そのリンクを失効させることを忘れないでください。また、リセットが成功した後でも、パスワードリセットの試み(リセットリンクと同じ電子メール)を電子メールでユーザに通知します。私が実際に見た

7

その他のオプションが含まれます:

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

上記の方法は実装が簡単ではありませんが、非常にユーザーフレンドリーです(新しいことはなく、日々の状況に存在しているため)。

0

パスワードリセットリンクに加えて、リンクがクリックされた後にユーザーが入力しなければならない電子メールリンクに外出しないランダムなキーを作成する方法があります。これは、電子メールをキャプチャする人々に役立ちます。

関連する問題