Я использую следующий код для создания зашифрованных маркеров:Может ли проверка validationKey и decryptionKey быть найдена грубой силой из зашифрованного значения cookie?
var ticket = new System.Web.Security.FormsAuthenticationTicket(
2,
"",
DateTime.Now,
DateTime.Now.AddMinutes(10),
false,
"user id here");
var cipherText = System.Web.Security.FormsAuthentication.Encrypt(ticket);
Этого код использует ключ и алгоритм, указанный в приложении/web.config:
<system.web>
<machineKey validationKey="SOME KEY"
decryptionKey="SOME OTHER KEY"
validation="SHA1" />
</system.web>
Теперь предположит, что я даю шифрованный текст таким образом, сгенерированный партнером. Он способен перебирая:
- значение, которое хранится в шифра (идентификатор пользователя, который не является конфиденциальной информации, и это не беспокоит меня много)
- Значение validationKey и decryptionKey используется для создания шифра (это будет иметь катастрофические последствия, потому что он был бы способен генерировать маркеры и выдает себя за любого пользователя)
Я полагаю, что ответ на оба вопроса да, но насколько реально его шансы и как вы думаете, давая его шифр будет представлять угрозу безопасности для моей системы? Заранее благодарим за ваши ответы.
@Accipitridae, спасибо за этот информативный ответ. –