SAML私钥和公钥共享

时间:2020-02-27 00:19:11

标签: azure-active-directory saml-2.0

我们的客户(IDP)已请求我们的私钥,以便他们可以将我们的服务注册为SP,这对我来说似乎是一个很奇怪的请求,因为给他们提供我们的私钥可以使他们解密我们的其他任何密钥客户端SAML请求,甚至创建请求并攻击我们连接到的其他IdP。

我立即将其关闭,但随后他们让我参阅Azure AD B2C documentation

要在服务提供商和Azure AD B2C之间建立信任关系,需要提供X509证书及其私钥

这正常吗?我一直认为他们只需要我们的x509证书

1 个答案:

答案 0 :(得分:2)

从文档中看来,您的私钥始终与您在一起:

带有存储在您的Web应用程序中的私钥的证书

私钥位于SP应用程序(提供SP功能的Web应用程序)中,用于将SAML Request签名到IdP。 IdP仅需要从SP的元数据中获得SP的公钥证书,以验证签名。

(可选)带有存储在您的Web应用程序中的私钥的证书

对于IdP,这是可选的,以使用SP的元数据中的SP的公钥证书对SAML Response进行加密。然后,SP使用其私钥解密响应。

措辞不是很好,因为似乎要把公钥和私钥都交给IdP。 SAML并不是这样工作的。当读作“移交公钥并将相应的私钥保留在您的SP webapp中”时,这更有意义。

我看不出实体必须将其私钥泄露给任何东西的任何原因。