Билет аутентификации (проверка подлинности с помощью форм) - PullRequest
2 голосов
/ 03 мая 2009


Q1 - Модуль проверки подлинности с помощью форм зашифровывает свою информацию об аутентификации (тикет) перед размещением в файле cookie.

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


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

  • Если да, то не представляет ли это угрозу безопасности?


  • Если нет, то когда при следующем запросе Asp.Net получит от пользователя файл cookie для аутентификации (который содержит билет), как он узнает, какое случайно сгенерированное значение использовалось для шифрования билета (полагаю, это нужно то же значение для расшифровки билета)


Q2 Билет аутентификации содержит несколько частей информации о аутентифицированном пользователе, но какой фрагмент этих данных фактически сообщает Asp.Net (когда пользователь снова запрашивает страницу), что он имеет дело с уже аутентифицированным пользователем?


1032 * спасибо *

1 Ответ

5 голосов
/ 03 мая 2009

Q1. При проверке подлинности с помощью форм для шифрования файла cookie используется machineKey . Поскольку его значение в machine.config постоянно, ASP.NET может расшифровывать файлы cookie, зашифрованные с помощью того же ключа.

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

Q2. Билет содержит следующую информацию: имя пользователя и дату, которые используются для определения того, является ли он действительным (если задано скользящее истечение срока, ASP.NET может перезаписывать файл cookie, проверяя его действительность при каждом запросе). Если файл cookie отправляется клиентом и когда он расшифровывается, он остается действительным, ASP.NET предполагает, что клиент прошел проверку подлинности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...