Shibboleth外部身份验证安全问题

时间:2017-08-24 01:02:37

标签: security authentication single-sign-on csrf shibboleth

集成Shibboleth Identity Provider以使用外部身份验证系统时。流程如下:

  1. Shibboleth Idp将用户重定向到外部系统以进行身份​​验证。
  2. 用户在外部系统中进行身份验证。
  3. 用户被重定向回Shibboleth Idp(说POST请求)
  4. Shibboleth Idp继续为用户生成有效的SAML响应。
  5. 在上述情况下,恶意用户有机会通过在步骤3中创建修改后的POST请求来模拟其他用户,并且Idp会对他进行身份验证,除非执行某些验证。

    我能想到的唯一两种验证方式是:

    1. 在Idp和身份验证系统之间使用一些分布式共享会话。这样Idp就可以从会话中验证用户是否经过身份验证。

    2. 对POST请求参数使用一些签名机制(比如使用Authentication System的私钥来签署userId的哈希值),Idp可以验证POST请求是否真正从身份验证系统重定向而不是由用户伪造。

    3. 这些是解决此类安全漏洞的常用方法吗?

      这两种方法是否足以绕过所有潜在的漏洞?

0 个答案:

没有答案