2016-09-09 10 views
0

ユーザーがオプションでアカウントに追加できる代替セキュリティプロセスを提供するアプリケーションを設計する予定です。モバイルアプリのセキュリティコードの確認

これまでの考えでは、ユーザーがアプリをダウンロードした携帯電話の電話番号を取得してから、電話番号とウェブサイトアカウントをリンクし、一意の電話番号ごとに1つのアカウントのみをリンクします。

明らかに、セキュリティを向上させるために、コードは30秒ごとにランダムに生成されます。したがって、ユーザがログインしたい場合、ウェブサイトまたはアプリケーションは、アカウントがリンクされているモバイルからのセキュリティコードを必要とします。

私が立ち往生していることの1つは、アプリとウェブサイトの話をどのようにして、それぞれ30秒ごとに登録されたすべてのユーザーに新しいセキュリティコードが適用されるように、オプションを有効にしてください)。

セキュリティコードがデータベースに格納されます(オプションが有効になっているユーザーが少なくとも数千人いるとします)。データベースの更新量によってサーバーが確実にオーバーロードされますか?

私はこれをやって、サーバーの「アルゴリズム」を最適化する方法を説明します。また

、などMariaDBなどより「強力な」データベースサーバは、と言うよりも、このインスタンスで良いだろう、MySQLiの、SQLiteの、など

よろしく

+0

コードをデータベースに保存する必要はありません。コードを生成して30秒待つだけです。その後、それを落とす。 – greenhoorn

+0

さて、それでは、ウェブサイトのアプリからそれを取得するためにどのようなプロセスを使用しますか? – Sutton

+0

通常はHOTPまたはTOTPです。そのための公開RFCがあります。そしてhttps://github.com/paragonie/multi_factor –

答えて

0

これはTwo-Factor Authenticationを達成することができます。二要素認証は、アカウントログインに第2レベルの認証を追加します。ユーザー名とパスワードのみを入力する必要がある場合、これは単一要素認証とみなされます。二要素認証では、認証の別のステップにログインしている間に、携帯電話または外部アプリから提供された固有のコードを追加してください。

2因子認証では、30秒ごとに変更される乱数を生成できます。これは、ユーザーがログに記録したときに使用できます。

あなた自身で2つの要素の認証を実装することもできますし、PHPのためにGoogleAuthenticatorのような既存のものから使用することもできます。 Google認証システムでは、qrコードを構築できる秘密の秘密鍵を作成できます。 Google認証システムアプリからqrコードを読み取ると、60秒ごとに生成されます。

関連する問題