JSON Web サービス (C#、WCF) を作成しており、ユーザーを識別する必要があります。セッション管理がないため、ユーザーはコマンドごとに識別文字列を送信する必要があります。私が思いついた解決策は、ユーザーの資格情報と文字列が「期限切れ」になる時間 (現在は 1000ms) を AES 暗号化し、Base64 を使用してエンコード (HttpServerUtility.UrlTokenEncode) してから (URL またはその他の方法で) 送信することです。
私の問題は次のとおりです。エンコードされた文字列はほとんど常に同じように見えますが、変更はほとんどありません (資格情報の日付と時間がほとんど変更されないため、有効期限の分と秒になると思います。文字列は一度しか使用できませんが、 (最後に受信した文字列が記録されており、最後から 2 番目の文字列は期限切れになっている可能性があります)、GET 要求を傍受してブロックし、いくつかのことをごまかしてから再送信するのは簡単だと思います。自動化されているため、タイムアウトでさえおそらく機能しません。
そう。AES でエンコードされた Base64 文字列に追加の (可逆的な) エントロピーを導入するにはどうすればよいですか?