ASP.net ViewState шифрование и дешифрование - PullRequest
2 голосов
/ 22 января 2011

Я слышал, что .NET Framework будет шифровать ViewState с помощью SHA1 или другого алгоритма. Так что, если я знаю алгоритм шифрования и дешифрования SHA1, могу ли я подделать ViewState? Я имею в виду
злонамеренный пользователь изучает алгоритм шифрования SHA1, если он понимает этот алгоритм и разрабатывает алгоритм дешифрования, откроет ли он путь взлома состояния? или SHA1 или другой алгоритм использует какие-либо случайные приемы для шифрования и дешифрования?

1 Ответ

1 голос
/ 22 января 2011

Шифрование подразумевает ключ. Указанный ключ хранится на сервере, и (за исключением других, гораздо более серьезных проблем безопасности) клиент никогда его не увидит. Не зная этого ключа, вы даже не сможете просматривать зашифрованное состояние просмотра, а тем более изменить его.

Даже без шифрования серверу можно сгенерировать хэш состояния представления и ключ, который знает только сервер. Не зная этого ключа, вы все равно можете прочитать состояние просмотра, но вы не сможете редактировать его без особых усилий.

Теперь, возможно, что любой алгоритм шифрования или хэширования, который использует фреймворк, может быть достаточно сломан, чтобы облегчить взлом. Но если бы это было так, вы бы услышали об этом довольно быстро - так как этот же алгоритм будет использоваться в десятках других мест (есть несколько хорошо известных, хорошо проверенных алгоритмов, которые используют почти все).

Короткая версия: Если вы заботитесь о предотвращении взлома, встроенный в ASP.net материал будет работать очень хорошо при правильной настройке.

...