2016-03-30 31 views
0

私はWebアプリケーションにHTTPSを使用しない予定です。システムへのログインを保護する方法としてダイジェスト認証を使用しました。また、ユーザーが認証された後、定期的に(1分)ナンスを送信します。ユーザーがリクエストすると、レスポンスを送信する前にノンスが期限切れになっているかどうかをチェックするだけです。session_idを保護する方法は?

攻撃者がナンスを再生したり、ナンスの生成メカニズムを推測する場合に、ユーザーを保護する必要があるかどうかを知りたいと思っていますか?はいの場合は、どうすればsession_idを保護できますか?

答えて

1

にセッションハイジャック/固定に最適なソリューションをSession Hijackingを見て、Fixationです:キーポイントで

  • 再生成セッション識別子。あなたの場合は、ユーザーのログイン後。したがって、ユーザーがログインした後で、彼に新しいセッション識別子を与えます。 したがって、ハッカーがセッションIDをハイジャックした場合、それは役に立たず、 は機能しません。
  • ユーザエージェント/ IPアドレスを保存し、ログイン直前に使用したユーザエージェント/ IPアドレス と比較してください。ハッカーは、合法的ユーザと同じユーザエージェント/ IPアドレスを持つことはありません。しかし、ユーザーエージェント/ IPアドレスが偽装されることがあることを覚えておいてください。
  • 最後に、古いセッションを定期的に破棄してください。

これらのことを念頭に置いて、プログラムはセッションのハイジャック/固定から安全です。

+0

返信いただきありがとうございます。私は解決策1と3に関するいくつかの疑問を持っています。解決策1:ユーザーに新しいセッション識別子を与えても、攻撃者は後続の要求で新しいセッションIDを盗聴できます。解決策3:セッションの破棄と新しいセッションIDの再生成の違いは何ですか?セッション識別子を再生成するだけでは簡単ではありませんか? –

関連する問題