A 'cache' dos tokens do SAML é guardada em qualquer lado do navegador?

Cenário:

  1. o navegador (utilizador) solicita o recurso ao Fornecedor de Serviços (SP).
  2. redireccionamentos do SP (com pedido do SAML) para o fornecedor de identidade (IdP).
  3. Uma vez que é o primeiro login, o Utilizador dá ao (IdP) as suas credenciais válidas.
  4. o IdP então redireciona o navegador (com a resposta SAML que inclui o token SAML) para a página SP.
Tenho duas perguntas:

A. No Passo 4, o navegador guarda ou cache a resposta SAML e / ou SAML token?

B. Em caso afirmativo, que tipo de coisas (atributos? tempos livres? protocolos?) impedir-me de levar aquele símbolo SAML armazenado. Em seguida, lidar com isso para outro computador (com uma nova sessão) e usar esse token para Login para o mesmo SP?

Author: Duncan Jones, 2012-11-20

4 answers

A resposta é "tipo de" cache. Em seu cenário, a resposta será enviada via POST para o Provedor de serviços a partir do navegador. Assim, o navegador pode "cache" os dados POST que contém a resposta SAML. Assim, assim como qualquer outro evento POST em navegadores, se o usuário fosse usar o botão back vezes suficientes depois de entrar no SP para voltar ao evento POST, os dados POST poderiam ser ressentidos para o SP.

Há algumas coisas que ajudam a evitar que a resposta seja desviada. -
  1. utilização de HTTPS entre todas as partes
  2. controlo da aplicação do NotBefore & NotOnOrAfter atributos
  3. aplicação dos critérios de utilização única pelo PE (O PE deve assegurar que a resposta não seja reutilizada durante o seu período de validade. Se a mensagem for recebida fora da janela de validade, então o SP deve esquecer a mensagem)
 10
Author: Ian, 2018-07-24 17:20:58

O IDP armazena normalmente um cookie de sessão no navegador do cliente que identifica a sessão do SAML. O roubo deste cookie de sessão provavelmente não está mais protegido do que qualquer outro cookie de sessão.

A utilização de HTTPS na comunicação entre SP e IDP proporcionará uma grande protecção contra o sequestro de sessões.
 5
Author: Stefan Rasmusson, 2012-11-21 07:55:32

Para a pergunta a, provavelmente depende do navegador que você usa.

Para a pergunta B, existem vários mecanismos que impedem a resposta SAML de ser reutilizada:

  1. SubjectConfirmationData has attribute not before and Notonor after that specify the time frame that the SAML assertion is valid. Assim, a asserção de SAML não pode ser usada fora deste período de tempo.
  2. Os dados relativos às confirmações subjectivas têm um atributo em relação ao facto de especificarem o pedido SAML para o qual a afirmação SAML é emitida. Assim, a asserção SAML não pode ser usada para outro pedido SAML.
  3. O SP deve assegurar que a afirmação do SAML não seja reproduzida mantendo um conjunto de asserções do SAML usadas.

Pode ler os pontos 4.1.4.3 e 4.1.4.5 da especificação dos perfis SAML.

 4
Author: fajarkoe, 2013-03-09 13:45:03

Eu conheço este velho, mas a resposta é sim o navegador armazena o Token SAML como um Cookie. (Tipicamente) você pode vê-lo na lista de Cookies do seu navegador, através de vários inspetores de tráfego/sessão como Fiddler, SAML Tracer em FF etc.

 2
Author: Mark, 2015-10-28 21:28:21