UDP パケットを処理するネットワーク サーバーを実装しています。攻撃者が udp パケットをコピーし、後でそれらをリプレイできるリプレイ攻撃を回避したいと考えています。私は、パケットをハッシュして、この値をハッシュテーブルに保存できるという考えをいじっています。その後、パケットを受信するたびに同じプロセスを実行し、ハッシュ テーブルで検索できます。すでに存在する場合はパケットを拒否しますが、それを確認したことがない (エントリが存在しない) 場合は、将来の使用のために保存します。
では、これに適したハッシュ アルゴリズムはどれでしょうか。ハッシュテーブル以外に何か必要ですか? 受信されている udp パケットがたくさんあるので、これを O(1) で動作させたい!!!!!!!! ;-)、これは可能ですか?
明らかに、ハッシュを「記憶」する時間が長いほど、より多くのストレージ (状態) を割り当てる必要があります。ハッシュ テーブルは時間の経過とともに動的に拡大および縮小できますか?
私はここから離れているかもしれませんが、ハッシュテーブルはまったく必要ないかもしれません! 私はアイデアを受け入れます!!