Webサービスへのリプレイ攻撃を回避するためにUnixTimeを使用したいと思います。クライアントに、他のセキュリティトークンの中でも特にリクエストでこの値を追加してもらいたいです。次に、サーバーもこの値を計算し、指定された許容誤差内でクライアントから送信されたものを受け入れます。
さて、私の質問はこれです:私がクライアントに約200の許容誤差を受け入れると言った場合。それ以下またはそれ以上。
しかし、それは本当にこれまで以上に大きくなる可能性がありますか?
また、リクエストを送信するクライアントのシステム日時設定に依存しますか?
また、本物のリクエストを拒否しないように、適切なエラーマージンを決定するにはどうすればよいですか?
質問する
436 次
1 に答える
4
しかし、それは本当にこれまで以上に大きくなる可能性がありますか?
はい!あなたはクライアントの時計について何も知りません。数分または数時間間違っている可能性があります!とにかくクライアントの時計を信頼することはできないので、サーバー側のある種のセッションで時間を記録し、それに基づいて計算を行うことをお勧めします。
また、リクエストを送信するクライアントのシステム日時設定に依存しますか?
はい。JSの関数を使用しDate.getUTCxxx()
てすべてを同じタイムゾーンで取得することはできますが、クライアントが適切に設定されたクロックを持っているとは信頼できません。
また、本物のリクエストを拒否しないように、適切なエラーマージンを決定するにはどうすればよいですか?
これはサービスによって異なります。すぐに返事が来ると思いますか?ユーザーは何らかの作業を行う必要がありますか?ユーザーがページを読み込んだ後、コンピューターを離れて、自分自身と同僚のために、すてきな完全焙煎コーヒーを淹れることは可能ですか?
于 2012-06-06T08:13:58.953 に答える