パスワードなしのログイン機能を安全に実装するにはどうすればよいですか?


10

新しいプラグインを投稿しました:パスワードはありません

プラットフォームへのログインはデリケートな問題であり、セキュリティホールが存在する可能性のあるものをリリースしたくないので、現在はベータ版というタグを付けています。だからここに私のクエリです:

安全ですか?

セキュリティを確保するために、次のことを行いました。

  1. ユーザー名/パスワードが渡されることはなく、一意のハッシュのみが渡されます。
  2. ハッシュは一度使用されるとデータベースから削除されます。データベースがハッキングされない限り、使用されていない古いハッシュは削除できませんが、大きな問題が発生します。
  3. ハッシュのすべてのデータベースクエリは、XSS攻撃を防ぐためにエスケープされています。
  4. nonceがajax呼び出しに追加されました。
  5. CSRF攻撃を防ぐために、モバイルエンドでnonceと確認が追加されました。

ここでは、それどのように機能するかについての完全な説明があります

次のバージョン私はTwitterを介してoauthを実装したいと考えています。iOSが機能しているからです...

事前にご入力いただきありがとうございます。

編集:追加したレイヤーとして、セッションIDチェックを追加して、QRコードログインを開始したブラウザーと同じブラウザーがログインしていることを確認することにしました。

回答:


5

(私は代替ログインスキームの吸盤です)

DBエスケープに関する注意点:

  • mysql_real_escape_string()直接使用します。推奨される方法は、$wpdb->prepare()またはを使用することesc_sql()です。

  • UPDATEクエリは、 $wpdb->update()


それを含めるようにプラグインを更新しました。先端をありがとう。
jackreichert

5

それは素晴らしいアイデアだと思いますが、いつものように最大の弱点は人的要因です。この場合、電話自体が紛失、盗難、または傍受されることになります。SMS確認コード(Gmailなど)のような2層認証の追加を検討しましたか?または、より簡単な代替手段はcookie +秘密の単語です。

また、あなたのAboutページでQRコードを生成しているアルゴリズムについて言及できますか?


したがって、プラグインは、動作するために携帯電話にログインしていることに依存しています。あなたの携帯電話を失うことのセキュリティリスクはあなたのPCをあなたのWPサイトにログインさせたままにすることとほぼ同じです。GoogleのチャートAPIを使用してQRコードを生成しています。
jackreichert、2012年

3
電話がPCよりも盗難/紛失が多く、PCではユーザー名/パスワードを知る必要があるため、ユーザーの邪魔にならない別のレイヤーを追加することをお勧めします。
Wyck、2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.