web-dev-qa-db-ja.com

Webサイトに非パスワード認証を実装する方法

pwリセットに関するこの質問 への回答で、D.W。言う:

最後に、非パスワード認証を検討してください。パスワードには認証メカニズムとして多くの問題があり、ユーザーを認証するための推測できないシークレットを使用してマシンに安全な永続的なCookieを保存するなど、ユーザーを認証する他の方法を検討する場合があります。この方法では、パスワードを忘れたり、ユーザーがフィッシングされたりすることはありませんが、ユーザーが新しいマシンまたは新しいブラウザーからのアクセスを許可する方法を提供する必要があります(おそらくユーザーの事前のメールアドレスを介して)登録されたメールアドレス)。

どうやってそれを行うのですか?このソリューションはどの程度安全で使いやすいですか?主な欠点は何ですか?

19
JDelage

「remember me」をクリックするほとんどすべてのケースで、これはすでにコンピュータで発生しています。ランダムな文字列がCookieに保存され、アカウントにリンクされます。これ以上必要な理由は、モビリティに関係しています。コンピュータを変更した場合、標準のユーザー名/パスワードなしでどのように再度ログインしますか?ユーザーは単にクッキーを携帯しません。

電子メールの提案の場合、フォームフィールドに入力したり、リンクとしてクリックしたりできるランダムコードを送信できます。セキュリティの限界レベルを上げるために、しばらくするとこれらのクリックリンクを期限切れにし、別のランダムコードをCookieとして保存します。

8
Jeff Ferland

IDを認証する方法は3つあります。ユーザーが持っているもの(電話、デバイス)、またはユーザーが知っているもの(パスワード、ストーリー)、またはユーザーが何であるか(指紋、Palmスキャン)です。最後はリモートコンテキストでは使用できません。

したがって、あなたの質問はあなたが知っているものの代わりを使用することについてです。つまり、持っているものを使用することです(通常は時間制限があります)。これには通常、トークンまたはワンタイムパスワードが含まれます。

これらのいくつかを確認してください: http://www.duosecurity.com/http://code.google.com/p/google-authenticator/ 、および- http://www.wikidsystems.com/

彼らは電話を持っている(そしてそれを失った)のと同じくらい安全です。とてもフレンドリーです。

6
Nam Nguyen

あなたは興味のあるこの学術論文を見つけるかもしれません: Conditioned-safe Ceremonies and a User Study of the Application of Web Authentication 。このペーパーでは、認証に安全な永続Cookieを使用し、ユーザーが電子メールリンクを使用して新しいマシンを登録できるようにする1つの方法について説明しています。これは決して唯一の方法ではありません。これは単なる1つの例であり、おそらくこれらの線に沿って何かを行う他の多くの可能な方法があるでしょう。

6
D.W.

私は this service の十分でシンプルな認証プロセスに出会いました。それはあなたの携帯電話の番号を使用してSMS経由でワンタイムパスワードを送信します。

0
garik