たとえば、Google TV や Apple TV で実行されるアプリケーションがあり、HTTP 要求を私のサービスに送信します。
誰かがこのリクエストを傍受した場合、彼らはそれを再生し、サービス拒否 (DOS) 攻撃を実行できます。
各リクエストを一意にして、リプレイできないようにする方法はありますか?
リクエストで暗号化された時間を送信し、サーバー時間とリクエストが送信された時間の差を確認することを考えましたが、時間差が大きすぎて比較できません。
誰かがより良いアイデアを持っていますか?
たとえば、Google TV や Apple TV で実行されるアプリケーションがあり、HTTP 要求を私のサービスに送信します。
誰かがこのリクエストを傍受した場合、彼らはそれを再生し、サービス拒否 (DOS) 攻撃を実行できます。
各リクエストを一意にして、リプレイできないようにする方法はありますか?
リクエストで暗号化された時間を送信し、サーバー時間とリクエストが送信された時間の差を確認することを考えましたが、時間差が大きすぎて比較できません。
誰かがより良いアイデアを持っていますか?
サーバー側とクライアント側の両方で制御できるため、良い状況にあります (アプリケーションが話している)。メッセージに含める
上記のキーを知っているコードだけが正しいハッシュを計算できます。使用されたリクエスト レコード (ハッシュとタイム スタンプ) は、長い有効期限まで保存できます。非常に古いリクエスト レコードは、タイム スタンプが含まれているため、簡単に失効する可能性があります。
提案されたアプローチの良い点は、トークンを受け取るために事前に接続する必要がなく、認証や登録が不要で、オープン プロトコルを使用できることです。トークンを単独で使用しても、DoS に対してはあまり効果がありません。攻撃者は、事前に接続してトークンを取得するためのスクリプトをすばやく作成するからです。