web-dev-qa-db-ja.com

電子メールによるパスワードなしのログイン-セキュリティに関する考慮事項

メールに1回限りのログイントークン(エントロピーが高い)をユーザーに送信するログインシステムの使用を提案しています。トークンを使用した後、ユーザーは電子メールを介して別のトークンを受け取り、以前のトークンは無効になります。新しいトークンは、最後のトークンの使用に関する情報とともに送信されるため、誰かが何らかの方法でトークンにアクセスした場合、ユーザーはそれを知っています。

私はUXに関しては素晴らしいフィードバックを受け取っていますが、技術者以外から、これが安全であることを「証明」するようにという強いプレッシャーに直面しています。さらに、マーケティングチームは、これを顧客に教えるのが難しいことを懸念しています。

ワンタイムログイントークンの有効期間(数週間続く場合もあります)を除いて、これは、忘れられたパスワード機能と何が違うのですか?さらに、これは、この質問がここで比較的類似している他の質問ほど簡単に答えられない場所です-このようなログインスキームを実装している尊敬される企業はありますか。このシステムのセキュリティ?

20
James Kassemi

お使いのシステムのセキュリティは、ほとんどのパスワードリセットシステムのセキュリティと同様であることは間違いありません。電子メールアドレスと同じくらい安全です。一部のパスワードリセットプロセスでは、追加のセキュリティを提供する追加の質問(たとえば、最初のペットの名前は何ですか)を尋ねることに注意してください。

あなたはこれのセキュリティの非技術者を説得するのに苦労するでしょう。 1つのアプローチは、システムの 脅威モデル を実行し、これを彼らに示すことです。私は彼らがそれを読むとは思いません。問題は、コンピュータのセキュリティは完璧とはほど遠いため、問題が発生した場合にどうなるかを本当に考える必要があるということです。違反がある場合、非標準システムを正当化することははるかに困難に見えるかもしれません。他の人と同じことをするために言われることがたくさんあります。

Doodle および [〜#〜] rt [〜#〜] を含む、あなたのアプローチを取り入れたライブシステムを見てきました。いくつかの調査もそれを行います。

トークンが使用された後にトークンをリセットする理由を知りたいです。あなたはどう思いましたか?

注意すべき1つの脅威は、ブラウザの検索バーです。ユーザーがこれらをインストールしている場合、ユーザーがアクセスするすべてのWebサイトが検索エンジンに送信される可能性があります。これにより、Googleのインデックスにhttp://yoursite/token/が追加される可能性がありますが、これは明らかに望ましくありません。使い捨てトークンのアプローチは、実際にはこれを防ぎます。別のアプローチは、常に「インデックスなし」のメタタグまたはrobots.txtを使用することです。

ここで作成したのは、私が「貧しい人のシングルサインオン」と呼んでいるものです。 OpenID、OAuth、Mozilla Personaなど、Webシングルサインオンにはいくつかの標準があることに気づくかもしれません。ただし、これらのどれもクリティカルマスを獲得していません。

10
paj28

はい、私はこれが可能なパスワードレス認証メカニズムとして魅力的です。そして、あなたや他の人がすでに述べたように、それはほとんどのパスワードを忘れたシステムと同じセキュリティを提供します...althoughより良いものdoいくつかに答える必要がありますある種のセキュリティの質問もあり、それを2要素のようにしています。

とにかく、今は機能しなくなったサイトPasswordless.orgが良い概要を提供しています...

パスワードなしの認証の詳細は次のとおりです。

  1. ユーザーがアプリやウェブサイトにログインしようとしたときにパスワードを要求する代わりに、ユーザー名(またはメールや携帯電話の番号)を尋ねるだけです。
  2. バックエンドサーバーで一時認証コードを作成し、データベースに保存します。
  3. ユーザーにメールを送信するか、コードを含むリンクを含むSMSを送信します。
  4. ユーザーがアプリまたはウェブサイトを開くリンクをクリックして、認証コードをサーバーに送信します。
  5. バックエンドサーバーで、コードが有効であることを確認し、データベースに保存され、クライアントデバイスにも保存されるように送り返される、長期間有効なトークンと交換します。
  6. これでユーザーはログインしました。トークンが期限切れになるか、新しいデバイスで認証するまで、このプロセスを繰り返す必要はありません。

インターネット上のすべてのサイトがこの方法で認証を行った場合、Heartbleedへの応答はSwiftで決定的であった可能性があります。代わりに、何百万もの盗まれたパスワードは決して変更されないという事実に直面しています。

このようなログインスキームを実装している尊敬される企業はありますか。また、このシステムのセキュリティを証明するために私が指摘することをお勧めできる書類はありますか?

私は知っていますMedium.comは、認証のために電子メールアドレスのみを必要とすることで最近少し注目を集めました。いくつかの記事...

そしてYahooはSMSを介してワンタイムパスワードを提供することで同様のことを行います:

研究論文についてはまだわかりませんが、いくつか聞いてみたいです。

8
Simon East