2011-03-29 15 views
0

私は赤いボタンを持つアプリケーションで作業しています。つまり、すべてのクライアントアカウントには自動的に生成される2つの(秘密)キーがあります。誰かが特別な(パブリック)ページのキーを入力すると、特定のプロセスが動作するように設定されます。このプロセスは重要ではありませんが、鍵はユーザーアカウントの作成時に自動的に生成され、データベースに暗号化されて保存され、ユーザーに表示されます。彼はもちろん、彼が望むなら、鍵をリセットすることができます。秘密鍵を安全に取得する方法

問題は、一部のクライアントがキーを忘れてしまうことです。私たちのソリューションは、鍵をリセットして新しい鍵を再配布することですが、一部のクライアントにとっては実用的ではありません。私はそれらをリセットせずにキーを取得するオプションを提供したいと思います。

私の考えでは、ユーザーのパスワードを使用してキーを復号することができました。これは、既にログインしているユーザーが、自分のパスワードを再度入力する必要があることを意味します。私はそれが技術的にどのように動作するのか(私が使用できる暗号化/復号化アルゴリズムはありますか?)、そのような技術を採用する前に何か検討すべきことがあるかどうかは分かりません。

誰にもこれに関するアイデアはありますか?多分もっと良い提案ですか?

+0

これは超過しています。 SSLを使用している場合、シンプルなパスワード認証と従来のパスワードによる電子メールによるリセットで十分です。 SSLを使用していない場合は、使用する鍵の数や使用する鍵の安全性については関係ありません。 – meagar

+0

鍵はユーザ名/パスワードの組み合わせとして見ることができますが、それはポイントではありませんすべて。要は、両方のキーを何らかの形で取り出す必要があるということです。 SSLを組み合わせた電子メールによるキーリセットは、現在使用しているものであり、十分ではありません。 –

答えて

1

AESのような暗号をチェックアウトする必要があります。

RubyとAESを暗号化と復号化に使用する方法については、this gisthub exampleを参照してください。

+0

私はそれをチェックアウトします。ありがとうございました。パスワードの変更やリセットの処理方法についての質問があります。私はこれ以上のことを考えなければなりません。どんなアイディアも大歓迎です。 –

関連する問題