В веб-разработке, когда состояние сеанса включено, идентификатор сессии хранится в cookie (в режиме без cookie, строка запроса будет использоваться вместо этого). В asp.net идентификатор сессии шифруется автоматически. Существует много тем в Интернете относительно того, как необходимо зашифровать cookie, включая идентификатор сессии. Я могу понять, почему Вы хотите зашифровать частную информацию, такую как DOB, но любая частная информация не должна быть сохранена в cookie в первом месте. Таким образом для других значений cookie, таких как идентификатор сессии, каково шифрование цели? Это добавляет безопасность вообще? неважно, как Вы защищаете его, это передадут обратно серверу для дешифрования.
Будьте быть более конкретными,
Для цели аутентификации,
по сравнению с
Asp.net формирует механизм аутентификации (он полагается на идентификатор сессии или сессии, я думаю),
последний предлагает лучшую безопасность?
Атаки на сеансы, такие как перехват сеанса, нацелены на действительный идентификатор сеанса. Если вы сейчас зашифруете идентификатор сеанса, злоумышленники просто нацелятся на зашифрованный идентификатор сеанса, и у вас не будет никаких преимуществ. Так что шифрование идентификатора сеанса бесполезно. Помните, что идентификатор сеанса - это просто случайное значение, которое используется для идентификации сеанса. Злоумышленникам не нужно знать, имеет ли это случайное значение какое-то конкретное значение; им просто нужно знать это случайное значение.
Если вы хотите защитить свой сеанс, используйте HTTPS для шифрования всего HTTP-соединения через SSL и установите для файлов cookie только флаги
Я думаю, что «вы всегда должны шифровать свои данные» имеет в виду использование SSL в ваших соединениях с использованием правильно подписанного сертификата. Это зашифрует всю связь между клиентом и сервером.
Я не вижу другого использования в дополнительном шифровании идентификатора сеанса (который, в первую очередь, уже является очень случайным образом сгенерированным идентификатором).