Я думаю, что вы переосмысливаете проблему. Возможность копировать cookie-файлы - это просто неотъемлемая проблема cookie-файлов: любой может перехватить любой cookie-файл и выдать себя за любые имеющиеся данные, настроив их на другом компьютере.
«Безопасность» куки-файла аутентификации обусловлена тем фактом, что никто не может (предположительно) вручную создать куки-файл для фальсификации аутентифицированного пользователя. Однако, как только файл cookie создан, он может быть использован для аутентификации. Это означает, что для того, чтобы ваша «проблема» возникла, вам все равно нужно сначала войти в систему. Если этот пользователь злоупотребляет системой, копируя свои cookie-файлы на другие машины, чтобы предоставить всем доступ, это то же самое, что и пользователь, просто сообщающий всем свои имя пользователя и пароль, за исключением гораздо более тупых. Следовательно, проблема не в копировании куки, а в самом пользователе.
Еще один вектор атаки может быть связан с тем, что сеть взломана, и кто-то может перехватить трафик, чтобы соединить cookie с помощью сниффера или чего-либо еще, но опять же, это присуще самим cookie. Это называется Session Hijacking, и единственный способ защититься от этого - использовать SSL для вашего сайта.
Если вы действительно беспокоитесь об этом, я бы просто установил одинаковые значения времени ожидания для вашей аутентификации и сеанса, а затем в вашем файле global.asax просто вызывал FormsAuthentication.Signout () каждый раз, когда истекает сеанс пользователя. Это лишает законной силы аутентификацию всякий раз, когда пользователь завершает свой сеанс, заставляя его войти в систему позже. Конечно, это может быть крайне раздражающим для ваших пользователей ...
Я также очень рекомендую Эта статья MSDN . Вероятно, он отвечает на ваши вопросы намного лучше, чем я.