SAML令牌是否缓存/存储在浏览器的任何位置?

fun*_*a68 22 saml saml-2.0

场景:
1)浏览器(用户)从服务提供商(SP)请求资源.
2)SP重定向(使用SAML请求)到身份提供商(IdP).
3)自首次登录以来,用户向(IdP)提供他/她的有效凭证.
4)然后IdP将浏览器(包含SAML令牌的SAML响应)重定向到SP页面.

我有两个问题:

A.在步骤4中,浏览器是否存储或缓存SAML响应和/或SAML令牌?

B.如果是,那么什么样的东西(属性?超时?协议?)阻止我获取存储的SAML令牌.然后将其复制到另一台计算机(使用新会话)并使用该令牌登录到同一个SP?

Ian*_*Ian 10

答案是"有点"重新缓存.在您的方案中,响应将通过POST从浏览器发送到服务提供商.因此,浏览器可以"缓存"包含SAML响应的POST数据.因此,就像浏览器中的任何其他POST事件一样,如果用户在登录SP后再次使用后退按钮以返回POST事件,则可以将POST数据重新发送给SP.

有一些事情可以帮助防止Response被劫持 -

  1. 在各方之间使用HTTPS
  2. SP强制执行NotBefore和NotOnOrAfter属性
  3. SP执行一次性使用标准(SP必须确保在其有效期内不重复使用Response.如果在有效期窗口之外收到消息,则SP应丢弃该消息)


Ste*_*son 5

IDP通常在标识SAML会话的客户端浏览器上存储会话cookie。与其他任何会话cookie相比,该会话cookie的盗窃可能不再受到保护。

在SP和IDP之间的通信中使用HTTPS将为会话劫持提供大量保护。