Подтвердить что ты не робот

Являются ли маркеры SAML кэшем/хранятся в любом месте браузера?

Сценарий:
1) Браузер (Пользователь) запрашивает ресурсы у поставщика услуг (SP).
2) Перенаправления SP (с запросом SAML) поставщику удостоверений (IdP).
3) Так как это первый логин, Пользователь дает (IdP) свои действительные учетные данные.
4) IdP затем перенаправляет браузер (с ответом SAML, который включает токен SAML) на страницу SP.

У меня есть два вопроса:

а. На шаге 4 браузер хранит или кэширует токен SAML Response и/или SAML?

В. Если да, какие вещи (атрибуты? Тайм-ауты? Протоколы?) Мешают мне взять этот сохраненный токен SAML. Затем переместив его на другой компьютер (с новым сеансом) и используя этот токен для входа в тот же SP?

4b9b3361

Ответ 1

Ответ - это "тип" кэширования. В вашем сценарии ответ будет отправлен через POST поставщику услуг из браузера. Таким образом, браузер может "кэшировать" данные POST, содержащие ответ SAML. Таким образом, как и любое другое событие POST в браузерах, если пользователь должен был использовать кнопку "Назад" достаточно много раз после входа в SP, чтобы вернуться к событию POST, данные POST могут быть отправлены в SP.

Есть несколько вещей, которые помогают удержать ответ от захвата -

  • Использование HTTPS между всеми сторонами
  • Выполнение SP атрибутов NotBefore и NotOnOrAfter
  • SP принудительно применяет однократные критерии использования (SP должен гарантировать, что ответ не будет повторно использоваться в течение его срока действия. Если сообщение получено вне окна действительности, тогда SP должен отказаться от сообщения)

Ответ 2

IDP обычно хранит файл cookie сеанса в клиентском браузере, идентифицирующий сеанс SAML. Кража этого сеансового файла cookie, вероятно, более не защищена, чем любые другие файлы cookie сеанса.

Использование HTTPS в общении между SP и IDP обеспечит большую защиту от захвата сеанса.

Ответ 3

Для вопроса A это, вероятно, зависит от используемого вами браузера.

В вопросе B существует несколько механизмов, которые предотвращают повторное использование ответа SAML:

  • SubjectConfirmationData имеет атрибут NotBefore и NotOnOrAfter, который определяет временной интервал, который является утверждением SAML. Таким образом, утверждение SAML нельзя использовать за пределами этого временного интервала.
  • SubjectConfirmationData имеет атрибут InResponseTo, который указывает запрос SAML, для которого выдается утверждение SAML. Таким образом, утверждение SAML не может использоваться для другого запроса SAML.
  • SP должен гарантировать, что утверждение SAML не будет воспроизведено, поддерживая набор использованных утверждений SAML.

Вы можете прочитать разделы 4.1.4.3 и 4.1.4.5 спецификации профайлов SAML.

Ответ 4

Я знаю это старое, но ответ да, браузер хранит токен SAML как куки. (Обычно) Вы можете увидеть это в своем списке браузера Cookie через различные инспекторы трафика/сессии, такие как Fiddler, SAML Tracer on FF и т.д.