【问题标题】:SAML2 SSO: AuthnContext Class Schemas: "PasswordProtectedTransport" vs "unspecified"SAML2 SSO:AuthnContext 类架构:“PasswordProtectedTransport”与“未指定”
【发布时间】:2015-05-02 23:44:39
【问题描述】:

背景:

我的公司作为 IDP 客户的服务提供商。我们使用 OpenAM,但我们的客户使用 ADFS 或 Shibboleth。我们交换元数据文件以建立联盟,而不是 URL。一位客户问我们为什么需要 AuthnContext 类模式(特别是 PasswordProtectedTransport),我们不仅不知道为什么,也不知道如何更改它或这意味着什么。

问题:

在 SAML2 断言中对 AuthnContextClassRef 使用“PasswordProtectedTransport”与“unspecified”之间的功能区别是什么?

我们目前在所有客户中都使用PasswordProtectedTransport,但我公司没有人能告诉我为什么需要这个。如果我们删除它,联合将停止工作,并在 SAML 跟踪中出现 500 错误和“NoAuthnContext”。我们也不明白这一点,因为我从 SAML 文档中相信,具有模式对于身份验证是可选的。尽管如此,我还是没有看到任何关于使用“unspecified”的含义的解释。

我在任何地方都找不到关于这个主题的任何彻底的解释或讨论,希望有人可以为我详细说明,因为我正在努力寻找答案。

【问题讨论】:

    标签: single-sign-on metadata saml saml-2.0


    【解决方案1】:

    请求中的RequestedAuthnContext 是 SP 要求 IDP 使用特定身份验证机制对用户进行身份验证的一种方式。
    例如,如果您在请求中指定PasswordProtectedTransport,IDP 知道它必须通过登录名/密码对用户进行身份验证,并受 SSL/TLS 保护。
    IDP 在其响应中说明它使用哪种机制通过AuthnContextClassRef 对用户进行身份验证。

    请求中的RequestedAuthnContext 是可选的,但断言中的AuthnContextClassRef 是强制性的,如 SAML 架构所指定(因此您遇到了 500 错误)。
    基本上,IDP 使用unspecified URN 表示“我不想告诉你我是如何识别用户的”。
    作为 SP,如果您想确保使用安全机制对用户进行身份验证,您可以选择接受或拒绝该答案。

    【讨论】:

    • 非常感谢您的澄清。所以,为了确定我理解正确,让我重申一下我认为这意味着什么(抱歉在这个主题上如此基础):我的公司确实希望确保身份受到 un/pw 身份验证的保护,因此我们使用 PasswordProtectedTransport作为我们可靠的安全手段。 SAML 标准不要求我们在请求中请求此特定模式,但我们的业务需求表明我们确实通过 un/pw 进行身份验证,并且 SAML 响应需要为 AuthnContextClassRef 列出一些内容。因此,我们这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多