Я создаю веб-сервис json (C #, WCF), и мне нужно идентифицировать пользователя.Управление сеансом отсутствует, поэтому пользователю необходимо отправить идентификационную строку для каждой команды.Решение, которое я придумал, заключается в том, чтобы AES-шифровать учетные данные пользователя и время истечения срока действия строки (в настоящее время 1000 мс), а затем использовать Base64 для его кодирования (HttpServerUtility.UrlTokenEncode) перед отправкой (через URL-адрес или иным способом).
Моя проблема заключается в следующем: закодированная строка почти всегда выглядит одинаково, с очень небольшими изменениями (я предполагаю, что это будут минуты и секунды истечения срока действия, поскольку дата и час учетных данных очень редко изменяются. Хотя строка можетиспользоваться только один раз (последняя полученная строка записана, а вторая до последней, вероятно, истекла), я все еще думаю, что было бы легко просто перехватить и заблокировать запрос GET, выдумать несколько вещей, а затем повторно отправить его.когда атака автоматизирована, даже тайм-аут, вероятно, не сработает.
Итак. Как я могу ввести дополнительную (обратимую) энтропию в строку Base64 в кодировке AES?