saml - 何时使用HOK证书与IDP和SP证书

时间:2013-11-17 16:02:40

标签: certificate saml saml-2.0

我正在尝试理解SAML 2协议,并且在此过程中,签名和证书业务有点丢失。

基本上,我不清楚何时使用每个证书。

  1. 服务提供商元数据和身份提供商元数据 - 我们是否需要生成证书/密钥作为SP和IDP元数据的一部分?如果是这样,将如何/何时使用这些证书?

  2. HOK令牌还需要证书 - 什么时候出现?校长的证书/公钥是否也需要与SP的证书一起出口到IDP?

  3. 当使用承载令牌(它们没有与委托人相关的任何证书)时,SAML响应/断言是否仍然签名?在这种情况下,它与SAML响应中的ds:keyInfo不同吗?

  4. 非常感谢帮助!!

1 个答案:

答案 0 :(得分:1)

1。 SP和IDP元数据中的证书通常用于数字签名和数字加密两个目的。元数据的属性“用法”构成歧视。证书通常包含在元数据中,但它们也可以在带外省略和提供(例如,如果支持,则通过IDP和SP中的直接配置)。这些密钥标识SP和IDP机器,它们与用户无关。

当SP向IDP发送SAML消息时,可以使用SP的私钥(其公钥+证书包含在SP元数据中并可供IDP使用)对消息进行数字签名,IDP可以使用SP验证SP的签名公钥。

当SP想要加密部分SAML数据(整个消息,断言,名称ID,属性......)时,它使用IDP元数据中声明的公钥,然后IDP使用其私钥解密数据。

有时,元数据可以包含多个签名或加密密钥,例如如果在到期前有证书展期。

2。 承载机制用于确保允许呈现SAML消息的实体(例如,web浏览器)这样做。在SAML WebSSO中,AuthnResponse消息由IDP发出,但由浏览器传递给SP。 HoK SubjectConfiguration告诉我们通过确保演示者可以证明其公钥/证书包含在SubjectConfirmation元素中的私钥的身份来识别演示者。这通常通过使用SSL / TLS客户端身份验证来完成(即用户在浏览器中安装私钥,并在使用SSL / TLS打开HTTPS方案时使用它来向SAML服务进行身份验证)。

所以我们在这里处理直接发给用户的密钥,而不是SP / IDP服务。您是否需要将用户证书导入IDP是特定于IDP的实现。

3。 是的,消息仍将被签名(配置为时),SAML响应中的KeyInfo在两种情况下都是相同的。

干杯, 弗拉基米尔谢弗