单点登录 – 是否应该多次接受相同的SAML响应两次?

SAML联合软件是否应该接受相同的SAML响应,只要它在允许的SAML令牌生存期内?

简单来说:IDP(标识提供者)发出SAML响应,然后SP(服务提供者)接受/处理它.可以在首次使用后立即重复使用相同的未修改的SAML响应吗?鉴于SAML发布时间戳在允许的范围内.

在安全方面,将SAML令牌(响应)限制为仅一次使用是有意义的,这样即使它被“中间人”窃取 – 它也不能被重用.但是为了实现这一点,软件需要在某处存储有关SAML响应的一些信息:序列号,整个事物的哈希值?

请提供一些链接,说明可能的解释和/或实施示例.

谢谢!
亚历克斯.

安全方面是否有意义?当然.事实上,您可以使用断言的“xs:ID”部分来帮助您(我公司的软件确实如此).

来自第9页的CORE

The xs:ID simple type is used to declare SAML identifiers for
assertions, requests, and responses. Values declared to be of type
xs:ID in this specification MUST satisfy the following properties in
addition to those imposed by the definition of the xs:ID type itself:

• Any party that assigns an identifier MUST ensure that there is
negligible probability that that party or any other party will
accidentally assign the same identifier to a different data object.

• Where a data object declares that it has a particular identifier,
there MUST be exactly one such declaration.

我们从断言中抓取该ID,并将其放入具有not-after时间的数组中,然后在该时间到期后将其丢弃.这样就无法重放相同的断言.

在其他软件(特别是本土的东西)中,这完全由受众限制的Not-Before和Not-On-Or-After部分管理.由于某些软件仅依赖于这些值,因此建议的方法是将此时间段设置为合理的短时间.在完美的世界中,每个人都在使用时间服务器,他们的时钟偏差不超过几秒钟.一分钟之前和一分钟发布时间应该远远不够.虽然这里没有那么多“安全”,但可以“管理”.

相关文章
相关标签/搜索