如果演示者和请求的主题不同,对SAML身份验证请求的响应应包括哪些断言?

问题描述 投票:0回答:1

我正在使用SAML v2身份验证请求协议(3.4)评估场景,其中presenterrequested subject是不同的,即,演示者正在向身份提供者进行身份验证以获取断言关于另一个主题。

我的问题是:响应此请求需要什么断言,以及关于哪些主题?


在这种情况下,<AuthnRequest>使用<saml:Subject>元素标识主题。身份验证请求的<Response>包含声明。从3.4节开始,“此类断言可以包含任何类型的附加语句,但是至少一个断言必须包含至少一个身份验证语句。”

在“ 3.4.1.4处理规则”下,我确定了以下规则才能成功进行响应:

  • 响应者必须最终通过<AuthnRequest>消息回复<Response>,该消息包含一个或多个满足请求所定义规范的断言(行2229)
  • 如果请求中存在<saml:Subject>元素,则所产生的断言的<saml:Subject>必须与请求<saml:Subject>强烈匹配,如第3.3.4节中所述
  • <AuthnRequest>中专门定义的所有内容都是可选的,尽管某些配置文件可能需要某些内容。如果根本没有任何特定的内容,则意味着存在以下行为:
    • 返回的断言必须包含代表演示者的<saml:Subject>元素。

在我看来,这些规则要求每个响应断言中的<saml:Subject>必须等于所请求的主题和演示者。

我正在使用OASIS安全性的断言和协议断言标记语言(SAML)V2.0”(saml-core-2.0-os)作为我的参考。

authentication standards saml identity saml-2.0
1个回答
0
投票

短语“ [i] n根本不存在任何特定内容”对于理解此处的标准至关重要。因为在请求中包含<saml:Subject>意味着请求确实具有特定内容,所以我的问题中的最后要点不适用。

但是,第3.4节的第一部分仍然说:

此类断言可以包含任何类型的附加语句,但是至少一个断言必须包含至少一个认证语句。

然后,根据处理规则,这些声明的主题必须是请求的主题。

所需的身份验证语句必须引用此主题(可以说从未经过身份验证)。如果这对应于<AuthnStatement>元素,则该元素需要:

  • 进行身份验证的AuthnInstant属性
  • A <saml:AuthnContext>描述身份验证上下文。然后可以将其留给<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>
© www.soinside.com 2019 - 2024. All rights reserved.