0

パスワードをデータベースに保存するときに、bcrypt、scrypt、argon2などの低速ハッシュ関数を使用することをお勧めします。時間とメモリコストなどのパラメータの選択に関する私が読んだドキュメントのほとんどは、攻撃者がデータベースにアクセスする際にパスワードクラッキングの試行を邪魔するほど高い値を設定することを推奨しています。私の質問は、Webアプリケーションでユーザーを認証する際に、どのような種類のリソース消費が許容されるかです。私は、この質問に対する答えは、認証を実行するサーバーの仕様、認証が行われる頻度などの要素に基づいて変化することを理解していますが、賢明で何ができないのか、 t。パスワード認証に1秒以上かかるのですか?私のサーバーに8GBのメモリがある場合、ハッシュメモリのコストが高すぎるために1GBを使用していますか?私は、質問の大半の要求に対してトークンベースの認証を使用するため、問題のアプリケーションがパスワード認証を実行することを期待しています。パスワード認証にはどのくらい時間がかかりますか?

答えて

1

パスワード認証に長時間を要していますか?

ユーザーには許容されませんが、数百ミリ秒で十分であると思います。より具体的な質問は、this excellent answerを参照してください。

サーバーに8GBのメモリがある場合、ハッシュメモリのコストが高すぎるために1GBを使用していますか?

私は、あなたのパスワードのハッシュ戦略では、それほど多くのメモリを必要とするとは思わないでしょう。ハッシングは、一般的にCPU /計算処理のタスクです。

+0

ご意見ありがとうございます。 Argon2はメモリハード関数であり、時間コストと並列性に加えてメモリコストパラメータを指定することができるため、私が合理的にハッシュに費やすことができるメモリ量が不思議です。 – user3607758

+0

ああ、あなたが*任意の量のメモリを選んで*使用する場合、 "どれくらいの量がかかりますか"は、ピーク時の負荷でどれくらいのメモリを確保できるかといった他の要素に依存します。 1GBは過剰に見えます。 Argon2のCLIデフォルトは4096KiBです。 –

関連する問題