ユーザーがパブリックキーとプライベートキーを取得して情報にアクセスし、パブリックキーがデータベースにアップロードされ、プライベートキーがユーザーパスワードで暗号化されるデータベース構造を作成しました。彼はそれにアクセスすることができます。この構造で「パスワードを忘れました」を実装するには、秘密鍵を新しいパスワードで暗号化するオプションを提供するUnserに電子メールを送信する必要があります。私はプライベートキーやパスワードをデータベースのどこにでも保存したくないので、プライベートキーをどこかに保存することを考えましたが、それはセキュリティ全体を脅かすでしょう。だから、今私が問題になっているのは、元のパスワードなしで秘密鍵にアクセスできないため、新しいパスワードでユーザーに再暗号化できるようにすることです。セキュリティで保護されたデータベースのパスワードを忘れた
答えて
パスワードを変更するためのオプションを追加するために元のパスワードは必要ありません。そしては非常に危険ですは、元のユーザーのパスワードを回復する方法を作成します。私があなたの場合は、SHA-256のようなハッシュアルゴリズムを使用し、その結果をユーザーのパスワードとして保存します。
質問に答えると、このパスワードのユーザー変更を達成する1つの方法は、User
テーブルにUUIDを作成することです。ユーザーが自分のパスワードを変更しようとすると、そのUUIDのリンク先のページにリダイレクトされます。このUUIDは、ユーザーがパスワードを変更できるようにする一時的なキーとして機能します。
例。
表:ユーザー
id | name | UUID
1 | John | f39a33c3-e7f5-455a-afad-dcf845eb04a1
ユーザーがパスワードを変更したい場合、あなたは彼の電子メールのリンクを送信:
だから、http://yoursite.com/recover-password?UUID=f39a33c3-e7f5-455a-afad-dcf845eb04a1
、ユーザーが新しいパスワードを入力してくださいページを開いて情報を送信すると、このUUIDが取得され、実際にそのユーザー用に生成されたUUIDであるかどうかが検証されます。パスワードの変更が発生する可能性があります。
これを達成する最も簡単な方法は、秘密鍵を現在のパスワードで復号化し、新しいパスワードで再暗号化し、データベース内の新しいパスワードを更新することです。
しないでください。パスワードは決して暗号化されるべきではありません。代わりにDherikの提案にしたがって、安全なハッシュを使用してください。ユーザーのアカウントが明らかに攻撃の兆候なしに侵害された場合、潜在的な容疑者のリストに登録することは望ましくありません。また、単一の違反(または不正な管理者)がすべてのアカウントにアクセスできるようにする必要もありません。 – SQLmojoe
- 1. Powershell:パスワードで保護されたパスワードで保護された.zipファイル(プロセスのスピードアップ)
- 2. セキュリティ保護されたデータクライアントサイドキャッシュ?
- 3. adminディレクトリのパスワードで保護されたフォルダのセキュリティ
- 4. セキュリティで保護されたユーザーアカウントデータベース
- 5. セキュリティで保護されたXMLパーサー
- 6. Excelのパスワードで保護されたシート
- 7. ドキュメントディレクトリのセキュリティ保護されたコンテンツ
- 8. スプリングセキュリティのセキュリティ保護されたカスタムページ
- 9. コンパクトなパスワードで保護されたアクセス2010データベースのコマンドライン
- 10. パスワードで保護されたAndroidアプリ
- 11. iTextSharpパスワードで保護されたPDF
- 12. パスワードで保護されたSQL Serverバックアップ
- 13. パスワードで保護されたページ
- 14. パスワードで保護されたティックボックス
- 15. パスワードで保護された警告
- 16. パスワードで保護されたドキュメント
- 17. Rパスワードで保護された.rdataデータファイル
- 18. パスワードで保護されたアプリケーション
- 19. VBSパスワードで保護された画像
- 20. パスワード保護されたフォルダのテスト
- 21. パスワード保護されたファイルのアップロード
- 22. 更新されたパスワードで保護されたC#のリンクワードドキュメント
- 23. セキュリティで保護されたサイト(WInphone 7)のWebBrowserTaskセキュリティ警告
- 24. Webアプリケーション - パスワードで保護されたディレクトリで保護されていますか?
- 25. パスワード保護されたPDFがPdfRenderer
- 26. セキュリティで保護されていないページをhtaccessでセキュリティ保護されたページにリダイレクトする
- 27. recaptchaはパスワードで保護されたページを保護しましたwordpress 4.8
- 28. セキュリティで保護されたレイヤーを備えたAndroidスクリーンレコード
- 29. SpringセキュリティWebSecurityConfigにはセキュリティ保護されたゾーンと保護されていないゾーンが必要です
- 30. パスワードを忘れました
ハハXD私はそれがパスワードを格納するクリープに危険であることを知っています、病気は、より具体的に、1秒の質問を更新します。 – Luis
uuid関数はどのようにして – Luis
@luisなのでしょうか?これはほとんどすべての言語で利用できるアルゴリズムです。 javaで: 'java.util.UUID' – Dherik