SAML 私钥泄露

SAML private key leak

最近遇到数据泄露,原来是源代码泄露了。 我正在分析所有可能会反咬我的东西,其中包括 SAML 私钥。

私钥会被恶意使用吗?我知道它提供了解密 SAML 请求的能力以及创建一些请求的可能性,但我对这个主题知之甚少。

谢谢!

Z

先记一下。永远不要在源代码中存储任何秘密。有很多好的解决方案可用于机密管理。

接下来,与任何密钥泄漏一样。立即更改密钥,使其不能再被任何人使用。 一个想法可能是尝试监控旧密钥的任何使用情况,以了解是否有人在尝试使用它。如果您在 SAML 通信的另一方有任何良好的日志,您可以尝试查看是否有来自您以外的其他 IP 的请求。

至于风险。以此为建议,真正的风险将取决于具体情况。 如果您是 SP,则私钥是用户在向 IdP 发送消息和解密来自 IdP 的消息时进行身份验证和签名的用户。签名和授权可能包括 AuthnRequest、可能的单一注销消息和工件绑定工件交换。

  • 在 AuthnRequest 中,通常没有太多对修改敏感的内容。

  • 创建或修改 SLO 消息可能会导致用户在请求时注销。不好但不是最差

  • 破坏工件绑定中的交换可能会让攻击者获得工件,但这通常不会比使用另一个绑定的大多数情况更糟。

  • 至于解密。这取决于您加密的敏感性。默认情况下,响应断言中的基本信息不应是敏感的,但您可以自己包含敏感的属性,例如个人信息。如果攻击者获得通过用户浏览器发送的断言,他们可以使用您的私钥读取该信息。

如果您是 IdP,这是最糟糕的情况之一。如果攻击者可以重定向 IdP 以与他们的服务器而不是真正的 IdP 对话,他们可以发出 SAML 响应和断言,并伪装成他们想要的任何用户进入任何连接的 SP。

在这种情况下,您必须真正开始对 SP 进行彻底调查以了解影响。

希望这对您有所帮助。综上所述,如果你是SP的话就不用太担心了。如果您是 IdP,您可以搭便车。